WEBVTT

00:00:11.471 --> 00:00:16.191
<v Chris>Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.

00:00:16.411 --> 00:00:17.131
<v Wes>My name is Wes.

00:00:17.311 --> 00:00:18.191
<v Brent>And my name is Brent.

00:00:18.811 --> 00:00:22.871
<v Chris>Hello, gentlemen. Coming up on the show today, we're finally doing something

00:00:22.871 --> 00:00:24.211
<v Chris>we've wanted to do for years.

00:00:24.351 --> 00:00:29.991
<v Chris>In episode 650, we're going on-site, and we're fixing a network and rebuilding

00:00:29.991 --> 00:00:31.671
<v Chris>it with Linux at the core.

00:00:31.831 --> 00:00:34.511
<v Chris>Then, of course, we've got some great feedback, some great picks,

00:00:34.671 --> 00:00:36.391
<v Chris>and some fantastic boosts.

00:00:36.431 --> 00:00:39.891
<v Chris>All that is coming up later on in the show. But before we get to that,

00:00:40.011 --> 00:00:43.391
<v Chris>let's say hello to our virtual lug who's live with us right now.

00:00:43.571 --> 00:00:45.231
<v Chris>Time appropriate. Greetings, Mumble Room.

00:00:46.432 --> 00:00:48.372
<v Mumble>Hello, Brent.

00:00:48.732 --> 00:00:49.672
<v Wes>Oh, hello, gang.

00:00:49.952 --> 00:00:50.592
<v Chris>Hello, guys.

00:00:50.732 --> 00:00:51.752
<v Wes>Thanks for joining us.

00:00:52.132 --> 00:00:55.572
<v Chris>Everyone up there in the quiet listening, too. The Mumble Room's always a-rockin'

00:00:55.632 --> 00:00:58.052
<v Chris>on a Sunday, which is a Tuesday but on a Sunday.

00:00:58.452 --> 00:01:01.572
<v Chris>And you can get details at jupiterbroadcasting.com slash mumble.

00:01:01.992 --> 00:01:05.372
<v Chris>And a big good morning to our friends at Defined Networking.

00:01:05.452 --> 00:01:10.392
<v Chris>Go to defined.net slash unplugged and meet Managed Nebula from Defined Networking.

00:01:10.552 --> 00:01:14.692
<v Chris>It's a decentralized VPN that is built from an open source project.

00:01:14.692 --> 00:01:16.772
<v Chris>The entire thing is open source.

00:01:17.112 --> 00:01:21.152
<v Chris>And as I was building out a network using this recently, what really,

00:01:21.252 --> 00:01:25.612
<v Chris>really is nice is you don't need anyone else's permission to provision a system.

00:01:25.612 --> 00:01:27.712
<v Chris>It's not somebody else's control plane.

00:01:27.972 --> 00:01:31.512
<v Chris>Everything is under your control. And if you want something turnkey,

00:01:31.692 --> 00:01:33.052
<v Chris>they have managed Nebula.

00:01:33.412 --> 00:01:38.252
<v Chris>It's such a nice mix between the two. And if you go to define.net slash unplugged,

00:01:38.292 --> 00:01:41.432
<v Chris>you can sign up for 100 devices for free, no credit card required,

00:01:41.452 --> 00:01:44.112
<v Chris>and try it out. This would be a great way for like your home lab,

00:01:44.392 --> 00:01:45.532
<v Chris>you know, experiment with this.

00:01:45.672 --> 00:01:48.212
<v Chris>And then when it comes time to the enterprise, you can own it from the ground

00:01:48.212 --> 00:01:51.852
<v Chris>up and you can watch where the project's going just by paying attention to their GitHub.

00:01:52.072 --> 00:01:56.332
<v Chris>And there are some fantastic features nobody else is doing coming down the pipe.

00:01:57.212 --> 00:02:00.712
<v Chris>Very excited about the future. And I think it's a great time to try it out.

00:02:00.852 --> 00:02:04.352
<v Chris>So this is what I'm building on now because I want to own the entire stack, everything.

00:02:04.612 --> 00:02:07.472
<v Chris>And I don't want to have any big tech between me and my network.

00:02:07.712 --> 00:02:11.512
<v Chris>And I can trust that Defined is focused on building these things out.

00:02:11.512 --> 00:02:13.872
<v Chris>But, you know, it's been around since 2007, Nebula has.

00:02:14.072 --> 00:02:19.052
<v Chris>It was built for Slack, had to be good from day one, and now it's just everywhere.

00:02:19.152 --> 00:02:23.772
<v Chris>It's in places you would never expect, like vehicles going down the road right now.

00:02:23.932 --> 00:02:28.812
<v Chris>It's top, high-end, production-ready, on-the-road stuff, and you can use it.

00:02:28.892 --> 00:02:31.872
<v Chris>Defined.net slash unplugged. Go check out Nebula.

00:02:32.112 --> 00:02:36.452
<v Chris>It is that good. That's what we're using. And a big thank you to Defined for

00:02:36.452 --> 00:02:37.532
<v Chris>sponsoring the Unplugged program.

00:02:37.732 --> 00:02:40.332
<v Chris>Defined.net slash unplugged.

00:02:43.398 --> 00:02:47.558
<v Chris>48 days remain until Planet Nix and Scale 23.

00:02:47.678 --> 00:02:48.038
<v Wes>Oh, boy.

00:02:48.138 --> 00:02:50.198
<v Brent>That's not enough days. I don't like this.

00:02:51.098 --> 00:02:52.618
<v Wes>I'm excited. Yeah, Brent, you're behind.

00:02:52.718 --> 00:02:53.718
<v Brent>I got to get the van in shape.

00:02:54.858 --> 00:03:00.598
<v Chris>Yes, you do. We have a promo code, Unpludge, U-N-P-L-G. You'll get 40% off your Scale tickets.

00:03:00.858 --> 00:03:03.958
<v Wes>And that's what you got to do, right? Go sign up for Scale. And then you can

00:03:03.958 --> 00:03:05.918
<v Wes>just attend Planet Nix. I mean, go sign up, too.

00:03:06.138 --> 00:03:09.578
<v Chris>Yeah. I think we're probably going to have a meetup on Friday or Saturday.

00:03:10.438 --> 00:03:13.058
<v Chris>We haven't locked that in yet, but I think it's going to happen.

00:03:13.398 --> 00:03:17.698
<v Chris>And this is one of the big events in North America around free software.

00:03:17.898 --> 00:03:20.938
<v Chris>And one of the things they do is they have these tracks, like Planet Nix, and there are others.

00:03:21.098 --> 00:03:25.078
<v Chris>We are partial to Planet Nix, but there's some benefit to focused tracks as

00:03:25.078 --> 00:03:27.198
<v Chris>well, which you might want to look into. There are other ones.

00:03:27.338 --> 00:03:32.358
<v Chris>The dates to remember are March 5th through the 6th in Pasadena, California.

00:03:33.378 --> 00:03:36.418
<v Wes>And then shortly— They always also have great Postgres talks, okay?

00:03:36.618 --> 00:03:40.918
<v Chris>They do. They have a great Postgres community there. We also have LinuxFest

00:03:40.918 --> 00:03:43.598
<v Chris>Northwest coming up just around the corner as well. That's in April.

00:03:44.038 --> 00:03:48.558
<v Chris>But before we get that far, we would really like to have swag this year.

00:03:48.718 --> 00:03:52.218
<v Chris>And none of us are really great at this, but we would love to have something

00:03:52.218 --> 00:03:55.578
<v Chris>by scale, but definitely for LinuxFest Northwest. So we're putting a call out

00:03:55.578 --> 00:04:00.598
<v Chris>for ideas to the audience for a shirt, maybe something to do with Linux Tuesday on a Sunday.

00:04:01.438 --> 00:04:04.798
<v Chris>You know, anything you could think of from the show that might make a great

00:04:04.798 --> 00:04:07.558
<v Chris>shirt. Send them to unplugged at jupiterbroadcasting.com.

00:04:08.391 --> 00:04:09.731
<v Chris>Or maybe tag one of us in Matrix.

00:04:10.071 --> 00:04:10.731
<v Wes>Yeah, you can tag me in the Matrix.

00:04:11.111 --> 00:04:14.051
<v Chris>Thank you, Wes. He's taking one for the team there.

00:04:15.531 --> 00:04:18.271
<v Chris>And let us know. And we'll work with you. Like, we'll kick a little back to

00:04:18.271 --> 00:04:20.851
<v Chris>you or something. I don't know what, you know, because we'll see how they sell.

00:04:20.931 --> 00:04:22.891
<v Chris>But we'll work with you and thank you for it.

00:04:22.971 --> 00:04:25.291
<v Chris>And we'd love to have something great pretty quick.

00:04:26.011 --> 00:04:29.891
<v Chris>So unplugged at jupiterbroadcasting.com where you can tag Mr. Wes.

00:04:31.091 --> 00:04:33.471
<v Chris>And come up with a fun idea for the show, something that makes you think about

00:04:33.471 --> 00:04:37.471
<v Chris>the show. Because why we love these is not only could it be a way to help cover

00:04:37.471 --> 00:04:41.951
<v Chris>some of the costs of the show during the event, but it really makes it easy to find each other.

00:04:42.471 --> 00:04:45.491
<v Chris>And that makes the conversation real smooth.

00:04:45.711 --> 00:04:48.111
<v Chris>You've got an opener right there. Hey, you listen to the show.

00:04:48.331 --> 00:04:52.111
<v Chris>And it makes the networking aspect of that for those of us that are not particularly

00:04:52.111 --> 00:04:55.051
<v Chris>great at the conversation starting that much smoother.

00:04:55.151 --> 00:05:01.091
<v Chris>And also means for the boys, we can see in the audience who's there from the show.

00:05:01.191 --> 00:05:04.251
<v Chris>And it makes it easier for us to find people. And we don't have to have that

00:05:04.251 --> 00:05:07.151
<v Chris>awkward conversation of, have you listened to my podcast before?

00:05:07.411 --> 00:05:12.031
<v Wes>Well, and we feel more, you know, secure because we know we have reinforcements right there.

00:05:12.911 --> 00:05:17.971
<v Chris>Call the army. So we'd love a great swag idea. Shoot them over to us,

00:05:18.051 --> 00:05:19.691
<v Chris>unpluggedjupiterbroadcasting.com.

00:05:19.851 --> 00:05:21.651
<v Chris>You never know. We might just use it.

00:05:24.871 --> 00:05:28.271
<v Brent>Well, something we fancy ourselves doing is going out to listeners' businesses,

00:05:28.651 --> 00:05:33.091
<v Brent>their friend's place, or I don't know, their family's businesses, maybe even home labs.

00:05:34.031 --> 00:05:35.671
<v Brent>Maybe Airbnbs we stay at.

00:05:35.711 --> 00:05:38.991
<v Chris>Nope, that's a great idea, actually. We should fix up people's,

00:05:39.071 --> 00:05:41.431
<v Chris>oh my God, we should fix up people's Airbnbs.

00:05:41.531 --> 00:05:41.931
<v Brent>Yes.

00:05:42.351 --> 00:05:43.371
<v Wes>They're probably pretty bad.

00:05:43.491 --> 00:05:48.011
<v Brent>We have practice. So basically helping people with their home network setups,

00:05:48.251 --> 00:05:52.931
<v Brent>business network setups, Airbnb network setups, everything from Wi-Fi to storage,

00:05:53.091 --> 00:05:55.331
<v Brent>find those pain points and solve them all.

00:05:55.531 --> 00:05:58.691
<v Brent>With, of course, you know, as we do, as much Linux as possible.

00:05:58.691 --> 00:06:03.531
<v Brent>And to get our sea legs, we started local, quite local.

00:06:04.636 --> 00:06:10.156
<v Chris>Yeah, in fact, not long ago, my wife moved to clinics, and her tech setup has been rough ever since.

00:06:10.256 --> 00:06:14.636
<v Chris>And I have been like the shoemaker here where my wife's tech setup is abysmal.

00:06:15.476 --> 00:06:15.876
<v Wes>Embarrassing.

00:06:16.336 --> 00:06:19.416
<v Chris>And I've been meaning to get to it, meaning to get to it. And I thought,

00:06:19.516 --> 00:06:21.216
<v Chris>this is our chance right here.

00:06:21.276 --> 00:06:24.376
<v Chris>Let's dip our toes and figure out what's going on.

00:06:24.456 --> 00:06:27.336
<v Chris>And I knew immediately there was a couple of items we had to bang off.

00:06:27.436 --> 00:06:35.396
<v Chris>Like, she's using a MiFi from AT&T for some of this, and it's an LTE 4G thing. Not even 5G.

00:06:35.476 --> 00:06:38.376
<v Wes>Yeah, and not just as the upstream, like as the entire network.

00:06:38.436 --> 00:06:39.436
<v Brent>Oh, my goodness.

00:06:39.676 --> 00:06:45.596
<v Chris>Yeah, it's bad. And then she has no local storage. So let's just say the backup situation is bad.

00:06:46.056 --> 00:06:48.556
<v Chris>And the Wi-Fi situation is bad.

00:06:49.776 --> 00:06:52.876
<v Wes>Thankfully, though, you know, we didn't have to start from total scratch because

00:06:52.876 --> 00:06:58.936
<v Wes>she did have some hardware, obviously that Wi-Fi, but also a potential server,

00:06:59.196 --> 00:07:03.776
<v Wes>a Geekom IT13 Mini PC 2026.

00:07:04.396 --> 00:07:06.936
<v Wes>from their mini Air series line.

00:07:07.136 --> 00:07:07.956
<v Brent>That thing's cool.

00:07:08.236 --> 00:07:16.496
<v Wes>Yeah, 13th gen Intel i5, 13600H, 16 gigs of DDR4 RAM, 1 terabyte SSD.

00:07:16.916 --> 00:07:19.636
<v Wes>I guess it came with a Windows 11 Pro. Is that right?

00:07:19.636 --> 00:07:21.396
<v Chris>Did you see that? I never even booted it, dude.

00:07:21.596 --> 00:07:25.016
<v Wes>Okay, good. It was already rebooted into the Nix OS installer by the time I arrived.

00:07:26.016 --> 00:07:26.976
<v Chris>Did not buy it.

00:07:26.976 --> 00:07:33.416
<v Wes>It's got two USB 4.0s up to 40 gigabit per second, 8K quad display support,

00:07:33.416 --> 00:07:37.836
<v Wes>Wi-Fi 6E, an SD card slot, up to two disk possible.

00:07:38.036 --> 00:07:43.916
<v Wes>You can have a 2.5 SATA SSD, and there's also an M.2 slot in there. Total price was $600.

00:07:44.436 --> 00:07:47.136
<v Chris>Yeah, so not the cheapest, but also when you think not...

00:07:47.806 --> 00:07:51.186
<v Chris>What it can do, not that bad. You know, you get a more modern gen,

00:07:51.806 --> 00:07:55.066
<v Chris>cheap, low power, cool Intel processor.

00:07:55.666 --> 00:08:00.446
<v Chris>And I think the big thing for us was Wi-Fi 6E in there, two storage slots.

00:08:00.866 --> 00:08:04.746
<v Chris>And this also has been blessed by folks in the Home Assistant community as a

00:08:04.746 --> 00:08:07.326
<v Chris>good Home Assistant server. And we'll get to that.

00:08:07.486 --> 00:08:11.726
<v Wes>Great size too. I mean, just lovely form factored, felt pretty premium, good product.

00:08:11.846 --> 00:08:16.566
<v Chris>It's really a successor to the NUC. It really, truly is a successor to the NUC.

00:08:16.566 --> 00:08:20.326
<v Chris>and it's a good little box and just right out of the box, great compatibility

00:08:20.326 --> 00:08:21.946
<v Chris>with Linux and that's what we needed.

00:08:22.166 --> 00:08:26.206
<v Chris>So then on the Wi-Fi side, we're going to move her from, I had this set up for

00:08:26.206 --> 00:08:29.526
<v Chris>originally, but then she moved clinics and I'm going to put it back into action for her.

00:08:29.606 --> 00:08:35.946
<v Chris>And so it's the OpenWRT1. We already had this and in fact, it was partially already set up.

00:08:36.246 --> 00:08:41.006
<v Chris>And so this was just an obvious go-to to move her Wi-Fi clients over to this

00:08:41.006 --> 00:08:43.506
<v Chris>instead of a Wi-Fi. So this is the hardware we brought.

00:08:43.666 --> 00:08:46.026
<v Chris>We had this NUC killer, essentially.

00:08:46.566 --> 00:08:51.006
<v Chris>We had the OpenWRT1 little blue box, the little physical hardware box,

00:08:52.126 --> 00:08:57.006
<v Chris>and a few other items that you might find to be a little surprising.

00:08:57.006 --> 00:09:00.866
<v Chris>Did you catch on the parts list here what else I brought?

00:09:02.266 --> 00:09:08.066
<v Brent>I'm looking here. So, well, I see a Zigbee radio.

00:09:08.386 --> 00:09:10.766
<v Brent>I thought you were a Z-Wave guy.

00:09:11.486 --> 00:09:13.066
<v Chris>I am a pretty big Z-Wave stan.

00:09:13.566 --> 00:09:14.846
<v Brent>What's going on here then?

00:09:15.826 --> 00:09:16.346
<v Wes>Traitor.

00:09:16.566 --> 00:09:18.786
<v Brent>You keep recommending things to me and then changing your mind?

00:09:18.966 --> 00:09:21.206
<v Wes>Is this back to the don't do as I do thing?

00:09:21.306 --> 00:09:25.766
<v Chris>It is. Yeah, it is. Yeah, call the launch. Well, so this, Zigbee's the right

00:09:25.766 --> 00:09:27.046
<v Chris>tool for the job on this one.

00:09:28.226 --> 00:09:32.126
<v Chris>This she already owned as well. It's a Sonoff Zigbee USB dongle.

00:09:32.846 --> 00:09:37.006
<v Chris>And it's a nice little dongle, really good reputation. If she was purchasing

00:09:37.006 --> 00:09:40.726
<v Chris>it today, I would have had her get the Home Assistant Connect ZBT2,

00:09:40.726 --> 00:09:43.706
<v Chris>which is their nice new Zigbee dongle.

00:09:44.706 --> 00:09:49.626
<v Chris>But her clinic isn't particularly large, and I think the coverage is going to be good.

00:09:49.646 --> 00:09:54.306
<v Chris>And the Sonoff dongle has an antenna that sticks out and goes up a bit,

00:09:54.326 --> 00:09:55.646
<v Chris>so you get away from the machine piece.

00:09:56.606 --> 00:09:58.406
<v Wes>Yeah, all you had to do, we just had to plug it into the back,

00:09:58.526 --> 00:10:00.806
<v Wes>and it showed right up on Linux. It was ready to go.

00:10:00.946 --> 00:10:05.826
<v Chris>Yeah. And the nice thing this will enable is she'll have control surfaces around

00:10:05.826 --> 00:10:08.506
<v Chris>the clinic for different lighting and music.

00:10:09.026 --> 00:10:12.406
<v Chris>Yeah, and like cleaning mode, just turn everything up bright and stuff like

00:10:12.406 --> 00:10:16.646
<v Chris>that. And so those will be Zigbee buttons because they're low power and they're low cost.

00:10:16.806 --> 00:10:23.326
<v Chris>And then the other thing that we brought is the rather infamous speakers from

00:10:23.326 --> 00:10:25.666
<v Chris>Ikea that have Sonos guts in them.

00:10:25.806 --> 00:10:26.806
<v Wes>The Symphonisk.

00:10:27.026 --> 00:10:31.766
<v Chris>Yeah. And these are killer. And I had her pick a couple of these up while they were still for sale.

00:10:31.866 --> 00:10:36.126
<v Chris>You can still find them in some places because you essentially get a $300,

00:10:36.566 --> 00:10:42.166
<v Chris>$400 speaker or more in a $150, $180 speaker package.

00:10:42.886 --> 00:10:47.226
<v Chris>And it integrates perfectly with Home Assistant using the Sonos integration,

00:10:47.226 --> 00:10:49.306
<v Chris>and you can control everything over the LAN.

00:10:49.966 --> 00:10:51.266
<v Wes>Which, I mean, just seems ideal.

00:10:51.506 --> 00:10:55.266
<v Chris>I'm hoping no Sonos app required. And so that'll be how she does some of the,

00:10:55.306 --> 00:10:58.006
<v Chris>you know, like the wait music or the whatever music she wants to play.

00:10:58.066 --> 00:11:00.266
<v Chris>I don't know, but she'll do it through these speakers throughout the office.

00:11:00.426 --> 00:11:03.286
<v Wes>Sadly, as we're about to get into, that was sort of, you know,

00:11:03.526 --> 00:11:06.326
<v Wes>one of the end goals. Sort of the nice, I'll go get to play with the fun new

00:11:06.326 --> 00:11:07.586
<v Wes>speakers and set those up.

00:11:07.726 --> 00:11:08.546
<v Chris>We didn't quite get there.

00:11:08.646 --> 00:11:08.846
<v Wes>No.

00:11:09.006 --> 00:11:11.046
<v Chris>No, no, we did not. No, we did not.

00:11:11.786 --> 00:11:15.106
<v Brent>Well, Friday morning you guys were planning to roll up to the clinic and I would

00:11:15.106 --> 00:11:20.106
<v Brent>imagine your first priority was to ask Adia what her top issues were?

00:11:21.404 --> 00:11:24.164
<v Clips>It's a network makeover day, so I thought I should get from you,

00:11:24.404 --> 00:11:27.724
<v Clips>what are your top three or so pain points that you're having right now?

00:11:28.244 --> 00:11:31.904
<v Clips>Well, mostly that I just have to slow down because my internet's inconsistent.

00:11:32.484 --> 00:11:36.724
<v Clips>I just don't have access to, well, it feels like I'm on dial-up,

00:11:36.824 --> 00:11:39.324
<v Clips>which is no good. And then sometimes your printer drops off the network?

00:11:39.544 --> 00:11:42.304
<v Clips>Yeah, and then I've got to go search for wherever it is.

00:11:42.684 --> 00:11:49.804
<v Clips>I suppose it doesn't change where it is. But because my iPad will just switch

00:11:49.804 --> 00:11:53.584
<v Clips>from whatever network it can get on, I go to print from it, and it's not on

00:11:53.584 --> 00:11:55.244
<v Clips>the same network, and then I...

00:11:55.244 --> 00:11:58.584
<v Clips>Yeah, and the fact that your network is switching on the iPad suggests that

00:11:58.584 --> 00:12:01.964
<v Clips>the iPad's determined that there's no Internet available on your main Wi-Fi.

00:12:02.064 --> 00:12:04.504
<v Clips>And it's like, oh, I have this one saved, so I'll just switch to that.

00:12:05.084 --> 00:12:08.004
<v Clips>So that's definitely something we'll take a look at to see if we can't get that

00:12:08.004 --> 00:12:10.764
<v Clips>more consistent. We brought some hardware that I think could solve that.

00:12:12.144 --> 00:12:17.424
<v Clips>And I think that's job one. And then job two is I know you have lights and speakers

00:12:17.424 --> 00:12:18.844
<v Clips>that we need to get working.

00:12:19.144 --> 00:12:23.904
<v Clips>It would probably be good to move out of the 90s because I've been using a physical

00:12:23.904 --> 00:12:25.944
<v Clips>CD player. So I think we'll do home assistant for that job.

00:12:26.144 --> 00:12:28.284
<v Clips>All right. You're familiar with that. I'm familiar with that.

00:12:28.324 --> 00:12:29.944
<v Clips>So that should be fine. Office assistant.

00:12:30.544 --> 00:12:32.484
<v Clips>Yeah, we'll call it office. That's a good name for it. Clinic assistant.

00:12:32.684 --> 00:12:34.344
<v Clips>Office assistant. That's what I'll name it. Okay.

00:12:35.824 --> 00:12:39.144
<v Chris>Little did we know the Wi-Fi would be, and the networking in general,

00:12:39.364 --> 00:12:43.164
<v Chris>would be such a challenge. So that's where we had to start, and that's where

00:12:43.164 --> 00:12:44.084
<v Chris>we spent a good amount of time.

00:12:47.352 --> 00:12:51.932
<v Chris>1Password.com slash unplugged. That is the number one, then password,

00:12:52.152 --> 00:12:53.452
<v Chris>and unplugged, all lowercase.

00:12:53.732 --> 00:12:57.012
<v Chris>You know, I know this one to be true. It's easy to assume that being small means

00:12:57.012 --> 00:12:58.152
<v Chris>that you're flying under the radar.

00:12:58.392 --> 00:13:02.952
<v Chris>The reality is, small businesses are being targeted more and more by bad actors these days.

00:13:03.432 --> 00:13:07.852
<v Chris>Cyber criminals know that a lean, mean team often means they lack resources

00:13:07.852 --> 00:13:09.392
<v Chris>to prevent or respond to a breach.

00:13:09.972 --> 00:13:13.272
<v Chris>In short, the bad news is a team of any size can be a target.

00:13:13.272 --> 00:13:17.832
<v Chris>But the good news is even the smallest team can actually foil cybercrime.

00:13:18.212 --> 00:13:21.932
<v Chris>OnePassword provides the simplest security to help small teams manage the number

00:13:21.932 --> 00:13:24.492
<v Chris>one risk that bad actors exploit, weak passwords.

00:13:24.792 --> 00:13:28.612
<v Chris>And OnePassword provides a centralized management to make sure your company's logins are secure.

00:13:28.812 --> 00:13:32.232
<v Chris>It's simple. It's a turnkey solution that can be rolled out in hours,

00:13:32.232 --> 00:13:34.892
<v Chris>whether you have a dedicated IT staff or not.

00:13:35.052 --> 00:13:40.052
<v Chris>And the reality is the earlier you start, the easier it is to build your business on a secure foundation.

00:13:40.632 --> 00:13:44.412
<v Chris>Compromised passwords are the number one way bad actors attack companies.

00:13:44.572 --> 00:13:48.592
<v Chris>So a password manager really should be the first security purchase you make for your team.

00:13:49.132 --> 00:13:52.412
<v Chris>And on a small team, often security just defaults to one employee.

00:13:52.672 --> 00:13:56.532
<v Chris>Somebody who's already juggling other functions and they just happen to probably be the most tech savvy.

00:13:56.792 --> 00:14:00.252
<v Chris>And really the most effective thing they could do, and it's a security solution

00:14:00.252 --> 00:14:03.772
<v Chris>for everyone, is an intuitive and user-friendly password manager.

00:14:03.932 --> 00:14:06.512
<v Chris>One that everyone at your company can and will use.

00:14:07.132 --> 00:14:11.252
<v Chris>That's something I have seen with 1Password. above and beyond everywhere else,

00:14:11.392 --> 00:14:12.912
<v Chris>every other thing that I have seen.

00:14:13.132 --> 00:14:16.492
<v Chris>In a team, when you roll out 1Password, they use it, it sticks.

00:14:16.792 --> 00:14:19.812
<v Chris>And I think it's, honestly, it's the intuitive design, it's the integration

00:14:19.812 --> 00:14:24.512
<v Chris>with the OS and the applications, it's the range and availability of apps on different platforms.

00:14:24.792 --> 00:14:30.532
<v Chris>It just meets the users where they're at, but it has the management functionality a growing team needs.

00:14:31.032 --> 00:14:34.752
<v Chris>And those are results I've seen for years. So take the first step to better

00:14:34.752 --> 00:14:36.692
<v Chris>security by securing your team's credentials.

00:14:36.852 --> 00:14:42.312
<v Chris>Find out more. Go to 1password.com slash unplugged and start securing every login.

00:14:42.472 --> 00:14:48.352
<v Chris>You go there, support the show, and learn more. That's the number 1password.com slash unplugged.

00:14:51.662 --> 00:14:56.242
<v Wes>Well, you heard the client. We got right to work on that Wi-Fi situation,

00:14:56.702 --> 00:14:59.382
<v Wes>especially because, I mean, we wanted to set some servers up,

00:14:59.502 --> 00:15:02.322
<v Wes>Home Assistant, and we're going to be pulling down a bunch of packages.

00:15:02.622 --> 00:15:05.622
<v Wes>We wanted a connection that was going to be rock solid, not get an R-Way,

00:15:05.722 --> 00:15:07.422
<v Wes>and actually work for Hadea long term.

00:15:08.682 --> 00:15:12.902
<v Wes>So it'd been a little while, but we got to work setting up and re-familiarizing

00:15:12.902 --> 00:15:17.842
<v Wes>ourselves with the OpenWRT1, which I think ultimately was pretty quick to set

00:15:17.842 --> 00:15:22.102
<v Wes>up, even if it took longer than we would have liked to get everything right.

00:15:22.822 --> 00:15:25.802
<v Clips>Okay, so the thing I was kind of the most worried about was networking,

00:15:25.802 --> 00:15:27.942
<v Clips>and I think we have that working.

00:15:29.142 --> 00:15:35.642
<v Clips>Though every eight or ten pings, I'm getting a dupe error message from the ping command.

00:15:35.762 --> 00:15:40.162
<v Clips>So you get the ping that comes back with the milliseconds and all the normal

00:15:40.162 --> 00:15:44.342
<v Clips>stuff, but then it's got this dupe error next to it. Yeah, I don't know if I've seen that either.

00:15:44.922 --> 00:15:48.462
<v Clips>I don't know if this is some sort of double NAT thing that we're hitting,

00:15:48.482 --> 00:15:49.282
<v Clips>because we are attached.

00:15:49.782 --> 00:15:55.182
<v Clips>Her OpenWRT1 is attached to a LTE network. So maybe it's a carrier-grade NAT

00:15:55.182 --> 00:15:57.662
<v Clips>thing. I don't know. But it seems to be working.

00:15:57.842 --> 00:15:59.882
<v Clips>And the server's up. It's a basic config.

00:16:00.342 --> 00:16:06.002
<v Clips>But the server's up. So what's next for the server will be NextCloud and a KVM

00:16:06.002 --> 00:16:08.582
<v Clips>and then Home Assistant once we get all that going.

00:16:08.722 --> 00:16:11.102
<v Clips>Once the basics are done getting configured. You feeling good?

00:16:11.442 --> 00:16:13.862
<v Clips>Oh, yeah. We got NixOS running. How could I not feel good?

00:16:15.102 --> 00:16:19.822
<v Chris>Of course. Of course. Now, so not only were we getting these dupe pings every

00:16:19.822 --> 00:16:24.142
<v Chris>couple of pings and honestly the response time wasn't ideal,

00:16:25.686 --> 00:16:29.746
<v Chris>You're thinking maybe we were having some sort of Wi-Fi weirdness in here as well.

00:16:30.006 --> 00:16:32.806
<v Chris>So I wanted to know what the audience would use at this point.

00:16:32.926 --> 00:16:36.926
<v Chris>If you think maybe there's maybe a channel congestion or honestly,

00:16:37.066 --> 00:16:41.686
<v Chris>we thought perhaps one AP was just spazzing out because the one has a channel

00:16:41.686 --> 00:16:46.306
<v Chris>analysis tool in it, which we used, and we could see that everything was just

00:16:46.306 --> 00:16:47.526
<v Chris>stacked on top of each other.

00:16:47.626 --> 00:16:50.166
<v Chris>And there's this massive gap in the middle of the spectrum that just wasn't

00:16:50.166 --> 00:16:52.306
<v Chris>being used. So that's where we went.

00:16:52.306 --> 00:16:57.146
<v Wes>Well, we ran into so many ridiculous collisions this time.

00:16:57.326 --> 00:17:00.006
<v Wes>I mean, not only in like, oh, these are already on the same channel.

00:17:00.086 --> 00:17:00.986
<v Wes>We should move one of those.

00:17:01.126 --> 00:17:07.666
<v Wes>But then also in just like they were all using the most common IP address schemes in the 192.168.

00:17:07.906 --> 00:17:11.746
<v Wes>So multiple times it was like, oh, we should have just moved this from the start.

00:17:12.306 --> 00:17:15.766
<v Chris>Yeah, it was. And then we realized, too, like one of the things we could be

00:17:15.766 --> 00:17:19.926
<v Chris>dealing with is, you know, carrier grade NAT. And there is a shop next to us

00:17:19.926 --> 00:17:24.386
<v Chris>that has nice Wi-Fi hooked up to Fiber, and they have a guest network.

00:17:24.386 --> 00:17:27.006
<v Chris>So maybe we just take the LTE out of the picture.

00:17:27.306 --> 00:17:31.446
<v Clips>Okay, so we're still having some networking problems, and we've bounced around

00:17:31.446 --> 00:17:32.766
<v Clips>a couple of things. So here's what we've tried.

00:17:33.426 --> 00:17:36.746
<v Clips>To try to figure out why we're seeing these dupes in our pings.

00:17:37.026 --> 00:17:41.286
<v Clips>And honestly, we're getting 8 megabits when we should be getting 80.

00:17:41.286 --> 00:17:45.226
<v Clips>Yeah, we kind of expected, like, okay, maybe up to, like, 50% loss just from

00:17:45.226 --> 00:17:49.206
<v Clips>all the extra Wi-Fi and the double hops and all that, but not a factor of 10.

00:17:49.406 --> 00:17:53.266
<v Clips>So we also, as a troubleshooting thing, decided to swap over to the neighbor's

00:17:53.266 --> 00:17:55.886
<v Clips>Wi-Fi, which they have a guest public Wi-Fi that's open.

00:17:55.986 --> 00:17:59.906
<v Clips>And they're on Zip.ly fiber, so it's a good, solid connection.

00:18:00.126 --> 00:18:04.466
<v Clips>Yeah, we're getting, like, 80 plus minus over there. And then when we connect

00:18:04.466 --> 00:18:07.346
<v Clips>to the network directly, we can get 80 megabits, but when we do the bridge from the...

00:18:08.990 --> 00:18:13.570
<v Clips>OpenWRT1 to their public network, again, we're getting like 8 megabits,

00:18:13.710 --> 00:18:17.090
<v Clips>10 megabits, and also do pings.

00:18:17.430 --> 00:18:21.070
<v Clips>So it's got to be the configuration of the OpenWRT, but it's pretty simple,

00:18:21.210 --> 00:18:23.990
<v Clips>and I'm not really, nothing's jumping out at me.

00:18:24.050 --> 00:18:27.130
<v Clips>We've tried messing around with Wi-Fi radio channels.

00:18:27.410 --> 00:18:32.330
<v Clips>Yeah, we did move to another channel, and that helped a little bit, but no major change.

00:18:32.590 --> 00:18:34.930
<v Clips>There are two radios, and so...

00:18:34.930 --> 00:18:38.470
<v Clips>Yeah, it's possible maybe we're not using the best radio for this job.

00:18:38.590 --> 00:18:42.250
<v Clips>And it may be falling down to sort of the lowest common denominator of what

00:18:42.250 --> 00:18:44.170
<v Clips>it can actually talk to our attempted upstream.

00:18:44.310 --> 00:18:47.430
<v Clips>But we, of course, in this case, we don't actually know what the device we're

00:18:47.430 --> 00:18:48.690
<v Clips>talking to on the other side is.

00:18:49.510 --> 00:18:51.550
<v Clips>That's the problem with this particular troubleshooting technique.

00:18:51.990 --> 00:18:53.310
<v Clips>So, I mean, it's workable.

00:18:53.510 --> 00:18:58.390
<v Clips>I mean, 8 megabits you could live on, but it's not the 80 or 90 she should be getting.

00:18:58.870 --> 00:19:02.470
<v Clips>So I think this is an item that we're going to have to try to figure out.

00:19:02.470 --> 00:19:05.110
<v Clips>I mean, it's workable for today, but we need to figure it out.

00:19:05.230 --> 00:19:09.030
<v Chris>And it turned out we needed to pivot our strategy a little bit.

00:19:09.150 --> 00:19:13.350
<v Chris>And we also needed there are there are two different Wi-Fi antennae in this

00:19:13.350 --> 00:19:15.950
<v Chris>thing. And one is better at the 2.4 gigahertz stuff.

00:19:16.210 --> 00:19:21.110
<v Chris>And we needed that for the printer. We decided to split the labor up.

00:19:21.330 --> 00:19:24.910
<v Chris>And Wes worked on a very unplugged solution for something coming up.

00:19:25.050 --> 00:19:26.330
<v Chris>And we'll get to that in a moment.

00:19:26.330 --> 00:19:26.610
<v Wes>Yeah.

00:19:27.568 --> 00:19:31.768
<v Chris>And he was, you know, banging on a plan B for our Internet problems.

00:19:31.908 --> 00:19:37.288
<v Chris>And I decided to go back to my roots and get into some network printing and

00:19:37.288 --> 00:19:41.508
<v Chris>network printing troubleshooting, which, trust me, guys, I just love.

00:19:44.088 --> 00:19:47.668
<v Clips>OK, I've been trying to connect. There we go. Oh, my God.

00:19:48.928 --> 00:19:54.228
<v Clips>So I just got a report from the printer here. It took five minutes to print

00:19:54.228 --> 00:19:57.208
<v Clips>to tell me what it told me on the screen is that the connection failed.

00:19:58.328 --> 00:20:02.288
<v Clips>Wow, that's what it was taking so long to print? It's this black and white page

00:20:02.288 --> 00:20:04.348
<v Clips>with, like, monospace font on it.

00:20:04.468 --> 00:20:07.388
<v Clips>Is it just because I didn't intercap the AP name?

00:20:07.588 --> 00:20:10.088
<v Clips>Oh, maybe. Like, you can't figure that out?

00:20:10.648 --> 00:20:13.768
<v Clips>It's got to be exact. Well, at least I have to tap it all out on this tiny screen

00:20:13.768 --> 00:20:16.368
<v Clips>again. It's the world's tiniest screen. What is that, the size of a quarter?

00:20:16.548 --> 00:20:18.708
<v Clips>I mean, oh, my gosh. That's stupid.

00:20:19.488 --> 00:20:20.688
<v Clips>Well, maybe, do you think we're

00:20:20.688 --> 00:20:24.108
<v Clips>going to get another fun print after we successfully connect? I hope so.

00:20:24.628 --> 00:20:27.208
<v Clips>Don't you land? Well, we know that if I don't successfully connect,

00:20:27.228 --> 00:20:28.448
<v Clips>we'll get another fun one.

00:20:30.303 --> 00:20:32.823
<v Clips>I don't even know what's happening here right now, Wes. This is so bad.

00:20:33.263 --> 00:20:37.923
<v Chris>So, I mean, I'm a big fan of brother printers, but the Wi-Fi stack on this relatively

00:20:37.923 --> 00:20:42.263
<v Chris>new printer, I think it was bought late last year, so bad.

00:20:42.763 --> 00:20:48.343
<v Chris>Thankfully, the WRT1 is flexible, and I could take that antennae that was good

00:20:48.343 --> 00:20:52.503
<v Chris>at the 2.4, and I could just really make that a crappy security 2.4 gigahertz

00:20:52.503 --> 00:20:55.943
<v Chris>dedicated IoT network, which the printer could then join.

00:20:55.983 --> 00:20:59.663
<v Chris>But it's just got this tiny little UI where you've got to scroll through the

00:20:59.663 --> 00:21:04.563
<v Chris>numbers and tap out your WPA password and all of that. Absolute murder.

00:21:05.123 --> 00:21:09.443
<v Brent>I've recommended that series of printers to so many friends and family and then

00:21:09.443 --> 00:21:12.043
<v Brent>had to be the person to connect it to the Wi-Fi network.

00:21:12.543 --> 00:21:16.623
<v Brent>In that moment, you're like, why did I do this? They are rock solid once you

00:21:16.623 --> 00:21:20.023
<v Brent>get it on the network, but that's like the biggest pain point.

00:21:20.803 --> 00:21:23.783
<v Brent>The big question, though, Chris, is did you get that thing working?

00:21:24.683 --> 00:21:27.823
<v Chris>Credit to Wes. It really was. Wes was the one that figured out that I needed

00:21:27.823 --> 00:21:31.143
<v Chris>to ratchet down. Definitely, that was like the WPA security.

00:21:31.303 --> 00:21:35.683
<v Wes>Yeah, we specifically had to do WPA2, PSK, and then there was a couple other

00:21:35.683 --> 00:21:37.203
<v Wes>things, BGN compatibility.

00:21:37.403 --> 00:21:40.183
<v Wes>I don't know, like there was three or four specific tweaks. Like you really

00:21:40.183 --> 00:21:44.303
<v Wes>had to have a specific mode and a specific cipher that would really play best with.

00:21:44.863 --> 00:21:47.083
<v Wes>I think one of the LLMs grabbed some of those details. Like,

00:21:47.183 --> 00:21:51.123
<v Wes>yeah, this is kind of the profile you want to do. And once we got that specific configuration...

00:21:52.411 --> 00:21:53.211
<v Wes>Popped on just fine.

00:21:53.391 --> 00:21:56.071
<v Chris>Yeah, what surprised me is when it would do that ridiculous printout,

00:21:56.171 --> 00:22:00.871
<v Chris>which would take forever, it would identify the network security that it was using in the type.

00:22:01.311 --> 00:22:05.811
<v Chris>So it had the ability to recognize, like, WPA3 AES.

00:22:06.111 --> 00:22:09.551
<v Chris>It just couldn't join it. Which I thought, like, what is that?

00:22:09.551 --> 00:22:11.171
<v Wes>And it didn't say that that was the reason.

00:22:11.371 --> 00:22:12.011
<v Chris>No, it didn't.

00:22:12.211 --> 00:22:14.111
<v Wes>That was just a stat on the page.

00:22:14.231 --> 00:22:14.371
<v Chris>Yeah.

00:22:14.591 --> 00:22:16.991
<v Brent>As helpful as you can be without being any help at all, basically.

00:22:17.211 --> 00:22:17.351
<v Wes>Yeah.

00:22:17.831 --> 00:22:21.591
<v Chris>Yeah. So, but, you know, with that, thankfully, we're able to get that dedicated

00:22:21.591 --> 00:22:23.131
<v Chris>what I'm going to call the IoT network.

00:22:23.251 --> 00:22:26.491
<v Chris>So there'll probably be other IoT devices in the future that have similar problem.

00:22:26.631 --> 00:22:27.391
<v Chris>That's fine. They're safe.

00:22:28.231 --> 00:22:33.571
<v Chris>And really, the thing that I think was our greatest moment was part of all of this in the background.

00:22:33.811 --> 00:22:38.671
<v Chris>Wes was pivoting to building a Linux router, and we made a few tweaks to this,

00:22:38.891 --> 00:22:42.171
<v Chris>including one of the things that we decided about building this Linux router

00:22:42.171 --> 00:22:47.531
<v Chris>is we're going to get this MiFi into shape and we're just going to disable Wi-Fi on the MiFi.

00:22:47.851 --> 00:22:54.411
<v Chris>and plug it in over USB directly into a Nix router that we'll have do all the heavy lifting.

00:22:54.671 --> 00:22:58.531
<v Clips>Okay, a little pre-lunch pivot. Might regret, but we were just looking at this

00:22:58.531 --> 00:23:00.351
<v Clips>networking situation, and it's just insufficient.

00:23:00.751 --> 00:23:05.951
<v Clips>And we're not experts in the OpenWRT1.

00:23:06.131 --> 00:23:10.271
<v Clips>I mean, it's a great little device with great options, but we're fiddling around with the UI.

00:23:10.531 --> 00:23:13.751
<v Clips>I mean, honestly, it feels like the last 45 minutes to an hour have just been

00:23:13.751 --> 00:23:18.331
<v Clips>like us exploring a UI to find options. I think we could get to the UCI stuff

00:23:18.331 --> 00:23:20.891
<v Clips>underneath and, you know, put even more. Yeah, yeah, true.

00:23:21.071 --> 00:23:24.531
<v Clips>I don't know if that's what we want necessarily because we don't also know that very well.

00:23:24.811 --> 00:23:28.791
<v Clips>Yeah, so we're going to do the right thing, and we're going to set up the server

00:23:28.791 --> 00:23:34.611
<v Clips>that's our NextCloud and Home Assistant box to also be our router DNS and DHCP box.

00:23:34.771 --> 00:23:38.451
<v Clips>And, like, primary connection to the Wi-Fi that we're using as the upstream.

00:23:38.651 --> 00:23:43.891
<v Clips>So it will connect to the upstream Wi-Fi, and then using the Ethernet port,

00:23:44.071 --> 00:23:46.711
<v Clips>we will connect to the WRT1.

00:23:47.418 --> 00:23:50.898
<v Clips>which will then share that connection out via Wi-Fi. And we'll just have the

00:23:50.898 --> 00:23:55.818
<v Clips>NIC server doing the routing and the DNS and the HTTP because that's an interface we understand.

00:23:56.138 --> 00:23:59.498
<v Clips>And then, honestly, it might make it easier for me to make changes from remote,

00:23:59.678 --> 00:24:01.038
<v Clips>too, the more I think about it.

00:24:01.198 --> 00:24:05.458
<v Clips>Now I don't have to try to open up, like, a web UI in a remote browser kind of thing.

00:24:06.718 --> 00:24:10.558
<v Clips>Or it's going to be a huge pain in our butt and waste an hour of our time. We'll find out.

00:24:10.778 --> 00:24:14.758
<v Chris>I want to ask the audience in particular what tools you would have used to figure

00:24:14.758 --> 00:24:17.418
<v Chris>out what's going on with these Wi-Fi problems we had.

00:24:17.698 --> 00:24:20.618
<v Chris>And our solution was just remove as much Wi-Fi from the picture altogether.

00:24:21.398 --> 00:24:25.198
<v Chris>But this was extremely crowded. I'd say on the low side, there was probably

00:24:25.198 --> 00:24:26.678
<v Chris>30 APs that we could pick up.

00:24:26.938 --> 00:24:27.218
<v Wes>Easy, yeah.

00:24:27.478 --> 00:24:34.098
<v Chris>And some of them were pretty strong. And some of them seemed like businesses, AP1, AP2, AP3, AP4.

00:24:34.238 --> 00:24:37.458
<v Chris>And then others were obviously residential because it's a mix of business and residential.

00:24:37.638 --> 00:24:40.478
<v Chris>It's business on the first floor, residential on the second floor.

00:24:40.478 --> 00:24:45.538
<v Wes>Right. And like the open, you know, the one isn't like crazy underpowered or anything.

00:24:45.678 --> 00:24:48.678
<v Wes>I don't know if it's like blasting anything out, but fine.

00:24:48.998 --> 00:24:53.398
<v Wes>And we could see things that were at least as strong as it right there.

00:24:53.518 --> 00:24:54.458
<v Wes>And it was sitting next to us.

00:24:54.458 --> 00:24:58.258
<v Chris>Yes, right there at the desk. So I would like to know what you would use to

00:24:58.258 --> 00:25:02.198
<v Chris>troubleshoot and analyze Wi-Fi in this situation.

00:25:02.258 --> 00:25:05.518
<v Chris>Is there a particular tool that's beyond just Wi-Fi analyzer,

00:25:05.938 --> 00:25:08.678
<v Chris>or am I discounting Wi-Fi analyzer on Android?

00:25:08.878 --> 00:25:11.698
<v Chris>If you could boost in and tell us what you would use, because I think if we

00:25:11.698 --> 00:25:16.018
<v Chris>did this again, that would be a tool I would like to have in our toolbox to

00:25:16.018 --> 00:25:18.618
<v Chris>troubleshoot, because I could see that being an issue when we go to places like this.

00:25:18.718 --> 00:25:21.498
<v Chris>And we were kind of left just blind with what was really going on,

00:25:21.618 --> 00:25:22.958
<v Chris>with only what we could tell just by,

00:25:24.074 --> 00:25:28.254
<v Chris>what was in the one and with the tools in the one and what we had on our phones or our laptops.

00:25:28.734 --> 00:25:33.754
<v Chris>So that was, you know, a challenge. But I think once we moved over to USB and

00:25:33.754 --> 00:25:37.874
<v Chris>Wes got a nice little basic config going with DNS, mask and DHCP and all of

00:25:37.874 --> 00:25:42.154
<v Chris>that, we had started making some real progress finally on the networking.

00:25:43.534 --> 00:25:48.434
<v Clips>Well, progress has been made. We have the networking all set up on the Nix host.

00:25:48.574 --> 00:25:53.734
<v Clips>It's doing DHCP and DNS and it's routing out quite nicely. and we're using now

00:25:53.734 --> 00:25:57.814
<v Clips>the OpenWRT1 as an AP that's connected to the NixOS box.

00:25:58.134 --> 00:26:02.774
<v Clips>And I could not tell you why, but our throughput has gone from,

00:26:02.894 --> 00:26:06.114
<v Clips>at best, 8 megabits to now 60 megabits.

00:26:06.214 --> 00:26:09.274
<v Clips>We're not at the 80 we should be, but we're a lot closer.

00:26:10.230 --> 00:26:13.930
<v Clips>Do you have any thoughts on why? Blame Nix, in a good way.

00:26:14.830 --> 00:26:18.490
<v Clips>Or the magic of a full Linux kernel on x86?

00:26:18.850 --> 00:26:21.590
<v Clips>I don't know. But we're going to take the W where we can take it,

00:26:21.630 --> 00:26:23.470
<v Clips>and we're going to get Home Assistant spun up.

00:26:23.590 --> 00:26:27.530
<v Clips>So we're working right now on getting a bridge interface, so that way Home Assistant

00:26:27.530 --> 00:26:32.530
<v Clips>OS can run in KVM, but essentially get link-level access to the LAN so it can

00:26:32.530 --> 00:26:33.750
<v Clips>find all the stuff it needs to find.

00:26:34.070 --> 00:26:36.950
<v Clips>And we're setting up a little Home Assistant config, and then,

00:26:37.010 --> 00:26:40.310
<v Clips>well, I mean, a VM, and then we'll get a booting. I'm looking right now because

00:26:40.310 --> 00:26:41.450
<v Clips>Wes is doing the rebuild right now.

00:26:41.470 --> 00:26:45.310
<v Clips>Doing a boot command, getting ready to reboot, maybe with a new fancy bridge

00:26:45.310 --> 00:26:47.050
<v Clips>actually working. We'll see.

00:26:47.530 --> 00:26:51.730
<v Clips>Yeah, we can sometimes get it up and sometimes it just gets shut down by the system.

00:26:51.990 --> 00:26:55.050
<v Clips>But I think this reboot's going to do it, and then we'll have Home Assistant

00:26:55.050 --> 00:26:57.150
<v Clips>up and running. Because it's just the image.

00:26:57.330 --> 00:27:01.210
<v Clips>Once the VM starts, now we get Home Assistant configured. So we're really close.

00:27:01.790 --> 00:27:04.870
<v Wes>Boy, you know, I think we were losing it a little bit there.

00:27:04.990 --> 00:27:06.350
<v Wes>Clearly, we were getting hungry.

00:27:06.490 --> 00:27:10.030
<v Wes>We'd kind of been going in circles for a while. I didn't mention it before,

00:27:10.190 --> 00:27:13.590
<v Wes>but I think it's worth saying that part of the benefit of moving things over

00:27:13.590 --> 00:27:19.590
<v Wes>to NixOS was making sure you didn't have to spend any more time in the OpenWrt1

00:27:19.590 --> 00:27:24.790
<v Wes>web interface, which I think maybe might have cost you some sanity.

00:27:25.010 --> 00:27:27.890
<v Chris>I've realized this about myself in the past, too.

00:27:28.410 --> 00:27:31.810
<v Chris>I seem to have a threshold of fiddling with GUIs, as I put it.

00:27:31.950 --> 00:27:35.770
<v Chris>And I've hit it before with TrueNaz. I've hit it with PFSense.

00:27:35.930 --> 00:27:37.330
<v Chris>I've hit it with Proxmox.

00:27:37.330 --> 00:27:41.230
<v Wes>We would get to a state where you were trying to set a particular value that

00:27:41.230 --> 00:27:44.570
<v Wes>you'd know you'd seen where to set it, but then we're not that familiar with

00:27:44.570 --> 00:27:46.610
<v Wes>this UI. We used it for one day recently, right?

00:27:46.870 --> 00:27:50.370
<v Wes>And then so you're trying to hunt through the entire UI to go find it on which

00:27:50.370 --> 00:27:52.830
<v Wes>page and which button to get to that setting screen.

00:27:52.850 --> 00:27:55.450
<v Chris>I've already spent more than an hour on this, and I thought this would be a

00:27:55.450 --> 00:27:59.630
<v Chris>10-minute thing, right? And it's like, I just want to look at it all on one screen.

00:28:00.030 --> 00:28:04.730
<v Chris>I just want it in a config all on one screen, and then I don't have to hunt like this.

00:28:04.730 --> 00:28:09.190
<v Wes>So we thought Nick's would be the opposite experience. And for the most part, it was. Except.

00:28:09.907 --> 00:28:14.987
<v Wes>tang bridge yeah we would reboot the bridge would appear and um just for background

00:28:14.987 --> 00:28:18.827
<v Wes>right so what we're trying to do is run home assistant in kvm libvert virtual

00:28:18.827 --> 00:28:23.327
<v Wes>machine but obviously home assistant wants to talk to all the stuff on your network so big.

00:28:23.327 --> 00:28:23.727
<v Chris>Part of it.

00:28:23.727 --> 00:28:26.747
<v Wes>We were going to make a virtual switch a bridge on the

00:28:26.747 --> 00:28:29.847
<v Wes>linux host and then put the ethernet address

00:28:29.847 --> 00:28:34.087
<v Wes>that we're using to talk to the wi-fi as the backbone of the network in as a

00:28:34.087 --> 00:28:38.027
<v Wes>slave to the bridge and then that would be able to make sure that the VMs that

00:28:38.027 --> 00:28:42.087
<v Wes>get added and are also added to the ports of the bridge can talk automatically

00:28:42.087 --> 00:28:46.367
<v Wes>to the network and it'll just use all the same sort of DHCP setup and just get

00:28:46.367 --> 00:28:48.007
<v Wes>a regular IP on the network.

00:28:48.867 --> 00:28:53.167
<v Chris>Being Home Assistant to everything on the network just looks like another device

00:28:53.167 --> 00:28:57.427
<v Chris>directly on the network which is that link layer you really need for Home Assistant to do all its magic.

00:28:57.687 --> 00:29:02.467
<v Wes>But it would pop up, we would see it coming online successfully DNS Mask was happy about it.

00:29:02.587 --> 00:29:04.587
<v Chris>Hey, there's our BR0, we've got a bridge, great!

00:29:04.907 --> 00:29:06.147
<v Wes>And then it would disappear.

00:29:10.987 --> 00:29:15.027
<v Clips>Okay, this is genuinely perplexing. It's got to be vert manager or something's

00:29:15.027 --> 00:29:17.147
<v Clips>messing with us. But we reboot the system.

00:29:17.347 --> 00:29:20.487
<v Clips>The bridge interface comes up. You can even list interfaces,

00:29:20.487 --> 00:29:21.947
<v Clips>and for a few seconds, you'll see it.

00:29:22.207 --> 00:29:25.907
<v Clips>We have the right IP address. I mean, I bet the SMS was happy for a moment.

00:29:26.127 --> 00:29:29.067
<v Clips>And then, I don't know, 20 seconds after the system's loaded,

00:29:29.547 --> 00:29:31.007
<v Clips>the interface shuts down.

00:29:32.934 --> 00:29:35.874
<v Clips>And we don't have a network manager running on this system. Nope.

00:29:36.954 --> 00:29:40.834
<v Clips>So that is weird. That's a little problem. We thought we just had fixed with

00:29:40.834 --> 00:29:43.234
<v Clips>that last build. And yet it persists.

00:29:43.654 --> 00:29:47.954
<v Brent>This is exactly how network troubleshooting or, you know, quote-unquote upgrading

00:29:47.954 --> 00:29:49.494
<v Brent>always goes when I try it.

00:29:49.774 --> 00:29:54.814
<v Brent>This is why I hate networking. So did you boys just, like, keep at it and try

00:29:54.814 --> 00:29:58.494
<v Brent>to figure this out and an hour later make progress? Or how did this go?

00:29:59.314 --> 00:30:02.554
<v Chris>Well, we came up with a viable solution.

00:30:02.934 --> 00:30:05.254
<v Clips>You know, sometimes you just got to let the machine take a look.

00:30:05.394 --> 00:30:08.494
<v Clips>So we kind of threw our hands up and we threw the machine at it and said,

00:30:08.574 --> 00:30:13.514
<v Clips>hey, LLM, review all the logs and figure out why our bridge keeps disappearing.

00:30:13.734 --> 00:30:16.954
<v Clips>And sure enough, it found a correlation. I think it would have taken us a little while.

00:30:17.494 --> 00:30:21.814
<v Clips>And it appears to be related to our USB connection to the MiFi,

00:30:21.894 --> 00:30:23.694
<v Clips>that is our primary Internet connection.

00:30:24.514 --> 00:30:29.194
<v Clips>When it goes down and then comes back up, the bridge is getting shut down and

00:30:29.194 --> 00:30:30.034
<v Clips>then isn't starting again.

00:30:30.434 --> 00:30:34.774
<v Clips>And we need to make that independent of the rest of it. So it has it lined up.

00:30:34.874 --> 00:30:38.274
<v Clips>It says we can rebuild. So I'd say rebuild and reboot, and let's see if it works.

00:30:40.934 --> 00:30:45.134
<v Clips>Oh, also, look here. It has a line suggesting that we add USB power management to help.

00:30:45.354 --> 00:30:48.114
<v Clips>I think it just disconnected because we rebooted. That's why it disconnected.

00:30:48.254 --> 00:30:50.834
<v Clips>And I think it takes a bit before the interface appears. Right.

00:30:50.954 --> 00:30:53.714
<v Clips>And it might be just enough. It might be waiting until the host even starts

00:30:53.714 --> 00:30:57.534
<v Clips>to negotiate before it even creates an interface, because that thing also, port works for storage.

00:30:58.354 --> 00:31:01.754
<v Clips>So it can do a USB storage, or it can be a tethering interface.

00:31:02.174 --> 00:31:04.214
<v Clips>So it may have to do some sort of negotiation.

00:31:04.994 --> 00:31:07.894
<v Clips>I don't know how that works, but I do like that it found it.

00:31:07.974 --> 00:31:09.954
<v Clips>Do we have a bridge? Oh, this is looking better. We have a bridge.

00:31:12.023 --> 00:31:16.103
<v Clips>The bridge has disappeared before, so we don't know if we have a persistent bridge. Oh, okay, good.

00:31:16.383 --> 00:31:20.043
<v Clips>It's still there. Yes, and we just got an IP on our MiFi upstream,

00:31:20.223 --> 00:31:23.023
<v Clips>which is, I think, when it was failing before. Yes, that would make sense.

00:31:23.123 --> 00:31:27.283
<v Clips>Yeah, of course, right. I think we would have found that, but we don't have

00:31:27.283 --> 00:31:30.003
<v Clips>a full graphical environment here, so it's not the best for reading through

00:31:30.003 --> 00:31:33.343
<v Clips>files of system delay. It's just on a console. LM is perfect for that.

00:31:33.603 --> 00:31:36.303
<v Clips>Yeah, reading through and finding that correlation, I think that solved it.

00:31:36.683 --> 00:31:38.923
<v Clips>Nice. So now we have a bridge.

00:31:38.923 --> 00:31:43.243
<v Chris>Yeah, to really underscore that, what worked super well is Wes was physically at the console.

00:31:43.423 --> 00:31:47.663
<v Chris>You can imagine what that's like, a little headless server that we have a monitor attached to.

00:31:47.883 --> 00:31:53.483
<v Chris>And then I'm on my little laptop, and I'm SSH'd in. And I have to give a shout out to OpenCode.

00:31:54.463 --> 00:31:59.403
<v Chris>This is a killer LLM2E that really made this quick work, because it just was

00:31:59.403 --> 00:32:02.663
<v Chris>able to review the logs super quickly, find the correlation,

00:32:02.663 --> 00:32:04.543
<v Chris>and be like, well, here you go, dummy, this is your problem.

00:32:05.063 --> 00:32:08.503
<v Chris>And it was something that, yeah, like Wes said, maybe we would have found that.

00:32:09.350 --> 00:32:13.490
<v Chris>it found it very quickly. And the great thing about OpenCode is you can connect

00:32:13.490 --> 00:32:17.070
<v Chris>it to local models, you can connect it to remote cloud models,

00:32:17.210 --> 00:32:18.930
<v Chris>it has a lot of different options in there.

00:32:19.230 --> 00:32:20.090
<v Wes>OpenRouter easily.

00:32:20.390 --> 00:32:20.950
<v Chris>OpenRouter super easy.

00:32:20.950 --> 00:32:25.330
<v Wes>Any of the big cloud providers. And they also give you some free usage on their

00:32:25.330 --> 00:32:26.710
<v Wes>models without even logging in.

00:32:26.830 --> 00:32:30.290
<v Chris>Yeah, they have like these Zen models that they've kind of vetted and they host

00:32:30.290 --> 00:32:31.550
<v Chris>and let you use for a little bit.

00:32:31.930 --> 00:32:35.910
<v Chris>But the big thing is that it's MIT licensed, it's vendor neutral,

00:32:35.910 --> 00:32:39.390
<v Chris>and it's perfect for these kind of quick, I need to get something running and

00:32:39.390 --> 00:32:40.850
<v Chris>diagnose and read through some logs.

00:32:41.350 --> 00:32:44.070
<v Chris>And I think it made it go a lot faster for us. We probably would have had to

00:32:44.070 --> 00:32:46.930
<v Chris>burn, you know, another 10, 20 minutes trying to find that correlation.

00:32:47.310 --> 00:32:50.470
<v Wes>And it's nice to see this when every other provider has their own version, right?

00:32:50.550 --> 00:32:53.590
<v Wes>And now you're seeing like folks locking it down more where only some plans

00:32:53.590 --> 00:32:56.590
<v Wes>can be used with their particular version of these kinds of tools.

00:32:56.770 --> 00:32:59.570
<v Wes>So it's nice to have an open source thing for a very useful tool.

00:32:59.590 --> 00:33:01.250
<v Chris>Yeah, if you're playing around with something like Cloud Code,

00:33:01.610 --> 00:33:04.090
<v Chris>you could easily use something like this. Then you're not tied to a particular

00:33:04.090 --> 00:33:06.430
<v Chris>vendor. You could keep using the Cloud stuff if you want.

00:33:06.650 --> 00:33:10.870
<v Chris>But OpenCode is vendor neutral. Like I said, it's MIT licensed. And it's beautiful.

00:33:11.090 --> 00:33:11.910
<v Wes>It's really snappy.

00:33:12.130 --> 00:33:15.190
<v Chris>It's beautiful. It's fast. And it's got a lot of smart features.

00:33:15.450 --> 00:33:19.550
<v Chris>And it was just like it was taking a laser at this and just boom, found it right away.

00:33:19.730 --> 00:33:23.770
<v Chris>Oh, here's your problem. And then it was so obvious. Oh, of course. Right. Duh.

00:33:24.517 --> 00:33:27.957
<v Wes>Okay, so we've got the bridge. It was actually staying around doing its job.

00:33:28.117 --> 00:33:31.677
<v Wes>So that means the Home Assistant virtual machine could actually start and get

00:33:31.677 --> 00:33:34.877
<v Wes>on the network and actually start getting configured. It had a bunch of stuff

00:33:34.877 --> 00:33:38.537
<v Wes>to pull down, some Docker containers, because we're using the whole Home Assistant

00:33:38.537 --> 00:33:42.037
<v Wes>OS setup here. But we had a little more work to do.

00:33:42.717 --> 00:33:48.217
<v Clips>And the final piece falls into place. We had one last thing to do, and that was?

00:33:48.997 --> 00:33:52.257
<v Clips>Establish a Nebula network. That's right. By directional SSH,

00:33:52.257 --> 00:33:54.937
<v Clips>because otherwise we can't actually do what we need to do. Yeah.

00:33:55.337 --> 00:33:58.177
<v Clips>I mean, not only does it mean that we get to wrap up and finish anything that

00:33:58.177 --> 00:34:01.277
<v Clips>needs to be finished remotely, but that's also what I'll use for off-site backups

00:34:01.277 --> 00:34:03.237
<v Clips>as well. So it's really good to have that.

00:34:04.017 --> 00:34:07.417
<v Clips>And that'll be something I can work on from my leisure at home.

00:34:08.117 --> 00:34:11.657
<v Clips>And now you can print your lady love notes wherever you are.

00:34:13.157 --> 00:34:15.137
<v Wes>Yeah, I signed you up for that. So you better make good on it.

00:34:16.657 --> 00:34:19.637
<v Brent>This is awesome. I didn't know you guys were going to do the Nebula part of it.

00:34:19.677 --> 00:34:24.317
<v Brent>How did that go? And, well, basically, Chris, I'm assuming doing all your work

00:34:24.317 --> 00:34:27.637
<v Brent>from home is going to be much better than having to deal with the office internet?

00:34:28.597 --> 00:34:32.197
<v Chris>Yes, very much so. Just being able to chill and do it from the comfort of home

00:34:32.197 --> 00:34:34.357
<v Chris>is nice. Or support her when she needs it.

00:34:34.697 --> 00:34:38.297
<v Chris>You know, because part of this also is which didn't work in the clips just for timing.

00:34:38.457 --> 00:34:42.217
<v Chris>But we have a little basic NextCloud setup on there. And I'm going to offsite

00:34:42.217 --> 00:34:46.597
<v Chris>backup that for her. But long story short, the nice thing I really clicked in

00:34:46.597 --> 00:34:51.877
<v Chris>with Nebula is we didn't have to ask permission from any service or log in any service provider.

00:34:52.317 --> 00:34:56.637
<v Chris>We just issued ourself the keys and set up a quick lighthouse,

00:34:56.637 --> 00:34:59.637
<v Chris>which I almost had completely finished anyways. It just takes no time at all.

00:34:59.957 --> 00:35:05.017
<v Chris>And then it was we had a private mesh VPN with no other person,

00:35:05.257 --> 00:35:06.717
<v Chris>company, entity involved at all.

00:35:06.977 --> 00:35:10.657
<v Chris>And it's perfect for a clinic, you know, trying to do offsite backups privately.

00:35:10.657 --> 00:35:13.017
<v Wes>Yeah, and it was pretty easy to get it kind of connected to the rest of what

00:35:13.017 --> 00:35:17.057
<v Wes>you needed so that you had a link from your existing setup in there when you do need remote access.

00:35:18.047 --> 00:35:21.227
<v Wes>And then Nebby has a lot of nice firewall rules, too, so you can kind of make

00:35:21.227 --> 00:35:24.387
<v Wes>sure that only the stuff and the directions that you want are allowed.

00:35:25.187 --> 00:35:30.107
<v Brent>We started the show talking about what Hadiyah wanted out of all of this,

00:35:30.127 --> 00:35:33.507
<v Brent>and you boys spent all of your time seemingly trying to troubleshoot the network.

00:35:34.287 --> 00:35:38.367
<v Brent>Did you get there? Like, was she happy with the end result?

00:35:39.007 --> 00:35:42.307
<v Clips>Okay, so it took a little longer. It's 6 p.m. I thought we'd be done at 3 p.m. Yeah.

00:35:43.407 --> 00:35:47.167
<v Clips>But here's what we got for you. So that over there is your new server.

00:35:47.167 --> 00:35:49.987
<v Clips>I'm pointing at the little tiny box. Great. We need it doctor.

00:35:50.287 --> 00:35:54.367
<v Clips>Yeah, that's doctor server, server doctor. And it's going to run your home assistant,

00:35:54.467 --> 00:35:56.647
<v Clips>which you can see we have up and running over there on that screen.

00:35:56.807 --> 00:36:01.307
<v Clips>I see it. And that blue box is the WRT1. And that's going to be doing your Wi-Fi now.

00:36:02.787 --> 00:36:05.867
<v Clips>Your internet connection is now connected over USB to your server.

00:36:07.099 --> 00:36:09.319
<v Clips>And so we're just going to need to find a place for all this.

00:36:09.439 --> 00:36:12.879
<v Clips>But I've tested your printing. The Wi-Fi network is way solid,

00:36:12.879 --> 00:36:15.079
<v Clips>so the devices shouldn't drop off anymore. Good.

00:36:15.759 --> 00:36:19.699
<v Clips>And your Internet is much better than it was. We were having some sort of weird,

00:36:19.699 --> 00:36:22.259
<v Clips>like, IP conflict. I don't know what was going on.

00:36:23.019 --> 00:36:26.839
<v Clips>How did you solve it without knowing what it was? We swapped out the hardware

00:36:26.839 --> 00:36:30.159
<v Clips>and just YOLO'd into using the server to act as a router.

00:36:30.219 --> 00:36:35.319
<v Clips>And then we switched from using Wi-Fi or Ethernet to connect to the Wi-Fi to using USB.

00:36:35.559 --> 00:36:38.819
<v Clips>Oh, that's what I would have done. I should have mentioned that to begin with.

00:36:38.939 --> 00:36:41.179
<v Clips>Yeah. Yeah, that would have saved us some time. We should have waited for you to get back.

00:36:42.279 --> 00:36:45.939
<v Clips>I didn't want to step on you or woman's plane, you know? All right.

00:36:46.999 --> 00:36:49.299
<v Clips>Well, we'll check back in and see how it's working in a few days.

00:36:49.639 --> 00:36:53.219
<v Chris>I mean, the core thing she wanted was solid Wi-Fi, and I think we delivered that.

00:36:54.099 --> 00:36:57.319
<v Chris>The NextCloud stuff, she and I need to work on more because we need to develop

00:36:57.319 --> 00:37:00.819
<v Chris>a workflow for how she actually exports her backup data to the NextCloud.

00:37:01.099 --> 00:37:01.259
<v Wes>Yeah.

00:37:01.339 --> 00:37:03.959
<v Chris>We haven't worked that workflow out yet. So that remains to be done.

00:37:03.999 --> 00:37:06.099
<v Chris>And the Home Assistant instance is basic.

00:37:06.579 --> 00:37:10.039
<v Chris>And so there's some refinement needs to be there. But some of that she'll do

00:37:10.039 --> 00:37:11.499
<v Chris>on her own. She doesn't mind toying with that.

00:37:12.619 --> 00:37:15.819
<v Chris>But I think, you know, there's probably room for improvement,

00:37:15.819 --> 00:37:19.279
<v Chris>but we got the job done. And I actually would like to punt that over to the audience.

00:37:19.439 --> 00:37:22.559
<v Chris>And, you know, a great way to boost in and support the show is how do we do?

00:37:22.939 --> 00:37:27.999
<v Chris>Give us your grade, you know, A to F, what we can improve if we did this out

00:37:27.999 --> 00:37:31.899
<v Chris>in production for a listener in the future or somebody's Airbnb or small business

00:37:31.899 --> 00:37:35.699
<v Chris>or home lab and some Wi-Fi tools.

00:37:36.862 --> 00:37:40.222
<v Chris>I think would be good. And also just general, like, what we could have done better.

00:37:40.482 --> 00:37:42.382
<v Wes>What pro tips, setups you like?

00:37:42.742 --> 00:37:46.142
<v Chris>I am very happy with how solid we got the internet ultimately.

00:37:46.462 --> 00:37:50.502
<v Chris>And then the Wi-Fi LAN seems to be very solid too, so she's not going to have the drop-off.

00:37:50.682 --> 00:37:54.542
<v Wes>Yeah, that's, I mean, at least even if there are sort of upstream issues or,

00:37:54.602 --> 00:37:58.842
<v Wes>you know, service provider, etc., at least having a stable LAN means you don't go insane.

00:37:59.002 --> 00:38:03.382
<v Chris>And ultimately, the reason why I wanted to use NixOS for doing the DNS and DHCP

00:38:03.382 --> 00:38:06.462
<v Chris>is because it's just there in the declarative configuration.

00:38:06.942 --> 00:38:09.742
<v Chris>And so I just need to back that up. And if I ever have to restore her server,

00:38:09.982 --> 00:38:13.662
<v Chris>I just restore that configuration and all of her core network settings get restored.

00:38:13.782 --> 00:38:16.982
<v Wes>That was also handy as we were like onboarding the VM and onboarding the printer.

00:38:17.202 --> 00:38:20.762
<v Wes>And like it just was super easy to add reservations and check on things. And yeah.

00:38:20.942 --> 00:38:23.542
<v Chris>That's a great point, Wes. As we started to build that stuff up,

00:38:23.602 --> 00:38:26.622
<v Chris>it was just sort of obvious that this was a better route for us to go for the

00:38:26.622 --> 00:38:27.462
<v Chris>kind of integration we wanted.

00:38:27.742 --> 00:38:31.682
<v Chris>So I am happy with the results, but there is still a little bit of work left to be done.

00:38:32.262 --> 00:38:35.782
<v Chris>I think if we hadn't spent so much time troubleshooting the different network stuff.

00:38:35.782 --> 00:38:39.602
<v Wes>We did kind of spend half the day getting to the point where we even ended up

00:38:39.602 --> 00:38:40.942
<v Wes>on the path that was the good path.

00:38:41.082 --> 00:38:45.662
<v Chris>So that limited our results. Because we knew the WRT1 was good and we could

00:38:45.662 --> 00:38:47.902
<v Chris>probably get it working, but just ultimately.

00:38:48.022 --> 00:38:51.582
<v Wes>There really are limited know-how of how to properly utilize it.

00:38:51.622 --> 00:38:52.502
<v Wes>It's probably part of it.

00:38:53.462 --> 00:38:57.742
<v Chris>At the end, though, we switched to our strength and it worked pretty well.

00:39:00.905 --> 00:39:05.265
<v Chris>Well, thank you very much to our members. The early year sales are lean,

00:39:05.405 --> 00:39:09.205
<v Chris>and this is an area where we lean very much on the members to keep things going.

00:39:09.545 --> 00:39:14.205
<v Chris>There's no understatement there. The members are making these episodes possible,

00:39:14.205 --> 00:39:16.765
<v Chris>and I really do appreciate it.

00:39:16.885 --> 00:39:19.685
<v Chris>You can get a membership right now at a great discount. I think we still have

00:39:19.685 --> 00:39:24.585
<v Chris>some bootleg promo codes to claim for the annual or for the month-to-month membership.

00:39:24.585 --> 00:39:28.845
<v Chris>You can apply them for the linuxunplugged.com membership. We'll get you a core

00:39:28.845 --> 00:39:33.965
<v Chris>membership and that gets you the unedited bootleg version now in video in that

00:39:33.965 --> 00:39:35.545
<v Chris>feed as well, a video version of the show.

00:39:36.245 --> 00:39:38.985
<v Chris>Wave, boys. Hi. We see we're waving right now to the video version of the show.

00:39:39.145 --> 00:39:42.665
<v Chris>And then – but notice how we haven't effed up the audio version because we love you.

00:39:42.985 --> 00:39:46.305
<v Chris>And then also there is an ad-free version of the audio version that's still

00:39:46.305 --> 00:39:48.405
<v Chris>got all of Drew's great touches that's available for you.

00:39:48.525 --> 00:39:51.325
<v Chris>And then at jupiter.party, that's a whole network membership because we have

00:39:51.325 --> 00:39:55.665
<v Chris>a bootleg thing going for launch and other shows that will eventually also be

00:39:55.665 --> 00:39:58.845
<v Chris>on there. So that's jupyter.party for the whole network membership and then

00:39:58.845 --> 00:40:01.385
<v Chris>bootleg for the promo code.

00:40:01.905 --> 00:40:04.925
<v Chris>The bootleg really is where it's at. I got to say, there's some good stuff in

00:40:04.925 --> 00:40:05.665
<v Chris>there. We had a good bootleg.

00:40:05.745 --> 00:40:07.105
<v Wes>Some sneaky extras, you might say.

00:40:07.485 --> 00:40:09.845
<v Chris>Thank you very much to our members for making it possible. And of course,

00:40:10.045 --> 00:40:14.825
<v Chris>everyone who boosts each episode. These are the things that keep us going and sustain the podcast.

00:40:18.434 --> 00:40:23.474
<v Brent>This week we were lucky enough to receive a little update from Olympia Mike, dear friend of the show.

00:40:23.634 --> 00:40:28.334
<v Brent>He says, hey Lupp family, I got a great follow-up to the Holiday Home Lab episode.

00:40:28.614 --> 00:40:31.774
<v Brent>My little Nixbook side project has all grown up.

00:40:32.034 --> 00:40:38.474
<v Brent>The Computer Upcycle Project is now an official non-profit taking donated hardware, fixing it up,

00:40:38.914 --> 00:40:41.634
<v Brent>and getting it into the hands of people who need it

00:40:41.634 --> 00:40:44.854
<v Brent>recently we received a donation of 35

00:40:44.854 --> 00:40:48.554
<v Brent>hp pro desk 600 g5 minis

00:40:48.554 --> 00:40:51.854
<v Brent>they're 8th and 9th gen i5s 8

00:40:51.854 --> 00:40:54.594
<v Brent>to 16 gigs of ram they generally have a

00:40:54.594 --> 00:40:57.954
<v Brent>serial ata ssds in them they're small quiet fast

00:40:57.954 --> 00:41:00.874
<v Brent>and easy to upgrade now there is one catch though

00:41:00.874 --> 00:41:06.574
<v Brent>they don't have built-in wi-fi which makes them less than ideal for everyday

00:41:06.574 --> 00:41:13.314
<v Brent>home desktops but these things make fantastic little home servers so here's

00:41:13.314 --> 00:41:18.954
<v Brent>the deal i want to offer them completely free to the linux unplugged community,

00:41:19.714 --> 00:41:24.634
<v Brent>you cover the shipping from olympia washington i send you a box no strings attached

00:41:24.634 --> 00:41:29.894
<v Brent>and you use it for whatever you want home lab server experiments chaos it's up to you.

00:41:31.883 --> 00:41:35.883
<v Chris>That is pretty great, Mike. So how do they reach out to Mike if they're interested

00:41:35.883 --> 00:41:39.643
<v Chris>in covering the shipping and grabbing one of these HP Homelab boxes?

00:41:39.843 --> 00:41:42.723
<v Brent>Yeah, if you're interested, just, well, shout out to Mike.

00:41:43.363 --> 00:41:48.523
<v Brent>So it's Mike at ComputerUpcycleProject.org, and you can organize how all that

00:41:48.523 --> 00:41:51.123
<v Brent>shipping is going to work and where to send these little monsters.

00:41:51.403 --> 00:41:56.323
<v Wes>That is so kind and great. And congrats on the nonprofit and just this continuing.

00:41:56.323 --> 00:42:01.063
<v Wes>I mean, also, I saw, we previously mentioned the license discussion that Mike

00:42:01.063 --> 00:42:02.043
<v Wes>was having with his community.

00:42:02.223 --> 00:42:02.343
<v Chris>Right.

00:42:02.483 --> 00:42:07.523
<v Wes>Well, they kept going after we talked about it and had some great discussions

00:42:07.523 --> 00:42:12.123
<v Wes>and reasonings shared from the project side and have ended up going through

00:42:12.123 --> 00:42:17.363
<v Wes>the steps to get all the approval from all the contributors and are now officially licensed as MIT.

00:42:17.623 --> 00:42:18.703
<v Chris>Hey, that's good to hear.

00:42:18.883 --> 00:42:19.303
<v Brent>Hopefully.

00:42:19.483 --> 00:42:20.043
<v Chris>Glad they got that sorted.

00:42:20.403 --> 00:42:23.623
<v Wes>Yeah, right? So it's the next stage of the project in many ways, which is wonderful.

00:42:23.623 --> 00:42:29.703
<v Chris>I want to give a huge thank you to listener Alex and also to producer Jeff.

00:42:30.043 --> 00:42:36.903
<v Chris>They each sent in a Coral USB accelerator for the show, and I grabbed one right away as it came in.

00:42:37.063 --> 00:42:41.063
<v Chris>And one just came in too. Wes has one now. I, of course, hooked mine up to Frigate.

00:42:41.163 --> 00:42:44.063
<v Chris>I have now Frigate with accelerated detection.

00:42:44.743 --> 00:42:48.063
<v Chris>And I'm really liking it. So if people are interested in an episode on Frigate,

00:42:48.323 --> 00:42:51.603
<v Chris>the open source DVR, where you can take a bunch of different kind of camera

00:42:51.603 --> 00:42:54.083
<v Chris>feeds and put them into one DVR and keep it all local.

00:42:54.363 --> 00:42:58.083
<v Chris>And with this accelerator, I'm doing, you know, millisecond face detection now

00:42:58.083 --> 00:43:00.523
<v Chris>and stuff like that and object detection and motion detection.

00:43:01.123 --> 00:43:05.943
<v Chris>And so we have the second one here because listener Alex and PJ were both very generous.

00:43:06.243 --> 00:43:09.743
<v Chris>And so while I think while we have it around, we should play audio tagging.

00:43:09.803 --> 00:43:12.383
<v Chris>Wes, you were looking at ways to maybe do a little tagging with audio and whatnot

00:43:12.383 --> 00:43:15.363
<v Chris>with the choral chatted about that. So I think that could be a fun project.

00:43:15.363 --> 00:43:18.483
<v Wes>It does seem like there's got to be some wacky, fun things we can do with this thing.

00:43:18.783 --> 00:43:21.663
<v Chris>And Brent rumor has it there may be a third one if you make it over here sooner or later.

00:43:21.843 --> 00:43:22.823
<v Brent>Oh, I'm on my way.

00:43:22.823 --> 00:43:25.803
<v Chris>I don't know. We don't know. Maybe it ends up, you know, sneaking out in the

00:43:25.803 --> 00:43:27.083
<v Chris>hands of somebody else. But.

00:43:27.642 --> 00:43:30.622
<v Chris>Thank you, Alex, and thank you, PJ. Really appreciate that.

00:43:30.722 --> 00:43:35.862
<v Chris>And would love, love to hear what you can do with the West and be happy to do

00:43:35.862 --> 00:43:39.542
<v Chris>a report on Frigate if people are interested. Just let us know.

00:43:39.802 --> 00:43:40.022
<v Wes>Indeed.

00:43:45.442 --> 00:43:49.482
<v Brent>Well, we received a baller boost. Wait, there's several baller boosts here,

00:43:49.562 --> 00:43:56.622
<v Brent>but the top one, 100,000 sats from CJ McAdemy.

00:43:58.062 --> 00:43:58.542
<v Wes>Macademy.

00:43:58.722 --> 00:43:59.842
<v Brent>Yes, CJ Macademy.

00:44:00.402 --> 00:44:01.282
<v Wes>Or CJ Macademy.

00:44:01.382 --> 00:44:04.782
<v Brent>Thank you for the boost. Well,

00:44:10.942 --> 00:44:15.322
<v Brent>CJ Macademy says, Hey, I've been a weekly listener for about two years now.

00:44:15.522 --> 00:44:20.342
<v Brent>I am a macOS system admin with a little prior Linux experience,

00:44:20.482 --> 00:44:26.442
<v Brent>and the show was recommended to me by one of our company's Linux devs as a place to dive into Linux.

00:44:26.982 --> 00:44:30.982
<v Brent>Well, long story short, I run Nix packages and NixOS on everything possible

00:44:30.982 --> 00:44:33.522
<v Brent>now. So here's some value for value.

00:44:33.782 --> 00:44:36.242
<v Brent>See you all at scale and plan Nix.

00:44:36.562 --> 00:44:41.262
<v Wes>Oh, great. Looking forward to that. Wonderful. Thanks for saying hi.

00:44:41.402 --> 00:44:43.662
<v Chris>Yeah, thank you very much. Thank you for listening. I'm glad to hear that.

00:44:44.042 --> 00:44:47.622
<v Chris>Interesting, too, because I think that's a really neat demonstration of the

00:44:47.622 --> 00:44:49.602
<v Chris>demographic that listens to the show as well.

00:44:50.082 --> 00:44:53.762
<v Chris>And I'm glad to hear that these tools are useful on all the platforms out there. Thank you, CJ.

00:44:53.902 --> 00:45:00.082
<v Chris>Appreciate you being our baller booster. Mr. Hybrid Sarcasms back with a nice 25,000 sets.

00:45:05.301 --> 00:45:08.861
<v Chris>Well, wouldn't you know it? He's on to actual budget. When I saw the actual

00:45:08.861 --> 00:45:12.401
<v Chris>budget supports multiple users via OIDC.

00:45:12.621 --> 00:45:13.861
<v Chris>Is that the Excel connection?

00:45:14.541 --> 00:45:16.001
<v Wes>No, that's OpenID.

00:45:16.241 --> 00:45:20.721
<v Chris>Okay. Oh, right. I'm thinking of whatever it used to be where you could connect Excel to SQL Server.

00:45:20.741 --> 00:45:21.381
<v Wes>I love that idea.

00:45:21.621 --> 00:45:24.701
<v Chris>I'm like, what is he doing? I'm thinking budgets, right? I'm thinking spreadsheets.

00:45:25.041 --> 00:45:26.601
<v Brent>I implemented PocketID.

00:45:26.861 --> 00:45:29.481
<v Chris>Oh, there you go. I should have just read the next sentence in my home network.

00:45:29.641 --> 00:45:32.621
<v Chris>It's game-changing to log into an app using a pass you stored in BitWarn.

00:45:32.621 --> 00:45:35.301
<v Chris>Now I'm O-dicking all the things.

00:45:35.721 --> 00:45:36.081
<v Brent>Wow.

00:45:36.541 --> 00:45:40.761
<v Chris>I have been very tempted by this, too. In fact, this is what makes me a little

00:45:40.761 --> 00:45:43.541
<v Chris>pro passkey, is a setup very much like this.

00:45:44.321 --> 00:45:49.101
<v Chris>And also, I think using Bitwarden or a 1Password password manager makes it a lot smoother.

00:45:49.241 --> 00:45:49.921
<v Wes>For sure, yeah.

00:45:50.101 --> 00:45:52.901
<v Chris>But then you've got to kind of commit for a while. So consider that.

00:45:52.981 --> 00:45:55.201
<v Chris>That's why I like hybrid setup here. That's something I could commit to.

00:45:55.241 --> 00:45:56.321
<v Wes>Yeah, very nice work, hybrid.

00:45:56.621 --> 00:45:58.381
<v Chris>I could OIDick all over the place.

00:45:58.501 --> 00:46:01.641
<v Wes>Curious how you like actual budget, too. That's been curious about that.

00:46:01.681 --> 00:46:02.161
<v Chris>Yeah, good call.

00:46:03.441 --> 00:46:08.781
<v Wes>The DudaBinds abides in with McDuck's 22,222 sets.

00:46:10.861 --> 00:46:13.281
<v Wes>You brought back some memories with the disc burner.

00:46:13.541 --> 00:46:13.701
<v Chris>Oh, good.

00:46:13.941 --> 00:46:19.261
<v Wes>I remembered I used to use Nero on Windows and K3B and Bracero on Linux.

00:46:19.441 --> 00:46:20.661
<v Chris>Uh-huh, you used all those, yep.

00:46:20.801 --> 00:46:25.361
<v Wes>I don't know why, but I specifically remember the Tayo Yudin DVDs,

00:46:25.461 --> 00:46:27.221
<v Wes>buying them by the hundreds back in the day.

00:46:27.901 --> 00:46:31.181
<v Wes>I bought an LG Blu-ray writer in 2023, actually.

00:46:31.301 --> 00:46:31.361
<v Chris>Same.

00:46:31.361 --> 00:46:34.841
<v Wes>The flashable version, WH-16NS40.

00:46:35.041 --> 00:46:36.201
<v Chris>That was the one.

00:46:36.681 --> 00:46:41.181
<v Wes>But I hardly ever used it. If when I ever get it out of storage,

00:46:41.601 --> 00:46:44.321
<v Wes>I might give this cold storage idea a go.

00:46:44.421 --> 00:46:44.801
<v Chris>Do it.

00:46:44.941 --> 00:46:46.441
<v Wes>Thanks for the content, as always.

00:46:46.861 --> 00:46:51.661
<v Chris>And I was reminded via email this morning, when it comes to optical media,

00:46:51.881 --> 00:46:56.021
<v Chris>why not burn two? Because one is none, after all. And you never know when it

00:46:56.021 --> 00:46:57.021
<v Chris>comes to optical storage.

00:46:57.401 --> 00:47:01.221
<v Chris>So, thank you very much. Appreciate it, dude. It's good to hear from you.

00:47:01.621 --> 00:47:05.461
<v Brent>Well, Johnny Castaway boosted in a Spaceballs boost. One, two,

00:47:05.661 --> 00:47:07.141
<v Brent>three, four, five Satoshis.

00:47:12.092 --> 00:47:16.852
<v Brent>I'm just passing this along for your perusal. It's a little Reddit thread.

00:47:17.072 --> 00:47:20.772
<v Brent>It's only an open source one petabyte NAS.

00:47:21.012 --> 00:47:22.932
<v Brent>No big deal. Seems doable, right?

00:47:23.572 --> 00:47:26.472
<v Brent>Might try building this one myself after Fosdom this month.

00:47:26.772 --> 00:47:29.752
<v Chris>That's a lot of spinning rust. Wow, man.

00:47:29.992 --> 00:47:31.232
<v Wes>You seem like you're sweating a little bit.

00:47:31.392 --> 00:47:34.792
<v Chris>I just get a little nervous about babysitting that much spinning rust,

00:47:34.912 --> 00:47:38.392
<v Chris>but that would be cool. It's usually one of these open enclosures. I do love that idea.

00:47:39.072 --> 00:47:42.172
<v Chris>the closure and closure is printed and then it has the back planes in there

00:47:42.172 --> 00:47:46.772
<v Chris>and wiring channeling for it and i mean it looks really slick it can hold up

00:47:46.772 --> 00:47:52.172
<v Chris>to 45 discs so uh yeah that's how you get to a petabyte right 45 24 terabyte

00:47:52.172 --> 00:47:55.632
<v Chris>that's absolutely we could.

00:47:55.632 --> 00:48:00.992
<v Brent>Just build one of these for the jv colony to use you know let's put it in space

00:48:00.992 --> 00:48:04.312
<v Brent>or something and we can all access it and have some off-site backups.

00:48:04.312 --> 00:48:07.832
<v Chris>It will even contribute to the ipfs network you never know.

00:48:08.652 --> 00:48:09.752
<v Wes>A networking dream.

00:48:09.752 --> 00:48:16.692
<v Chris>Wow thanks Johnny appreciate it hey there's Gene Bean he's here with 4,813 sats

00:48:16.692 --> 00:48:18.032
<v Chris>I think he wants some mac and cheese,

00:48:20.350 --> 00:48:23.790
<v Chris>He says, I'm using Backblaze B2 for my backups. It's the way to go,

00:48:23.870 --> 00:48:28.170
<v Chris>in my opinion. And he says, Chris, you made me nostalgic with your Blue Vault project.

00:48:28.930 --> 00:48:34.670
<v Chris>And he links me to the old Svelte CD DVD case that many of us have.

00:48:34.670 --> 00:48:35.590
<v Wes>Yes, look at this.

00:48:35.610 --> 00:48:39.650
<v Chris>With the plastic bindings where you slide 96-disc capacity. Yeah.

00:48:39.950 --> 00:48:43.550
<v Brent>I think I still have one of those, actually. It's got a couple of Ubuntu discs in there.

00:48:43.550 --> 00:48:45.530
<v Wes>It works for car, home, office, or travel.

00:48:45.650 --> 00:48:46.030
<v Chris>Honestly.

00:48:46.270 --> 00:48:47.210
<v Wes>You need backups everywhere.

00:48:47.250 --> 00:48:50.230
<v Chris>It's actually a good idea. That is actually a really good idea.

00:48:50.350 --> 00:48:53.390
<v Chris>Because what am I going to do? Have a stack of jewel cases like an animal where

00:48:53.390 --> 00:48:55.510
<v Chris>I could have one pack and it's only $10.

00:48:55.970 --> 00:48:59.290
<v Brent>Did any of you have one of these in your car so that you could just like?

00:48:59.330 --> 00:48:59.630
<v Chris>Oh, yeah.

00:48:59.710 --> 00:49:00.150
<v Wes>For sure.

00:49:00.290 --> 00:49:00.610
<v Chris>Oh, yeah.

00:49:00.730 --> 00:49:00.990
<v Brent>All right.

00:49:01.090 --> 00:49:03.170
<v Chris>I also had the one that clipped onto the visor.

00:49:03.850 --> 00:49:05.130
<v Brent>Yeah, the quick switch.

00:49:05.790 --> 00:49:05.970
<v Chris>Yep.

00:49:06.110 --> 00:49:06.830
<v Brent>You pro.

00:49:08.010 --> 00:49:12.910
<v Chris>And he shouts out to Unify for a great Wi-Fi hardware and stuff.

00:49:13.090 --> 00:49:16.010
<v Chris>So thank you, Gene. Appreciate you, sir. Always great to hear from you.

00:49:16.990 --> 00:49:19.410
<v Wes>Well, PCNORF boosts in with 5,000 cents.

00:49:19.610 --> 00:49:20.370
<v Chris>Oh. Thank you.

00:49:25.458 --> 00:49:28.038
<v Wes>Don't forget to do a dedicated burn for Jar Jar.

00:49:28.218 --> 00:49:33.638
<v Chris>You always want to have an extra burn for Jar Jar, right? Because one is none,

00:49:33.658 --> 00:49:35.598
<v Chris>and Jar Jar needs at least one.

00:49:40.378 --> 00:49:47.058
<v Brent>Doornail 7887 boosted in a row of ducks. Damn it, Chris, your timing is quite suspicious.

00:49:47.058 --> 00:49:52.658
<v Brent>I just wrote a very similar app, which is, granted it's a Python-based app,

00:49:52.658 --> 00:49:57.258
<v Brent>for backing up my ever-growing data to a suite of old, small,

00:49:57.258 --> 00:49:59.838
<v Brent>offline hard drives I keep in a safe.

00:49:59.838 --> 00:50:04.998
<v Brent>I pull them out regularly and was manually managing which data went on which

00:50:04.998 --> 00:50:09.198
<v Brent>drive, but that was getting quite a bit out of hand, and I needed some automation.

00:50:09.358 --> 00:50:13.298
<v Brent>Maybe you should consider more than just optical destinations?

00:50:13.938 --> 00:50:14.478
<v Chris>Hmm.

00:50:15.698 --> 00:50:15.898
<v Brent>Huh?

00:50:16.098 --> 00:50:18.018
<v Chris>Blue fault. If I could find a nice stasher of spinning rust,

00:50:18.118 --> 00:50:19.198
<v Chris>that's probably the way I would go.

00:50:20.158 --> 00:50:23.578
<v Chris>I had. Maybe if I dug through all the systems here in the studio,

00:50:23.698 --> 00:50:26.538
<v Chris>I could probably come up with a few terabytes. You know what I mean?

00:50:26.858 --> 00:50:30.578
<v Brent>Just pull them out of those old laptop stacks.

00:50:30.918 --> 00:50:33.418
<v Wes>Why don't I think that every raid you make is a scary raid?

00:50:33.518 --> 00:50:34.238
<v Brent>No kidding, right?

00:50:34.658 --> 00:50:36.358
<v Chris>Except for my raid one. I had to

00:50:36.358 --> 00:50:39.398
<v Chris>do a raid one over the week to save my Butterfest install. That one is...

00:50:39.398 --> 00:50:40.158
<v Wes>Fair, fair.

00:50:41.078 --> 00:50:45.278
<v Chris>All right. Thank you very much, Dornell. Appreciate that. Lymilus?

00:50:45.998 --> 00:50:48.218
<v Chris>Imilus? What do you think there, Wes? What would you give that one?

00:50:48.978 --> 00:50:49.738
<v Chris>Elmilus. Milus comes in.

00:50:49.838 --> 00:50:50.158
<v Brent>Milius?

00:50:50.258 --> 00:50:54.918
<v Chris>Yeah. It's good, though. I like it. It's good. It's good. They come in with 4,000 sats.

00:50:57.036 --> 00:50:59.476
<v Chris>Wow, check this out, party member and listener since 2020.

00:50:59.736 --> 00:50:59.976
<v Wes>Nice.

00:51:00.276 --> 00:51:02.896
<v Chris>On the Self-Husted Show and then added love. Well, thank you very much.

00:51:03.036 --> 00:51:06.516
<v Chris>Thank you for being here. So I ran out of episodes to listen to.

00:51:06.576 --> 00:51:07.796
<v Chris>This is my first boost. Hey!

00:51:08.896 --> 00:51:11.756
<v Wes>Welcome. Thank you for figuring it out.

00:51:12.876 --> 00:51:18.416
<v Chris>He said, oh, good. I use Friggin on an Intel system, and you could try out OpenVINO. It's a detector.

00:51:18.676 --> 00:51:24.236
<v Chris>Rather than getting a Coral TPU, it utilizes the iGPU on 6th Gen and later Intel

00:51:24.236 --> 00:51:28.976
<v Chris>CPUs. inference time on my 6th gen has been reliable in the sub-20 millisecond

00:51:28.976 --> 00:51:31.816
<v Chris>timing, you know, compared to the 9 to 10 you get on the Coral.

00:51:31.956 --> 00:51:32.396
<v Wes>Not bad.

00:51:32.516 --> 00:51:36.396
<v Chris>Run it for about six months. This is a great field report because we were talking

00:51:36.396 --> 00:51:39.336
<v Chris>about OpenVino behind the scenes and maybe doing an episode on it,

00:51:39.356 --> 00:51:42.596
<v Chris>and I want to know if you could tell me, and this is something I should look

00:51:42.596 --> 00:51:45.536
<v Chris>into, but I have an Intel Arc, one of the first generation Intel Arcs,

00:51:45.776 --> 00:51:48.656
<v Chris>in the machine here in the studio, and could I use OpenVino,

00:51:49.176 --> 00:51:53.496
<v Chris>to start doing inference on that Intel Arc? Oh, that'd be great.

00:51:53.496 --> 00:51:56.836
<v Wes>And then we could have it maybe it could watch Brent and we could tell when

00:51:56.836 --> 00:51:59.016
<v Wes>he sneaks away or if there's a cat in the frame or not.

00:51:59.016 --> 00:52:01.696
<v Chris>Definitely and whenever there's a cat in the frame we just switch to him.

00:52:02.156 --> 00:52:03.736
<v Wes>Exactly for the clicks and the.

00:52:03.736 --> 00:52:05.496
<v Chris>Views thank you everybody.

00:52:06.116 --> 00:52:09.736
<v Wes>Maybe we should pull up advantage I think.

00:52:09.736 --> 00:52:10.816
<v Chris>We should yeah let's do it.

00:52:10.816 --> 00:52:15.716
<v Wes>So adversaries comes in here with the 1701 sets which maybe we should have an

00:52:15.716 --> 00:52:19.936
<v Wes>exception in the script for that one I don't know I officially volunteer to

00:52:19.936 --> 00:52:23.256
<v Wes>help with blue faults sounds like something I've been wanting to do for a while

00:52:23.256 --> 00:52:25.556
<v Wes>and Rust is my preferred language.

00:52:25.956 --> 00:52:26.296
<v Chris>Oh, really?

00:52:26.776 --> 00:52:29.396
<v Wes>Send me a message on Matrix or Signal if you want to discuss.

00:52:29.876 --> 00:52:32.736
<v Chris>Very nice. Well, I think we should. Signal, huh? Let's hook up on Signal.

00:52:32.936 --> 00:52:34.796
<v Brent>Whoa. Are you feeling okay?

00:52:34.876 --> 00:52:37.836
<v Chris>It'll be my... I know. It'll be my second person on Signal ever.

00:52:38.376 --> 00:52:40.916
<v Brent>You haven't added me yet. I feel so...

00:52:40.916 --> 00:52:44.756
<v Chris>Dude, you haven't added... You are the Signal ambassador in the friend group here.

00:52:44.756 --> 00:52:47.756
<v Brent>I didn't know you were on it. You were so against it for years. You were like.

00:52:48.316 --> 00:52:52.076
<v Chris>I ain't a gain it. I just didn't need it. I ain't a gain it. I ain't a gain it.

00:52:52.076 --> 00:52:52.876
<v Brent>All right. We'll talk later.

00:52:53.016 --> 00:52:53.276
<v Chris>I just didn't need it. Thank you.

00:52:54.485 --> 00:52:58.825
<v Chris>So thank you. I did get a couple of PRs.

00:52:58.925 --> 00:52:59.225
<v Wes>Nice.

00:52:59.385 --> 00:53:03.185
<v Chris>And I got an issue or two, and I resolved a couple of them. I think the hot

00:53:03.185 --> 00:53:04.385
<v Chris>dog colors are still outstanding.

00:53:04.585 --> 00:53:05.405
<v Wes>Yeah, what's the deal with that?

00:53:05.525 --> 00:53:09.705
<v Chris>I'll be getting around to that, I'm sure. I'm sure, yeah. What does GitHub do

00:53:09.705 --> 00:53:12.865
<v Chris>with issues or PRs that sit around for a while?

00:53:13.025 --> 00:53:15.905
<v Chris>Is there like a stale bot that comes around and.

00:53:15.905 --> 00:53:15.905
<v Brent>Cleans them up?

00:53:16.025 --> 00:53:19.225
<v Wes>I mean, you can set those things up. Or I could push some updates.

00:53:19.445 --> 00:53:23.705
<v Chris>Oh! You want to just ride it yourself? You feel like doing a little rusty-roo?

00:53:24.045 --> 00:53:25.505
<v Brent>I knew it would come to this.

00:53:25.885 --> 00:53:27.045
<v Wes>I could get some help.

00:53:28.865 --> 00:53:32.465
<v Chris>All right. Thank you, everybody, who boosted this episode to support us directly.

00:53:32.785 --> 00:53:36.205
<v Chris>We had 24 of you stream them, Sats, as you listened to the show.

00:53:36.385 --> 00:53:41.945
<v Chris>And you all collectively stacked 35,406 Sats. This is one of those nice boosts in this episode.

00:53:42.165 --> 00:53:46.105
<v Chris>And when you combine that with our boosters, who also sent us a message,

00:53:46.425 --> 00:53:50.905
<v Chris>this episode stacked 212,809 Sats.

00:53:51.385 --> 00:53:55.905
<v Chris>Not bad at all. Fountain FM is going from win to win, making it easier and easier

00:53:55.905 --> 00:53:58.585
<v Chris>to boost. There's also some self-hosted options.

00:53:58.745 --> 00:54:04.245
<v Chris>Just look into AlbiHub, and you can find a bunch of great apps at newpodcastapps.com.

00:54:04.245 --> 00:54:05.925
<v Chris>Thank you, everybody, who supported this episode.

00:54:17.968 --> 00:54:22.428
<v Chris>Okay, this week we have two picks, and I'm pretty tickled with both of them.

00:54:23.708 --> 00:54:27.988
<v Chris>And Wes, you've been playing around with Pocket TTS.

00:54:28.608 --> 00:54:35.188
<v Wes>Yes, 100 million parameter model, text-to-speech, voice cloning abilities,

00:54:35.388 --> 00:54:38.688
<v Wes>small enough to run in real time easily on your laptop's CPU.

00:54:38.888 --> 00:54:42.628
<v Chris>On the CPU. So this is voice cloning anyone can play with.

00:54:42.768 --> 00:54:43.228
<v Wes>That's right.

00:54:43.448 --> 00:54:46.388
<v Chris>So probably should set expectations because you said it's kind of a smaller...

00:54:46.388 --> 00:54:49.348
<v Wes>Yes, that's right. It's not like a giant thing, 100 million parameter model.

00:54:49.528 --> 00:54:51.988
<v Wes>It's pretty small by modern standards.

00:54:52.168 --> 00:54:54.548
<v Wes>But that's what lets it run on your laptop CPU.

00:54:54.708 --> 00:54:54.828
<v Chris>Yeah.

00:54:55.128 --> 00:54:58.028
<v Wes>And it's just a PIP or UV install away.

00:54:58.268 --> 00:55:03.348
<v Chris>So here's a little comparison just to set the expectations. We're going to play a clip of Editor Drew.

00:55:03.688 --> 00:55:09.988
<v Chris>First will be the original Drew. And second will be the Pocket TTS version of Drew.

00:55:10.228 --> 00:55:11.328
<v Clips>I get so mad.

00:55:11.648 --> 00:55:14.468
<v Chris>All right. That's real Drew. And here is Pocket Drew.

00:55:14.688 --> 00:55:16.188
<v Clips>I get so mad.

00:55:16.508 --> 00:55:18.588
<v Chris>Right. And Wes, why don't you say it?

00:55:19.688 --> 00:55:20.528
<v Wes>I get so mad.

00:55:20.928 --> 00:55:22.528
<v Clips>I get so mad.

00:55:22.808 --> 00:55:24.288
<v Wes>I get so mad.

00:55:24.528 --> 00:55:25.608
<v Chris>Brent, why don't you give it a go?

00:55:25.988 --> 00:55:27.068
<v Brent>I get so mad.

00:55:28.208 --> 00:55:29.968
<v Clips>I get so mad.

00:55:30.368 --> 00:55:31.948
<v Chris>Brent says, I think, the furthest off.

00:55:32.108 --> 00:55:33.188
<v Brent>I get so mad.

00:55:34.428 --> 00:55:36.028
<v Clips>I get so mad.

00:55:36.408 --> 00:55:38.888
<v Chris>Okay, here's Chris. I get so mad.

00:55:39.547 --> 00:55:42.207
<v Clips>I get so mad. I get so mad.

00:55:42.407 --> 00:55:43.187
<v Wes>I like that one.

00:55:43.267 --> 00:55:45.947
<v Chris>That's actually kind of fun. I like the little extra it added in there.

00:55:46.527 --> 00:55:49.247
<v Chris>So you can play around with it and get different results. And you probably weren't

00:55:49.247 --> 00:55:50.667
<v Chris>giving it like the most amazing sample.

00:55:50.847 --> 00:55:55.167
<v Wes>No. So this was literally, I just took, Editor Drew is kind enough to clip and

00:55:55.167 --> 00:55:57.707
<v Wes>save our predictions so that we have them to review for next year.

00:55:57.807 --> 00:55:57.967
<v Chris>Yeah.

00:55:58.127 --> 00:56:01.747
<v Wes>I took the smallest or shortest samples of those, one for each of us.

00:56:01.807 --> 00:56:05.447
<v Wes>So it's like 30 seconds or less of audio. And that's all it got is a sample.

00:56:05.787 --> 00:56:07.147
<v Brent>Literally a one sentence thing.

00:56:07.307 --> 00:56:09.207
<v Chris>Yeah. But pretty neat. and all

00:56:09.207 --> 00:56:13.607
<v Chris>on your laptop cpu right so that's pretty cool too just a little python.

00:56:13.607 --> 00:56:17.547
<v Wes>Yeah it has a ui you can do and then um it has an interface you just upload

00:56:17.547 --> 00:56:21.087
<v Wes>your sample wave you do probably want to um you know a few things like make

00:56:21.087 --> 00:56:24.107
<v Wes>it 16-bit depth and there's a few other things that are nice for these kinds

00:56:24.107 --> 00:56:28.467
<v Wes>of generative generative audio in particular but real easy upload in the ui

00:56:28.467 --> 00:56:32.427
<v Wes>has a text box to type in what you want then you hit generate and it'll stream it right back to you.

00:56:32.427 --> 00:56:35.827
<v Chris>Yeah you could yeah you could put anything right now and do it live and they

00:56:35.827 --> 00:56:39.007
<v Chris>can render it in the browser. That's a pretty good demo right there.

00:56:39.127 --> 00:56:40.127
<v Clips>It's small enough to fit in your pocket.

00:56:40.407 --> 00:56:42.487
<v Chris>There you go. Just played that live in the web page.

00:56:42.647 --> 00:56:44.987
<v Wes>Yeah, and it's got, of course, built-in ones that you can use.

00:56:45.107 --> 00:56:50.947
<v Wes>If you do want to do the voice cloning on your own, then you do need to have a Hugging Face account.

00:56:51.067 --> 00:56:53.887
<v Wes>They are open models, but you have to sign in and do a little agreement that

00:56:53.887 --> 00:56:58.327
<v Wes>says you're not going to abuse them or use it for whatever variety of nefarious things.

00:56:58.547 --> 00:56:58.867
<v Chris>Okay.

00:56:59.167 --> 00:57:03.287
<v Wes>But it's only like 250 meg download, and you're ready to do voice cloning.

00:57:03.527 --> 00:57:07.087
<v Chris>So good. So this next pick is for- Also.

00:57:07.207 --> 00:57:13.207
<v Wes>I just want to say, this opens the absurd possibility of having Chris or recording

00:57:13.207 --> 00:57:17.187
<v Wes>your own voice and then having it read your own audio books or reading audio books back for you.

00:57:18.607 --> 00:57:21.387
<v Brent>Chris would like his audio books read as Shatner.

00:57:21.607 --> 00:57:21.767
<v Chris>Okay.

00:57:21.767 --> 00:57:22.147
<v Brent>From now on.

00:57:22.287 --> 00:57:25.027
<v Chris>I thought, whoa, there you go. I would. But I thought of a scenario like,

00:57:25.167 --> 00:57:28.747
<v Chris>maybe if when my kids were young and I was traveling and I wanted to have some

00:57:28.747 --> 00:57:30.347
<v Chris>books for them that I was reading to them.

00:57:30.727 --> 00:57:31.287
<v Wes>Oh, yeah.

00:57:31.447 --> 00:57:34.207
<v Chris>I mean, is that weird? Maybe I might actually consider it if it was close.

00:57:34.687 --> 00:57:38.947
<v Chris>that could be kind of sweet we'll see or maybe it'd freak me out I'm not sure,

00:57:39.451 --> 00:57:43.111
<v Chris>All right, this next pick is for those of us that like to slap an Android tablet

00:57:43.111 --> 00:57:48.831
<v Chris>on the wall and make a Home Assistant dashboard or maybe a Frigate dashboard or whatever, Grafana.

00:57:48.971 --> 00:57:51.131
<v Chris>I don't know what you do. You got dashboards, dashboards for days.

00:57:51.431 --> 00:57:57.611
<v Chris>But the key of it is you just want this dedicated tablet that does nothing but show your dashboard.

00:57:58.031 --> 00:58:01.551
<v Chris>Maybe it has some settings for when the lights go out, it goes to sleep.

00:58:01.751 --> 00:58:06.831
<v Chris>It refreshes if the Wi-Fi goes out. And ideally, maybe you could even centrally

00:58:06.831 --> 00:58:10.511
<v Chris>manage some of the settings from like Home Assistant or an automation platform.

00:58:10.751 --> 00:58:13.691
<v Chris>And Fully Kiosk has served this role for many years.

00:58:13.851 --> 00:58:15.991
<v Chris>It's a great app. In fact, it's still a little better what I'm about to talk

00:58:15.991 --> 00:58:18.991
<v Chris>about, but it's commercial and it's not cheap. And when you start having five

00:58:18.991 --> 00:58:22.531
<v Chris>or six tablets over the years and you're paying like 30 bucks a tablet,

00:58:22.671 --> 00:58:24.551
<v Chris>you're like, is there a way to do this for free?

00:58:25.211 --> 00:58:29.691
<v Chris>Well, friends, let me tell you about WebView Kiosk. You can turn any Android

00:58:29.691 --> 00:58:33.551
<v Chris>device into a lockdown, full-page, full-screen kiosk.

00:58:33.791 --> 00:58:38.811
<v Chris>And yes, of course, it is open source. It's AGPL 3.0.

00:58:38.971 --> 00:58:44.231
<v Chris>So it's WebView kiosk, and you can get it directly from GitHub or FDroid or Google Play.

00:58:44.871 --> 00:58:47.951
<v Chris>And it works essentially like I just described.

00:58:48.051 --> 00:58:51.751
<v Chris>The way you do the remote management features is through MQTT,

00:58:52.051 --> 00:58:55.171
<v Chris>which I'm an MQTT pro now, so no problem for me.

00:58:55.351 --> 00:58:59.231
<v Chris>But once you hook up MQTT to this thing, you don't have to. But once you do,

00:58:59.571 --> 00:59:03.591
<v Chris>you can monitor events, you can update settings remotely, you can execute commands

00:59:03.591 --> 00:59:06.111
<v Chris>on the tablet, and of course you can build automations.

00:59:06.351 --> 00:59:10.911
<v Chris>So you do need a mosquito broker, like a mosquito or something like that. And it's really great.

00:59:11.511 --> 00:59:14.391
<v Chris>And it has all kinds of permissions, so you can access the camera feed if you

00:59:14.391 --> 00:59:17.211
<v Chris>want. You can make sure it's the foreground application.

00:59:17.551 --> 00:59:20.951
<v Chris>You could even have the, you could access the speakers and play audio on it.

00:59:21.211 --> 00:59:24.631
<v Chris>It's very feature complete. It's not, I would say it's not fully,

00:59:24.671 --> 00:59:25.931
<v Chris>it's not a fully kiosk killer.

00:59:28.042 --> 00:59:32.162
<v Chris>WebView-Kiosk, we'll have a link in the show notes, is a free way to get a lot of the functionality.

00:59:33.302 --> 00:59:37.762
<v Chris>And for me, I like to watch for Black Friday, and I try to snipe the cheapest,

00:59:38.142 --> 00:59:40.462
<v Chris>best 11-inch or so Android tablet I can get.

00:59:40.582 --> 00:59:44.482
<v Chris>And for a couple of years in a row, I've picked up like an $85 tablet that lasts

00:59:44.482 --> 00:59:48.382
<v Chris>me two, three years running a piece of software, formerly fully Kiosk,

00:59:48.442 --> 00:59:49.482
<v Chris>but probably this going forward.

00:59:49.942 --> 00:59:53.082
<v Chris>And this is how I am then in each different areas.

00:59:53.402 --> 00:59:58.402
<v Chris>I have dashboards for that area of the home. and this is how most of my interactions

00:59:58.402 --> 01:00:00.482
<v Chris>and my family's interactions with Home Assistant are.

01:00:00.962 --> 01:00:03.982
<v Wes>Yeah, and I mean, it seems I haven't tried it yet, but when I saw this floating

01:00:03.982 --> 01:00:05.182
<v Wes>around, I thought you might like it.

01:00:05.282 --> 01:00:05.622
<v Chris>Yeah, good for that.

01:00:05.622 --> 01:00:09.122
<v Wes>It's 100% Kotlin, so it's, I think, probably pretty snappy and new.

01:00:09.302 --> 01:00:12.102
<v Chris>And probably would work even on some of these slower, like Android Fire.

01:00:12.302 --> 01:00:17.242
<v Wes>Yeah, and it's AGPL 3.0. Pocket TTS is MIT, by the way.

01:00:17.382 --> 01:00:20.522
<v Chris>Yes. So we'll have links to that in the show notes.

01:00:20.682 --> 01:00:24.322
<v Chris>Now, what'd you say, show notes, Chris? Yes. In fact, things are copiously linked,

01:00:24.322 --> 01:00:30.202
<v Chris>including the hardware we talked about and all of that at linuxunplugged.com slash 650.

01:00:31.542 --> 01:00:36.602
<v Chris>Halfway to the big 700, so we'd love it if you found time to join us live and

01:00:36.602 --> 01:00:38.182
<v Chris>make it a Linux Tuesday on a Sunday.

01:00:38.382 --> 01:00:41.682
<v Chris>That's right, 10 a.m. Pacific, 1 p.m. Eastern over jblive.tv.

01:00:45.781 --> 01:00:50.061
<v Chris>And now for our members, we have a video version of the show in their feed.

01:00:50.061 --> 01:00:52.161
<v Chris>It is just part of the podcasting tutorial spec.

01:00:52.361 --> 01:00:55.881
<v Chris>So it is the same RSS feed. You don't have to resubscribe or change anything.

01:00:56.161 --> 01:00:59.781
<v Chris>If you have a podcasting tutorial app like Fountain or Podverse that supports

01:00:59.781 --> 01:01:02.181
<v Chris>video, you now have a video version of the show.

01:01:02.321 --> 01:01:04.901
<v Chris>And we're not going to mess up the audio version one little bit.

01:01:04.961 --> 01:01:06.161
<v Chris>It's still our top priority.

01:01:06.321 --> 01:01:10.281
<v Chris>It's just an option that's available for our members. Or you can catch it over at jblive.tv.

01:01:10.501 --> 01:01:13.461
<v Chris>You know, there's other things in that feed too, like extra data,

01:01:13.661 --> 01:01:14.821
<v Chris>say transcripts or whatnot.

01:01:14.981 --> 01:01:18.681
<v Wes>Wes. Oh, yeah, we got transcripts, diarizations, you know, who's saying what

01:01:18.681 --> 01:01:22.781
<v Wes>silly thing. We've also got cloud chapters, so you can go right to your favorite segment.

01:01:23.021 --> 01:01:26.401
<v Chris>Yeah, that's nice, too. All right, you know, you don't want to hear about the

01:01:26.401 --> 01:01:28.621
<v Chris>pick? That's fine. Actually, the picks are great. Those are bangers.

01:01:28.621 --> 01:01:30.941
<v Wes>Yeah, that's on you, but maybe jump right to the picks.

01:01:31.261 --> 01:01:31.581
<v Chris>Yeah.

01:01:32.341 --> 01:01:34.421
<v Wes>Who cares about our printer problems? Get to the picks.

01:01:35.541 --> 01:01:39.221
<v Chris>All right, thank you so much for tuning in this week's episode of Your Unplugged Program.

01:01:39.621 --> 01:01:42.321
<v Chris>This is a fun one to get out in the field and fix somebody's problems for the

01:01:42.321 --> 01:01:45.601
<v Chris>real, real like you know real world stuff even if it was the wife it was a good

01:01:45.601 --> 01:01:47.401
<v Chris>dip in the toe in the water yeah.

01:01:47.401 --> 01:01:48.241
<v Wes>She has high standards.

01:01:48.241 --> 01:01:52.381
<v Chris>And happy wife happy life that keeps the show going too like i said links over

01:01:52.381 --> 01:01:56.901
<v Chris>at linuxunplugged.com and then we got a bunch of great shows over at jupiterbroadcasting.com

01:01:56.901 --> 01:02:01.621
<v Chris>check out the launch with angela and myself and sometimes brent too the.

01:02:01.621 --> 01:02:03.221
<v Wes>Best way to check it out is to call.

01:02:03.221 --> 01:02:07.021
<v Chris>Yeah that's true weeklylaunch.rocks for that thank you so much for joining us

01:02:07.021 --> 01:02:10.901
<v Chris>on this week's program, and we'll see you right back here next Tuesday,

01:02:11.321 --> 01:02:13.701
<v Chris>which is really a Sunday.

