WEBVTT

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

00:00:16.193 --> 00:00:16.833
<v Wes>My name is Wes.

00:00:17.053 --> 00:00:17.953
<v Brent>And my name is Brent.

00:00:18.253 --> 00:00:22.093
<v Chris>Hello, gentlemen. Coming up on the show, today we're digging into the Linux

00:00:22.093 --> 00:00:26.533
<v Chris>news that's being shaped by delays and some interesting technical shifts that

00:00:26.533 --> 00:00:29.513
<v Chris>might actually matter more than they look at first. I'll tell you about that.

00:00:29.713 --> 00:00:33.073
<v Chris>Then there's a moment where the future actually showed up in Linux and everything

00:00:33.073 --> 00:00:34.533
<v Chris>worked. We'll share that story.

00:00:34.653 --> 00:00:37.453
<v Chris>And then we'll round it out with some great boosts, some picks,

00:00:37.633 --> 00:00:41.213
<v Chris>and a lot more. So before we go any further, let's say time-appropriate greetings

00:00:41.213 --> 00:00:44.213
<v Chris>to producer Jeff. Hey, PJ.

00:00:45.153 --> 00:00:45.473
<v Mumble>Hello.

00:00:46.313 --> 00:00:50.693
<v Chris>It's the big game day, as they say. So we have a few up there in the quiet listening

00:00:50.693 --> 00:00:52.093
<v Chris>up the hello, hello, hello, mumble room.

00:00:52.413 --> 00:00:58.953
<v Chris>And PJ is the sole member brave enough to set the nachos aside long enough to say hello on the show.

00:01:00.113 --> 00:01:02.953
<v Chris>So why don't you make it a Tuesday on a Sunday next week and join us in our

00:01:02.953 --> 00:01:07.113
<v Chris>mumble room. And let's have a nice, vital, big mumble room. You know what I mean?

00:01:07.433 --> 00:01:09.053
<v Wes>I mean, if you do, you get a whole extra show.

00:01:09.313 --> 00:01:14.273
<v Chris>Yeah. Round of applause to people. Dijil just showed up. Round of applause to you guys.

00:01:15.984 --> 00:01:20.064
<v Chris>And of course, a big good morning to our friends over at Defined Networking.

00:01:20.184 --> 00:01:25.624
<v Chris>Go to defined.net slash unplugged. This is where you want to go to get 100 machines

00:01:25.624 --> 00:01:29.504
<v Chris>absolutely free, no credit card required on the decentralized managed VPN.

00:01:29.744 --> 00:01:32.624
<v Chris>They manage it for you. It runs Nebula VPN.

00:01:32.944 --> 00:01:36.644
<v Chris>Unlike traditional VPNs, Nebula's decentralized design keeps your network resilient.

00:01:37.024 --> 00:01:41.024
<v Chris>You can manage a home lab with it. I have a Nebula network that's just two nodes.

00:01:41.544 --> 00:01:45.204
<v Chris>And you can have a Nebula network that has thousands of nodes.

00:01:45.204 --> 00:01:50.844
<v Chris>entire global infrastructures across data centers, carrier grade NAT, whatever it might be.

00:01:51.164 --> 00:01:55.264
<v Chris>It's extremely resilient. Saved my butt the other day. I was able to get it

00:01:55.264 --> 00:01:58.124
<v Chris>on the wife's machine and save a problem before she even knew it was going on.

00:01:58.424 --> 00:02:00.264
<v Chris>It's so nice. You could go from

00:02:00.264 --> 00:02:03.724
<v Chris>this teeny tiny lean infrastructure where there's no big tech company.

00:02:03.844 --> 00:02:07.884
<v Chris>You don't need any sign on from Google or whoever to use your mesh net.

00:02:08.184 --> 00:02:13.024
<v Chris>You can do these tiny setups or you can go to these massive slack size scale, right?

00:02:13.124 --> 00:02:16.384
<v Chris>And it's incredible. And if you want to try it out, you can start with Managed

00:02:16.384 --> 00:02:18.184
<v Chris>Nebula. You can use 100 devices for free.

00:02:18.344 --> 00:02:22.264
<v Chris>You can really get a sense of it. It's a great product. It's also a lot leaner on the system.

00:02:23.404 --> 00:02:26.504
<v Chris>Shows up in multiple ways, on the CPU and on the network.

00:02:26.644 --> 00:02:29.784
<v Chris>It's really great for that. And it's got best-in-class encryption,

00:02:29.784 --> 00:02:31.864
<v Chris>and it is fantastic because,

00:02:32.524 --> 00:02:35.704
<v Chris>you control the keys, you control the lighthouse, so the redundancy,

00:02:35.944 --> 00:02:39.724
<v Chris>the discoverability, all of it is under your control, or you let them run it

00:02:39.724 --> 00:02:41.864
<v Chris>over at define.net slash unplugged.

00:02:41.944 --> 00:02:44.784
<v Chris>Then if you wanted to move on, you could. You could self-host it too.

00:02:45.664 --> 00:02:48.584
<v Chris>They're really, really great product because it's the Snebula open sourcing,

00:02:48.684 --> 00:02:50.524
<v Chris>something that we've been following for years.

00:02:51.264 --> 00:02:56.284
<v Chris>Absolutely. I think maybe we started watching in late 2017, early 2018.

00:02:56.584 --> 00:03:00.324
<v Chris>And so we knew there was something there. Now to see it really take off,

00:03:00.424 --> 00:03:01.044
<v Chris>it's really impressive.

00:03:01.564 --> 00:03:05.684
<v Wes>I just noticed on February 6th, we got an updated Android app.

00:03:05.864 --> 00:03:07.784
<v Wes>So, you know, if you are using it, go check that out.

00:03:07.924 --> 00:03:11.284
<v Chris>Check it out. Go over to defined.net slash unplug, support the show,

00:03:11.504 --> 00:03:14.224
<v Chris>and check out Nebula. It is fantastic.

00:03:16.965 --> 00:03:22.365
<v Chris>Just around the corner, 25 days away, Planet Nix and Scale 23X.

00:03:22.685 --> 00:03:26.445
<v Chris>We're working with our buddies over at Phlox, who's focused on making reproducible

00:03:26.445 --> 00:03:28.045
<v Chris>dev environments actually usable.

00:03:28.225 --> 00:03:30.805
<v Chris>They're sending us once again to Planet Nix for the second year.

00:03:30.965 --> 00:03:32.825
<v Chris>They're throwing a hell of an event.

00:03:33.265 --> 00:03:36.465
<v Chris>It's looking good. Year two is looking really, really good.

00:03:36.865 --> 00:03:42.305
<v Chris>And Brent, you have 19 days until you're going to be absolutely slammed to get down the road.

00:03:42.445 --> 00:03:46.665
<v Chris>It's about a 46-hour drive for you, buddy, which is six days of hardcore driving.

00:03:46.665 --> 00:03:47.525
<v Chris>How are you feeling about that?

00:03:48.305 --> 00:03:51.665
<v Brent>I'm glad you've been doing the travel math on this one for me.

00:03:51.825 --> 00:03:54.165
<v Brent>I appreciate it. Yeah. That sounds daunting.

00:03:54.445 --> 00:03:54.785
<v Chris>Sure.

00:03:54.945 --> 00:03:58.645
<v Brent>I think is the main emotion that comes across. And also, holy,

00:03:58.725 --> 00:04:01.505
<v Brent>I probably should leave tomorrow, right? That's what I should do?

00:04:01.665 --> 00:04:04.445
<v Chris>Yeah, well, if you want to have a nice drive. Here's another way to put it in

00:04:04.445 --> 00:04:09.125
<v Chris>perspective. There will be three more unplugs until we are in Pasadena.

00:04:09.385 --> 00:04:12.365
<v Brent>That's frightening. I mean, wonderful. It's coming soon.

00:04:12.865 --> 00:04:15.085
<v Wes>Just keep that one in your head. I think it's easier to work with.

00:04:15.085 --> 00:04:18.385
<v Chris>Mm-hmm. Yep. Three more lumps. So there you go.

00:04:18.505 --> 00:04:23.125
<v Chris>Check out planetnix.com for the details and then go get registered at scale.

00:04:23.305 --> 00:04:24.425
<v Chris>That gets you to both events.

00:04:25.065 --> 00:04:28.905
<v Chris>We have a link in the show notes for scale at socialinuxexpo.org.

00:04:29.005 --> 00:04:34.705
<v Chris>And you can use our promo code unpludge, U-N-P-L-G, to get 40% off your registration. It's no joke.

00:04:35.025 --> 00:04:37.845
<v Chris>And I've updated the meetup page a little bit as well. We, I think,

00:04:37.905 --> 00:04:42.125
<v Chris>are locking in the yard house because the other two locations are no longer in business.

00:04:42.665 --> 00:04:49.225
<v Chris>I was informed by a local listener which I really appreciated it is but it's

00:04:49.225 --> 00:04:51.985
<v Chris>great we already have a good showing and if you are planning to be there at

00:04:51.985 --> 00:04:54.305
<v Chris>our meetup please go sign up so we can let the venue know oh.

00:04:54.305 --> 00:04:57.125
<v Wes>Great already 25 potential attendees join the crowd.

00:04:58.765 --> 00:05:03.005
<v Chris>Meetup.com slash jupiter broadcasting for that and we'd love it if you could

00:05:03.005 --> 00:05:06.985
<v Chris>be there even if you're not going to one of the events show up and say hi we

00:05:06.985 --> 00:05:11.505
<v Chris>like that so there you go that's all the housekeeping I have for you,

00:05:14.749 --> 00:05:17.789
<v Chris>So we wanted to get everybody on the same page with a couple of stories that

00:05:17.789 --> 00:05:20.249
<v Chris>have gone down, and the first one you may have already heard about,

00:05:21.443 --> 00:05:25.203
<v Chris>It's not too surprising. We just wanted you to be aware. Valve has updated their

00:05:25.203 --> 00:05:29.143
<v Chris>plans for their recently announced upcoming hardware lineup.

00:05:29.523 --> 00:05:33.263
<v Chris>All three products announced last November are now expected to ship in the first

00:05:33.263 --> 00:05:37.023
<v Chris>half of the year instead of in early 2026. So it's a bit of a delay here.

00:05:37.263 --> 00:05:40.983
<v Brent>In a Steam community post, Valve explained the lack of firm release dates.

00:05:41.403 --> 00:05:46.243
<v Brent>Basically, ongoing RAM and SSD shortages combined with the rising prices,

00:05:46.523 --> 00:05:50.743
<v Brent>making it hard to lock in final pricing and also launch timelines.

00:05:51.283 --> 00:05:52.603
<v Chris>That's not too surprising, is it?

00:05:52.803 --> 00:05:56.483
<v Wes>No. Okay, but what are we talking about concretely? Well, it's the Steam machine,

00:05:56.743 --> 00:06:01.543
<v Wes>the Steam Frame VR headset, and that new Steam controller.

00:06:02.183 --> 00:06:05.163
<v Wes>In their statement, they did say this in a very Valve way, I thought.

00:06:05.163 --> 00:06:10.503
<v Wes>They have more, quote, work to do to land on concrete pricing and launch dates.

00:06:10.723 --> 00:06:11.723
<v Chris>It's like they don't even know.

00:06:11.823 --> 00:06:14.903
<v Wes>No, and are still kind of figuring that out internally. I mean,

00:06:14.983 --> 00:06:18.283
<v Wes>but they did then secondly emphasize, especially given how quickly hardware

00:06:18.283 --> 00:06:19.823
<v Wes>market conditions are changing right now.

00:06:19.823 --> 00:06:25.463
<v Chris>I think some of us maybe were lingering on to this hope that they had maybe bought a pre-stock.

00:06:26.083 --> 00:06:29.983
<v Wes>Which things were already rolling and done and you were just going to ship them. Yeah.

00:06:30.203 --> 00:06:34.283
<v Chris>And then we recently saw these rumors floated that there was a possible bare

00:06:34.283 --> 00:06:37.363
<v Chris>bones steam machine with no RAM or storage that they might ship.

00:06:38.543 --> 00:06:43.443
<v Chris>And they didn't seem to really give much life to that rumor in this press release

00:06:43.443 --> 00:06:46.543
<v Chris>and in the questions that they took. Do you think that would be a product?

00:06:46.883 --> 00:06:50.883
<v Wes>I mean, it might be for our crowd. I don't know. It doesn't seem like it competes

00:06:50.883 --> 00:06:52.603
<v Wes>as much in the console market.

00:06:52.763 --> 00:06:52.943
<v Chris>For sure.

00:06:53.103 --> 00:06:53.463
<v Brent>Yeah.

00:06:54.343 --> 00:06:59.083
<v Chris>I think in normal market conditions, a bare-bones steam machine would be the one I would want.

00:07:00.263 --> 00:07:03.283
<v Chris>But I can't buy RAM or storage any cheaper than Valve can.

00:07:03.923 --> 00:07:04.283
<v Brent>Exactly.

00:07:04.603 --> 00:07:07.703
<v Chris>So yeah, it's like if I have it, yeah, then I would like a bare-bones machine.

00:07:07.943 --> 00:07:10.803
<v Chris>I'm curious that if you're listening to this and you could boost and let me

00:07:10.803 --> 00:07:13.063
<v Chris>know if you would buy a bare-bones steam machine if they offered it.

00:07:13.743 --> 00:07:16.403
<v Chris>And they might be able to ship that sooner would be the advantage.

00:07:16.403 --> 00:07:20.443
<v Chris>So if you had the money to spend and you could buy your own storage and your own RAM,

00:07:21.528 --> 00:07:23.708
<v Chris>And you could get your hands on this a couple of months before others.

00:07:23.928 --> 00:07:28.688
<v Brent>One of the questions I have is like, how long can they wait for prices to stabilize

00:07:28.688 --> 00:07:34.688
<v Brent>or to secure hardware before the product just gets older and older and less worth releasing?

00:07:35.248 --> 00:07:38.068
<v Wes>Why is it two grand for a three-year-old product?

00:07:38.188 --> 00:07:41.008
<v Chris>You're right. Yeah, that's tricky. Maybe they know something we don't know.

00:07:41.268 --> 00:07:45.048
<v Chris>Maybe they know some other vendors about to come online and start manufacturing RAM.

00:07:46.261 --> 00:07:49.481
<v Chris>I don't know. But that's a good point. If they wait too long,

00:07:49.861 --> 00:07:52.041
<v Chris>they're not going to be super competitive machines.

00:07:52.461 --> 00:07:52.821
<v Brent>Yeah.

00:07:53.281 --> 00:07:57.381
<v Chris>Huh. Yeah. Yeah, I'm not sure. I guess what we do know is that it's going to

00:07:57.381 --> 00:07:59.121
<v Chris>be later than they originally suggested.

00:07:59.661 --> 00:08:04.501
<v Wes>But they're still, for now, promising first half. So what, by June, July?

00:08:05.101 --> 00:08:06.321
<v Chris>That's what I would take it to mean.

00:08:07.241 --> 00:08:08.701
<v Brent>Assuming they don't change that again.

00:08:09.041 --> 00:08:11.561
<v Wes>Right. Do we think it even ships in this year?

00:08:12.561 --> 00:08:14.781
<v Brent>Jeff, how are you feeling about this? Were you going to buy one of these?

00:08:15.741 --> 00:08:18.961
<v Mumble>Yeah i'm a little sad i really really really want a frame.

00:08:18.961 --> 00:08:25.161
<v Chris>Yes yes me too that's the thing for me is the frame i'm surprised the controller's

00:08:25.161 --> 00:08:28.361
<v Chris>delayed that's interesting maybe maybe there's memory on the controller it's.

00:08:28.361 --> 00:08:29.301
<v Brent>All that ram in the controller.

00:08:29.301 --> 00:08:34.301
<v Chris>You feel for valve because when they announced this it was maybe the writing

00:08:34.301 --> 00:08:37.821
<v Chris>was on the wall at that point but it wasn't obvious where this was all going

00:08:37.821 --> 00:08:39.101
<v Chris>price-wise certainly wasn't.

00:08:39.101 --> 00:08:39.801
<v Wes>Where we are now.

00:08:39.801 --> 00:08:43.181
<v Chris>And now here we are and it's like you feel for don't you i.

00:08:43.181 --> 00:08:47.961
<v Mumble>Think if they can get through the covid stuff with the steam deck i'm pretty

00:08:47.961 --> 00:08:51.241
<v Mumble>sure they're going to get through this too they'll find some way it won't be

00:08:51.241 --> 00:08:56.481
<v Mumble>as much as we hope you know i don't think they're going to do any better than

00:08:56.481 --> 00:08:57.381
<v Mumble>they did with the steam deck.

00:08:57.381 --> 00:09:00.301
<v Chris>That's true though that was challenging got it out yeah and they.

00:09:00.301 --> 00:09:03.561
<v Wes>Are very smart you know they have a lot of smart people working there that's.

00:09:03.561 --> 00:09:06.941
<v Chris>A good point all right pj you're making me feel better i like that all right

00:09:06.941 --> 00:09:10.561
<v Chris>here's another story that may suggest an interesting shift virtual

00:09:10.561 --> 00:09:13.481
<v Chris>box is finally learning to ride on

00:09:13.481 --> 00:09:16.281
<v Chris>top of kvm some code changes are landing

00:09:16.281 --> 00:09:19.661
<v Chris>in virtual box that could have big implications long

00:09:19.661 --> 00:09:24.761
<v Chris>term for how people use it it's just being tested now they're beginning to support

00:09:24.761 --> 00:09:30.481
<v Chris>native kvm virtualization backend for the virtual box application that's crazy

00:09:30.481 --> 00:09:33.981
<v Chris>i know it's a long-standing ask from the linux users out there who just want

00:09:33.981 --> 00:09:36.841
<v Chris>no i don't want a little kernel module. I totally get that.

00:09:37.261 --> 00:09:40.061
<v Chris>Very early, very opt-in, hard to get. We'll get more into that.

00:09:40.903 --> 00:09:46.863
<v Chris>But this does seem to be a trend that we just keep seeing is that hypervisors

00:09:46.863 --> 00:09:51.043
<v Chris>over time are just adopting Linux's native virtualization stack and just saying,

00:09:51.243 --> 00:09:53.543
<v Chris>ah, fuck, you can just screw it. You can just use that.

00:09:53.923 --> 00:09:57.423
<v Chris>I mean, VMware did a similar thing. I just think that's fascinating.

00:09:57.703 --> 00:10:00.503
<v Brent>I mean, this is one of the main reasons I moved away from VirtualBox.

00:10:00.643 --> 00:10:06.463
<v Brent>It was the first virtualization software that I used way back when I was stuck

00:10:06.463 --> 00:10:08.823
<v Brent>on, let's just say, other operating systems.

00:10:09.463 --> 00:10:12.363
<v Brent>um but then once i discovered like why there's

00:10:12.363 --> 00:10:15.183
<v Brent>all these kernel modules and stuff that was the reason

00:10:15.183 --> 00:10:18.363
<v Brent>for me to move away from it so i would assume for other linux

00:10:18.363 --> 00:10:21.503
<v Brent>users this is about reducing kernel friction so less

00:10:21.503 --> 00:10:24.663
<v Brent>reliance on those proprietary kernel drivers

00:10:24.663 --> 00:10:27.923
<v Brent>that you have to load and sometimes break better compatibility

00:10:27.923 --> 00:10:31.063
<v Brent>with hardened kernels secure boot and distro

00:10:31.063 --> 00:10:35.923
<v Brent>updates right right that is a good point would be a great point and i think

00:10:35.923 --> 00:10:40.543
<v Brent>from a privacy and freedom angle basically kvm is part of the kernel so it's

00:10:40.543 --> 00:10:45.343
<v Brent>audited it's upstream transparent and running virtual box on kvm shifts that

00:10:45.343 --> 00:10:50.283
<v Brent>trust towards the kernel rather than vendor specific modules what.

00:10:50.283 --> 00:10:51.603
<v Wes>Brent you don't trust oracle.

00:10:51.603 --> 00:10:57.483
<v Brent>Well let's just say i have less reasons to trust oracle than i do the kernel fair.

00:10:57.483 --> 00:10:58.303
<v Chris>Yeah good point.

00:10:59.435 --> 00:11:03.555
<v Brent>So they're pretty much Oracle's positioning this as a fallback,

00:11:03.575 --> 00:11:06.455
<v Brent>so not the preferred path for VirtualBox.

00:11:06.715 --> 00:11:10.415
<v Brent>So the messaging still centers Oracle's hypervisor as the, quote,

00:11:11.035 --> 00:11:13.715
<v Brent>better choice, especially for legacy workloads.

00:11:14.035 --> 00:11:16.835
<v Chris>Yeah, isn't that interesting? Like, I mean, I guess I get it.

00:11:16.915 --> 00:11:19.515
<v Chris>They're very proud of what they've done, and they've specialized it over the

00:11:19.515 --> 00:11:20.835
<v Chris>years to address their users.

00:11:21.015 --> 00:11:23.915
<v Wes>They're not just chucking the old one on the ground, throwing it behind the bag.

00:11:23.915 --> 00:11:28.335
<v Chris>But it's not often where somebody submits an upstream patch so that way their

00:11:28.335 --> 00:11:31.395
<v Chris>software can take advantage of something in the kernel and then includes like

00:11:31.395 --> 00:11:34.495
<v Chris>a five bullet point. But this is why ours is better, right?

00:11:34.875 --> 00:11:38.215
<v Chris>Did anything in there stand out to you that was reasonable? I mean, there must be some.

00:11:38.435 --> 00:11:41.855
<v Wes>Yeah, a lot of it is like legacy and exotic guests, right?

00:11:41.855 --> 00:11:46.595
<v Wes>So if you think about KVM, when it came of age, which was after VirtualBox,

00:11:46.735 --> 00:11:50.835
<v Wes>and it's been very Linux native, and it's been used a lot by hyperscalers to

00:11:50.835 --> 00:11:54.635
<v Wes>run cloud businesses, running a lot of Linux guests,

00:11:55.135 --> 00:11:57.715
<v Wes>whereas VirtualBox can run a whole bunch of stuff.

00:11:57.855 --> 00:12:01.515
<v Wes>It's got accurate A20 gate emulation, which is important for some DOS stuff.

00:12:01.635 --> 00:12:05.315
<v Wes>It's got advanced instruction emulation, ring zero device emulation tricks,

00:12:05.515 --> 00:12:07.815
<v Wes>aggressive VM exit optimizations.

00:12:08.455 --> 00:12:12.135
<v Wes>For modern guests, you really don't notice a ton of difference for most situations.

00:12:12.135 --> 00:12:17.495
<v Wes>But if you do have some particular legacy workloads, you might find some areas

00:12:17.495 --> 00:12:19.275
<v Wes>where the old driver would be better.

00:12:20.055 --> 00:12:23.855
<v Wes>I still think even partial KVM support is, you know, a win for us.

00:12:23.955 --> 00:12:25.655
<v Wes>It is, as you said, hard to get.

00:12:25.775 --> 00:12:29.215
<v Wes>It's in the latest VirtualBox Git and Test Builds, Linux only for now.

00:12:29.335 --> 00:12:30.195
<v Wes>So you can't, you know, obviously.

00:12:30.495 --> 00:12:33.175
<v Wes>So you have to go build it yourself.

00:12:33.355 --> 00:12:34.335
<v Chris>Okay. All right.

00:12:34.335 --> 00:12:38.135
<v Wes>Or I'd be comfortable with getting one of those test builds from somewhere else.

00:12:38.475 --> 00:12:42.015
<v Wes>You can opt into it explicitly if you want, or as Brent was saying,

00:12:42.275 --> 00:12:46.835
<v Wes>I think probably what is probably an upgrade for folks and end users who maybe

00:12:46.835 --> 00:12:50.235
<v Wes>don't know what a kernel module is, is this could be a easy fallback,

00:12:50.315 --> 00:12:52.455
<v Wes>right? So it could try to run with the virtual box stuff.

00:12:53.385 --> 00:12:57.805
<v Wes>Sees KVM's already loaded, kernel conflict, just go use KVM.

00:12:57.905 --> 00:13:01.085
<v Wes>Maybe you won't have all the features. Maybe it won't be quite the same, but it'll work.

00:13:01.125 --> 00:13:02.725
<v Chris>That's going to be the main use case initially for this.

00:13:02.725 --> 00:13:04.785
<v Wes>Probably would. I think it's going to convince them to do it, right?

00:13:04.805 --> 00:13:10.385
<v Chris>Yeah, yeah. I wonder if long-term, if there isn't some potential for VirtualBox

00:13:10.385 --> 00:13:15.785
<v Chris>to essentially become one of the recommended user space VM managers for KVM.

00:13:16.345 --> 00:13:19.945
<v Chris>That was my first thought is, oh, it would be a nice way to manage a bunch of

00:13:19.945 --> 00:13:23.345
<v Chris>KVM systems, especially if I could remote connect from my desktop,

00:13:23.505 --> 00:13:28.645
<v Chris>if I could have the VirtualBox VM management UI on my desktop and then I connect

00:13:28.645 --> 00:13:33.925
<v Chris>to my KVM server and I could manage all my virtual machines at KVM with the VirtualBox UI, I mean,

00:13:34.105 --> 00:13:36.405
<v Chris>I think I would at least give that a try.

00:13:36.625 --> 00:13:40.345
<v Wes>It has been, right? Like it is in some of the best ways of open source,

00:13:40.445 --> 00:13:42.845
<v Wes>even with its own licensing complications in Oracle and all the rest,

00:13:42.985 --> 00:13:44.545
<v Wes>like it's been around for a long time.

00:13:44.725 --> 00:13:48.425
<v Wes>It was early at having a good, consistent cross-platform experience.

00:13:48.585 --> 00:13:52.025
<v Wes>It's just this like very available if you need virtualization software.

00:13:52.225 --> 00:13:54.785
<v Wes>And that has a lot of utility, especially now if it can kind of adapt.

00:13:55.225 --> 00:13:59.945
<v Wes>I do also think you kind of hit on the Linux side trend of folks using more

00:13:59.945 --> 00:14:02.005
<v Wes>of this existing in-kernel infrastructure.

00:14:02.225 --> 00:14:05.285
<v Wes>And I think that's a trend that is beyond Linux, right?

00:14:05.365 --> 00:14:10.225
<v Wes>Like you've seen Apple offer a lot more robust virtualization primitives in their system.

00:14:10.405 --> 00:14:13.265
<v Chris>Right, they provide the plumbing and then you write to the API, essentially.

00:14:13.425 --> 00:14:16.325
<v Wes>And same on the Microsoft stack, right? You got Hyper-V side,

00:14:16.425 --> 00:14:17.525
<v Wes>you've got the WSL stuff.

00:14:17.685 --> 00:14:20.365
<v Wes>There's just a lot more primitives that you can do. There are still products,

00:14:20.505 --> 00:14:23.245
<v Wes>especially Microsoft, but like there are still products built on it,

00:14:23.305 --> 00:14:26.045
<v Wes>but you get a lot more of that base infrastructure that you can plumb yourself.

00:14:26.485 --> 00:14:28.865
<v Chris>And it makes sense, right? They're in control of the kernel and all of that.

00:14:29.873 --> 00:14:33.673
<v Brent>We've made and heard some wild theories in the past of Microsoft,

00:14:34.033 --> 00:14:37.393
<v Brent>maybe Windows is just going to take this approach and become Linux under the

00:14:37.393 --> 00:14:38.873
<v Brent>hood with a nice, fancy interface.

00:14:39.173 --> 00:14:43.093
<v Brent>So my big question becomes, do all roads lead to Linux?

00:14:43.753 --> 00:14:45.053
<v Chris>Yeah, it seems like it.

00:14:46.333 --> 00:14:47.693
<v Brent>That's what it seems like here.

00:14:47.833 --> 00:14:51.673
<v Chris>Here we are, right? I've been talking about Linux for 20 years.

00:14:51.833 --> 00:14:56.693
<v Chris>And can you believe it's still relevant after 20 years? And it's more relevant than ever?

00:14:56.713 --> 00:14:57.253
<v Wes>It's more relevant.

00:14:57.333 --> 00:15:00.353
<v Chris>Yeah. There's not a lot of technology like that.

00:15:00.613 --> 00:15:05.373
<v Chris>And it is this trend of all things just kind of moving to the kernel.

00:15:05.673 --> 00:15:07.933
<v Chris>And they stop their own way of doing things.

00:15:08.373 --> 00:15:11.193
<v Chris>Now, VirtualBox is going to keep going for a while with their own modules, to be clear.

00:15:11.333 --> 00:15:15.573
<v Wes>Did you see this week's unrelated, but that someone proposed like a machine

00:15:15.573 --> 00:15:19.453
<v Wes>learning framework offload for the kernel? So it really is everything in the kernel.

00:15:19.533 --> 00:15:24.813
<v Chris>Whatever you want. Right? Use eBPF. I don't care. Well, speaking of things in

00:15:24.813 --> 00:15:29.753
<v Chris>the kernel and sometimes outside the kernel, let's talk about BcacheFS,

00:15:30.073 --> 00:15:33.833
<v Chris>big update in just the last couple of days over there.

00:15:33.973 --> 00:15:38.193
<v Chris>And I have one particular feature that I am very excited about.

00:15:39.536 --> 00:15:43.916
<v Chris>I'll hold that because I'm going to let you take the stage for a moment on this Bcache update.

00:15:44.216 --> 00:15:48.716
<v Wes>Yeah, so this is on the heels. We had 1.36 back in the end of January.

00:15:48.796 --> 00:15:50.536
<v Wes>That had a lot of internal stuff.

00:15:50.956 --> 00:15:56.396
<v Wes>This time we get a little bit of user-facing stuff with the new BcacheFSFS timestats

00:15:56.396 --> 00:16:00.376
<v Wes>command. It's an interactive TUI for monitoring various file system internals,

00:16:00.516 --> 00:16:04.756
<v Wes>slow paths, and device performance, duration, frequency tracking for various events.

00:16:04.876 --> 00:16:05.296
<v Brent>Wow.

00:16:05.496 --> 00:16:07.536
<v Wes>Helpful for diagnosing performance issues.

00:16:07.536 --> 00:16:11.896
<v Chris>Brent, did you catch the part in there that I'm excited about? Did you catch that?

00:16:11.896 --> 00:16:15.896
<v Brent>Uh-huh. I think the light bulb turned on for me, too. A little TUI to do this stuff.

00:16:15.896 --> 00:16:16.716
<v Chris>This is great.

00:16:16.916 --> 00:16:18.596
<v Brent>It's good for the people like you and I.

00:16:18.676 --> 00:16:22.996
<v Chris>A file system repair tool with a TUI? Are you kidding me? To look at some of

00:16:22.996 --> 00:16:25.456
<v Chris>the internals and device performance and what's going on?

00:16:25.956 --> 00:16:27.996
<v Chris>That is so up my alley.

00:16:28.376 --> 00:16:33.496
<v Wes>There's also some other improvements around in the output, like improved BKeshFS

00:16:33.496 --> 00:16:35.036
<v Wes>reconcile status output.

00:16:35.036 --> 00:16:40.856
<v Wes>I saw on Reddit just some users in Kent chatting about, in general,

00:16:40.936 --> 00:16:44.176
<v Wes>some of the interface and the outputs, because there's kind of an array of,

00:16:44.216 --> 00:16:46.716
<v Wes>there's some up-to-date stuff, there's some older stuff, so there may be one

00:16:46.716 --> 00:16:48.476
<v Wes>area of porcelain that gets some more attention.

00:16:48.896 --> 00:16:53.156
<v Wes>But something we know is getting more attention is that in the release announcement,

00:16:53.356 --> 00:16:57.236
<v Wes>Kent said 136.1 is out, which we were just talking about.

00:16:57.676 --> 00:17:00.056
<v Wes>The next release will be Erasure Coding.

00:17:00.396 --> 00:17:01.396
<v Chris>Yeah, so tell me about this.

00:17:01.516 --> 00:17:04.836
<v Wes>So that would be the Parity Raid kind of style stuff, right?

00:17:04.836 --> 00:17:11.016
<v Wes>We made 5.6 in the Bcash of S world coming for Bcash of S, or in the Butterfest

00:17:11.016 --> 00:17:12.056
<v Wes>world coming for Bcash of S.

00:17:12.941 --> 00:17:13.861
<v Brent>That's massive.

00:17:14.061 --> 00:17:14.161
<v Chris>Yeah.

00:17:14.661 --> 00:17:19.001
<v Wes>And a lot of the base stuff has been there, but all the user side stuff,

00:17:19.161 --> 00:17:23.181
<v Wes>and especially like you can make these file systems if you do experimental things

00:17:23.181 --> 00:17:26.541
<v Wes>or enable flags, but there hasn't been a lot of tooling support for actually

00:17:26.541 --> 00:17:27.961
<v Wes>doing anything if a disk dies.

00:17:28.301 --> 00:17:31.661
<v Wes>So you could test it and use it, but you don't want to run a prod system on it.

00:17:32.761 --> 00:17:37.341
<v Wes>And the last little BcacheFS bit for today is, it's not all good things.

00:17:37.401 --> 00:17:39.501
<v Wes>It is still an experimental developing file system.

00:17:39.621 --> 00:17:40.641
<v Chris>A little bit of a PSA here.

00:17:40.781 --> 00:17:44.281
<v Wes>Indeed. 19 hours ago on rbcachefs early

00:17:44.281 --> 00:17:47.461
<v Wes>reconcile had a serious bug in the data update path

00:17:47.461 --> 00:17:51.921
<v Wes>if an extent lives on devices that are all being evacuated while being evacuated

00:17:51.921 --> 00:17:55.341
<v Wes>they're considered to have durability zero and the old code for reconciling

00:17:55.341 --> 00:18:00.081
<v Wes>the existing extent with what the data update path wrote would drop those replicas

00:18:00.081 --> 00:18:04.861
<v Wes>too soon okay so if you're on 1.33 through 1.35.

00:18:04.861 --> 00:18:06.241
<v Chris>You need to upgrade you.

00:18:06.241 --> 00:18:06.761
<v Wes>Need to upgrade,

00:18:09.252 --> 00:18:12.452
<v Wes>Good news is the new code is much more rigorous with how it decides when to

00:18:12.452 --> 00:18:16.952
<v Wes>drop replicas. And so far, only like a handful of people have been hit by it.

00:18:17.152 --> 00:18:20.232
<v Wes>As usual, I have seen Kent doing a lot of on-the-ground support,

00:18:20.232 --> 00:18:22.012
<v Wes>both in the IRC and on the subreddit.

00:18:22.132 --> 00:18:26.872
<v Wes>So if you do have file system issues for your sake and for everyone else's sake

00:18:26.872 --> 00:18:29.452
<v Wes>as this thing gets developed, don't be afraid to reach out.

00:18:29.632 --> 00:18:34.512
<v Chris>Yeah, he's very engaged. I just realized, I told the story to the members recently,

00:18:34.672 --> 00:18:40.332
<v Chris>but I'm just around the two-year mark of BcacheFS on one of my absolute most

00:18:40.332 --> 00:18:42.732
<v Chris>important production systems, runs 24-7,

00:18:42.932 --> 00:18:46.412
<v Chris>and it's been using BcacheFS for its critical data drive.

00:18:46.752 --> 00:18:52.292
<v Chris>And I do that not necessarily saying that you should and not necessarily recommending

00:18:52.292 --> 00:18:55.892
<v Chris>it, but so that way I can be kind of on the front line and report to you how it's going.

00:18:55.892 --> 00:18:59.492
<v Chris>And so if we're five years down the road and I'm talking about Bcash FS,

00:18:59.772 --> 00:19:02.072
<v Chris>you know, I've been using it for five, six years at that point.

00:19:02.192 --> 00:19:06.612
<v Chris>Right. So I think there's some credibility in actually deploying it and testing

00:19:06.612 --> 00:19:09.152
<v Chris>it with data that is literally putting my money where my mouth is.

00:19:09.252 --> 00:19:12.252
<v Chris>But I don't know if everybody should do that yet, but I'm very impressed because

00:19:12.252 --> 00:19:14.692
<v Chris>two years ago it was in a much different state than it is now.

00:19:14.812 --> 00:19:16.172
<v Chris>And now it doesn't feel risky at all.

00:19:16.172 --> 00:19:18.592
<v Wes>Yeah, definitely. And a lot of improvements, right? And we're still getting

00:19:18.592 --> 00:19:22.592
<v Wes>some really nice, like, being able to do more upgrades in the background or

00:19:22.592 --> 00:19:25.672
<v Wes>without, you know, not having to have the drive offline to do them.

00:19:26.472 --> 00:19:29.152
<v Wes>It's now a very robust file system in a lot of ways, which is great.

00:19:29.352 --> 00:19:32.812
<v Chris>I mean, I, again, don't do as I do, but I'm at the point where if I can,

00:19:33.032 --> 00:19:36.792
<v Chris>I'm going to make it my default file system on every root install for workstations

00:19:36.792 --> 00:19:39.552
<v Chris>and laptops going forward. You already have been doing that.

00:19:40.072 --> 00:19:42.152
<v Chris>You've been running it for a long time on that laptop.

00:19:42.152 --> 00:19:45.392
<v Wes>Yeah, I think it's summer 2024.

00:19:46.632 --> 00:19:50.692
<v Chris>Wow. And you've just been going through the kernel upgrades kind of regularly and just...

00:19:51.382 --> 00:19:55.822
<v Wes>And then I've also got it running on my home router box at the moment.

00:19:56.062 --> 00:19:57.182
<v Wes>I don't have any RAID systems.

00:19:57.582 --> 00:20:00.942
<v Wes>So I do want to set that. I mean, I've dabbled with some, but no permanent ones.

00:20:01.082 --> 00:20:03.402
<v Chris>I don't know. The router one tickles me the most, right, Brent?

00:20:03.602 --> 00:20:04.362
<v Chris>It's like, that's the one.

00:20:04.362 --> 00:20:05.162
<v Brent>Because, like, why?

00:20:05.302 --> 00:20:07.622
<v Chris>Yeah. You can do extended four on a router.

00:20:07.842 --> 00:20:09.182
<v Brent>You can do anything on a router.

00:20:11.702 --> 00:20:14.362
<v Wes>That was actually one of the first ones I built, I think. I think I was just...

00:20:14.362 --> 00:20:14.962
<v Chris>Oh, yeah, why not?

00:20:14.962 --> 00:20:16.502
<v Wes>I was, like, redoing the system.

00:20:16.662 --> 00:20:16.802
<v Chris>Yeah.

00:20:16.942 --> 00:20:21.242
<v Wes>It was there. And there was... That did buy me one time, I will admit.

00:20:21.382 --> 00:20:25.802
<v Wes>with what wasn't a byte. It was just, it had been an old enough file system

00:20:25.802 --> 00:20:28.382
<v Wes>that I had to go through some of those on-disk upgrades.

00:20:28.862 --> 00:20:33.262
<v Wes>So I did have to do one update where my network was offline for like 20 minutes while it did that.

00:20:33.442 --> 00:20:37.942
<v Chris>I want to ask right now, if you're listening, what is your router file system of choice?

00:20:37.962 --> 00:20:40.902
<v Chris>If you're building a router or a system like that, boost in or send us an email.

00:20:41.042 --> 00:20:43.102
<v Chris>What is your router file system of choice? Let us know.

00:20:43.602 --> 00:20:47.282
<v Chris>Yeah, I have ridden the file system way for a long time. So I think that's kind

00:20:47.282 --> 00:20:49.982
<v Chris>of one of the reasons why I'm a little bit more comfortable using BcacheFS.

00:20:50.682 --> 00:20:54.482
<v Chris>I switched to SUSE back in the day because they supported Riser FS.

00:20:55.182 --> 00:20:59.122
<v Chris>And I needed extended attributes for Samba shares. And I needed support for

00:20:59.122 --> 00:21:02.262
<v Chris>a lot of little files because I was doing images of checks, JPEGs.

00:21:02.722 --> 00:21:05.402
<v Chris>And so I went with Riser FS way back in the day.

00:21:05.682 --> 00:21:11.162
<v Chris>And then when ButterFS came around, I adopted it and got so burned early on.

00:21:11.302 --> 00:21:15.202
<v Chris>Some of the early Linux unplugs are me ranting about losing my machine to ButterFS.

00:21:15.562 --> 00:21:16.062
<v Wes>Yep.

00:21:16.702 --> 00:21:20.722
<v Chris>And now I have it everywhere. And I'm starting to do that again with BcashFS.

00:21:21.262 --> 00:21:25.022
<v Chris>And then I have a lot of my scary raids around, which you guys remember my scary raid, right?

00:21:25.762 --> 00:21:27.042
<v Brent>Oh, yeah. How could you forget?

00:21:27.282 --> 00:21:29.742
<v Chris>Which is my, it's a raid zero of just a bunch of spinning rust.

00:21:29.902 --> 00:21:31.362
<v Wes>Well, you forget everything if it disfails.

00:21:31.802 --> 00:21:36.702
<v Chris>That's true. And I have a scary raid here in the studio on the studio machine.

00:21:36.702 --> 00:21:38.782
<v Chris>And I have a scary raid on my workstation upstairs.

00:21:39.302 --> 00:21:44.262
<v Chris>And I name it slash scary raid. So I always remind myself this could blow up at any time.

00:21:44.762 --> 00:21:48.902
<v Chris>Anything you put here is ephemeral. And so that's my little mental trick is scary raid.

00:21:49.322 --> 00:21:55.802
<v Chris>And that right now on all my systems, all my scary raids are XFS.

00:21:57.002 --> 00:21:57.502
<v Brent>Wow.

00:21:57.782 --> 00:22:02.122
<v Chris>Yeah. All my Scary Raids are XFS. And I don't know, I just, it's legacy because

00:22:02.122 --> 00:22:06.702
<v Chris>they've been around for years because I reload the boxes and then I just remount the Scary Raid.

00:22:07.062 --> 00:22:09.362
<v Chris>You know, because I've always got the Scary Raid. It's just sitting right there.

00:22:10.002 --> 00:22:13.362
<v Wes>So are you going to upgrade that to a BcacheFS Scary Raid?

00:22:13.422 --> 00:22:16.562
<v Chris>Well, this is what I'm thinking, is the next generation.

00:22:16.662 --> 00:22:21.702
<v Chris>The next generation of a Scary Raid would be like a bunch of used SSDs that

00:22:21.702 --> 00:22:25.542
<v Chris>I just slam into one big volume and use BcacheFS for that.

00:22:25.542 --> 00:22:28.342
<v Wes>I should say that was the other factor on the router box is it's pretty much

00:22:28.342 --> 00:22:31.542
<v Wes>just a NixOS config in Git, so there wasn't a lot of data on there.

00:22:31.842 --> 00:22:34.322
<v Chris>Yeah, yeah, yeah, yeah, yeah. I think if I were to, you know,

00:22:34.402 --> 00:22:36.642
<v Chris>because all my scary raids are identical disks.

00:22:36.782 --> 00:22:41.042
<v Chris>And if I were to do a mix of drive size and just sort of mush all that together,

00:22:41.282 --> 00:22:45.342
<v Chris>I think I would call that messy raid. That would be a messy raid.

00:22:48.746 --> 00:22:51.446
<v Chris>Well, I just want to take a moment and thank our members. We don't have an advertiser

00:22:51.446 --> 00:22:55.706
<v Chris>for this spot yet, although we do have the world's best Linux audience,

00:22:55.866 --> 00:22:57.186
<v Chris>the world's largest Linux audience.

00:22:57.346 --> 00:23:00.866
<v Chris>We've been around for over 12 years doing this show. I've been doing podcasting for 20 years.

00:23:01.006 --> 00:23:04.426
<v Chris>So if you would like to reach one of the best audiences with somebody that knows

00:23:04.426 --> 00:23:07.686
<v Chris>how to do podcast ads, send me an email at chris at jupiterbroadcasting.com.

00:23:07.926 --> 00:23:12.526
<v Chris>In the meantime, thank you, members, jupiterbroadcasting.com slash membership.

00:23:12.906 --> 00:23:15.886
<v Chris>I don't know. I know you can get the Linux unplugged. Jupiter.party for the whole network.

00:23:16.926 --> 00:23:20.046
<v Chris>I don't need to go through the whole thing. You guys know it,

00:23:20.246 --> 00:23:21.526
<v Chris>so I'll just say thank you very much.

00:23:21.666 --> 00:23:27.526
<v Chris>There's not a lot of big commercial demand for a Linux podcast that is talking

00:23:27.526 --> 00:23:29.486
<v Chris>about file system nuances like this.

00:23:29.626 --> 00:23:34.386
<v Chris>I don't know if that surprises you, but it turns out people that are selling

00:23:34.386 --> 00:23:38.646
<v Chris>ads on podcasts and YouTube, they don't find file system discussion particularly

00:23:38.646 --> 00:23:42.366
<v Chris>interesting and doesn't really reach their radar. are.

00:23:42.486 --> 00:23:47.866
<v Chris>So we do have to lean more on listener support than a typical podcast that you might listen to.

00:23:48.106 --> 00:23:52.286
<v Chris>Because what we do is we use that listener support to give us the runway to

00:23:52.286 --> 00:23:56.346
<v Chris>actually nerd out on these topics and go for the stuff that is never going to

00:23:56.346 --> 00:23:57.346
<v Chris>get us any play on YouTube.

00:23:57.506 --> 00:24:00.646
<v Chris>We're never going to get a clip on TikTok. We're never going to show up in some

00:24:00.646 --> 00:24:05.046
<v Chris>sort of advertiser's keyword search dashboard thing, right? It's never going to happen for us.

00:24:06.112 --> 00:24:08.532
<v Chris>And that's okay. We're fine with that because we have listener support.

00:24:08.752 --> 00:24:10.292
<v Chris>So there's a couple of ways you can do it.

00:24:11.012 --> 00:24:15.832
<v Chris>We have the show membership. Those are our core contributors at linuxunplugged.com slash membership.

00:24:16.132 --> 00:24:19.652
<v Chris>We have the jupyter.party membership that gives you access to all the shows

00:24:19.652 --> 00:24:22.232
<v Chris>and their special features. Every show has special features.

00:24:22.532 --> 00:24:27.052
<v Chris>And then you can boost us. And that is not only a signal, but it also supports

00:24:27.052 --> 00:24:32.492
<v Chris>that particular production and gives us an idea of like that topic worked or didn't work.

00:24:32.632 --> 00:24:36.232
<v Chris>And so there's several ways where you can participate. and we really do appreciate

00:24:36.232 --> 00:24:39.932
<v Chris>it because we couldn't make this kind of content where we talk about these nerdy

00:24:39.932 --> 00:24:41.852
<v Chris>esoteric things that actually do matter.

00:24:42.472 --> 00:24:45.712
<v Chris>It's not our fault that the advertisers don't realize this stuff matters.

00:24:45.892 --> 00:24:46.912
<v Chris>Right? It's not our fault.

00:24:47.152 --> 00:24:50.892
<v Chris>This stuff does matter and it matters to you just like it matters to us.

00:24:51.032 --> 00:24:55.872
<v Chris>So thank you very much for the support and you can find membership links in the show notes as well.

00:25:00.200 --> 00:25:04.300
<v Brent>A little while ago, we took a moment on the show to plant our flag and say all

00:25:04.300 --> 00:25:08.060
<v Brent>this assisted AI stuff was coming for Linux administration.

00:25:08.680 --> 00:25:13.660
<v Brent>And the last few weeks, with all the OpenClaw excitement, might be proving that out.

00:25:13.900 --> 00:25:17.820
<v Brent>But there's also been a lot of pushback to all these big tech commercial models.

00:25:18.020 --> 00:25:22.640
<v Brent>And for some of us, it's made us more excited about local open source models.

00:25:23.740 --> 00:25:29.040
<v Brent>Over on ItsFoss, Bhwan Mishra wrote about ditching Clawed code and using the

00:25:29.040 --> 00:25:32.340
<v Brent>open-source Quen model for real sysadmin work.

00:25:32.460 --> 00:25:34.280
<v Chris>I liked hearing about this, guys.

00:25:34.640 --> 00:25:35.200
<v Wes>Yeah, me too.

00:25:35.480 --> 00:25:39.660
<v Chris>Yeah, so the author dropped Cloud Code, went with local Quen code because it

00:25:39.660 --> 00:25:41.640
<v Chris>behaves more like a proper Linux tool.

00:25:41.780 --> 00:25:45.680
<v Chris>He says he could install it locally. It was open-source, and it shows every

00:25:45.680 --> 00:25:48.260
<v Chris>command it's going to execute before it actually runs it.

00:25:48.540 --> 00:25:51.800
<v Chris>And you can describe a task in plain English, and the Quen model,

00:25:51.960 --> 00:25:56.240
<v Chris>which is a free model that you can run on your own machine, will just turn that

00:25:56.240 --> 00:26:01.360
<v Chris>into reviewable shell commands that you can then authorize, and then it'll execute them.

00:26:01.880 --> 00:26:07.000
<v Wes>Yeah, it's pretty neat. So Quen comes from Alibaba, so it is a Chinese model,

00:26:07.080 --> 00:26:08.260
<v Wes>but it is also open-weight.

00:26:08.460 --> 00:26:11.760
<v Wes>Some folks have found some kinds of censorship or other sort of things you might

00:26:11.760 --> 00:26:13.480
<v Wes>expect from some of these Chinese models.

00:26:13.880 --> 00:26:19.640
<v Wes>But it has also been optimized for agent stuff, so has Quen code.

00:26:20.640 --> 00:26:25.360
<v Wes>They have various specific models, especially like the code-focused models itself

00:26:25.360 --> 00:26:28.340
<v Wes>sort of aimed at exactly these tasks.

00:26:28.600 --> 00:26:32.620
<v Wes>And in fact, even the app itself is a fork of Gemini CLI. So it's under the

00:26:32.620 --> 00:26:35.260
<v Wes>Apache 2 license. They look pretty much exactly the same.

00:26:35.520 --> 00:26:35.980
<v Chris>Oh, interesting. Okay.

00:26:36.040 --> 00:26:40.420
<v Wes>But the Quen folks wanted to add in, like Gemini CLI does a lot of stuff because

00:26:40.420 --> 00:26:44.760
<v Wes>it's attached to this very broad Gemini product and stuff, and you can only use it with that.

00:26:44.920 --> 00:26:48.960
<v Wes>But they added support for using local stuff. They also optimized it more for

00:26:48.960 --> 00:26:50.720
<v Wes>doing these coding and agent tasks.

00:26:50.780 --> 00:26:51.660
<v Chris>Very nice. Okay.

00:26:52.732 --> 00:26:56.332
<v Chris>That's, I didn't realize that you could, I guess I never looked at Gemini CLI.

00:26:56.432 --> 00:26:57.712
<v Chris>I didn't realize they had made that open source.

00:26:58.132 --> 00:27:02.732
<v Wes>Yeah, isn't that nice? I mean, the back end isn't, but at least the front end is.

00:27:02.872 --> 00:27:03.052
<v Chris>Yeah, yeah.

00:27:03.352 --> 00:27:07.832
<v Wes>And, you know, it is like, maybe you don't do everything with one of these particular

00:27:07.832 --> 00:27:12.672
<v Wes>local models, depending on what kind of system and GPU and what you can actually run.

00:27:14.192 --> 00:27:17.952
<v Wes>But as these things get better and better, like writing shell scripts,

00:27:18.172 --> 00:27:20.332
<v Wes>or especially like, you know, especially even silly stuff like,

00:27:20.332 --> 00:27:23.832
<v Wes>Like, oh, dang, I downloaded a bunch of files with spaces in there,

00:27:23.932 --> 00:27:25.772
<v Wes>and they got weird names, and I just want it cleaned up.

00:27:26.072 --> 00:27:27.032
<v Brent>That happens to me all the time.

00:27:27.092 --> 00:27:30.852
<v Wes>Even stuff you can run locally can definitely handle a spitting out of Bash script to do that.

00:27:31.192 --> 00:27:34.592
<v Chris>Yeah, it is really exciting to see where these local models are going.

00:27:34.592 --> 00:27:39.892
<v Chris>I feel like I'm in this tortured position where I recognize the utility now

00:27:39.892 --> 00:27:43.652
<v Chris>in a way that I kind of missed the boat on when hardware was reasonably priced.

00:27:45.732 --> 00:27:47.172
<v Wes>Where's that open source time machine?

00:27:47.172 --> 00:27:51.952
<v Chris>Now I'm so GPU starved, and I've been looking at Venice AI, which is a pretty

00:27:51.952 --> 00:27:56.152
<v Chris>good privacy-focused model system that you can use with agents and whatnot.

00:27:56.312 --> 00:27:58.792
<v Chris>But the tokens are more expensive because of the privacy layer.

00:27:59.192 --> 00:28:03.432
<v Chris>And this gets really expensive very fast when you want to do more extensive things.

00:28:03.532 --> 00:28:08.472
<v Chris>So it is with a particular eye we're watching these local models and seeing where they go.

00:28:09.432 --> 00:28:13.012
<v Chris>Just a little background on something we tried last week. This was a very interesting

00:28:13.012 --> 00:28:16.592
<v Chris>experiment, and we wanted to share it with you. We have wanted to stand up a

00:28:16.592 --> 00:28:18.672
<v Chris>production Mattermost server for years.

00:28:19.152 --> 00:28:23.572
<v Chris>We've spun up a few. We've toyed with them kind of as just experiments.

00:28:23.872 --> 00:28:29.172
<v Chris>We've even ran a few project-specific Mattermost when we're working on something with people outside.

00:28:29.272 --> 00:28:33.212
<v Chris>JB will spin up a Mattermost real quick, but they really just throw away Mattermost,

00:28:33.232 --> 00:28:34.812
<v Chris>and we don't really spend a lot of time with them.

00:28:36.166 --> 00:28:41.266
<v Chris>We wanted something we could use long-term. So last week before the show,

00:28:41.486 --> 00:28:46.706
<v Chris>I had been working with one of these open claw agents, just going over best

00:28:46.706 --> 00:28:50.366
<v Chris>system practices, focus on this, consider this, security.

00:28:50.946 --> 00:28:53.666
<v Wes>And the stuff we normally want or don't want to see in a system.

00:28:53.866 --> 00:28:59.486
<v Chris>Yeah, exactly. And so also I've been working to delegate some subtasks to agents and stuff like that.

00:29:00.066 --> 00:29:05.746
<v Chris>So naturally, I thought, let's do something really stupid and give this thing

00:29:05.746 --> 00:29:07.526
<v Chris>API access to Cloudflare.

00:29:09.306 --> 00:29:13.586
<v Chris>I figured, why not? I had an old domain that I'd sat around for years.

00:29:13.586 --> 00:29:16.786
<v Chris>I don't use. I could set up a limited scope API credentials.

00:29:16.986 --> 00:29:21.586
<v Wes>I was about to say that we've already gotten to the point of maturity in that

00:29:21.586 --> 00:29:24.226
<v Wes>side of the industry is really useful if you're trying to use agents.

00:29:24.366 --> 00:29:25.366
<v Wes>Like, don't give it everything.

00:29:25.546 --> 00:29:30.206
<v Chris>No. So I gave it this old domain I had sitting around that I bought on a lark.

00:29:30.366 --> 00:29:32.706
<v Chris>Probably had too many beers and decided, I'm going to buy this domain.

00:29:33.466 --> 00:29:39.646
<v Chris>And so before the show last week, I told the agent, go SSH into this VPS because

00:29:39.646 --> 00:29:41.526
<v Chris>the host that it's running on has an SSH key.

00:29:42.146 --> 00:29:45.086
<v Chris>SSH into this VPS. Go look around.

00:29:45.506 --> 00:29:49.706
<v Chris>Learn the system. The Docker Compose files are over here. And then commit to

00:29:49.706 --> 00:29:53.326
<v Chris>your memory what you've learned. That was before the show, just Sunday morning last week.

00:29:53.426 --> 00:29:55.226
<v Wes>A little scouting mission. Reconnaissance.

00:29:55.706 --> 00:29:59.386
<v Chris>After the show, when we were all done with our post-show duties, I...

00:29:59.386 --> 00:30:01.346
<v Wes>I didn't even know you did that, by the way. You're sneaky.

00:30:01.546 --> 00:30:06.746
<v Chris>Yeah. After the show, I said to Wes, how fast do you think an agent could deploy

00:30:06.746 --> 00:30:08.106
<v Chris>a secure Mattermost server?

00:30:08.786 --> 00:30:15.286
<v Chris>And so I brought up Telegram and I sent my agent the API key for its Cloudflare stuff.

00:30:15.786 --> 00:30:19.746
<v Chris>And I gave it a clear goal. I said, go deploy a Mattermost server on the VPS

00:30:19.746 --> 00:30:21.586
<v Chris>I told you about earlier. That's all I said.

00:30:22.666 --> 00:30:27.166
<v Chris>and follow best security practices and use Cloudflare to handle things like

00:30:27.166 --> 00:30:29.726
<v Chris>DNS caching and other security best practices.

00:30:30.186 --> 00:30:34.106
<v Chris>And that was the entire Telegram message. Five minutes later,

00:30:36.077 --> 00:30:39.957
<v Chris>The agent had deployed Mattermost via Docker Compose, integrated a Cloudflare

00:30:39.957 --> 00:30:45.377
<v Chris>tunnel sidecar, set up DNS with optimal caching based on upstream Cloudflare

00:30:45.377 --> 00:30:48.617
<v Chris>docs for best security practices when deploying a Mattermost server,

00:30:50.157 --> 00:30:53.457
<v Chris>which is really neat because it set up the sidecar.

00:30:53.577 --> 00:30:57.577
<v Chris>Wes, talk about the sidecar tunnel. We talked about these sidecars before. You're a sidecar guy.

00:30:57.657 --> 00:31:01.557
<v Wes>Oh, yeah. I mean, it's a handy pattern, right? It's just because you're using

00:31:01.557 --> 00:31:05.657
<v Wes>network namespaces with the containers, You can put two containers in the same

00:31:05.657 --> 00:31:07.837
<v Wes>network namespace. And so they share a network.

00:31:07.997 --> 00:31:13.877
<v Wes>And then you can have, say, Tailscale, Netbird, Nebula, any of these mesh VPNs.

00:31:14.017 --> 00:31:14.477
<v Chris>Cloudflare Tunnel.

00:31:14.617 --> 00:31:18.277
<v Wes>Or you can have a Cloudflare Tunnel. And so Cloudflare Tunnel's agent handles

00:31:18.277 --> 00:31:21.117
<v Wes>binding a VPN, a tunneling connection to them.

00:31:21.237 --> 00:31:24.417
<v Wes>And then because they're also controlling all of the front side,

00:31:24.537 --> 00:31:28.297
<v Wes>right, the load balancing, the DNS, the caching, then they can automatically

00:31:28.297 --> 00:31:30.377
<v Wes>just route it through that tunnel back to you.

00:31:30.377 --> 00:31:35.617
<v Wes>And so the Docker and namespace layer make sure that you don't have to mess

00:31:35.617 --> 00:31:36.557
<v Wes>with any of the host stuff.

00:31:36.997 --> 00:31:40.897
<v Wes>But as long as the actual Cloudflare tunnel agent itself can get outside via

00:31:40.897 --> 00:31:43.517
<v Wes>the Internet, then everyone else can connect.

00:31:43.637 --> 00:31:46.497
<v Wes>And you don't have to have an open port. You don't have to worry about that kind of thing.

00:31:46.677 --> 00:31:48.977
<v Chris>That's the key thing. It doesn't even talk to the host network.

00:31:48.997 --> 00:31:54.477
<v Chris>It's not even talking to the VPS network at all. It's just talking over this tunnel.

00:31:55.217 --> 00:31:58.157
<v Chris>So then what I did, after it had stood up this entire thing,

00:31:58.237 --> 00:32:00.597
<v Chris>as I reviewed the Docker Compose, it was clean. It was lean.

00:32:00.837 --> 00:32:03.777
<v Chris>I looked at the Mattermost config. It was pretty basic. So I said to the bot,

00:32:03.877 --> 00:32:05.077
<v Chris>I said, I'm going to go create you an account.

00:32:05.837 --> 00:32:10.397
<v Chris>I'll go create you a bot token for the agent. Then what I want you to do is go finish the work.

00:32:11.037 --> 00:32:14.917
<v Chris>Go set up the rooms, set up the permissions, dial in a full configuration,

00:32:15.117 --> 00:32:18.937
<v Chris>give the rooms the descriptions, set descriptions for all the individual accounts, everything.

00:32:20.641 --> 00:32:23.961
<v Chris>And then two minutes later, it was back, and we had everything there.

00:32:24.241 --> 00:32:29.601
<v Chris>A complete lounge, rooms for the bots to talk, room for the people to talk, permission structure.

00:32:30.281 --> 00:32:33.001
<v Chris>The entire process was probably eight to ten minutes.

00:32:33.601 --> 00:32:38.181
<v Wes>Also, having the bots fiddle with the actual admin settings,

00:32:38.181 --> 00:32:39.861
<v Wes>so much nicer than doing it yourself.

00:32:39.981 --> 00:32:42.421
<v Wes>Especially for, like, I'm not a Mattermost UI expert, right?

00:32:42.481 --> 00:32:45.461
<v Wes>But, like, we needed to rename some accounts, or, like, I wanted to make sure

00:32:45.461 --> 00:32:48.001
<v Wes>that when Brent got in, he was going to be an admin on the instance.

00:32:49.101 --> 00:32:50.561
<v Wes>And bots handled that just fine.

00:32:50.641 --> 00:32:56.201
<v Chris>Yeah. And so the point that I'm trying to make here is this is not going away

00:32:56.201 --> 00:32:57.421
<v Chris>for Linux system administration.

00:32:57.521 --> 00:33:01.581
<v Chris>And it didn't deploy some vibe coded piece of crap insecure setup either.

00:33:02.261 --> 00:33:06.721
<v Chris>It actually did a fantastic expert job. We went through and reviewed it.

00:33:06.841 --> 00:33:09.161
<v Chris>It's good. It's solid. It's a it's a good setup.

00:33:09.581 --> 00:33:13.281
<v Chris>And you have to kind of let that soak in for a moment because we have heard

00:33:13.281 --> 00:33:17.901
<v Chris>these big tech CEOs promise all this ridiculous crap for the last three years.

00:33:18.461 --> 00:33:19.721
<v Chris>But this is really working.

00:33:20.421 --> 00:33:24.681
<v Chris>I did three things. In the morning, I told the bot to go check out the VPS.

00:33:25.241 --> 00:33:29.381
<v Chris>In the afternoon, I gave it an API key, and I told it to go deploy Mattermost.

00:33:30.001 --> 00:33:32.981
<v Chris>And then after that, I said, go set up all the rooms, the permissions,

00:33:33.321 --> 00:33:35.681
<v Chris>the descriptions, give them emojis, all that crap.

00:33:36.770 --> 00:33:41.430
<v Chris>And it did all of that. And it's all because these things all have API endpoints.

00:33:42.390 --> 00:33:46.110
<v Chris>The documentation on how to set them up is extremely well documented and clear.

00:33:46.410 --> 00:33:53.130
<v Wes>Yep. And in the case of open source stuff, you can also go have your bot spelunk

00:33:53.130 --> 00:33:54.950
<v Wes>the source code and figure out exactly what it needs.

00:33:55.150 --> 00:33:59.850
<v Chris>Yeah. And the API to then realize how to connect to it so then it can participate in the chat.

00:34:00.230 --> 00:34:03.390
<v Chris>And Brent, we pulled you into some of that shenanigans. And you could see the

00:34:03.390 --> 00:34:07.010
<v Chris>bots are actually coordinating with each other back and forth in our Mattermost chat.

00:34:07.210 --> 00:34:10.530
<v Brent>Can I just say how much I wasn't expecting to be pulled into that kind of environment?

00:34:13.410 --> 00:34:17.490
<v Brent>But it was impressive. Like, I don't know, this is a topic we've been talking

00:34:17.490 --> 00:34:22.070
<v Brent>about for years to replace our sort of legacy internal communications tool.

00:34:22.270 --> 00:34:26.890
<v Brent>And you guys just kind of pulled that out while you were doing the post-show

00:34:26.890 --> 00:34:29.290
<v Brent>work? I kind of couldn't believe it.

00:34:29.290 --> 00:34:32.430
<v Wes>But we were actually just playing with agents and not doing the post-show work,

00:34:32.450 --> 00:34:35.270
<v Wes>but we were doing other stuff and not supervising this bot.

00:34:35.930 --> 00:34:41.370
<v Brent>Like what a force multiplier if you look at it that way. And to stand up something

00:34:41.370 --> 00:34:44.050
<v Brent>we've been wanting for quite a long time and having,

00:34:44.270 --> 00:34:48.970
<v Brent>like you said, some confidence that it's been done with best practices better

00:34:48.970 --> 00:34:50.990
<v Brent>than we could have in our little busy schedule.

00:34:50.990 --> 00:34:55.510
<v Brent>Because this would have taken us longer to do it in a way that we were satisfied

00:34:55.510 --> 00:34:59.170
<v Brent>that it was good enough to be a long-term tool for us.

00:34:59.290 --> 00:35:01.750
<v Brent>and secure, and safe enough, and resilient.

00:35:02.590 --> 00:35:03.850
<v Brent>That's just awesome.

00:35:04.390 --> 00:35:06.650
<v Wes>Yeah, I agree. But I think there's another part I was thinking about,

00:35:06.750 --> 00:35:10.390
<v Wes>which is like, this varies per person and group and all that,

00:35:10.470 --> 00:35:14.370
<v Wes>but we weren't going to learn that much from standing up a Mattermouth server.

00:35:14.590 --> 00:35:19.070
<v Wes>Like, it's sidecar patterns, we've done it before, and there's this whole mass,

00:35:19.170 --> 00:35:21.970
<v Wes>at least for me personally, of work where I want to do it,

00:35:23.100 --> 00:35:26.340
<v Wes>It's either not quite important enough, it's not going to rise to the top 10,

00:35:26.360 --> 00:35:29.740
<v Wes>and I'm not especially motivated to do it, especially because I know it's kind

00:35:29.740 --> 00:35:31.260
<v Wes>of just grinding it out. It's not a new thing.

00:35:31.380 --> 00:35:34.300
<v Wes>I'm not learning some new application or some new way to do things.

00:35:35.420 --> 00:35:39.060
<v Wes>And I'm totally happy to delegate that. Another thing I was doing just this

00:35:39.060 --> 00:35:42.160
<v Wes>week was I had an old code base.

00:35:42.380 --> 00:35:46.160
<v Wes>I ran a linter across it to get a bunch of lint errors. I know how to fix that

00:35:46.160 --> 00:35:47.480
<v Wes>stuff. I don't need to do that again.

00:35:47.620 --> 00:35:51.140
<v Wes>But a bot can fix it, and then I can just review the diff. And if it didn't

00:35:51.140 --> 00:35:53.940
<v Wes>break anything, the tests all passed, like, totally fine.

00:35:54.100 --> 00:35:57.000
<v Chris>Yeah. Yeah, and for me, I feel like it's in the experimental,

00:35:57.260 --> 00:36:00.480
<v Chris>okay, I'm learning about a stage, but it goes into the this is something that

00:36:00.480 --> 00:36:03.720
<v Chris>I will use for year stage when I can run a model that's competent locally,

00:36:04.160 --> 00:36:05.220
<v Chris>you know, and privately.

00:36:05.520 --> 00:36:08.780
<v Wes>Yeah, where you don't have to pay out the arm and leg for the credits,

00:36:08.880 --> 00:36:12.020
<v Wes>where you don't have to worry that every little detail of your life is being sucked up.

00:36:12.180 --> 00:36:15.460
<v Chris>Yep, yep. But there is something here. It is not going away.

00:36:15.460 --> 00:36:18.100
<v Chris>even if like open AI were to crash.

00:36:18.320 --> 00:36:22.440
<v Chris>Like this is not going away. And what we're going to see, and we're already

00:36:22.440 --> 00:36:30.800
<v Chris>seeing it, is services are going to have to develop and deliver agent-specific endpoints.

00:36:31.920 --> 00:36:35.120
<v Wes>You hit on the importance of APIs, and I think that is...

00:36:36.087 --> 00:36:39.627
<v Wes>going to be helpful for us open source people because

00:36:39.627 --> 00:36:42.507
<v Wes>if you have an open api system that's documented that's easy to

00:36:42.507 --> 00:36:46.007
<v Wes>learn these agents can figure it out like when we

00:36:46.007 --> 00:36:48.847
<v Wes>were playing around last week i had my agent figure out how to use this web

00:36:48.847 --> 00:36:52.927
<v Wes>socket irc thing but then even just after we got the mattermost stuff i wanted

00:36:52.927 --> 00:36:58.007
<v Wes>my agent as a test to send your agent a direct message but the security on the

00:36:58.007 --> 00:37:02.627
<v Wes>open cloud would not let that happen my agent figured out how to use the Mattermost API directly.

00:37:02.807 --> 00:37:08.807
<v Wes>Now, in that case, a little concerning, but in general, like in the old world, right?

00:37:08.927 --> 00:37:12.287
<v Wes>Like the proprietary provider would provide the bindings.

00:37:12.347 --> 00:37:15.127
<v Wes>So you had to rely on whatever set of bindings were going to be there,

00:37:15.147 --> 00:37:17.627
<v Wes>but you don't have to rely on the default set.

00:37:17.767 --> 00:37:22.327
<v Wes>If you can dynamically add the capability of new bindings yourself.

00:37:22.907 --> 00:37:23.267
<v Chris>Yeah.

00:37:23.367 --> 00:37:27.507
<v Wes>So here's, so it doesn't matter if they only support Slack, we can add Mattermost if we need that.

00:37:27.507 --> 00:37:32.287
<v Chris>Yes. This is the head shift that people need to get around and it's going to

00:37:32.287 --> 00:37:35.147
<v Chris>impact open source projects and they're not going to take it gracefully.

00:37:35.327 --> 00:37:37.287
<v Chris>We're already seeing it happen. I'll give you an example.

00:37:38.226 --> 00:37:42.586
<v Chris>These agents are going to become an extension of whatever somebody can do online,

00:37:42.586 --> 00:37:44.286
<v Chris>this agent will be tasked to do.

00:37:45.046 --> 00:37:48.886
<v Chris>And that is from everything from hiring people to mow lawns,

00:37:48.966 --> 00:37:54.326
<v Chris>to topping off its own API credits, to going through GitHub and looking for issues.

00:37:54.426 --> 00:37:58.626
<v Chris>And we are going to see a lot of transitions between crap code and all that.

00:37:58.806 --> 00:38:02.006
<v Chris>But focus on something that the open source projects need to think about.

00:38:02.006 --> 00:38:05.346
<v Chris>And this is something that Debian's struggling with right now,

00:38:05.506 --> 00:38:10.326
<v Chris>is Debian's had a problem with their CI system getting overloaded with what

00:38:10.326 --> 00:38:11.926
<v Chris>they say are LLM scrapers,

00:38:12.106 --> 00:38:17.526
<v Chris>essentially going through their infrastructure via a web browser and kind of

00:38:17.526 --> 00:38:23.366
<v Chris>just going through page by page and generating so much load by doing this that

00:38:23.366 --> 00:38:26.386
<v Chris>it's making the service unavailable for their existing developers.

00:38:26.386 --> 00:38:30.906
<v Wes>Yeah, it's not just hitting, say, like the actual output text file from the build run.

00:38:31.226 --> 00:38:34.446
<v Wes>They're like walking through the whole interface to go browse through it.

00:38:34.526 --> 00:38:37.466
<v Wes>And then as a result, I guess there's not that much caching and just,

00:38:37.606 --> 00:38:40.326
<v Wes>you know, it's a volunteer project. It's open source infrastructure. It's Debian.

00:38:40.646 --> 00:38:44.806
<v Wes>So then it's going and pulling a bunch of results for like years ago build systems.

00:38:44.946 --> 00:38:47.726
<v Wes>So now the system's turning on that instead of focusing on, you know,

00:38:47.806 --> 00:38:48.946
<v Wes>the actual builds for the next release.

00:38:49.086 --> 00:38:52.006
<v Chris>And one of the things that's challenging about this is it's difficult to distinguish

00:38:52.006 --> 00:38:55.966
<v Chris>an LLM scraper, which might be training, questionable.

00:38:56.806 --> 00:39:01.966
<v Chris>a bot that is just scraping this stuff or an agent that somebody has tasked

00:39:01.966 --> 00:39:04.966
<v Chris>on their behalf to help them with their development in Debian.

00:39:05.126 --> 00:39:08.086
<v Wes>You might want to go pull in those logs, say, so that you have your own personal

00:39:08.086 --> 00:39:10.206
<v Wes>dashboard of the upstream builds to keep track of issues.

00:39:10.326 --> 00:39:12.546
<v Chris>Exactly. And so maybe you've tasked your agent to go do that.

00:39:12.966 --> 00:39:16.946
<v Chris>And what's going to have to happen here, what Debian has done for now is they've

00:39:16.946 --> 00:39:19.046
<v Chris>just essentially taken this out of the public.

00:39:19.226 --> 00:39:22.726
<v Chris>And you have to have special access and special whitelists and all of that to

00:39:22.726 --> 00:39:25.266
<v Chris>be able to get access to their CI system now.

00:39:26.119 --> 00:39:30.279
<v Chris>But the solution is not going to be to block these agents that are operating

00:39:30.279 --> 00:39:31.919
<v Chris>on behalf of other developers.

00:39:31.919 --> 00:39:37.779
<v Chris>The solution is going to be to develop API and data pipelines and then for these

00:39:37.779 --> 00:39:42.419
<v Chris>bots, agents, and LLMs to respect those and use those data pipelines and APIs

00:39:42.419 --> 00:39:44.459
<v Chris>instead of just crawling the website.

00:39:44.659 --> 00:39:47.779
<v Wes>Yeah, and there's certainly some operator responsibility here,

00:39:47.819 --> 00:39:51.439
<v Wes>right, to respect those things, to respect stuff like robots.txt and other.

00:39:51.439 --> 00:39:55.539
<v Wes>Like, you know, there is an element of you put it on the web and there is some,

00:39:55.999 --> 00:39:59.319
<v Wes>you know, depending on your law and jurisdiction, but there's some right to

00:39:59.319 --> 00:40:01.119
<v Wes>just go do a curl request and get the results.

00:40:01.219 --> 00:40:05.219
<v Wes>But you also need to respect that that costs people money and can interfere

00:40:05.219 --> 00:40:07.939
<v Wes>with other people's right to do the same access.

00:40:08.119 --> 00:40:11.199
<v Chris>I don't know if people remember, maybe I'm old enough, but there was a time

00:40:11.199 --> 00:40:15.019
<v Chris>when web search engines first came out and they were crawling the web.

00:40:15.859 --> 00:40:19.039
<v Chris>And even though they weren't permanently caching before, like,

00:40:19.179 --> 00:40:23.139
<v Chris>Archive and the Google Archive stuff, even though they weren't permanently caching,

00:40:23.279 --> 00:40:28.259
<v Chris>there were lawsuits over the fact that the web indexers had a copy of the information

00:40:28.259 --> 00:40:30.859
<v Chris>in RAM temporarily while they indexed the website.

00:40:30.919 --> 00:40:33.119
<v Wes>Often copyrighted things. Yeah.

00:40:33.319 --> 00:40:36.439
<v Chris>Yeah. So it takes a little bit to figure this out.

00:40:37.019 --> 00:40:40.559
<v Chris>And I don't think projects like Debian are going to want to completely sit this

00:40:40.559 --> 00:40:45.079
<v Chris>out because there is use case for these agents. and if they can be more intelligent

00:40:45.079 --> 00:40:50.139
<v Chris>about how to manage a Debian system, that's good for Debian as a project and

00:40:50.139 --> 00:40:51.979
<v Chris>it's good for Debian as adoption in the enterprise.

00:40:52.159 --> 00:40:58.599
<v Wes>I do think or suppose we might see a rise in more structured outputs and outputs

00:40:58.599 --> 00:41:02.419
<v Wes>designed specifically for LLMs as an aside to the human-centric interface.

00:41:02.619 --> 00:41:05.679
<v Chris>Just give them their own thing to ingest that is low resource.

00:41:05.739 --> 00:41:07.659
<v Wes>Don't have them muck up with the human side, yeah.

00:41:07.799 --> 00:41:08.539
<v Chris>Pretend like, and.

00:41:08.539 --> 00:41:10.599
<v Wes>Honestly- It's less efficient for both sides.

00:41:10.719 --> 00:41:13.699
<v Chris>Right, because they're spending a bunch of tokens to run that web browser to

00:41:13.699 --> 00:41:14.899
<v Chris>browse the website like a human.

00:41:14.999 --> 00:41:17.539
<v Wes>To parse out the HTML to go figure out where the links are.

00:41:17.739 --> 00:41:20.159
<v Chris>And then they're probably just producing a JSON file on the back end anyway.

00:41:20.199 --> 00:41:20.659
<v Wes>That's all they wanted.

00:41:22.079 --> 00:41:26.219
<v Chris>So everybody wins, but we're not there yet. So what the Debian projects had

00:41:26.219 --> 00:41:27.839
<v Chris>to do is they've had to go kind of private.

00:41:28.686 --> 00:41:32.686
<v Chris>But I don't think that solves the problem long-term. But we really had a moment

00:41:32.686 --> 00:41:34.066
<v Chris>with our Mattermost server.

00:41:34.386 --> 00:41:36.946
<v Chris>We had a, you know, let's call it 10 minutes.

00:41:37.386 --> 00:41:42.366
<v Chris>In 10 minutes, we had a fully working Mattermost server, like an expert had

00:41:42.366 --> 00:41:45.506
<v Chris>deployed it, with clean configs, tight security, great performance,

00:41:45.526 --> 00:41:47.446
<v Chris>because I sort of glossed over this.

00:41:47.606 --> 00:41:51.506
<v Chris>But like you mentioned, it set up all of the caching and best practices with Cloudflare.

00:41:51.626 --> 00:41:56.926
<v Chris>So this thing is running on a super old low-end VPS that is already doing other

00:41:56.926 --> 00:41:59.766
<v Chris>stuff. And it is a faster chat experience than, say, Slack.

00:42:00.286 --> 00:42:05.066
<v Chris>It was a really nice, responsive, performance system. And using this Cloudflare

00:42:05.066 --> 00:42:08.786
<v Chris>tunnel made it really easy for security purposes. I didn't have to worry about

00:42:08.786 --> 00:42:10.906
<v Chris>having a VPS address and all that kind of stuff.

00:42:11.066 --> 00:42:13.726
<v Wes>Also makes it portable. You can move it around. It doesn't matter where it lives.

00:42:13.826 --> 00:42:17.526
<v Chris>Especially the way this tunnel works. It's portable per machine, too.

00:42:17.546 --> 00:42:20.506
<v Chris>So you could actually lift the entire Docker Compose, drop it on another machine,

00:42:20.566 --> 00:42:22.026
<v Chris>and start it. And the tunnel would reconnect.

00:42:22.826 --> 00:42:26.806
<v Chris>That kind of stuff is really impressive. and on a low end vps it's even better

00:42:26.806 --> 00:42:28.006
<v Chris>because you're getting more bang for your buck.

00:42:28.006 --> 00:42:31.006
<v Wes>And you you wouldn't you know you don't have to use cloud for you can tunnel

00:42:31.006 --> 00:42:32.026
<v Wes>it over your existing mesh.

00:42:32.026 --> 00:42:33.206
<v Chris>Network you can do an nginx.

00:42:33.206 --> 00:42:34.486
<v Wes>Proxy and the bots can help.

00:42:34.486 --> 00:42:37.566
<v Chris>Oh yeah for sure this is just because i was experimenting with using the api

00:42:37.566 --> 00:42:40.586
<v Chris>to just do a complete totally end-to-end solution there's a lot of ways you

00:42:40.586 --> 00:42:43.706
<v Chris>could solve it with networking and uh you know maybe it was two dollars and

00:42:43.706 --> 00:42:47.466
<v Chris>50 cents in tokens for the entire thing in 10 minutes and now we have a server

00:42:47.466 --> 00:42:48.966
<v Chris>that we could use in production for years,

00:42:49.664 --> 00:42:53.484
<v Chris>So there is something there. And when you get that kind of utility and that

00:42:53.484 --> 00:42:56.824
<v Chris>kind of optimization, you know enterprises are going to be drawn to that.

00:42:56.964 --> 00:43:00.344
<v Chris>And you know that's the kind of thing that Red Hat and SUSE are going to be,

00:43:00.504 --> 00:43:04.544
<v Chris>and Canonical, are going to be leaning into. It isn't going away.

00:43:04.744 --> 00:43:09.544
<v Wes>And it's important, I think, that the open source side stay engaged and pushing

00:43:09.544 --> 00:43:12.584
<v Wes>on the values that we bring to technology generally.

00:43:12.784 --> 00:43:15.864
<v Chris>And I think that's the most interesting and exciting thing about the last three

00:43:15.864 --> 00:43:18.864
<v Chris>weeks is that it has been driven by open source.

00:43:19.304 --> 00:43:22.584
<v Chris>We've been talking about AI, well, we haven't, but people have been talking

00:43:22.584 --> 00:43:26.184
<v Chris>about AI for years now, sort of to ad nauseum.

00:43:26.444 --> 00:43:29.264
<v Chris>It's just, ugh. And this is the first time where we've actually been interested

00:43:29.264 --> 00:43:31.504
<v Chris>because open source is really biting in and making a difference.

00:43:31.664 --> 00:43:34.564
<v Wes>And you can see it, like, just if you go look on Hacker News or other spots,

00:43:34.724 --> 00:43:37.024
<v Wes>like, OpenClaw came out, and now there's a bunch of different versions.

00:43:37.184 --> 00:43:39.044
<v Wes>There's smaller versions, there's Rust versions.

00:43:39.224 --> 00:43:42.444
<v Wes>And especially because the implementations are open source, you don't have to

00:43:42.444 --> 00:43:43.784
<v Wes>figure out how to give the bot memory.

00:43:43.964 --> 00:43:46.244
<v Wes>I mean, you might need to customize it or tweak it or change it,

00:43:46.244 --> 00:43:49.124
<v Wes>But you can go follow the patterns that are emerging in the upstream open source.

00:43:49.304 --> 00:43:53.004
<v Chris>So what Wes is saying there is one of the things that's different this time

00:43:53.004 --> 00:43:58.344
<v Chris>around with these new agents is the memory and the soul and the tools and all

00:43:58.344 --> 00:44:00.264
<v Chris>the things that it memorizes.

00:44:00.444 --> 00:44:04.044
<v Chris>So, for example, last night I messaged my bot. I didn't say anything else other

00:44:04.044 --> 00:44:06.964
<v Chris>than, can you go get the weather report from Home Assistant?

00:44:07.444 --> 00:44:12.584
<v Chris>That's all I said. And it knows, well, OK, Home Assistant lives on this host. This is the API.

00:44:12.844 --> 00:44:16.824
<v Chris>This is my API key. the weather is this and it goes and gets all of that and

00:44:16.824 --> 00:44:19.484
<v Chris>it just comes back with a rather weather report from home assistant.

00:44:19.484 --> 00:44:24.004
<v Wes>That's another one of the big changes here is the agent is the interface.

00:44:24.004 --> 00:44:28.424
<v Chris>Right and that memory and all of that is yours it's on your file system and

00:44:28.424 --> 00:44:31.724
<v Chris>these other bots that are being built these other agent frameworks like you

00:44:31.724 --> 00:44:37.304
<v Chris>mentioned can use this so it is portable because it's just text and other agents

00:44:37.304 --> 00:44:39.884
<v Chris>can ingest this and learn from it so when you are building this,

00:44:40.424 --> 00:44:44.144
<v Chris>you're taking something that is vendor agnostic, model agnostic,

00:44:44.324 --> 00:44:46.664
<v Chris>and gateway implementation agnostic.

00:44:46.804 --> 00:44:48.544
<v Wes>And you can change it. They can change it.

00:44:50.323 --> 00:44:54.203
<v Chris>So that's a big difference. It's a big shift. And we're done talking about it,

00:44:54.263 --> 00:44:56.963
<v Chris>but we wanted you to understand it because, man, does it matter.

00:44:59.763 --> 00:45:02.743
<v Chris>Well, no spot, no ad right here. But thank you, members, and thank you,

00:45:02.823 --> 00:45:05.583
<v Chris>boosters. We really do appreciate you for making this show possible.

00:45:06.703 --> 00:45:08.743
<v Chris>You're doing the heavy lifting, that's for sure.

00:45:12.343 --> 00:45:17.763
<v Brent>We got a few little fantastic pieces of feedback this week. Joe sent in this

00:45:17.763 --> 00:45:19.803
<v Brent>awesome case for your ThinkCenter.

00:45:20.023 --> 00:45:28.043
<v Brent>It's a ThinkBox V2 custom 4-bay serial ATA or SAS hard drive NAS that you can print yourself.

00:45:28.603 --> 00:45:32.403
<v Brent>Yes, you heard me. It's a case for your system with a case.

00:45:33.103 --> 00:45:40.723
<v Brent>It's basically, it's a custom 4-bay NAS that the ThinkCenter small form factor PCs just slide into.

00:45:41.023 --> 00:45:44.203
<v Brent>So using an LSI HBA card

00:45:44.203 --> 00:45:47.223
<v Brent>and the powerful brains of are much loved by

00:45:47.223 --> 00:45:51.383
<v Brent>our community m720q or m920q by

00:45:51.383 --> 00:45:54.603
<v Brent>lenovo it leverages many improvements over alternative

00:45:54.603 --> 00:45:58.163
<v Brent>custom nas builds by basically providing

00:45:58.163 --> 00:46:03.343
<v Brent>a stable direct disc pass through with proper air handling reliable drive identification

00:46:03.343 --> 00:46:09.683
<v Brent>the drive bays to the think box also support both serial ata and sas drives

00:46:09.683 --> 00:46:15.683
<v Brent>on a 12 gigabit per second backplane and everything just slides right into this

00:46:15.683 --> 00:46:17.703
<v Brent>thing. This specifically.

00:46:18.804 --> 00:46:22.144
<v Brent>Is exactly what I've been thinking about for the last two weeks.

00:46:22.144 --> 00:46:28.284
<v Brent>And I have to say, Joe, how did you get into my brain? Because I've been deeply

00:46:28.284 --> 00:46:33.844
<v Brent>investigating the M720Qs and all of the possibilities that these little machines

00:46:33.844 --> 00:46:35.644
<v Brent>can do for us, including a NAS.

00:46:36.164 --> 00:46:39.564
<v Brent>And I was like, ah, geez, I really would just want to throw one of these into

00:46:39.564 --> 00:46:44.404
<v Brent>a case. I can support a couple hard drives and here you come along with a version two of this project.

00:46:44.404 --> 00:46:48.584
<v Chris>Doesn't it? It looks OEM, right? It looks mint.

00:46:50.104 --> 00:46:55.504
<v Chris>This is such a great find. Thank you, Joe. He says that he found this and thought

00:46:55.504 --> 00:46:56.824
<v Chris>we would be interested, and boy, was he right.

00:46:57.924 --> 00:47:00.084
<v Wes>Upgrade your pizza box to a cube.

00:47:00.224 --> 00:47:02.544
<v Chris>We will link this in the show notes. I know what I want for Christmas.

00:47:02.944 --> 00:47:08.404
<v Chris>The creator says, Lenovo's use of the coffee-like generation of CPU in the M720Q

00:47:08.404 --> 00:47:13.484
<v Chris>and M920Q line gives access to native hardware transcoding through Intel QuickSync.

00:47:13.944 --> 00:47:18.564
<v Chris>yeah it just it makes for such a nice home media server but it is a little bit

00:47:18.564 --> 00:47:23.464
<v Chris>tight on the storage so that is a great find thanks for sending that in,

00:47:24.537 --> 00:47:29.317
<v Chris>Our buddy Michael Dominick from the Coda Radio podcast has a great giveaway

00:47:29.317 --> 00:47:32.437
<v Chris>going on right now for students. He's calling all students.

00:47:32.637 --> 00:47:35.957
<v Chris>He has an Earth Day open source challenge. If you build something that helps

00:47:35.957 --> 00:47:38.477
<v Chris>the planet, you could win a big prize.

00:47:39.257 --> 00:47:40.937
<v Chris>Some System 76 hardware.

00:47:41.157 --> 00:47:43.057
<v Wes>Oh, hey, we know that. We know that stuff.

00:47:43.177 --> 00:47:46.137
<v Chris>Yeah, so if you've got a kid that's K-12 or even college students that are listening

00:47:46.137 --> 00:47:48.337
<v Chris>to the podcast, the deadline is Earth Day.

00:47:48.797 --> 00:47:51.957
<v Chris>I'll put a link to Mr. Dominick's post about it.

00:47:52.557 --> 00:47:56.117
<v Chris>He's done this. His company, MadBotter Inc., has done this for a while now,

00:47:56.157 --> 00:48:01.397
<v Chris>and they often give away some really nice System76 hardware for this.

00:48:01.497 --> 00:48:03.157
<v Chris>So check that out. We'll have a link in the show notes.

00:48:03.497 --> 00:48:07.837
<v Chris>Code for Climate 2026, the MadBotter Earth Day Open Source Challenge.

00:48:08.417 --> 00:48:09.957
<v Chris>And the deadline is Earth Day.

00:48:10.517 --> 00:48:14.077
<v Chris>You've got to code something up that helps the Earth. Go check it out.

00:48:14.537 --> 00:48:17.757
<v Wes>Ooh, looks like we got a little feedback from our buddy, Only Mike.

00:48:17.877 --> 00:48:18.917
<v Chris>Hey, Olympia Mike!

00:48:20.217 --> 00:48:25.017
<v Wes>Guys, wow. I just wanted to say thanks for sharing my mini computer giveaway.

00:48:25.437 --> 00:48:29.777
<v Wes>I received hundreds of emails from this amazing community with positive messages

00:48:29.777 --> 00:48:31.877
<v Wes>and excitement for some free hardware.

00:48:32.497 --> 00:48:38.317
<v Wes>I had all 35 units claimed in a couple of days and have mailed them all out as fast as I could.

00:48:38.557 --> 00:48:41.837
<v Wes>I'm now on a first name basis with the post office employees.

00:48:42.157 --> 00:48:42.777
<v Brent>I bet.

00:48:43.037 --> 00:48:43.717
<v Chris>I bet.

00:48:43.717 --> 00:48:47.877
<v Wes>I also wanted to say thanks to the many recipients that donated above the shipping

00:48:47.877 --> 00:48:52.057
<v Wes>cost, allowing the Computer Upcycle project to have some extra funds for SSDs

00:48:52.057 --> 00:48:55.077
<v Wes>and power cords to fix more computers.

00:48:55.317 --> 00:48:56.497
<v Chris>Best audience ever.

00:48:56.797 --> 00:49:00.137
<v Wes>This community is literally the best, and I'll be sure to do this again if,

00:49:00.257 --> 00:49:02.297
<v Wes>when, I have more good home server hardware.

00:49:02.557 --> 00:49:05.897
<v Wes>Thanks again, love community. I love you all and cannot wait to see you all

00:49:05.897 --> 00:49:07.057
<v Wes>at LinuxFest Northwest.

00:49:07.357 --> 00:49:08.337
<v Chris>Oh man, Mike, that's great.

00:49:08.437 --> 00:49:08.637
<v Wes>Amen.

00:49:09.177 --> 00:49:12.897
<v Chris>Thank you, Mike. Thank you for the update. Really, I love that.

00:49:12.897 --> 00:49:14.117
<v Chris>I just love the growth of that too.

00:49:14.917 --> 00:49:18.397
<v Chris>It's so great to see and appreciate the updates. You know what I mean? It's very good.

00:49:23.259 --> 00:49:27.399
<v Chris>Well, the dude is definitely abiding this week, and he is coming in with our

00:49:27.399 --> 00:49:31.959
<v Chris>baller boost, 77,777 sats.

00:49:38.919 --> 00:49:42.299
<v Chris>He says, thanks for the wake-up call. I deployed Prometheus and Grafana,

00:49:42.439 --> 00:49:46.579
<v Chris>and now I'm hooking up everything. My TrueNAS, ProxMax, my Unify.

00:49:47.179 --> 00:49:51.459
<v Chris>That's right. And Home Assistant. I have no idea what I'll use all that data for.

00:49:51.639 --> 00:49:54.859
<v Chris>The next step is to set up alerts, I guess. great episode as always and happy

00:49:54.859 --> 00:50:00.099
<v Chris>belated birthday oh thank you the dude yeah uh i have been finding it very useful

00:50:00.099 --> 00:50:03.779
<v Chris>just to monitor disk space and the cpu load on my home assistant those are like

00:50:03.779 --> 00:50:05.779
<v Chris>the main things i have i have basic sort.

00:50:05.779 --> 00:50:07.099
<v Wes>Of metrics and monitoring stuff.

00:50:07.099 --> 00:50:10.479
<v Chris>Stuff that i'm like is this box struggling is it or is it okay.

00:50:10.479 --> 00:50:19.399
<v Wes>Well anonymous comes in with 2021 sets but no sets just the value So also we

00:50:19.399 --> 00:50:22.439
<v Wes>get a boost from Outdoor Geek. 5,000 sets.

00:50:24.619 --> 00:50:26.219
<v Chris>Ooh, Scott, he's hot to trot.

00:50:26.839 --> 00:50:31.919
<v Wes>Open WRT as access point tip. By default, if you connect another router to a

00:50:31.919 --> 00:50:37.979
<v Wes>LAN port of an Open WRT Wi-Fi device, the Open WRT Wi-Fi device will operate as an AP.

00:50:38.399 --> 00:50:42.319
<v Wes>However, if someone fiddles with it and forgets or doesn't know to use LAN port

00:50:42.319 --> 00:50:46.099
<v Wes>versus the LAN, better to configure as AP for permanent installs.

00:50:46.099 --> 00:50:49.279
<v Chris>Good to know. Outdoor geek coming in. Good tip.

00:50:49.379 --> 00:50:52.159
<v Wes>Sounds like maybe you've seen that happen one or two times, huh?

00:50:52.259 --> 00:50:54.099
<v Chris>Brent, did you do this? Are you okay?

00:50:54.339 --> 00:50:57.639
<v Brent>I didn't even know this was possible. I like this little default behavior.

00:50:57.819 --> 00:51:01.219
<v Brent>Although, you know, sometimes these kind of behind-the-scenes behaviors that

00:51:01.219 --> 00:51:04.979
<v Brent>are trying to be helpful can be unhelpful if you don't know they're happening.

00:51:05.539 --> 00:51:09.239
<v Brent>This didn't happen to me because I didn't know this was such a useful feature.

00:51:09.259 --> 00:51:11.059
<v Brent>So maybe I'll try that next time.

00:51:11.119 --> 00:51:11.699
<v Chris>Now you know.

00:51:12.459 --> 00:51:16.279
<v Brent>Well, Zach Attack came in with 4,500 Satoshis.

00:51:19.264 --> 00:51:25.244
<v Brent>It's been a long time. I never stopped listening, but just haven't found funds to send over.

00:51:25.444 --> 00:51:31.304
<v Brent>I'm curious as to how your AI adventures go. So I look forward to the continued reporting on that.

00:51:31.424 --> 00:51:35.604
<v Brent>I've been back on the distro hopping train with one laptop running Nick's book.

00:51:35.904 --> 00:51:41.304
<v Brent>Ooh. And the other running Linux Mint, my main machine staying with Bluefin for now.

00:51:41.424 --> 00:51:45.224
<v Chris>That's interesting fleet you have there. I like that. Good, good testing around,

00:51:45.224 --> 00:51:49.924
<v Chris>You know, so talking about the Asian stuff just a bit more, just briefly, it ain't all great.

00:51:50.715 --> 00:51:51.715
<v Chris>Because, you know.

00:51:52.055 --> 00:51:54.755
<v Wes>Why does your wallet look so thin?

00:51:54.975 --> 00:51:59.355
<v Chris>There's that. I'm basically an alpha tester, right? Because I installed it when it was called Clodbot.

00:51:59.695 --> 00:52:04.235
<v Chris>Then it became Maltbot. Then it became OpenClaw. And then they've had three releases of OpenClaw.

00:52:04.615 --> 00:52:09.115
<v Chris>And the first two releases of OpenClaw completely blew out my sub agents,

00:52:09.135 --> 00:52:13.035
<v Chris>blew out my Mattermost config on the second install.

00:52:13.715 --> 00:52:16.655
<v Chris>I mean, just like and then the stereotypical thing where you're talking to the

00:52:16.655 --> 00:52:19.475
<v Chris>agents like, I've got it figured out now. and then it kills its own gateway

00:52:19.475 --> 00:52:22.995
<v Chris>and then i'm in there repairing the gateway not not.

00:52:22.995 --> 00:52:23.815
<v Wes>Just once on that one.

00:52:23.815 --> 00:52:28.475
<v Chris>No i was getting pretty spicy about it so it hasn't all been great,

00:52:29.075 --> 00:52:32.695
<v Chris>i've definitely learned what i do and don't like about the open claw uh infrastructure

00:52:32.695 --> 00:52:36.315
<v Chris>but uh ultimately the uh

00:52:36.315 --> 00:52:39.375
<v Chris>you know the reality is just that when you are learning

00:52:39.375 --> 00:52:42.195
<v Chris>something when it's really new you learn a bunch you

00:52:42.195 --> 00:52:44.895
<v Chris>have to throw it out you get burned you learn a bunch and then you throw

00:52:44.895 --> 00:52:47.595
<v Chris>it out and you learn again and you learn again and you learn

00:52:47.595 --> 00:52:50.375
<v Chris>again and being an early adopter has a bit of work to

00:52:50.375 --> 00:52:53.615
<v Chris>it but you then at least know the language

00:52:53.615 --> 00:52:57.415
<v Chris>you know the technology you understand the direction you know what's hype versus

00:52:57.415 --> 00:53:03.275
<v Chris>what's actually just practically good and it it actually is valuable to experiment

00:53:03.275 --> 00:53:07.795
<v Chris>with this stuff early on even if it is somewhat personally expensive in time

00:53:07.795 --> 00:53:12.495
<v Chris>and money but i kind of consider it like this is this is my ongoing education,

00:53:13.235 --> 00:53:17.915
<v Chris>And I don't go to college anymore, but I do invest in my ongoing education in

00:53:17.915 --> 00:53:20.515
<v Chris>some of these ways within reasonable means, right?

00:53:20.535 --> 00:53:23.215
<v Chris>I can't go crazy with it, and I sometimes just cut myself off.

00:53:23.375 --> 00:53:26.175
<v Wes>And another reason, we need more local solutions.

00:53:26.355 --> 00:53:30.615
<v Chris>We do. We do. And maybe somebody will even create a better agent framework one

00:53:30.615 --> 00:53:31.695
<v Chris>day. Thank you, Zach Attack.

00:53:32.255 --> 00:53:34.635
<v Chris>Gene Bean's back with 2020 Sats.

00:53:37.016 --> 00:53:40.476
<v Chris>This is happy birthday to JB. Thank you, Gene. Always good to hear from you.

00:53:40.556 --> 00:53:43.676
<v Chris>Hope you're doing good out there. Wonderful to see, Gene, in March.

00:53:43.796 --> 00:53:44.396
<v Wes>I hope so.

00:53:44.476 --> 00:53:45.656
<v Chris>I hope so. I hope so.

00:53:47.016 --> 00:53:50.236
<v Wes>Well, Red 5D comes in with a row of ducks.

00:53:51.596 --> 00:53:55.496
<v Wes>You mentioned the idea of having an agent read the show RSS feed for summaries

00:53:55.496 --> 00:53:59.096
<v Wes>and stuff, but with the size of the RSS data, especially ours,

00:53:59.376 --> 00:54:01.796
<v Wes>that would be a lot of tokens to process.

00:54:01.996 --> 00:54:06.656
<v Wes>So I'd actually recommend using MCP tools to process and search the data first.

00:54:06.656 --> 00:54:11.316
<v Wes>Here's an MCP server that I wrote to handle retrieving episode and transcript

00:54:11.316 --> 00:54:14.916
<v Wes>data from podcasting 2.0 compatible RSS feeds.

00:54:15.136 --> 00:54:17.756
<v Wes>I've really only tested it with JB feeds so far, though.

00:54:17.996 --> 00:54:21.956
<v Chris>Well, that's a big one. The Linux Unplugged one's a little ridiculous, I will admit.

00:54:21.976 --> 00:54:26.696
<v Wes>This is awesome. It's MIT licensed. It's written in Python over on GitHub.

00:54:26.696 --> 00:54:28.196
<v Wes>We will definitely have this in the show notes.

00:54:28.276 --> 00:54:32.676
<v Chris>Yeah, it lets your agent list shows, search episodes, get episodes, and get the transcript.

00:54:33.656 --> 00:54:37.796
<v Chris>So my agent provides me a morning report and it surfaces certain boosts and

00:54:37.796 --> 00:54:41.896
<v Chris>it put red 5Ds right to the top, right to the top.

00:54:41.956 --> 00:54:44.336
<v Chris>And it said it had a specific call out.

00:54:44.696 --> 00:54:48.836
<v Chris>Hey, he created this and this looks really useful. It saved tokens.

00:54:49.316 --> 00:54:50.556
<v Wes>You should let me have it.

00:54:50.616 --> 00:54:54.436
<v Chris>Yeah, that's exactly what Laura said. He's like, I think this would be really

00:54:54.436 --> 00:54:55.616
<v Chris>useful. Let's set this up.

00:54:55.716 --> 00:54:58.856
<v Chris>So it's funny because I have it monitoring the boost just so I can see what people are saying.

00:54:58.856 --> 00:55:02.336
<v Chris>and you know it's good for signal and stuff like that and and and really good

00:55:02.336 --> 00:55:06.976
<v Chris>sense of direction so and but this is the first time where you started surfacing

00:55:06.976 --> 00:55:11.176
<v Chris>interesting bits like this and reds came right to the top so appreciate that

00:55:11.176 --> 00:55:12.576
<v Chris>very very much thank you sir.

00:55:12.576 --> 00:55:17.676
<v Brent>Well turd ferguson boosts in 13,333 sets,

00:55:21.050 --> 00:55:25.810
<v Brent>So let's say you guys were right about agents managing Linux systems in the future.

00:55:26.410 --> 00:55:32.090
<v Brent>Makes you wonder how the big cloud providers would take advantage of a technology like that.

00:55:32.690 --> 00:55:36.750
<v Wes>Yeah, you do wonder, you know, what changes about fleet management and just

00:55:36.750 --> 00:55:41.770
<v Wes>wrangling APIs. And there's already so much YAML to manage in like declarative systems.

00:55:42.050 --> 00:55:47.790
<v Chris>Do they sit on top of like an Ansible and Kubernetes and then go out and deploy things?

00:55:47.790 --> 00:55:52.590
<v Wes>Or do we develop other new agent first things or like whole systems to sort

00:55:52.590 --> 00:55:58.530
<v Wes>of enforce more security layers or more review layers or adversarial layers

00:55:58.530 --> 00:56:02.650
<v Wes>on top of that to make sure like that your change sets are really heavily scrutinized?

00:56:02.810 --> 00:56:08.270
<v Chris>Do you think we would see cloud providers that lean into no AI agentic,

00:56:08.370 --> 00:56:10.530
<v Chris>no agent stuff? Do you think that could be a market?

00:56:14.236 --> 00:56:18.156
<v Brent>I doubt it. They want to take advantage of all of this.

00:56:18.156 --> 00:56:21.776
<v Chris>They do, because it just sells more of their stuff. So they're going to lean in, you're right.

00:56:21.956 --> 00:56:24.636
<v Brent>Well, I opt out of that. That's a good point.

00:56:24.796 --> 00:56:27.376
<v Chris>Okay, all right. Well, there goes that dream. All right. Well,

00:56:27.576 --> 00:56:29.456
<v Chris>that's an interesting question, Turd. Thank you.

00:56:30.096 --> 00:56:34.356
<v Chris>Tomato comes in with a row of ducks, 2,222 sats.

00:56:35.656 --> 00:56:38.576
<v Chris>I love the discussion on the bots and especially the talk with Abe.

00:56:38.736 --> 00:56:41.576
<v Chris>Yeah, that was a lot of fun. Abe's been updating us, too, in the Matrix.

00:56:41.576 --> 00:56:44.936
<v Chris>There's more going on over there in Abeverse.

00:56:45.176 --> 00:56:45.916
<v Brent>Planet of the Abe.

00:56:46.076 --> 00:56:49.276
<v Chris>Mm-hmm. Mm-hmm. I don't want to spoil it, but I'm on, I think,

00:56:49.356 --> 00:56:51.036
<v Chris>the fifth book of Bobverse or fourth book.

00:56:51.116 --> 00:56:51.656
<v Wes>Oh, fun.

00:56:51.876 --> 00:56:57.476
<v Chris>And just a really, like a real, oh, crap moment just went down with AI.

00:56:58.576 --> 00:57:01.836
<v Chris>Fascinating timing on that. Thank you, everybody who boosted the show.

00:57:02.016 --> 00:57:04.456
<v Chris>Those of you who streamed them sats, we had 28 of you stream them,

00:57:04.596 --> 00:57:09.196
<v Chris>and you stacked collectively 38,385 sats amongst y'all.

00:57:09.276 --> 00:57:12.736
<v Chris>Very good job. It's a nice little showing right there. We really do appreciate that.

00:57:13.036 --> 00:57:16.396
<v Chris>When you combine that with our boosters who sent a message, including even those

00:57:16.396 --> 00:57:20.316
<v Chris>that were beloved below, we beloved them, below the 2,000-sat cutoff,

00:57:20.436 --> 00:57:22.956
<v Chris>which we do it for timing. But we read them all. We love them all.

00:57:23.516 --> 00:57:30.316
<v Chris>So our grand total, when you combine it all together, for this episode was 149,531 sats.

00:57:35.618 --> 00:57:39.438
<v Chris>Now, I will say we have some big stuff coming up. We have our trip to scale

00:57:39.438 --> 00:57:41.658
<v Chris>and Planet Nix. We have LinuxFest Northwest.

00:57:41.878 --> 00:57:43.938
<v Chris>There's always a ton of expenses around that.

00:57:44.398 --> 00:57:48.338
<v Chris>And we're always doing it on a really super lean budget. So if you want to boost

00:57:48.338 --> 00:57:51.318
<v Chris>the dip while the sats are cheap and support our upcoming events,

00:57:51.318 --> 00:57:53.978
<v Chris>this could be a great time to get a message on the show.

00:57:54.078 --> 00:57:56.218
<v Chris>Even if you don't have anything that profound to say, if you just want to send

00:57:56.218 --> 00:57:59.178
<v Chris>the value, we'll stack that and use that towards our upcoming trips.

00:57:59.238 --> 00:58:00.738
<v Chris>And we really do appreciate it very much.

00:58:01.258 --> 00:58:05.238
<v Chris>Fountain FM makes it really easy to get started. But there are a bunch of ways,

00:58:05.298 --> 00:58:09.838
<v Chris>including self-hosted ways, they use things like Albi and Podverse and whatnot.

00:58:09.838 --> 00:58:13.878
<v Chris>That's all open source, top to bottom, from the software to the payment infrastructure.

00:58:14.178 --> 00:58:17.038
<v Chris>Thank everybody who supports us, including our members.

00:58:19.358 --> 00:58:24.218
<v Chris>All right. So let's go through these picks because I found one and Brent found

00:58:24.218 --> 00:58:28.878
<v Chris>one. And I think Brent's is going to be really handy for anybody that isn't using a stock ROM.

00:58:29.118 --> 00:58:33.238
<v Brent>I sent this app immediately to Jeff because it fits his personality perfectly.

00:58:33.838 --> 00:58:39.538
<v Brent>This app is called Plexus, and I just found it browsing the FDroid repository,

00:58:39.538 --> 00:58:41.118
<v Brent>as you should do from time to time.

00:58:41.338 --> 00:58:41.538
<v Chris>I do.

00:58:42.698 --> 00:58:43.498
<v Brent>I like that.

00:58:43.818 --> 00:58:47.598
<v Chris>It's calming and fun, which is also why I have like 400 apps on my phone.

00:58:48.118 --> 00:58:51.898
<v Brent>Yeah. You need to also, I think you need a rule. One in, one out, Chris.

00:58:52.078 --> 00:58:53.278
<v Chris>That's a good idea. That's a good idea.

00:58:54.978 --> 00:58:57.458
<v Brent>Plexus provides insights into

00:58:57.458 --> 00:59:03.658
<v Brent>app compatibility using the Google Play services. so it's a crowdsourced,

00:59:05.231 --> 00:59:10.211
<v Brent>I guess, definition of which apps work really well without Google Play services,

00:59:10.751 --> 00:59:17.851
<v Brent>also with the Micro G service, and which apps may or may not encounter issues

00:59:17.851 --> 00:59:19.991
<v Brent>if you have these installed or not.

00:59:20.171 --> 00:59:25.871
<v Brent>So if you're using a custom ROM like Lineage OS or maybe something like Calix

00:59:25.871 --> 00:59:33.211
<v Brent>OS, you can see how compatible your current apps are if you are migrating from one system to another.

00:59:33.431 --> 00:59:34.331
<v Chris>Can I ask you something?

00:59:35.231 --> 00:59:35.751
<v Brent>Oh, yeah, sure.

00:59:36.051 --> 00:59:38.011
<v Chris>Did you give it a go on your Paizo?

00:59:39.031 --> 00:59:40.791
<v Brent>Well, I was really hoping Jeff would do that for me.

00:59:41.071 --> 00:59:42.051
<v Chris>You didn't give it a go.

00:59:42.771 --> 00:59:43.831
<v Brent>No, I didn't give it a go.

00:59:43.831 --> 00:59:47.511
<v Chris>You're a paranoid guy when it comes to this kind of stuff. Not to use the word,

00:59:47.731 --> 00:59:49.051
<v Chris>but you were kind of paranoid.

00:59:49.231 --> 00:59:57.291
<v Brent>I have to report that using Giraffe in OS has considerably changed my level

00:59:57.291 --> 00:59:59.451
<v Brent>of anxiety about this particular problem.

01:00:01.011 --> 01:00:05.711
<v Brent>because Graphene has a sandbox Google Play, and that has softened me.

01:00:05.871 --> 01:00:07.551
<v Brent>And I don't know if that's good.

01:00:07.651 --> 01:00:07.791
<v Chris>Right.

01:00:07.891 --> 01:00:10.631
<v Brent>But I'm going to blame you, Chris, because you brought me on this bandwagon,

01:00:10.631 --> 01:00:15.051
<v Brent>and it's made me way more willing to install apps I would have never done before.

01:00:17.311 --> 01:00:21.171
<v Brent>So maybe the community could tell me whether that was a good idea or if I should

01:00:21.171 --> 01:00:23.411
<v Brent>go back to being a little bit more paranoid.

01:00:23.571 --> 01:00:26.651
<v Chris>I have felt pretty safe about the Giraffe, you know, a sandbox Google stuff

01:00:26.651 --> 01:00:30.711
<v Chris>as well, which is probably why I have 300 apps on my phone. why is.

01:00:30.711 --> 01:00:32.591
<v Brent>It going down how many of them would work without it.

01:00:32.591 --> 01:00:33.751
<v Wes>You said 400 last time.

01:00:33.751 --> 01:00:39.831
<v Chris>I was exaggerating it is i think it's closer to five it is no it is closer to 300 you're.

01:00:39.831 --> 01:00:40.911
<v Brent>Updating let's be terrible.

01:00:40.911 --> 01:00:44.431
<v Chris>Oh no it's the optimizing that's terrible the updating's not so bad because

01:00:44.431 --> 01:00:49.431
<v Chris>that just happens in the background okay so you guys know me i love markdown

01:00:49.431 --> 01:00:54.031
<v Chris>if i could think in markdown i would and i often will write myself a little

01:00:54.031 --> 01:00:57.731
<v Chris>to do for the day just in a text document and i'll just format it in Markdown.

01:00:58.211 --> 01:01:01.911
<v Chris>And I came across an app. I think it's German developers. Anybody have a guess

01:01:01.911 --> 01:01:04.031
<v Chris>on how to pronounce this one? Maybe Brenton, you have a.

01:01:05.088 --> 01:01:08.148
<v Brent>I'm going to go with Reinshrift. Reinshrift to do.

01:01:08.248 --> 01:01:14.508
<v Chris>Reinshrift to do. And it is a Rust, Eduardia app. That's right. That's right.

01:01:15.448 --> 01:01:20.908
<v Chris>That is a front end to very, very simple markdown to do management.

01:01:21.168 --> 01:01:25.868
<v Chris>So if you like to manage your to do's with the markdown, this is a front end

01:01:25.868 --> 01:01:30.448
<v Chris>to it that is designed to connect to a web dev instance, particularly Nextcloud.

01:01:30.448 --> 01:01:33.368
<v Chris>So you could have ongoing sync

01:01:33.368 --> 01:01:37.068
<v Chris>to-do notes formatted in Markdown that just save to any web dev share.

01:01:37.268 --> 01:01:38.328
<v Wes>Oh, that's nice.

01:01:38.528 --> 01:01:43.088
<v Chris>Yeah. Obviously, the idea is to lean into NextCloud, but any web dev share would

01:01:43.088 --> 01:01:45.428
<v Chris>work. You can make it versionable via Git.

01:01:45.848 --> 01:01:50.948
<v Chris>And if you're so inclined, there's an optional download to download a local

01:01:50.948 --> 01:01:56.568
<v Chris>Whisper open source audio model so you can dictate your tasks to the application.

01:01:56.768 --> 01:01:58.248
<v Chris>And it will write them in Markdown for you.

01:01:58.428 --> 01:01:58.828
<v Wes>Nice.

01:01:59.828 --> 01:02:05.148
<v Chris>And it's lean it's mean it could fit on your machine no problem at all and because

01:02:05.148 --> 01:02:08.568
<v Chris>the back end is all text should you decide to stop using it,

01:02:09.896 --> 01:02:11.536
<v Chris>Bob's your uncle. You got your files right there.

01:02:11.536 --> 01:02:15.816
<v Wes>Looks like it's a CC by SA 4.0 license, Rust, Python, JavaScript,

01:02:16.096 --> 01:02:18.256
<v Wes>HTML, all in there. There is a Docker file.

01:02:18.876 --> 01:02:21.336
<v Wes>And no NICs yet, but it's cargo, so that should be easy.

01:02:21.536 --> 01:02:24.756
<v Chris>It is a little bit of all of the above. And you don't often see an app these

01:02:24.756 --> 01:02:28.096
<v Chris>days with the Creative Commons license, but it works.

01:02:28.836 --> 01:02:32.016
<v Chris>So we'll check it in the show notes. We'll chuck it in the show notes for you.

01:02:32.116 --> 01:02:33.896
<v Wes>It's like Plexus is GPL3.

01:02:34.596 --> 01:02:37.156
<v Chris>Yes. Plexus is a good one. Nice find, Brent.

01:02:37.616 --> 01:02:41.196
<v Brent>Okay, I have to say I felt bad about not trying Plexus. So in the time that

01:02:41.196 --> 01:02:45.096
<v Brent>you gave us a second pick, I tried it. And it's pretty fabulous, I've got to say.

01:02:45.416 --> 01:02:50.876
<v Brent>You can just see the entire database of the apps that have been tracked or looked at.

01:02:51.136 --> 01:02:54.136
<v Brent>Or you can just filter by installed apps. So Chris, you can look at your 300

01:02:54.136 --> 01:02:57.716
<v Brent>apps and have a little homework when you're trying to fall asleep.

01:02:58.056 --> 01:03:03.196
<v Brent>It is fabulous. And they rate, kind of like rating video games with how they work on wine.

01:03:03.216 --> 01:03:06.516
<v Brent>It has like silver ratings, gold ratings, that kind of thing for various apps.

01:03:06.516 --> 01:03:10.216
<v Brent>depending on if you're using Micro G or without Google Play services.

01:03:10.496 --> 01:03:12.236
<v Chris>Oh, look, Audiobookshelf is gold. That's nice.

01:03:12.856 --> 01:03:13.396
<v Brent>Mm-hmm.

01:03:14.409 --> 01:03:14.809
<v Chris>Okay.

01:03:15.149 --> 01:03:16.189
<v Brent>I'll be go. Not so great.

01:03:16.589 --> 01:03:21.169
<v Chris>Yeah, well, that's fine by me. In a way, it's a badge of honor, I say.

01:03:22.069 --> 01:03:25.509
<v Chris>The least compatible I am with Google Play, the better. It's a badge of honor.

01:03:25.769 --> 01:03:28.689
<v Chris>So if you'd like to get links to our picks or anything else we've talked about,

01:03:29.249 --> 01:03:33.309
<v Chris>linuxunplugged.com slash 653 is where you go for that.

01:03:33.389 --> 01:03:37.129
<v Chris>In fact, we have a whole bunch of episodes over there. You could say a whole back catalog, perhaps.

01:03:37.789 --> 01:03:41.769
<v Chris>In fact, maybe there's even hidden metadata that they can't see on the website,

01:03:41.769 --> 01:03:43.709
<v Chris>but it lurks in the RSS feed.

01:03:43.709 --> 01:03:48.869
<v Wes>Well, how else would that dope MCP server work if we didn't have fancy podcasting

01:03:48.869 --> 01:03:51.709
<v Wes>2.0 namespace tags for chapters and transcripts?

01:03:51.749 --> 01:03:57.209
<v Chris>That's right. So the chapters are available as high-resolution data. Let's call it that.

01:03:57.269 --> 01:03:57.789
<v Wes>And the JSON.

01:03:58.109 --> 01:04:02.849
<v Chris>Yep, as well as the transcript, also available for you, all in the RSS feed.

01:04:03.029 --> 01:04:08.549
<v Chris>And often a video version of the show is tucked in that RSS feed as well if you go through there.

01:04:08.609 --> 01:04:11.969
<v Chris>And if you've got a podcasting 2.0 app, it just exposes all of that for you.

01:04:11.969 --> 01:04:14.649
<v Wes>Just whisper alternate enclosure to yourself at night.

01:04:15.029 --> 01:04:16.729
<v Chris>And of course, we also stream live.

01:04:20.009 --> 01:04:23.209
<v Chris>Yeah, join us on a Sunday, 10 a.m. Pacific, 1 p.m. Eastern.

01:04:23.449 --> 01:04:26.469
<v Chris>Make it a Tuesday on a Sunday. Hang out with our Mumble crew,

01:04:26.669 --> 01:04:30.969
<v Chris>our Matrix room. Give it that live vibe.

01:04:31.609 --> 01:04:36.049
<v Chris>jblive.tv, jupiterbroadcasting.com slash calendar for your local time.

01:04:36.349 --> 01:04:40.069
<v Chris>And remember, if you want more show, that's how you do it. You feel like you

01:04:40.069 --> 01:04:44.849
<v Chris>need more, there's a bootleg, which is clocking in at a whole lot of extra show right now.

01:04:45.149 --> 01:04:47.189
<v Chris>Oh, my gosh. That's a lot of show.

01:04:47.529 --> 01:04:49.389
<v Chris>All right. Links to everything we talked about. Links to Unplugged.com,

01:04:49.469 --> 01:04:52.449
<v Chris>Matrix Room, all of that details are there. It's a website.

01:04:52.809 --> 01:04:56.149
<v Chris>Thanks so much for joining us on this week's episode of Your Unplugged Program.

01:04:56.369 --> 01:04:58.369
<v Chris>And we'll see you back here next Tuesday.

01:04:59.129 --> 01:05:00.309
<v Chris>As in Sunday.

