WEBVTT

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

00:00:16.033 --> 00:00:16.945
<v Wes>My name is Wes.

00:00:17.345 --> 00:00:18.303
<v Brent>And my name is Brent.

00:00:18.303 --> 00:00:21.933
<v Chris>Hello, gentlemen. Coming up on the show, we'll break down the openness of HFly

00:00:21.933 --> 00:00:23.713
<v Chris>you probably need to know about.

00:00:23.934 --> 00:00:27.493
<v Chris>And then we're going to attack our own systems. In the spirit of finding issues

00:00:27.493 --> 00:00:32.369
<v Chris>before the bad guys do, we're going to go over how to red team your own network for fun and security.

00:00:32.653 --> 00:00:34.830
<v Chris>Then we're going to round out with some great booths, some picks,

00:00:35.602 --> 00:00:38.493
<v Chris>and a lot more. So before we get to all of that, let's say time-appropriate

00:00:38.493 --> 00:00:41.005
<v Chris>greetings to our mobile room. Hello, VirtualLug. Hey, guys.

00:00:43.473 --> 00:00:44.338
<v Wes>Hello, gang.

00:00:44.639 --> 00:00:48.189
<v Chris>Look at those guys. Hello, everybody. And hello up there in the quiet listening.

00:00:48.189 --> 00:00:49.951
<v Chris>Hello to the live Matrix Room. Yeah, we're live.

00:00:50.822 --> 00:00:55.019
<v Chris>We make it a Tuesday on a Sunday over at jblive.tv, and you can get it at jupiterbroadcasting.com

00:00:55.019 --> 00:00:56.365
<v Chris>slash calendar in your time zone.

00:00:57.689 --> 00:00:58.483
<v Brent>My time zone?

00:00:58.750 --> 00:00:59.629
<v Chris>Well, any time zone.

00:00:59.629 --> 00:01:01.966
<v Wes>We never know what time zone you're in. That's why we have the system.

00:01:02.581 --> 00:01:06.479
<v Chris>If we deployed the calendar today, we'd probably say it's using AI to automatically

00:01:06.479 --> 00:01:07.527
<v Chris>determine your location.

00:01:08.409 --> 00:01:10.818
<v Chris>It is, in fact, not. It may be using JavaScript.

00:01:10.946 --> 00:01:13.199
<v Wes>It's, I guess, whatever Google Calendars do it.

00:01:14.040 --> 00:01:17.558
<v Chris>I also want to say good morning to our friends over at Define Networking.

00:01:18.115 --> 00:01:21.869
<v Chris>Go check out Define.net slash unplugged and meet Managed Nebula from Define

00:01:21.869 --> 00:01:26.132
<v Chris>Networking. It's built on the open source Nebula platform. We love it. We use it. It's great.

00:01:26.834 --> 00:01:30.349
<v Chris>Nebula gives you fast encrypted peer-to-peer networking without routing everything

00:01:30.349 --> 00:01:31.641
<v Chris>through somebody else's cloud.

00:01:32.546 --> 00:01:37.819
<v Chris>And it's ready for modern networks. IPv6 is built in with IPv4 or dual stack

00:01:37.819 --> 00:01:43.088
<v Chris>support when you need it. And the technical implementation should be studied.

00:01:43.291 --> 00:01:45.027
<v Chris>I'm telling you, it's great.

00:01:45.288 --> 00:01:48.569
<v Chris>And you can run your own lighthouses, so that way you can define your network.

00:01:48.569 --> 00:01:51.186
<v Chris>You have control of the core of your network.

00:01:51.471 --> 00:01:53.880
<v Chris>And, of course, they'll now provision one for you as well as part of Manage

00:01:54.240 --> 00:01:55.551
<v Chris>Nebula, and you could use Bolt.

00:01:56.636 --> 00:02:00.792
<v Chris>It's huge. It was originally built for Slack, for serious scale, serious privacy.

00:02:01.222 --> 00:02:06.086
<v Chris>And today you can connect up to 100 hosts for free, no credit card required.

00:02:06.464 --> 00:02:08.501
<v Chris>You just go to define.net slash unplug.

00:02:08.937 --> 00:02:14.129
<v Chris>Nothing else offers Nebula's level of resilience, speed, and scalability.

00:02:14.129 --> 00:02:16.919
<v Chris>I am telling you, you're going to be impressed. Get started 100 hosts,

00:02:16.919 --> 00:02:18.788
<v Chris>absolutely free, no credit card required.

00:02:19.682 --> 00:02:23.859
<v Chris>Defined.net slash unplugged. Big thank you to Defined for sponsoring the Unplugged

00:02:23.859 --> 00:02:28.159
<v Chris>program. And go redefine your VPN experience. Control your network destiny at

00:02:28.159 --> 00:02:30.374
<v Chris>Defined.net slash unplugged.

00:02:32.604 --> 00:02:36.662
<v Chris>We now have the schedule for Texas Linux Fest 2026.

00:02:36.865 --> 00:02:40.720
<v Wes>Yeah, you can go check it out if you're curious what talks are on offer.

00:02:41.178 --> 00:02:44.500
<v Wes>For a quick reminder here, it will be at the UT Commons Event Center,

00:02:44.500 --> 00:02:48.600
<v Wes>same place as last year, November 6th through the 7th, 2026.

00:02:48.600 --> 00:02:52.900
<v Chris>Yeah, not October, November 6th through the 7th. And there is early bird pricing

00:02:52.900 --> 00:02:57.918
<v Chris>right now. You do need to buy tickets. That ends soon, very soon.

00:02:58.434 --> 00:03:01.830
<v Chris>So go grab your tickets now and support Texas Linux Fest.

00:03:02.347 --> 00:03:05.170
<v Chris>and we'll have a link to the full schedule. We are still putting together our

00:03:05.170 --> 00:03:09.156
<v Chris>plan. We really, really do want to go. We feel like there's a few of these events.

00:03:09.772 --> 00:03:13.644
<v Chris>Really, there's no other industry that does an event like Texas Linux Fest.

00:03:14.131 --> 00:03:18.485
<v Chris>The Linux community is unique in this where it's community-run, community-organized,

00:03:19.541 --> 00:03:22.677
<v Chris>And it's so more like refreshing and recharging.

00:03:22.677 --> 00:03:26.087
<v Wes>It's such a great time. It's so welcoming. It's so earnest and open.

00:03:26.087 --> 00:03:30.327
<v Chris>Well, how do you describe the difference between this and like a commercial vendor?

00:03:30.327 --> 00:03:31.097
<v Wes>Night and day.

00:03:31.097 --> 00:03:32.617
<v Chris>Night and day, right?

00:03:32.617 --> 00:03:36.550
<v Brent>Like going to see family instead of like some kind of scale work function.

00:03:36.869 --> 00:03:42.967
<v Chris>I could do five. I could do five Texas Linux events to one like Red Hat Summit. You know what I mean?

00:03:44.335 --> 00:03:47.437
<v Chris>It really is a recharger. And so even if you're not a podcaster,

00:03:47.437 --> 00:03:51.227
<v Chris>if you're not in the JB community directly, but you're just kind of in the industry

00:03:51.227 --> 00:03:54.835
<v Chris>or kind of in the Linux space, I think you'll really, really enjoy it if you can make it.

00:03:55.450 --> 00:04:00.067
<v Wes>Well, speaking of beloved Linux conferences, we do have some news on scale as well.

00:04:01.427 --> 00:04:04.867
<v Wes>24x will be taking place next year, but the dates are different.

00:04:04.867 --> 00:04:06.807
<v Wes>Before it's been like early March.

00:04:06.807 --> 00:04:07.157
<v Chris>Yeah.

00:04:07.157 --> 00:04:09.867
<v Wes>Now it's going to be early April. April 1st through the 4th,

00:04:09.867 --> 00:04:12.327
<v Wes>2027 at the Pasadena Convention Center.

00:04:12.327 --> 00:04:16.407
<v Chris>April could be really busy. Yeah. Yep, at the Pasadena Convention Center.

00:04:17.387 --> 00:04:19.577
<v Chris>And they do have their call for presentations going now.

00:04:19.577 --> 00:04:24.202
<v Wes>Yeah, open now. So closes November 1st. You've got a little while, but don't sleep on it.

00:04:24.771 --> 00:04:27.348
<v Chris>And then last but not least, really, Nix Vegas.

00:04:27.685 --> 00:04:32.287
<v Wes>Yeah, so Nix Vegas and DEFCON 34 just wrapped up. I was lucky enough to go last

00:04:32.287 --> 00:04:33.356
<v Wes>year, had a wonderful time.

00:04:33.600 --> 00:04:37.207
<v Wes>And they did it again this year. Another fantastic looking badge and a great

00:04:37.207 --> 00:04:40.577
<v Wes>set of talks. And it seems like an even more impressive setup because they've

00:04:40.577 --> 00:04:43.977
<v Wes>already got those talks turned around and up on YouTube. So if you want to go

00:04:43.977 --> 00:04:45.268
<v Wes>check them out, please do.

00:04:45.570 --> 00:04:46.499
<v Chris>Links in the notes.

00:04:48.873 --> 00:04:54.888
<v Chris>All right, so OpenSSH 10.5 has come out, and it's A, an important update that

00:04:54.888 --> 00:05:01.450
<v Chris>you probably need to install, but B, I think it sort of shows us the shape of things to come.

00:05:01.601 --> 00:05:06.038
<v Chris>It is perhaps an example of what's probably going to be more and more common.

00:05:06.038 --> 00:05:09.408
<v Chris>So, Mr. Payne, as best you can, can you kind of tell us what's going on and

00:05:09.408 --> 00:05:10.998
<v Chris>why they had to release 10.5 this week?

00:05:10.998 --> 00:05:15.698
<v Wes>Yeah, the big bit here is around SSH agent forwarding, which maybe you've done,

00:05:15.698 --> 00:05:19.158
<v Wes>right, where you have like an SSH agent to handle how you handle your keys.

00:05:19.158 --> 00:05:22.688
<v Wes>Maybe you got a fancy YubiKey or something or you just got a key with a password

00:05:22.688 --> 00:05:23.597
<v Wes>and all of that kind of going.

00:05:24.178 --> 00:05:27.368
<v Wes>But you want to be able to use that throughout a network, right?

00:05:27.368 --> 00:05:30.058
<v Wes>So like you're going to one box and then you want to be able to still use your

00:05:30.058 --> 00:05:33.558
<v Wes>agent to be able to answer cryptographic questions further down the chain.

00:05:33.998 --> 00:05:38.145
<v Wes>So that's where SSH agent forwarding comes in. Well, there was an interaction

00:05:38.394 --> 00:05:43.068
<v Wes>between agent locking and OpenSSH's session binding that could allow certain

00:05:43.068 --> 00:05:48.428
<v Wes>operations that were supposed to stay local happen remotely through a forwarded agent.

00:05:48.428 --> 00:05:48.814
<v Chris>Uh-oh.

00:05:48.994 --> 00:05:56.017
<v Wes>Yeah, this included adding PKCS11 tokens and in some cases using destination-restricted keys.

00:05:56.951 --> 00:06:01.970
<v Wes>The SSH client also, the update for it also fixes a potential use after free bug.

00:06:01.970 --> 00:06:07.110
<v Wes>And on the server side, they've fixed the restrict option in authorized keys.

00:06:07.110 --> 00:06:12.885
<v Wes>So it now properly applies to tunnel forwarding too. So more work in the tunnel area.

00:06:13.419 --> 00:06:16.124
<v Wes>Worth noting though, tunnel forwarding is still disabled by default.

00:06:16.490 --> 00:06:18.890
<v Wes>So it only applies if you've actually explicitly turned it on.

00:06:18.890 --> 00:06:20.230
<v Wes>Though plenty of people do.

00:06:20.230 --> 00:06:22.289
<v Chris>Yeah, yeah. Guilty.

00:06:22.411 --> 00:06:27.010
<v Wes>And then, furthermore, OpenSSH says it's seen, surprise, surprise,

00:06:27.010 --> 00:06:31.734
<v Wes>not really, they're seeing a surge in AI-assisted vulnerability reports.

00:06:32.077 --> 00:06:35.410
<v Wes>Now, of course, a lot of them don't really hold up under realistic threat models.

00:06:35.410 --> 00:06:36.721
<v Wes>You kind of fill out the details.

00:06:37.600 --> 00:06:41.730
<v Wes>But they do explicitly say findings backed by human analysis,

00:06:41.730 --> 00:06:44.296
<v Wes>test cases, and fixes are welcome.

00:06:44.952 --> 00:06:48.050
<v Wes>And perhaps more interestingly, they've seen vulnerabilities first found with

00:06:48.050 --> 00:06:51.718
<v Wes>AI, later independently discovered by other researchers.

00:06:52.369 --> 00:06:56.580
<v Chris>So two notes to that, Wes. Number one is it's sort of this double-edged sword

00:06:56.580 --> 00:07:00.200
<v Chris>that we continue to see with AI contributions is,

00:07:01.035 --> 00:07:09.150
<v Chris>maybe you get 10 crappy slop reports and then you get one or two genuinely important security reports.

00:07:09.150 --> 00:07:13.710
<v Chris>And they still have to go through those 10 or 11 slop reports to get that one genuine.

00:07:13.710 --> 00:07:17.590
<v Wes>And figuring out how to do that well and at scale is now a new open problem.

00:07:17.590 --> 00:07:25.780
<v Chris>But also, it seems likely that the genuinely good reports will increase as things

00:07:25.780 --> 00:07:29.630
<v Chris>like KimiK3 and DeepSeek4 become more prevalent in the community.

00:07:29.630 --> 00:07:33.570
<v Wes>Yeah, the signals and noise should get better as model capability and our techniques get better.

00:07:33.570 --> 00:07:33.880
<v Chris>Yeah.

00:07:33.880 --> 00:07:34.774
<v Wes>You would hope.

00:07:34.942 --> 00:07:39.230
<v Chris>Yeah, yeah. So there, but that doesn't mean they see less submissions, right?

00:07:39.230 --> 00:07:43.150
<v Chris>So they're going to have this – and OpenSSH is one of many that are going to

00:07:43.150 --> 00:07:48.130
<v Chris>have this accelerated issue of if one LLM with one guy can find it,

00:07:48.130 --> 00:07:50.580
<v Chris>then another gal with another LLM is going to find it. And it's almost –,

00:07:51.572 --> 00:07:55.667
<v Chris>It could almost be an assumed that if an LLM found that bug,

00:07:55.667 --> 00:07:58.985
<v Chris>it's almost public at that point. So there's sort of an urgency in which they have to move.

00:07:59.148 --> 00:08:02.067
<v Wes>Yeah, and especially because we've seen like with Bitcoin projects,

00:08:02.067 --> 00:08:06.127
<v Wes>I think OpenSSH is another one, right, where it's independently maintained,

00:08:06.127 --> 00:08:11.547
<v Wes>not a huge team, and is like a high leverage tool where if you can own that,

00:08:11.547 --> 00:08:13.266
<v Wes>then you can really get everywhere.

00:08:14.357 --> 00:08:17.627
<v Wes>They do also say that as, you know, and I wonder if we'll see this more because

00:08:17.627 --> 00:08:20.797
<v Wes>it's kind of a stress test of the whole like software delivery pipeline.

00:08:21.177 --> 00:08:24.597
<v Wes>They are talking about doing release fixes, releasing fixes more frequently.

00:08:24.597 --> 00:08:27.137
<v Chris>Yeah, faster release cadence because of this problem.

00:08:27.197 --> 00:08:28.231
<v Wes>Which is probably a good idea.

00:08:29.525 --> 00:08:34.357
<v Chris>Maybe. I mean, it doesn't mean that the rail boxes and Ubuntu LTS boxes up there

00:08:34.357 --> 00:08:35.795
<v Chris>are going to get updated any sooner. No.

00:08:36.265 --> 00:08:39.417
<v Wes>But hopefully it means we do have to polish that and pay us more attention.

00:08:39.417 --> 00:08:42.827
<v Wes>It's a good excuse to invest in securing that entire pipeline.

00:08:42.827 --> 00:08:45.327
<v Wes>And I mean, you're right. It doesn't mean anyone actually does the updates,

00:08:45.327 --> 00:08:46.457
<v Wes>but at least maybe they're there.

00:08:46.457 --> 00:08:49.923
<v Chris>Maybe it forces people to adopt a system that can update more frequently.

00:08:50.707 --> 00:08:54.017
<v Brent>I would imagine this updated release cadence, though, puts a lot of pressure

00:08:54.017 --> 00:09:00.018
<v Brent>on these projects to push forward in a pace they haven't previously seen.

00:09:00.169 --> 00:09:04.906
<v Brent>And so is that sustainable long term? I sure hope so, because we need it more than ever.

00:09:05.138 --> 00:09:06.490
<v Wes>I think that's an open question, too.

00:09:07.309 --> 00:09:11.197
<v Chris>Yeah. And could there be more security mistakes that slip in if you're going

00:09:11.197 --> 00:09:13.317
<v Chris>faster? There's always that concern as well.

00:09:13.985 --> 00:09:18.170
<v Chris>And it's, I think, isn't just an open SSH story, like we've said.

00:09:18.640 --> 00:09:22.337
<v Chris>We're really discovering bugs that have sat quietly for years getting discovered

00:09:22.337 --> 00:09:27.731
<v Chris>now because a machine that just has unlimited patience can go through and find these things.

00:09:29.119 --> 00:09:32.509
<v Chris>So we're going to see, I think, more projects with more frequent security releases.

00:09:33.013 --> 00:09:35.692
<v Chris>They're going to have to have some sort of continuous scanning themselves and

00:09:35.692 --> 00:09:37.229
<v Chris>some sort of assisted triage.

00:09:38.129 --> 00:09:42.724
<v Chris>And you may see some of these projects. Would you be surprised,

00:09:43.259 --> 00:09:48.494
<v Chris>to find like an maybe not OpenSSH, but a project like OpenSSH have a daily branch

00:09:48.796 --> 00:09:53.161
<v Chris>that a company like maybe Red Hat and Canonical and others are ingesting?

00:09:53.598 --> 00:09:56.502
<v Chris>they're running their own checks against it and they're shipping those patches

00:09:56.502 --> 00:09:59.924
<v Chris>as fast as possible to their customers after they've done a pass for quality checks.

00:10:00.673 --> 00:10:05.412
<v Chris>You could see like these LTS distros getting a faster stream of software to

00:10:05.412 --> 00:10:06.438
<v Chris>resolve some of this stuff.

00:10:07.320 --> 00:10:11.542
<v Chris>So I think it doesn't look like an isolated incident. And it reminds me of a

00:10:11.542 --> 00:10:16.892
<v Chris>talk just a couple of weeks ago that OpenAI gave at Black Hat 2026.

00:10:16.892 --> 00:10:22.422
<v Chris>And this was just a few days after it became public that OpenAI's testing models

00:10:22.422 --> 00:10:26.302
<v Chris>had breached hugging faces systems and it's a good talk willing to the whole

00:10:26.302 --> 00:10:28.538
<v Chris>talk. I thought it was surprisingly candid.

00:10:28.734 --> 00:10:29.622
<v Wes>Yeah. Refreshing.

00:10:29.622 --> 00:10:34.642
<v Chris>Uh, very technical and, um, some stuff I think is new.

00:10:34.642 --> 00:10:37.482
<v Chris>Some stuff in here is novel and there's a bit in here.

00:10:37.482 --> 00:10:42.082
<v Chris>That's one of their takeaways is that as these models advance and as agents

00:10:42.082 --> 00:10:45.875
<v Chris>begin to work together, which is something that led to this breach,

00:10:46.550 --> 00:10:50.122
<v Chris>uh, you're going to have to have a different speed in which you respond to,

00:13:29.213 --> 00:13:33.121
<v Chris>Wes made an implication of this earlier, but this has been really pronounced

00:13:33.121 --> 00:13:36.381
<v Chris>over in the Bitcoin community recently as that's sort of been the front line

00:13:36.381 --> 00:13:39.851
<v Chris>because you compromise a Bitcoin wallet, you can steal somebody's funds,

00:13:39.851 --> 00:13:41.251
<v Chris>you immediately get the reward.

00:13:41.251 --> 00:13:46.741
<v Chris>And so it's been going through the Bitcoin community almost like locusts,

00:13:46.741 --> 00:13:50.281
<v Chris>just going from one project after the other, stealing funds and whatnot as they

00:13:50.281 --> 00:13:52.659
<v Chris>use these tools, mostly via Kimmy K3,

00:13:53.628 --> 00:13:58.272
<v Chris>to find weaknesses in projects like by scanning GitHub repos and exploiting those.

00:13:58.736 --> 00:14:01.561
<v Wes>Yeah. The other thing that kind of stuck out with some of these recent quote

00:14:01.561 --> 00:14:04.646
<v Wes>unquote escapes or just the various stories we've been talking about is just,

00:14:05.279 --> 00:14:10.101
<v Wes>that it's not really like suddenly all security principles are thrown out the window.

00:14:10.101 --> 00:14:14.491
<v Wes>If anything, it means things like defense in depth and like knowing where you're,

00:14:14.491 --> 00:14:16.821
<v Wes>you know, what your threat vectors are and like what you're actually trying

00:14:16.821 --> 00:14:20.051
<v Wes>to protect and why and having a good understanding of what's going on with your

00:14:20.051 --> 00:14:21.821
<v Wes>systems is more important than ever.

00:14:21.821 --> 00:14:24.435
<v Wes>I mean, there is a component of being able to find more zero days,

00:14:24.830 --> 00:14:30.321
<v Wes>but a lot of this is also the orchestration side, being able to go from doing

00:14:30.321 --> 00:14:34.781
<v Wes>a scan to actually executing through to getting a persistent vector or getting

00:14:34.781 --> 00:14:35.741
<v Wes>through the network or whatever.

00:14:35.741 --> 00:14:39.541
<v Chris>Yeah, like in the case of the OpenAI exploit, they took advantage of a package

00:14:39.541 --> 00:14:42.491
<v Chris>manager that was connected to the internet that had exploits,

00:14:42.491 --> 00:14:47.121
<v Chris>and then they took advantage of a web dev share that was available to do agent coordination.

00:14:47.441 --> 00:14:51.114
<v Chris>So they didn't create those exploits. They took advantage of those things,

00:14:51.572 --> 00:14:52.971
<v Chris>which they can be very good at.

00:14:53.267 --> 00:14:56.901
<v Chris>You're right. So if they had proper isolation and proper security on the OpenAI

00:14:56.901 --> 00:14:58.683
<v Chris>network, these things would have never gotten out.

00:14:58.794 --> 00:15:01.341
<v Wes>Yeah, there's just ways you could design it if you're really trying to do this

00:15:01.341 --> 00:15:05.621
<v Wes>in a hardened way from the get-go, though that would surely slow you down.

00:15:05.621 --> 00:15:08.921
<v Chris>Of course, I guess the silver lining or maybe the steel man,

00:15:08.921 --> 00:15:12.211
<v Chris>it would be as the models get more advanced, they have to come up with new and

00:15:12.211 --> 00:15:14.653
<v Chris>more sophisticated ways to isolate them, perhaps.

00:15:15.140 --> 00:15:17.480
<v Chris>But when you look into the root cause, it is.

00:15:18.698 --> 00:15:19.528
<v Chris>There was mistakes made.

00:15:19.632 --> 00:15:23.286
<v Wes>And, you know, it's not like necessarily there's, we will see different zero

00:15:23.286 --> 00:15:25.066
<v Wes>day rates across different projects.

00:15:25.106 --> 00:15:30.046
<v Wes>And there's been, you know, and a big part of this is sort of an economic thing

00:15:30.046 --> 00:15:32.026
<v Wes>of there's one part of like, what is the frontier?

00:15:32.166 --> 00:15:35.976
<v Wes>What is the, you know, you can pop novel software quickly sort of aspect.

00:15:35.976 --> 00:15:40.026
<v Wes>But then just the other side is you just now have this market to be able to

00:15:40.446 --> 00:15:43.013
<v Wes>buy the automation on demand for the rest of it.

00:15:43.228 --> 00:15:47.436
<v Wes>yeah and i think that just sort of changes what which low-hanging fruit now

00:15:47.436 --> 00:15:49.166
<v Wes>becomes economic to actually attack.

00:15:49.166 --> 00:15:54.156
<v Chris>Yeah now it's can you afford the credits the token credits and uh can you you

00:15:54.156 --> 00:15:56.066
<v Chris>know are you creative of what project you pointed out etc.

00:15:56.546 --> 00:15:59.816
<v Wes>Yeah and that's where i think there's also then on the defensive side as we

00:15:59.816 --> 00:16:01.119
<v Wes>kind of heard a little bit there is,

00:16:01.648 --> 00:16:03.522
<v Wes>like we're going to talk a little bit about maybe what you can do with your

00:16:03.661 --> 00:16:06.446
<v Wes>your home lab or things like that but we also need to figure out how we can

00:16:06.446 --> 00:16:11.606
<v Wes>invest at scale for the free and open source communities because projects are

00:16:11.606 --> 00:16:13.455
<v Wes>going to need resources on the defensive side.

00:16:13.750 --> 00:16:17.216
<v Chris>Yeah, so I figured it was worth time figuring out how we could,

00:16:17.216 --> 00:16:22.026
<v Chris>as they say, red team ourselves to try to figure out where we have low-hanging fruit.

00:16:22.026 --> 00:16:25.906
<v Chris>Because my suspicion is, and I don't like making this forecast,

00:16:25.906 --> 00:16:28.123
<v Chris>but I suspect likely that,

00:16:28.576 --> 00:16:32.456
<v Chris>a lot of the free software we rely on for infrastructure is going to get poked

00:16:32.456 --> 00:16:37.497
<v Chris>at pretty soon because that's the same infrastructure banks rely on, e-commerce relies on.

00:16:37.793 --> 00:16:40.636
<v Chris>A lot of money rides on top of the Linux stack.

00:16:40.636 --> 00:16:43.736
<v Wes>It's embedded in the industry in innumerable places.

00:16:43.736 --> 00:16:46.716
<v Chris>Yeah, and then there's monitoring and spying. If you pop, there's all kinds

00:16:46.716 --> 00:16:49.455
<v Chris>of advantages to popping the stuff that we rely on every single day.

00:16:50.175 --> 00:16:54.262
<v Chris>So I'm sort of operating under the assumption that once they get done having

00:16:54.262 --> 00:16:57.321
<v Chris>their fun with the Bitcoiners, they're kind of coming for the rest of us.

00:16:57.669 --> 00:17:00.402
<v Chris>And you're starting to see it a little bit with OpenSSH. That makes sense.

00:17:00.402 --> 00:17:01.559
<v Chris>That'd be another low-hanging fruit.

00:17:01.971 --> 00:17:05.262
<v Chris>The other one that could be fun if you want to do a little homework is Apple

00:17:05.262 --> 00:17:09.782
<v Chris>released a patch for remote desktop. And now, you know, the AI-assisted reverse

00:17:09.782 --> 00:17:12.432
<v Chris>engineering made it possible for them to go out and chase every single Mac that

00:17:12.432 --> 00:17:15.096
<v Chris>hasn't been patched now. And so now there's a cat and mouse game playing out.

00:17:15.456 --> 00:17:17.424
<v Chris>That's happening right now as we record this episode.

00:17:17.935 --> 00:17:21.792
<v Chris>So how do you protect yourself? It seems like it's clanker versus clanker.

00:17:21.792 --> 00:17:25.972
<v Chris>It's like some sort of horrible sci-fi novel where you need to have a defensive

00:17:25.972 --> 00:17:27.896
<v Chris>clanker that's checking your own systems.

00:17:28.237 --> 00:17:35.523
<v Chris>And so I built a red team agent that has been hacking our infrastructure literally all week long.

00:17:44.277 --> 00:17:49.462
<v Brent>Chris, you alluded to attacking your own infrastructure, which I would imagine

00:17:49.462 --> 00:17:53.676
<v Brent>revealed a few things. But A, how and B, why?

00:17:55.353 --> 00:17:58.848
<v Chris>All right. You know, the why is just to try to catch stuff.

00:17:59.260 --> 00:18:03.329
<v Chris>Also, you know, just try to get a sense of what it needs to be retired first.

00:18:03.666 --> 00:18:07.712
<v Chris>Last week, we talked about retiring our node box. And so I figured before we

00:18:07.712 --> 00:18:12.592
<v Chris>take it offline, let's attack it and see how vulnerable and risky it really

00:18:12.592 --> 00:18:14.916
<v Chris>was to have that thing in production. So you can get a sense of that.

00:18:15.265 --> 00:18:17.892
<v Chris>It could be nice to run it against your VPSs. I want to stress that this is

00:18:17.892 --> 00:18:21.322
<v Chris>for really to audit your own stuff, to make sure you're safe.

00:18:21.322 --> 00:18:23.026
<v Chris>And that's really the intention of all of this.

00:18:23.322 --> 00:18:26.592
<v Wes>And also to kind of get a sense of what kind of automation was out there in

00:18:26.592 --> 00:18:32.002
<v Wes>terms of, you know, like we can run Nmap or a couple commands ourselves,

00:18:32.002 --> 00:18:34.312
<v Wes>but like, can we take it to the next level?

00:18:34.312 --> 00:18:37.952
<v Chris>You could totally just, you could do a lot of this with some port scanning and

00:18:37.952 --> 00:18:41.542
<v Chris>identifying the versions of stuff and then going looking up that version with

00:18:41.542 --> 00:18:43.963
<v Chris>CVEs it has. I was like, you could do this manually.

00:18:44.515 --> 00:18:50.360
<v Chris>I wanted to be able to go to my agent data and say, data, attack this system and give me a full audit.

00:18:50.540 --> 00:18:54.852
<v Chris>And what it would do is it would initiate some of those basics,

00:18:54.852 --> 00:18:56.839
<v Chris>like an NMAP and a ping and all that kind of stuff.

00:18:57.344 --> 00:19:01.772
<v Chris>Identify what services are open and what versions of them. And then based on

00:19:01.772 --> 00:19:04.536
<v Chris>that, look up the CVEs and then proceed to try to exploit them.

00:19:04.948 --> 00:19:06.846
<v Chris>And then if it gets that far, give me a report.

00:19:07.386 --> 00:19:11.107
<v Chris>And so to accomplish that, I'm using a project. There's a lot of them out there.

00:19:12.210 --> 00:19:13.209
<v Chris>Don't do as I do.

00:19:15.461 --> 00:19:20.409
<v Chris>I'm using a project called Hextrike AI. And it's essentially a collection of

00:19:20.409 --> 00:19:25.849
<v Chris>MCPs with behind it 150 different security tools and a bunch of different autonomous

00:19:25.849 --> 00:19:28.864
<v Chris>AI subagents that can do these tasks.

00:19:29.699 --> 00:19:35.429
<v Chris>And it's pretty conventional in the execution order, but actually pretty great

00:19:35.429 --> 00:19:41.559
<v Chris>in the document, discovery, discovery, documentation, authorization for more advanced attacks.

00:19:42.739 --> 00:19:50.269
<v Chris>So Hextrike is both a very powerful tool but can also be a foot gun because

00:19:50.269 --> 00:19:54.806
<v Chris>of the types of tools it's using. They're moving so fast, the tools themselves often have exploits.

00:19:55.712 --> 00:19:59.379
<v Chris>So you have to build this in a way where it's extremely isolated because there

00:19:59.379 --> 00:20:03.107
<v Chris>is conceivably a possibility where these types of tools can be turned back around on yourself.

00:20:03.879 --> 00:20:09.586
<v Chris>So I spent quite a bit of time designing this in a way where it was completely offline and isolated.

00:20:09.754 --> 00:20:13.269
<v Chris>individual components would be spun up on demand continue to be isolated,

00:20:13.269 --> 00:20:18.209
<v Chris>operated with wrappers and the MCPs and so underneath it there's a really really

00:20:18.209 --> 00:20:21.840
<v Chris>good set of tools, one of them is called Nuclei, N-U-C-L-E-I,

00:20:23.161 --> 00:20:26.408
<v Chris>which does a lot of the CVE heavy lifting, SQL map.

00:20:26.828 --> 00:20:30.488
<v Chris>Oh, Nuclei, yeah. Oh, yeah, thank you. Hydra's in there, Hashcat's in here,

00:20:30.988 --> 00:20:37.038
<v Chris>NetExec, various DNS tools, web exploits, framework exploits, binary analysis tools.

00:20:37.038 --> 00:20:37.912
<v Wes>Fuzzers.

00:20:38.126 --> 00:20:43.678
<v Chris>Yeah, there's a lot of really good stuff in here. And what I wanted is I wanted

00:20:43.678 --> 00:20:48.778
<v Chris>something that was essentially on demand for my agent, that I could have a system

00:20:48.778 --> 00:20:50.008
<v Chris>that then they would give me a report.

00:20:50.608 --> 00:20:54.189
<v Chris>It would be documented in a particular place every single time,

00:20:54.624 --> 00:20:56.354
<v Chris>and I would get a summary in Telegram.

00:20:56.807 --> 00:21:02.828
<v Chris>And so the idea was is I want to do an attack by prompt is kind of what I was

00:21:02.828 --> 00:21:04.968
<v Chris>going for. And I know you looked at this, Wes.

00:21:04.968 --> 00:21:08.438
<v Wes>Oh, yeah. I got a sort of – I'm curious to see how similar our setups were.

00:21:08.438 --> 00:21:14.038
<v Chris>Well, okay. So I went pretty wild. I will admit I blew way too much time on

00:21:14.038 --> 00:21:18.076
<v Chris>this. I literally started this project when I got home from the show last week.

00:21:18.581 --> 00:21:19.328
<v Wes>You can cook it.

00:21:19.328 --> 00:21:22.179
<v Chris>And I finished it this morning while we were doing the stream.

00:21:23.148 --> 00:21:24.648
<v Wes>Yeah, during the pre-show as far as I saw.

00:21:25.928 --> 00:21:28.438
<v Chris>But I went way over complicated because I wanted to isolate.

00:21:28.438 --> 00:21:30.086
<v Chris>I wanted to integrate it with my Hermes agent.

00:21:30.742 --> 00:21:31.658
<v Wes>Oh, yeah, that's nice.

00:21:31.658 --> 00:21:34.978
<v Chris>If you just ran it standalone with the MCP tools like through open code,

00:21:34.978 --> 00:21:36.758
<v Chris>I think it would be a much leaner, faster setup.

00:21:36.758 --> 00:21:38.008
<v Wes>Yeah, so that's what I basically did.

00:21:38.008 --> 00:21:38.658
<v Chris>Tell me about this.

00:21:38.658 --> 00:21:43.678
<v Wes>Yeah, I stood up Kali VM because Hextrike doesn't provide the tools.

00:21:43.678 --> 00:21:46.428
<v Wes>It just like runs them and orchestrates them and makes them available,

00:21:46.428 --> 00:21:47.744
<v Wes>services them to the agent.

00:21:48.209 --> 00:21:51.118
<v Wes>and I just figured like half of these are already in Cali and the rest are in

00:21:51.118 --> 00:21:54.108
<v Wes>easy repos or easy to run on Cali because it's all designed on that,

00:21:55.168 --> 00:22:00.348
<v Wes>so I got that spun up in just a quick QEMU VM and then have forwarded some ports

00:22:00.348 --> 00:22:05.989
<v Wes>there to wire up SSH access for the agent as well as the MCP server back and then,

00:22:06.669 --> 00:22:08.024
<v Wes>Yeah, kind of just kicked it off from there.

00:22:08.024 --> 00:22:12.816
<v Chris>I think VM is a really good approach. You know, that keeps it as isolated as you kind of can.

00:22:13.514 --> 00:22:16.171
<v Wes>Yeah, and then I chose to connect it up with a mesh network,

00:22:16.537 --> 00:22:19.764
<v Wes>a quick little nebula network, and then I could just kind of add some groups

00:22:19.764 --> 00:22:22.074
<v Wes>that I could add it into. And so I knew just like, okay, well,

00:22:22.074 --> 00:22:23.246
<v Wes>whatever I'm actually going to target.

00:22:23.386 --> 00:22:25.634
<v Wes>Like, obviously, you're not going to do the full, like, layer two,

00:22:25.634 --> 00:22:28.964
<v Wes>like, all the complicated, but for sort of scanning what services were running

00:22:28.964 --> 00:22:30.694
<v Wes>and that kind of thing, it was perfect.

00:22:30.694 --> 00:22:33.694
<v Chris>Right, for really, which is what a remote attacker is going to go after,

00:22:33.694 --> 00:22:38.264
<v Chris>right? Like my analysis going in is what is somebody who's not familiar with

00:22:38.264 --> 00:22:41.344
<v Chris>the LAN, somebody who's remote likely going to get maybe they've somehow got

00:22:41.344 --> 00:22:43.904
<v Chris>on the Wi-Fi or the LAN, but they're not really intricately familiar with it.

00:22:43.904 --> 00:22:45.554
<v Chris>So I think that accomplishes that.

00:22:45.554 --> 00:22:48.084
<v Wes>And then obviously in another situation, like if I was trying to scan like a

00:22:48.084 --> 00:22:51.074
<v Wes>public VPS of mine, then I would attack it through that interface or whatever.

00:22:51.074 --> 00:22:55.514
<v Chris>I like the, you know, Mesh Network Nebula, just put the host on there that you're scanning.

00:22:56.354 --> 00:22:59.804
<v Wes>A lot of this too was like I was learning how to use this tool, right?

00:22:59.804 --> 00:23:03.104
<v Wes>So it's like I didn't really want, I wasn't, I haven't got as far as like,

00:23:03.104 --> 00:23:06.634
<v Wes>this is like a trusted tool that I know well, right? So I kind of wanted to

00:23:06.634 --> 00:23:08.924
<v Wes>have some known good hosts I could attack and be like, okay,

00:23:08.924 --> 00:23:12.954
<v Wes>this is stuff that even if something goes wrong is fine and I have backups of and all the rest.

00:23:12.954 --> 00:23:15.884
<v Chris>So one of the nice things about Hextrike is because it is essentially,

00:23:15.884 --> 00:23:18.956
<v Chris>like Wes said, it's orchestrating established tools, but you can have...

00:23:19.611 --> 00:23:23.548
<v Chris>it is aware of like these are critical like financially important systems or

00:23:23.548 --> 00:23:26.461
<v Chris>production important systems and this is a box i can bang on.

00:23:26.704 --> 00:23:30.598
<v Wes>And it comes with it seems like a lot of prompts that it it provides with as

00:23:30.598 --> 00:23:33.698
<v Wes>you as you run through the tools and integrate with it that kind of shape that

00:23:33.698 --> 00:23:37.318
<v Wes>too so it's very the resulting system just out of the box is pretty careful

00:23:37.318 --> 00:23:40.548
<v Wes>around like i'm only going to do this with authorization and like you know are

00:23:40.548 --> 00:23:41.448
<v Wes>we checking the boxes and.

00:23:41.448 --> 00:23:43.638
<v Chris>One of the things i spent a lot of time was reducing ceremony.

00:23:43.638 --> 00:23:44.088
<v Wes>That was the.

00:23:44.088 --> 00:23:47.168
<v Chris>Term i had to keep using is like it wants you to sign with a key here wants

00:23:47.168 --> 00:23:49.618
<v Chris>you to open up a markdown document initially and put your name in there and

00:23:49.618 --> 00:23:54.478
<v Chris>a date like it is serious about authorizing stuff i'm like no no no no no i

00:23:54.478 --> 00:23:55.138
<v Chris>don't want to do any of that.

00:23:56.078 --> 00:23:59.488
<v Wes>So i did do like some some initial tests so like it was doing nmap it was doing

00:23:59.488 --> 00:24:03.158
<v Wes>some curls against stuff it was using a fuzzer to attack just sort of basic

00:24:03.158 --> 00:24:08.535
<v Wes>ports and web services it was using nuclei um yeah it did some ssfrf probes

00:24:08.866 --> 00:24:10.311
<v Wes>the it didn't find too much because.

00:24:10.428 --> 00:24:11.238
<v Chris>Everything's up to date.

00:24:11.238 --> 00:24:14.788
<v Wes>Right yeah it's like a nix os box yeah up to date but uh it did the thing that

00:24:14.788 --> 00:24:16.874
<v Wes>it would have found if it was a problem uh

00:24:17.278 --> 00:24:21.418
<v Wes>is it did immediately latch on that i have an llm gateway yeah there right and

00:24:21.418 --> 00:24:24.178
<v Wes>it was like uh you know you have like pretty much all your stuff i can't get

00:24:24.178 --> 00:24:27.608
<v Wes>the actual key data but i can get every all the rest of the metadata about the

00:24:27.608 --> 00:24:29.538
<v Wes>key and i can see all your models and i can send requests,

00:24:30.438 --> 00:24:35.038
<v Wes>but it did try like fuzz insert uh sir xng didn't find anything there so good

00:24:35.038 --> 00:24:38.938
<v Wes>good and then as a parallel request i was checking out um the new

00:24:39.358 --> 00:24:42.918
<v Wes>meta model uh muse glimmer that they released because that was their first open

00:24:42.918 --> 00:24:46.468
<v Wes>weight model for a while and this is before we set up Hextrike.

00:24:46.468 --> 00:24:49.162
<v Wes>So I just had that run and trying to do,

00:24:49.644 --> 00:24:53.102
<v Wes>Because a bunch of these tools are also in Nix packages. So I did a separate

00:24:53.102 --> 00:24:55.982
<v Wes>attempt with an unknown model. So it was kind of a mixed bag.

00:24:55.982 --> 00:24:59.242
<v Wes>But to just see like, well, if I just give you some of the basic tools that

00:24:59.242 --> 00:25:02.392
<v Wes>you would want anyway, how far can you get on the same thing?

00:25:02.392 --> 00:25:02.722
<v Chris>Sure.

00:25:02.943 --> 00:25:06.222
<v Wes>And kind of similar results, not as rich, not as well structured,

00:25:06.222 --> 00:25:10.512
<v Wes>but it did get, it did find basically the same thing. It was telling though, because one of the...

00:25:10.712 --> 00:25:13.272
<v Chris>This is using the meta self-hosted model?

00:25:13.272 --> 00:25:17.752
<v Wes>Yes. And I was running it on a rented RTX A6000.

00:25:17.752 --> 00:25:22.302
<v Wes>um one issue with that model is it seems to be kind of high with hallucinations

00:25:22.302 --> 00:25:26.702
<v Wes>and oh after doing a review like it did all of the stuff it just definitely

00:25:26.702 --> 00:25:30.232
<v Wes>did some exaggerating in the report so it's another like you're gonna if you're

00:25:30.232 --> 00:25:32.652
<v Wes>going to use this kind of automation definitely apply,

00:25:33.112 --> 00:25:35.062
<v Wes>sort of good techniques to cut down that kind of.

00:25:35.062 --> 00:25:38.512
<v Chris>I'd be curious if you tried one of the distilled kimmy k3 models where they've

00:25:38.512 --> 00:25:41.609
<v Chris>left in all the cybers offensive defensive stuff.

00:25:42.195 --> 00:25:45.887
<v Wes>Good idea that could be some some follow-up yeah yeah i did try like a whole

00:25:46.079 --> 00:25:50.578
<v Wes>crisscross of models i put in the doc deep seek memo quen's nematron so i was,

00:25:51.228 --> 00:25:54.462
<v Wes>i drove a few of this with a bunch of them just to see which ones would refuse

00:25:54.462 --> 00:25:55.702
<v Wes>and which ones would actually i got.

00:25:55.702 --> 00:26:00.992
<v Chris>I got constant refusal from um gpt constant refusal like it as soon as it realized

00:26:00.992 --> 00:26:05.062
<v Chris>it was dealing with a cyber security tool it would bail it could build all the

00:26:05.062 --> 00:26:06.744
<v Chris>scaffolding and all the configs,

00:26:07.534 --> 00:26:10.792
<v Chris>but when it kind of like dug in and realized, oh, no, this is a tool for hacking,

00:26:10.792 --> 00:26:12.612
<v Chris>it would stop the whole session.

00:26:13.443 --> 00:26:19.439
<v Chris>So I have to give a huge shout out to Minimax M3 thinking, not only is that

00:26:19.439 --> 00:26:24.629
<v Chris>sucker an open source model, but like never said no, never said no.

00:26:24.629 --> 00:26:28.499
<v Chris>Now, it's not the most clever model, but it's a hell of a worker.

00:26:28.499 --> 00:26:32.369
<v Chris>And it had no problem driving some of this for me when GPT would say no.

00:26:32.369 --> 00:26:34.509
<v Chris>And I'm trying to do self-defense here. I'm not trying to attack anybody.

00:26:34.509 --> 00:26:35.589
<v Chris>I'm just trying to do self-defense.

00:26:36.170 --> 00:26:40.802
<v Chris>Also, I got to try Grok 4.6 for like 15 minutes before I ran out of usage.

00:26:41.284 --> 00:26:46.319
<v Chris>And that also had no problem. and boy did it cook so yeah i like that you tried

00:26:46.319 --> 00:26:48.749
<v Chris>the different models i also use deep seek for a lot.

00:26:48.941 --> 00:26:52.929
<v Wes>Yeah i think the only one of the like uh open ones or you know that non-frontier

00:26:52.929 --> 00:26:57.229
<v Wes>class was like high three that refused me on one part of that yeah it was kind

00:26:57.229 --> 00:27:00.289
<v Wes>of surprising um but the rest of them yeah it was all totally fine.

00:27:01.358 --> 00:27:04.645
<v Chris>Yeah, the bouncing around sort of stunk. So one of the things I built into my

00:27:04.645 --> 00:27:07.965
<v Chris>Hermes system is when it begins, so normally it's being,

00:27:09.225 --> 00:27:12.105
<v Chris>it's like, it might be on, if it's on a GPT model, when it begins a process,

00:27:12.105 --> 00:27:15.105
<v Chris>it has to switch over to Minimax, or if it's really going deep,

00:27:15.105 --> 00:27:18.255
<v Chris>it could go, yeah, actually, it has a, it drops to DeepSeek,

00:27:18.255 --> 00:27:20.445
<v Chris>and if DeepSeek's slow or unavailable, it uses Kimi K3.

00:27:20.445 --> 00:27:20.985
<v Wes>Oh, nice.

00:27:20.985 --> 00:27:22.235
<v Chris>Yeah, it's got like a whole-

00:27:22.265 --> 00:27:22.735
<v Wes>A little tiered.

00:27:22.735 --> 00:27:26.365
<v Chris>System. I love it. Yeah, yeah. So just as a recap, you kind of have these goals,

00:27:26.365 --> 00:27:29.058
<v Chris>these attack goals, these audit goals that you give Hextrike,

00:27:29.481 --> 00:27:33.645
<v Chris>and then you task the agent to go off and perform one of those audit goals.

00:27:33.645 --> 00:27:37.185
<v Chris>Hextrike runs all of the various tools, orchestrates all of the stuff you've

00:27:37.185 --> 00:27:38.955
<v Chris>heard about for years, plus stuff you've never heard of.

00:27:39.367 --> 00:27:44.095
<v Chris>If it finds something, it then sort of can kick off a next layer.

00:27:44.095 --> 00:27:48.017
<v Chris>So there's a level one pass, a level two pass, and that level three pass,

00:27:48.255 --> 00:27:51.245
<v Chris>it can actually go in there and try to exploit stuff if you've given it permission

00:27:51.245 --> 00:27:53.166
<v Chris>to do that and investigate further.

00:27:53.775 --> 00:27:59.155
<v Chris>So that is sort of the setup I wanted. And I figured we could do a little demo if you want.

00:27:59.155 --> 00:27:59.987
<v Wes>Yeah, we should.

00:28:00.138 --> 00:28:04.102
<v Chris>You want to try it? See how it goes? So I have it ready to go.

00:28:04.945 --> 00:28:10.445
<v Chris>I will say that for time I'm not going to do the most extensive,

00:28:10.445 --> 00:28:12.269
<v Chris>right? Because there's 150 different tools in here.

00:28:12.687 --> 00:28:15.725
<v Chris>All of this. So the way this kicks off is I prompt my agent,

00:28:15.725 --> 00:28:19.519
<v Chris>my Hermes agent data to access the,

00:28:19.995 --> 00:28:25.215
<v Chris>system the hex strike system via a set of mcps and then it has a separate set

00:28:25.215 --> 00:28:28.895
<v Chris>of wrappers i've created to sort of audit and monitor the process and then it

00:28:28.895 --> 00:28:32.331
<v Chris>generates a markdown report and it saves it to a sync thing directory

00:28:32.760 --> 00:28:37.404
<v Chris>that will sync to my computer so when we're done we'll get the high level results sound good boys

00:28:37.834 --> 00:28:39.587
<v Chris>are you ready here we go,

00:29:11.779 --> 00:29:14.426
<v Chris>Oh, yeah, I forgot to mention it. It plays a little thinking music while it

00:29:14.426 --> 00:29:15.806
<v Chris>scans. That's how I roll.

00:29:16.026 --> 00:29:16.306
<v Wes>Mandatory.

00:29:16.306 --> 00:29:17.096
<v Brent>It's a nice touch.

00:29:17.096 --> 00:29:20.256
<v Chris>Thank you. Thank you. So, all right. So here we got our report.

00:29:20.256 --> 00:29:24.539
<v Chris>This is the box we retired last week. It's still online because it's finishing up some work.

00:29:25.497 --> 00:29:29.566
<v Chris>And it's not a perfect report. I think I could have turned it up a little bit

00:29:29.566 --> 00:29:30.953
<v Chris>and had to be a little more aggressive.

00:29:31.679 --> 00:29:35.319
<v Chris>So we don't have any, like, massive vulnerabilities standing out here.

00:29:36.102 --> 00:29:40.259
<v Chris>But it discovered 10 TCP services were reachable and tested remotely.

00:29:40.775 --> 00:29:45.146
<v Chris>and it discovered that OpenSSH identifies itself as 8.2p1.

00:29:45.797 --> 00:29:47.526
<v Wes>That doesn't sound modern.

00:29:47.735 --> 00:29:53.372
<v Chris>And NGINX identifies itself as 117.18. Cockpit is well behind as well.

00:29:54.429 --> 00:29:56.426
<v Chris>Here's the one I thought you might find interesting though, Wes.

00:29:57.854 --> 00:30:01.917
<v Chris>Port 3000 leaks an application stack trace to an unauthenticated scanner.

00:30:03.206 --> 00:30:03.838
<v Wes>What's that?

00:30:07.094 --> 00:30:11.266
<v Chris>A malformed basic http request produces a 500 internal survey or the response

00:30:11.266 --> 00:30:16.869
<v Chris>exposes the internal paths including app utils proxy js app utils safe handler js

00:30:17.270 --> 00:30:21.176
<v Chris>and expresses router internals it even reveals the failing operation cannot

00:30:21.176 --> 00:30:23.040
<v Chris>read properties of undefined reading ends with,

00:30:24.387 --> 00:30:27.836
<v Chris>so it's sort of an information disclosure error handling weakness it discovered

00:30:27.836 --> 00:30:31.046
<v Chris>that would be a little interesting to push on potentially like you read what's

00:30:31.046 --> 00:30:34.486
<v Chris>on 3000 so you could come back one of the things you could do this report is

00:30:34.486 --> 00:30:36.986
<v Chris>say all right come back and let's push on that right because you get.

00:30:36.986 --> 00:30:38.016
<v Wes>Things you can go drill down.

00:30:38.016 --> 00:30:42.546
<v Chris>On if it seems worthwhile it kind of it kind of critiques the uh bitcoin lightning

00:30:42.546 --> 00:30:49.846
<v Chris>setup we have for uh hey for responding to network requests anything is jump

00:30:49.846 --> 00:30:51.496
<v Chris>out anything jump out at you wes,

00:30:54.460 --> 00:30:58.080
<v Chris>It gave us a one-sentence takeaway. The audit found a surprisingly broad and

00:30:58.080 --> 00:31:01.760
<v Chris>somewhat chatty surface, including admin, Bitcoin, Lightning,

00:31:01.760 --> 00:31:05.200
<v Chris>and RPC interfaces. But the part designed to determine whether any of this actually

00:31:05.200 --> 00:31:08.980
<v Chris>is vulnerable and failed, it failed because we didn't do the actual deeper scan.

00:31:09.460 --> 00:31:13.187
<v Chris>So the strongest conclusion is interesting exposure, incomplete security assessment,

00:31:13.431 --> 00:31:14.772
<v Chris>no vulnerabilities detected yet.

00:31:15.631 --> 00:31:18.940
<v Chris>So then it gives us a list of what we could do next here, five further steps

00:31:18.940 --> 00:31:23.967
<v Chris>to drill in deeper here, and get Nuselli giving us a complete working vulnerability report.

00:31:24.118 --> 00:31:27.580
<v Chris>Nuselli completes the report, but sometimes it doesn't complete in time,

00:31:27.580 --> 00:31:30.270
<v Chris>so it doesn't get included. And then we also...

00:31:30.440 --> 00:31:33.400
<v Wes>Oh, yeah, I think that was one thing I saw, the bot identify with Hextrite,

00:31:33.400 --> 00:31:35.740
<v Wes>some timeouts weren't always handled kind of that great.

00:31:35.740 --> 00:31:38.346
<v Chris>Yeah, yeah. So there's a little bit you have to fix in there.

00:31:38.915 --> 00:31:43.385
<v Chris>Also, it suggests we renew or rotate some of our TLS certificates before September 6th.

00:31:43.582 --> 00:31:48.780
<v Wes>And I think that also speaks to this, to like, it's kind of nice just from understanding

00:31:48.780 --> 00:31:51.780
<v Wes>what all is happening, especially on a box like this that's like just been kind

00:31:51.780 --> 00:31:55.190
<v Wes>of off in the corner right checking up on things especially you could go poke

00:31:55.190 --> 00:31:57.200
<v Wes>around like your whole tail net and check things out.

00:31:57.200 --> 00:31:57.840
<v Chris>There or.

00:31:57.840 --> 00:31:58.611
<v Wes>You know whatever.

00:31:58.780 --> 00:32:01.850
<v Chris>Right once the bulk of getting hex strike set up and depending how you do it

00:32:01.850 --> 00:32:04.194
<v Chris>it could be a really quick thing or it could be a week-long thing,

00:32:04.670 --> 00:32:08.240
<v Chris>um but then the end of thing is like all right go check this box go audit it

00:32:08.240 --> 00:32:11.380
<v Chris>for me and then you can have a produce report that's consumable for yourself

00:32:11.380 --> 00:32:14.626
<v Chris>or a team of people just depends on what your audience is so that's all manageable,

00:32:15.357 --> 00:32:18.360
<v Chris>um and there is a few things in here like we need to get open ssh if we were

00:32:18.360 --> 00:32:19.462
<v Chris>going to keep this box online,

00:32:20.440 --> 00:32:23.590
<v Chris>my immediate takeaways are we would have to update we would have to update open

00:32:23.590 --> 00:32:25.342
<v Chris>ssh nginx and cockpit and,

00:32:26.381 --> 00:32:30.830
<v Chris>we'd probably want to look at this json rpc service on 5 000 or 50 000 or whatever

00:32:30.830 --> 00:32:34.770
<v Chris>it is and the service on 3 000 we probably need to figure out what those are

00:32:34.770 --> 00:32:36.464
<v Chris>this http thing that we're leaking.

00:32:37.440 --> 00:32:42.380
<v Wes>It does at least seem uh like it makes sense given what the box is.

00:32:42.380 --> 00:32:42.660
<v Chris>Which is.

00:32:42.660 --> 00:32:46.360
<v Wes>A crazy smattering of docker composed containers with a whole bunch of different ports.

00:32:46.900 --> 00:32:50.855
<v Chris>And those paths are umbral paths that it's exposing through that port 3000.

00:32:52.080 --> 00:32:56.114
<v Chris>So that, you know, right there, if I were putting my old hat on back in the

00:32:56.114 --> 00:32:58.614
<v Chris>day when I was getting hired to do these security audits with tools that were

00:32:58.614 --> 00:33:01.944
<v Chris>way less cooler than this, that would be the number one thing I would go.

00:33:02.404 --> 00:33:04.999
<v Chris>I'd go knock on that port 3000 a lot more and figure out what's going on there,

00:33:05.864 --> 00:33:09.854
<v Chris>because it's revealing the internal structure of the entire frickin' Umbral

00:33:09.854 --> 00:33:12.279
<v Chris>setup, which is where the Bitcoin node lives.

00:33:12.842 --> 00:33:15.464
<v Chris>So that's a pretty juicy reveal right there. And if you knew going in,

00:33:15.844 --> 00:33:18.684
<v Chris>like I do, the Umbral app structure, I would immediately recognize that.

00:33:20.569 --> 00:33:25.044
<v Chris>So machine or not, right? I could take this report. I could take it further. Or the other thing.

00:33:25.084 --> 00:33:29.204
<v Wes>That's what's kind of great, right? Like you don't need to just rely on the,

00:33:29.664 --> 00:33:33.281
<v Wes>like it can just be a tool that you can use. It could be a tool to like work together.

00:33:33.456 --> 00:33:35.834
<v Wes>You can learn a bunch of how the tools work and drive it yourself.

00:33:35.834 --> 00:33:39.454
<v Chris>The Hermes system, this is why I wanted to integrate it. The Hermes system knows what this system is.

00:33:39.454 --> 00:33:44.134
<v Chris>It knows what this box's role is. It's important. So it, it knows like in a

00:33:44.134 --> 00:33:47.864
<v Chris>way that makes it very useful because it, first of all, before it even scanned

00:33:47.864 --> 00:33:51.024
<v Chris>this node, I never told any, it just, Hey, this is an important economic machine.

00:33:51.024 --> 00:33:54.514
<v Chris>Do we want to be careful? Like it knew all of that, right? But it also knows

00:33:54.514 --> 00:33:59.484
<v Chris>Umbral's on there. So it can use all of this information to inform its attack.

00:34:00.122 --> 00:34:03.176
<v Chris>So it's really, if you have an agent system that's managing infrastructure,

00:34:03.542 --> 00:34:06.484
<v Chris>you can stand this up alongside of it. It can use that information to essentially

00:34:06.484 --> 00:34:08.499
<v Chris>go be a chaos monkey under your control.

00:34:08.841 --> 00:34:13.509
<v Chris>And you can turn up the heat depending if you just want port knocking and pinging, you can do that.

00:34:13.886 --> 00:34:17.164
<v Chris>But if you want like CVE identification and then go and try to exploit it,

00:34:17.164 --> 00:34:18.698
<v Chris>you can do that, right? You can turn it all the way up.

00:34:19.744 --> 00:34:22.504
<v Chris>But I do think it is something that's kind of a more advanced tool that people

00:34:22.504 --> 00:34:25.589
<v Chris>need to be extremely careful with. But –,

00:34:26.814 --> 00:34:30.133
<v Chris>looking at this open ssh situation right like now i could go point this at some

00:34:30.133 --> 00:34:31.980
<v Chris>of our github code repos or something like that.

00:34:32.149 --> 00:34:34.873
<v Wes>Yeah that'd be the next thing that i was kind of get trying to get set up for

00:34:34.873 --> 00:34:37.673
<v Wes>but haven't yet would be would be trying to get the bot tooled up to go see

00:34:37.673 --> 00:34:40.217
<v Wes>if it could find things like a zero day or

00:34:40.566 --> 00:34:44.053
<v Wes>issue in code or especially if you compare right you have the metadata report

00:34:44.053 --> 00:34:48.043
<v Wes>so you know what versions are running on whatever boxes you're trying to check out so then

00:34:48.423 --> 00:34:52.901
<v Wes>it can go clone that exact version and then go check through it and run tests or you know set up,

00:34:53.459 --> 00:34:56.953
<v Wes>uh that version running locally to hit against as it develops a theory that kind of.

00:34:56.953 --> 00:35:00.103
<v Chris>Thing i think if you want to just play with it your setup you know where you

00:35:00.103 --> 00:35:04.563
<v Chris>had a cali vm really straightforward got it going probably within an hour i would.

00:35:04.563 --> 00:35:06.063
<v Wes>Imagine yeah it was pretty it was pretty easy.

00:35:06.063 --> 00:35:09.803
<v Chris>Yeah uh and so that's how i want to try this and see what it tells me see what

00:35:09.803 --> 00:35:11.383
<v Chris>i can figure out with this for.

00:35:11.383 --> 00:35:14.413
<v Wes>Me obviously it would be a little more work like if i i need to set up like

00:35:14.413 --> 00:35:17.143
<v Wes>proper bridge networking or put it like if i was trying to do it proper like

00:35:17.143 --> 00:35:19.523
<v Wes>on a land or you know corporate environment or something like that it'd be more

00:35:19.523 --> 00:35:22.807
<v Wes>work but because i was doing a pretty minimal test run it made it easy.

00:35:22.935 --> 00:35:26.323
<v Chris>Yeah and it's you can do it all the way if you want you could turn up all the

00:35:26.323 --> 00:35:29.553
<v Chris>way there's a lot of tools out there to do this kind of thing so if you have

00:35:29.553 --> 00:35:32.483
<v Chris>any suggestions boost.jupiterbroadcasting.com and let us know.

00:35:32.483 --> 00:35:35.317
<v Wes>Yeah because we could we could only talk about some yeah yeah.

00:35:36.224 --> 00:35:37.624
<v Brent>I have a couple questions for you, gents.

00:35:37.624 --> 00:35:38.173
<v Chris>Go for it!

00:35:38.774 --> 00:35:43.594
<v Brent>You mentioned Kali was an important tool to use as a base for this research.

00:35:43.894 --> 00:35:46.154
<v Chris>I actually just pulled as much as I could from Nick's packages,

00:35:46.154 --> 00:35:48.084
<v Chris>but Wes, I think, has a nice cheat code there.

00:35:48.914 --> 00:35:53.854
<v Brent>Yeah, my curiosity there is Kali was the golden goose for doing this previously

00:35:53.854 --> 00:35:57.191
<v Brent>because it sort of collected all these tools in a place that you could use them.

00:35:57.690 --> 00:36:02.131
<v Brent>And that sounds a lot like what Hextrike is doing. It's collecting a bunch of

00:36:02.467 --> 00:36:03.854
<v Brent>at least tool knowledge.

00:36:04.194 --> 00:36:07.024
<v Brent>It's not providing the tools themselves, but that's kind of trivial at this point.

00:36:07.599 --> 00:36:12.690
<v Brent>And so is this sort of the new Cali that people are going to go to or these tools at least?

00:36:13.350 --> 00:36:16.386
<v Chris>I mean, I think it might be fair. Or the next wave, right? Like how we've seen,

00:36:16.996 --> 00:36:20.564
<v Chris>this is a really stretched analogy, right? But we see a whole lot of people

00:36:20.564 --> 00:36:24.867
<v Chris>generating songs and pictures that could never make music or take a great picture before, right?

00:36:25.349 --> 00:36:27.784
<v Chris>So now I think you're going to see a lot of people. And you see a lot of people

00:36:27.784 --> 00:36:32.014
<v Chris>making some good review PRs, some bad PRs.

00:36:32.774 --> 00:36:37.854
<v Chris>You see a lot more code getting generated. So what you have now is if you know

00:36:37.854 --> 00:36:42.468
<v Chris>just a little bit about your network, you now have a system that can operate the tools for you.

00:36:43.252 --> 00:36:48.679
<v Chris>This is both enabling and also risky. It's a double-edged sword.

00:36:48.679 --> 00:36:50.926
<v Wes>It has more leverage, so there's more leverage.

00:36:51.152 --> 00:36:55.799
<v Chris>So before it took an understanding of how to orchestrate and stack these tools

00:36:55.799 --> 00:36:58.799
<v Chris>together, like you needed to have a sense of, oh, there's something like you

00:36:58.799 --> 00:36:59.899
<v Chris>would do an end map yourself.

00:37:00.213 --> 00:37:03.979
<v Chris>You would see that port 3000 yourself. You would go try to poke at it with Telnet

00:37:03.979 --> 00:37:05.582
<v Chris>or throw some curls at it or whatever.

00:37:06.121 --> 00:37:08.719
<v Chris>And then you would just have that instinct and you would use additional tools

00:37:08.719 --> 00:37:10.779
<v Chris>to drill down and go do the searching you need to do.

00:37:10.779 --> 00:37:13.599
<v Wes>There's various workflows you've learned, right? Attack patterns,

00:37:13.599 --> 00:37:16.239
<v Wes>processes that human experts have developed over the years.

00:37:16.239 --> 00:37:19.129
<v Chris>Now this thing's doing it for you. It can do it dynamically.

00:37:19.129 --> 00:37:21.371
<v Chris>It can be updated every single week.

00:37:21.528 --> 00:37:24.499
<v Chris>And it can do it at scale.

00:37:24.919 --> 00:37:30.718
<v Chris>So the real trick now is the knowledge about it, how to set it up, that kind of knowledge.

00:37:31.007 --> 00:37:36.069
<v Chris>And then the budget to spend the tokens on some API or local model.

00:37:36.069 --> 00:37:38.399
<v Chris>Like there are distilled models now that can do this locally.

00:37:38.399 --> 00:37:42.438
<v Chris>Like there's a Quen model that runs locally. even on laptops that can do this.

00:37:42.756 --> 00:37:46.479
<v Chris>And there is that Kimi K3 model that can run on some reasonably powerful local

00:37:46.479 --> 00:37:48.161
<v Chris>systems now that's distilled that can do this.

00:37:48.445 --> 00:37:52.241
<v Chris>These are open source and local. There's also lots available via the APIs.

00:37:52.519 --> 00:37:55.265
<v Chris>So if you have access to hardware or you can pay for API credits,

00:37:55.515 --> 00:37:59.079
<v Chris>you essentially have access to this now. That's the barrier now.

00:38:00.746 --> 00:38:03.475
<v Brent>Can we talk about your token budget this week?

00:38:05.830 --> 00:38:06.119
<v Chris>Really?

00:38:07.359 --> 00:38:08.479
<v Brent>I know it's not in the doc.

00:38:08.479 --> 00:38:10.119
<v Chris>But like- You're going to shame me like that?

00:38:10.119 --> 00:38:11.068
<v Brent>It's important.

00:38:11.351 --> 00:38:16.019
<v Chris>So, you know, I have not really had to pay a lot for tokens recently because

00:38:16.339 --> 00:38:18.822
<v Chris>I find Minimax to be extremely useful.

00:38:19.799 --> 00:38:24.289
<v Chris>And it gets me really, really far. However, to get this over the hump,

00:38:24.289 --> 00:38:27.372
<v Chris>I did end up pulling in some Kimi K3 and some Grok.

00:38:27.930 --> 00:38:32.939
<v Chris>And so to build this for my system, I spent my budget on this,

00:38:32.939 --> 00:38:39.743
<v Chris>I guess you could say, I guess, was $43.90. And that was 716.4 million tokens.

00:38:41.027 --> 00:38:48.821
<v Chris>So it's not a cheap thing, but for me, $43, $45 to now to be able to audit JB

00:38:48.821 --> 00:38:53.808
<v Chris>infrastructure on demand in a report style that I can share with you guys.

00:38:53.971 --> 00:38:58.001
<v Wes>And a lot of that, I imagine, was the setup and tuning that would be amortized

00:38:58.001 --> 00:39:00.461
<v Wes>over each individual scan, which would not be that much. And you can probably

00:39:00.461 --> 00:39:01.691
<v Wes>drive with not the Premiere model.

00:39:02.111 --> 00:39:05.801
<v Chris>100%, because once you have the structure, Minimax is totally capable of handling

00:39:05.801 --> 00:39:07.403
<v Chris>it, and I can basically run that forever.

00:39:07.885 --> 00:39:13.061
<v Chris>um but yeah you you wanted you wanted something a little more advanced to build

00:39:13.061 --> 00:39:16.685
<v Chris>out the structure and get this thing right and so some kimmy in there some grok in there,

00:39:17.475 --> 00:39:21.051
<v Chris>probably oh yeah lots of deep seek lots of deep seek but deep seek's pretty

00:39:21.051 --> 00:39:24.551
<v Chris>cheap that worked and then mine's all using podman containers that spin up and

00:39:24.551 --> 00:39:27.981
<v Chris>then disappear when they're done and stuff like that um and then like with the

00:39:27.981 --> 00:39:28.934
<v Chris>different levels of gating.

00:39:29.433 --> 00:39:30.291
<v Wes>Oh that's fun.

00:39:30.291 --> 00:39:32.452
<v Chris>Mm-hmm. Mm-hmm. Mm-hmm.

00:39:33.451 --> 00:39:37.551
<v Brent>I'm curious, what's the next step then? Like, are you going to push this further

00:39:37.551 --> 00:39:43.631
<v Brent>and look at all the boxes on the JB network? Are you going to put it aside for

00:39:43.631 --> 00:39:47.001
<v Brent>a second until you reassess whether you put enough controls in?

00:39:47.011 --> 00:39:50.621
<v Chris>I'm going to tweak the reporting a bit and the timeout issue a little bit so

00:39:50.621 --> 00:39:51.941
<v Chris>I can get more information in the report.

00:39:51.941 --> 00:39:56.091
<v Chris>But then what I think it's probably best to point at the boxes that are sort

00:39:56.091 --> 00:39:59.791
<v Chris>of on the top of our list to retire and kind of just make a priority list based

00:39:59.791 --> 00:40:03.621
<v Chris>on these findings and just sort of use that data to derive our decisions to

00:40:03.621 --> 00:40:04.767
<v Chris>sort of shore up infrastructure.

00:40:05.051 --> 00:40:08.081
<v Wes>Yeah, that and maybe whatever the few maximally exposed things are.

00:40:08.081 --> 00:40:13.361
<v Chris>Yeah. And hopefully, you know, find stuff before we get to a point where this

00:40:13.361 --> 00:40:16.321
<v Chris>stuff is getting widely exploited. And we, you know, we don't really want to

00:40:16.321 --> 00:40:20.061
<v Chris>be in a position where once a week or every few days we're SSHing into these

00:40:20.061 --> 00:40:21.031
<v Chris>boxes and updating them.

00:40:21.071 --> 00:40:21.311
<v Brent>Right.

00:40:21.491 --> 00:40:24.881
<v Chris>And if we do get to that point, we want to have a fleet that's lean enough that it's manageable.

00:40:25.119 --> 00:40:30.553
<v Wes>And probably reset up in a declarative, repeatable way so that that becomes a more sane task.

00:42:21.281 --> 00:42:24.356
<v Brent>Got a bunch of beautiful feedback this week, and we're going to start with Nathan.

00:42:24.834 --> 00:42:29.177
<v Brent>Nathan says, literally just discovered this podcast, and you happen to mention

00:42:29.177 --> 00:42:32.443
<v Brent>Trek, which has been my recent obsession.

00:42:32.768 --> 00:42:34.947
<v Brent>I'm currently planning my honeymoon with it.

00:42:34.947 --> 00:42:35.567
<v Chris>Oh, cool.

00:42:35.567 --> 00:42:37.077
<v Brent>Oh, he means the tool.

00:42:37.077 --> 00:42:43.319
<v Chris>Not the show. Yeah, not Star Trek. No. The collaborative road trip and travel planning.

00:42:44.167 --> 00:42:48.757
<v Brent>Okay. I'm currently planning my honeymoon, congratulations, with it,

00:42:48.757 --> 00:42:54.152
<v Brent>and it's been a dream compared to my normal spreadsheet slash calendar workflow for trips.

00:42:54.791 --> 00:42:59.427
<v Brent>It comes with a built-in MCP, so I hooked it up to my LOM setup, and I've been doing,

00:43:00.007 --> 00:43:04.917
<v Brent>some research that way to try and find some spots off the beaten path and working

00:43:04.917 --> 00:43:09.477
<v Brent>them into the trip plan to include travel time, cluster locations,

00:43:09.477 --> 00:43:11.149
<v Brent>proximity to our hotels.

00:43:11.904 --> 00:43:16.367
<v Brent>It's a super polished app. I haven't tested out the collaborative features yet,

00:43:16.367 --> 00:43:18.127
<v Brent>but they all seem quite promising.

00:43:18.527 --> 00:43:22.567
<v Brent>figured I'd write in to give the Trek recommendation a plus one.

00:43:22.567 --> 00:43:27.142
<v Brent>Now off to download the backlog of the show because, well, it seems super cool.

00:43:27.837 --> 00:43:32.737
<v Chris>You know, you can plug on all kinds of like travel APIs to those agents as well.

00:43:32.737 --> 00:43:33.907
<v Chris>There's all kinds of stuff with those.

00:43:34.267 --> 00:43:36.217
<v Chris>You bring it all together with Trek. I think that's great.

00:43:36.217 --> 00:43:40.147
<v Wes>I love how it's just like such a thoughtful thing to spend time crafting.

00:43:40.147 --> 00:43:43.447
<v Chris>And thank you, Nathan. Glad you found the show. I'll take the next one.

00:43:43.447 --> 00:43:46.917
<v Chris>Peter writes in, I just want to turn you guys on to TopGrade.

00:43:47.352 --> 00:43:50.497
<v Chris>if you haven't heard of it yet. It updates all the things in one command so

00:43:50.497 --> 00:43:53.327
<v Chris>you don't have to remember what you have installed. Super useful.

00:43:53.327 --> 00:43:55.595
<v Chris>Upgrade all the things with top grade.

00:43:56.298 --> 00:44:01.041
<v Chris>This may have been an agent pick on the show way back in the day. Um...

00:44:02.387 --> 00:44:06.503
<v Chris>It doesn't support every distro, obviously, but it does support quite a few of them.

00:44:06.840 --> 00:44:09.726
<v Wes>It also got the coveted Drew plus one behind the scenes.

00:44:09.726 --> 00:44:12.586
<v Chris>Oh, did it? Uh-huh, yes, it did. Does he use it?

00:44:12.586 --> 00:44:15.556
<v Wes>Yeah. Second this, top grade is super rad, says Drew.

00:44:15.556 --> 00:44:18.536
<v Chris>That is nice. That's one of the things I like about the uBlue stack is they

00:44:18.536 --> 00:44:21.805
<v Chris>have that uUpdate or whatever. I don't even know. It just runs.

00:44:22.089 --> 00:44:23.947
<v Chris>And that updates all your packages and your flat packles.

00:44:25.509 --> 00:44:26.656
<v Chris>You want to take that next one there, Mr.

00:44:26.656 --> 00:44:30.166
<v Wes>P? Yeah, we got actually two messages from Magnus here.

00:44:30.166 --> 00:44:30.486
<v Chris>Okay.

00:44:30.486 --> 00:44:34.116
<v Wes>First one here. Hi, guys. thanks for the fantastic content universe you're providing

00:44:34.116 --> 00:44:37.956
<v Wes>long-time listener and intermittent member i thought you might find this useful

00:44:38.256 --> 00:44:40.577
<v Wes>yes this is completely shameless self-promotion,

00:44:41.343 --> 00:44:44.496
<v Wes>paul hibbert even made a video on it and i thought maybe you guys would find

00:44:44.496 --> 00:44:45.923
<v Wes>some exciting ways in using this,

00:44:46.394 --> 00:44:51.576
<v Wes>home assistant tailored open code app super simple to start using and flexible

00:44:51.576 --> 00:44:55.996
<v Wes>and it seems like it's sort of an open code that you add on to home assistant

00:44:55.996 --> 00:45:00.099
<v Wes>and then you can sort of have it directly control Home Assistant just from the plug-in.

00:45:00.593 --> 00:45:01.226
<v Chris>In open code.

00:45:01.226 --> 00:45:04.105
<v Wes>Yeah so that fascinating it can drive everything.

00:45:05.080 --> 00:45:08.702
<v Chris>I mean, that makes sense. Home Assistant has an extensive API and an MCP.

00:45:08.940 --> 00:45:12.179
<v Chris>So it seems like that should be pretty doable. Very nice.

00:45:12.760 --> 00:45:15.468
<v Wes>Yeah, it seems pretty clever. I haven't tried it. I've only checked it a little

00:45:15.468 --> 00:45:18.348
<v Wes>bit here when I was gathering the feedback, but it's a smart idea,

00:45:18.348 --> 00:45:20.108
<v Wes>especially if you don't already have any of that info set up,

00:45:20.108 --> 00:45:21.468
<v Wes>but you want something to help you manage.

00:45:21.468 --> 00:45:24.660
<v Chris>Before you get his next one, can I just say I'm surprised I haven't heard a lot of people talking.

00:45:25.066 --> 00:45:31.121
<v Chris>Hermes 0.20 added conversational voice support.

00:45:31.603 --> 00:45:37.981
<v Chris>So that evening, I set up an Anker USB-C speakerphone that has two microphones and a speaker.

00:45:38.988 --> 00:45:44.188
<v Chris>And immediately, it outclasses anything the Alexa units or the HomePods or the

00:45:44.188 --> 00:45:45.255
<v Chris>Google Homes have ever done.

00:45:45.696 --> 00:45:50.050
<v Chris>And it ties in with my home assistant. And I can even say things like, play Magnum.

00:45:50.822 --> 00:45:54.948
<v Chris>And it will activate the Apple TV. It'll launch the Infuse app.

00:45:54.948 --> 00:45:58.891
<v Chris>It'll play the most recent episode of Magnum PI. And I don't have to even touch the remote.

00:45:59.286 --> 00:46:02.571
<v Chris>and I can turn I control lights temperature it's way better,

00:46:03.123 --> 00:46:07.418
<v Chris>than anything from any of the big tech companies and I don't see anybody talking

00:46:07.418 --> 00:46:11.428
<v Chris>about it and I even like the thinking music I have thinking music uh when when

00:46:11.428 --> 00:46:14.314
<v Chris>I when you like say hey you know hey Laura what's the weather uh,

00:46:15.157 --> 00:46:18.948
<v Chris>he's pulling from my local weather station over home assistant and while he's

00:46:18.948 --> 00:46:21.948
<v Chris>doing that I have a little thinking music that plays I like to do the thinking music.

00:46:21.948 --> 00:46:27.288
<v Wes>I like that so you know what's going on uh magnus goes on listening to the backwards

00:46:27.288 --> 00:46:31.132
<v Wes>episode where you dig into the old xeon server yeah you mentioned self-documenting

00:46:31.434 --> 00:46:34.508
<v Wes>have you ever thought about running a sherpa type agent on your server's task

00:46:34.508 --> 00:46:36.338
<v Wes>with keeping tabs on all the stuff running.

00:46:36.338 --> 00:46:36.488
<v Chris>There.

00:46:36.948 --> 00:46:41.318
<v Wes>The config containers mappings ports and proxies this could be posted as json

00:46:41.318 --> 00:46:43.855
<v Wes>somewhere to keep a centralized documentation repo,

00:46:45.040 --> 00:46:48.163
<v Wes>And once it's there, you could build dashboards from it.

00:46:48.503 --> 00:46:51.083
<v Wes>And the best part, it could be a set and forget type feature,

00:46:51.083 --> 00:46:54.141
<v Wes>just picking up on new stuff being set up or config that changes.

00:46:54.420 --> 00:46:59.403
<v Chris>So unofficially, my agent data does sort of manage a lot of the important infra

00:46:59.403 --> 00:47:03.123
<v Chris>and has a little index of everything, but that's just on my system.

00:47:04.410 --> 00:47:07.383
<v Chris>So yeah, that would be something we should formalize. Hey, how about this?

00:47:07.383 --> 00:47:09.837
<v Chris>Thank you, by the way. Appreciate that, Magnus. How about this?

00:47:10.296 --> 00:47:19.143
<v Chris>Mike wrote in, you could try running and sharing this, And he links us to something called CBBS Pi.

00:47:19.563 --> 00:47:23.663
<v Wes>A vintage CBBS style bulging board system emulator for macOS,

00:47:23.663 --> 00:47:25.627
<v Wes>Linux, Docker, and the Raspberry Pi.

00:47:26.294 --> 00:47:28.543
<v Chris>Something's happening here. I think we're going to have a BBS.

00:47:29.103 --> 00:47:30.143
<v Wes>The energy is building.

00:47:30.143 --> 00:47:31.931
<v Chris>The energy is building. I don't know if this is it.

00:47:33.323 --> 00:47:39.142
<v Chris>I'm kind of, I hate to be this guy. I just can't even stand sitting at my Raspberry Pi anymore.

00:47:39.142 --> 00:47:43.402
<v Chris>It just feels so archaic and slow. And like, it's just this weird platform that

00:47:43.402 --> 00:47:47.562
<v Chris>I have to bend over just to get working right. And then like do weird twister

00:47:47.562 --> 00:47:53.532
<v Chris>games versus like an x86 SBC that just, just works, dude. Like, I don't know.

00:47:53.832 --> 00:47:56.560
<v Chris>I don't know. I'm having a hard time. I got too many pies and I'm having a hard time.

00:47:57.652 --> 00:48:00.264
<v Chris>Bretton, you want to wrap us up with Ryan's email?

00:48:00.910 --> 00:48:02.812
<v Brent>Ryan sent in a juicy one for the show.

00:48:03.152 --> 00:48:04.281
<v Chris>Ooh. All right.

00:48:04.944 --> 00:48:09.162
<v Brent>Not sure if you're still in the Apple or iOS ecosystem, but I just stumbled

00:48:09.162 --> 00:48:12.489
<v Brent>upon the Mother Hen app in the Apple store.

00:48:12.729 --> 00:48:14.572
<v Brent>It's written by Weston Bustron.

00:48:15.152 --> 00:48:22.642
<v Brent>Why am I writing you to inform you about this? Well, it's a purpose-built chicken egg hen laying app.

00:48:22.712 --> 00:48:22.952
<v Chris>Hey.

00:48:22.952 --> 00:48:26.899
<v Brent>And it tracks when eggs are ready by the flock.

00:48:29.318 --> 00:48:31.672
<v Chris>I mean, they just lay every morning. I don't understand.

00:48:31.672 --> 00:48:32.637
<v Wes>I like this next bit.

00:48:32.864 --> 00:48:33.171
<v Chris>Okay.

00:48:33.962 --> 00:48:38.892
<v Brent>It's somewhat random, but I know you're the original Chicken Coop Home Assistant guy.

00:48:38.892 --> 00:48:42.622
<v Brent>Thank you. So maybe it's worth checking it out as a $3 curiosity.

00:48:42.622 --> 00:48:46.576
<v Brent>I'm kind of curious what kind of an app you could use for chickens,

00:48:46.896 --> 00:48:50.361
<v Brent>as close as MQTT integration as you can get?

00:48:50.586 --> 00:48:56.272
<v Chris>You know, I think close to this line of thinking, Ryan, is I need to be able

00:48:56.272 --> 00:49:00.712
<v Chris>to take the camera feed I have of the chickens entering the roost box and coming

00:49:00.712 --> 00:49:04.396
<v Chris>out and be able to track that. Because that's the real signal.

00:49:04.779 --> 00:49:08.390
<v Chris>And like good little birdies, I'm so proud of them.

00:49:08.791 --> 00:49:10.892
<v Chris>They're all laying in the nest box.

00:49:11.391 --> 00:49:14.654
<v Chris>So far, they haven't laid anywhere else in the yard or in the run.

00:49:15.101 --> 00:49:18.672
<v Chris>So stinking proud of these birds. But, you know, I'm still trying to figure

00:49:18.672 --> 00:49:21.585
<v Chris>out which birds lay in the egg. So something like that, I think would be really good.

00:49:22.695 --> 00:49:25.233
<v Brent>There's some interesting information in the app description here.

00:49:25.233 --> 00:49:25.579
<v Chris>Okay.

00:49:26.323 --> 00:49:29.623
<v Brent>I guess there's a couple different parts to the app. There's three parts.

00:49:29.943 --> 00:49:33.503
<v Brent>There's the harvest tab, which is designed to be used on a daily basis.

00:49:33.805 --> 00:49:37.079
<v Brent>So when you go out and find the latest batch of eggs waiting for you to collect,

00:49:37.508 --> 00:49:41.693
<v Brent>you just like punch in some environmental factors such as light and stress and

00:49:41.693 --> 00:49:43.303
<v Brent>how they can affect the egg production.

00:49:43.823 --> 00:49:48.233
<v Brent>So by tracking all of that and the egg counts specifically, you can watch all

00:49:48.233 --> 00:49:50.813
<v Brent>of the trends and make some informed decisions.

00:49:50.813 --> 00:49:51.313
<v Chris>Okay.

00:49:52.659 --> 00:49:56.853
<v Brent>There's also a flock tab for keeping tabs on the members of your flock.

00:49:56.853 --> 00:49:58.923
<v Brent>I mean, you've named them all already, so that makes it pretty easy.

00:49:59.584 --> 00:50:03.203
<v Brent>So if you're like the authors here, sometimes it's hard to keep track of who's

00:50:03.203 --> 00:50:06.307
<v Brent>in the coop. So adding a picture or name goes a long way.

00:50:06.667 --> 00:50:10.083
<v Brent>For the breeders out there, they added a family tree as well.

00:50:12.723 --> 00:50:17.473
<v Brent>And there's a last tab here. It's the finances tab that gives you the ability

00:50:17.473 --> 00:50:21.883
<v Brent>to see, if you particularly want to, just how much your feathered friends are

00:50:21.883 --> 00:50:24.103
<v Brent>costing you in feed and other expenses.

00:50:24.103 --> 00:50:24.643
<v Chris>Oh.

00:50:25.277 --> 00:50:27.951
<v Brent>Or if you sell your eggs, how much money they're making you.

00:50:29.363 --> 00:50:30.893
<v Wes>You just don't open that tab, it's fine.

00:50:30.893 --> 00:50:34.162
<v Chris>One of the preview screenshots has my type of chicken in it. I love it.

00:50:34.609 --> 00:50:36.903
<v Chris>You know, this is actually, the more I think about it, interesting because I

00:50:36.903 --> 00:50:40.503
<v Chris>have particularly controlled the lighting and heating of the hen house to try

00:50:40.503 --> 00:50:44.393
<v Chris>to maintain chicken egg production during the winter. It'd be interesting to

00:50:44.393 --> 00:50:45.153
<v Chris>see if I can achieve that.

00:50:45.153 --> 00:50:46.503
<v Brent>Is data controlling that again?

00:50:46.863 --> 00:50:49.553
<v Chris>Well, that's all controlled by Home Assistant, Some potato does operate and

00:50:49.553 --> 00:50:54.729
<v Chris>monitor that. That's really good stuff. I like that, Ryan. Thank you very much for sending that in.

00:50:55.843 --> 00:50:56.778
<v Chris>There's some good stuff in there.

00:50:57.103 --> 00:51:00.459
<v Chris>And we'll put a link if you have some chickens to the Mother Hen app.

00:51:01.016 --> 00:51:04.069
<v Chris>And if you do have chickens, boost in and let us know. We want to hear about that.

00:51:08.573 --> 00:51:13.163
<v Chris>Gentlemen, it is time for Le Boos, and let's start out with Ol' Bridie,

00:51:13.163 --> 00:51:16.893
<v Chris>a.k.a. Kyron, coming in with a row of super McDucks.

00:51:16.893 --> 00:51:18.373
<v Wes>Wow, that's mega McDucks?

00:51:18.373 --> 00:51:20.265
<v Chris>Mega, mega ultra McDucks?

00:51:20.492 --> 00:51:21.473
<v Brent>That's a whole flock.

00:51:24.443 --> 00:51:26.736
<v Chris>222,222 Satoshis.

00:51:36.923 --> 00:51:37.591
<v Chris>Wow.

00:51:38.916 --> 00:51:39.555
<v Brent>Incredible.

00:51:39.907 --> 00:51:42.813
<v Chris>Amazing. That is really something. Thank you very, very much,

00:51:42.813 --> 00:51:47.003
<v Chris>sir. We appreciate that baller boost. Hey, new member. Hey, hey,

00:51:47.003 --> 00:51:49.265
<v Chris>hey. All right. Yes, yes.

00:51:51.103 --> 00:51:53.803
<v Chris>Old time lurker. The web boost is the best thing yet. I have previously tried

00:51:53.803 --> 00:51:56.253
<v Chris>Fountain, but the hassle of dealing with buying sets, it's just,

00:51:56.253 --> 00:51:58.043
<v Chris>well, I like this edition.

00:51:58.603 --> 00:52:01.723
<v Chris>It gives us normies a way to support without the eebie-jeebies. Thanks for all the fun.

00:52:02.883 --> 00:52:04.381
<v Wes>That's the idea. Make it easy.

00:52:04.567 --> 00:52:07.233
<v Chris>Just wait the one day that Fiat will give you the eebie-jeebies.

00:52:07.233 --> 00:52:10.183
<v Chris>But in the meantime, we appreciate it very, very much. You know,

00:52:10.183 --> 00:52:11.363
<v Chris>and he did it with ZapRite.

00:52:12.003 --> 00:52:15.413
<v Chris>So he got the sats. So I'm impressed all around. However you want to do it,

00:52:15.413 --> 00:52:18.528
<v Chris>man. We really appreciate it. And we thank you for being our baller.

00:52:18.923 --> 00:52:22.883
<v Chris>And look at this. Another Mega McDuck. Lutris.

00:52:23.243 --> 00:52:23.863
<v Wes>Lucitropy.

00:52:24.243 --> 00:52:26.288
<v Chris>All right. Also coming in with a Mega McDuck.

00:52:30.423 --> 00:52:31.895
<v Chris>222,222 sats.

00:52:43.355 --> 00:52:45.781
<v Chris>Wow. Thank you, sir. Thank you.

00:52:45.967 --> 00:52:50.164
<v Wes>Yeah, sorry guys. Last couple of boosts through Fountain. Splits didn't go right for some reason.

00:52:50.484 --> 00:52:52.684
<v Wes>Chris and JB got their splits, but the others didn't go through.

00:52:52.684 --> 00:52:54.364
<v Wes>So here's a rectifier boost.

00:52:54.724 --> 00:52:55.484
<v Chris>Keep up the good work.

00:52:55.964 --> 00:52:57.614
<v Wes>You didn't have to do that, but thank you.

00:52:57.624 --> 00:52:58.420
<v Brent>That's very sweet.

00:52:58.923 --> 00:52:59.730
<v Chris>Thank you very much.

00:53:00.661 --> 00:53:06.074
<v Brent>Well, we've got our Adversary 17 here with 54,321 sets.

00:53:06.074 --> 00:53:06.516
<v Chris>All right.

00:53:12.317 --> 00:53:17.814
<v Brent>I've gone to dial p get it plaid reversed oh i see because the episode was reversed

00:53:17.814 --> 00:53:22.174
<v Brent>last week and so he's gotten also he's gotten clever with.

00:53:22.174 --> 00:53:23.675
<v Chris>The numbers is what he's done there,

00:53:27.732 --> 00:53:28.194
<v Chris>uh-huh it's.

00:53:28.194 --> 00:53:30.754
<v Brent>Backwards i think he actually wanted that backwards.

00:53:30.754 --> 00:53:31.619
<v Chris>Yeah yeah well.

00:53:31.619 --> 00:53:35.004
<v Brent>Uh yeah i'm sure says I'll just escort myself out.

00:53:35.184 --> 00:53:39.264
<v Chris>I kind of liked it. Thank you, Versaries. Appreciate that. The Incredible Mulk

00:53:39.264 --> 00:53:42.605
<v Chris>comes in with 32,810 Satoshis.

00:53:47.527 --> 00:53:50.804
<v Chris>Hey, another long-time listener Jupiter Party member. Yes!

00:53:51.765 --> 00:53:54.264
<v Chris>Awesome. First-time booster. Thank you for all the hard work.

00:53:55.164 --> 00:53:58.104
<v Chris>Especially on the last few shows. Here's some help to keep the lights on.

00:53:58.104 --> 00:53:59.288
<v Chris>Thank you for the great content.

00:53:59.602 --> 00:54:02.974
<v Chris>And also, it's a zip code boost, boys.

00:54:02.974 --> 00:54:03.810
<v Wes>Ooh.

00:54:03.928 --> 00:54:04.624
<v Brent>Danger.

00:54:05.865 --> 00:54:07.572
<v Chris>Now, Wes, did you bring the...

00:54:07.682 --> 00:54:09.470
<v Wes>I pack the map every week.

00:54:09.749 --> 00:54:14.354
<v Chris>All right. All right. Let's look this up. I'm feeling like you're going to nail this one.

00:54:14.354 --> 00:54:17.124
<v Wes>Yeah. I'm feeling Eastern time zone, I think.

00:54:17.124 --> 00:54:19.544
<v Chris>Syncing it to the digital map for us. Okay. What do you got?

00:54:20.336 --> 00:54:22.794
<v Wes>Oh. Orlando, Florida.

00:54:22.794 --> 00:54:30.414
<v Chris>Ha ha. I knew it. I knew it. Hello, Orlando. Thank you for boosting in and for being a member, too.

00:54:30.414 --> 00:54:31.254
<v Wes>We appreciate it.

00:54:31.254 --> 00:54:32.265
<v Chris>Yeah. We do.

00:54:33.624 --> 00:54:37.525
<v Wes>IRU comes in with 11,111 sats.

00:54:42.304 --> 00:54:45.784
<v Wes>Now that the dust has settled, I've given BcacheFS a try.

00:54:46.104 --> 00:54:46.994
<v Chris>Hey, good job.

00:54:46.994 --> 00:54:50.430
<v Wes>I've set it up as the root FS with encryption and secure boot.

00:54:50.802 --> 00:54:54.813
<v Wes>Mixing different drives and setting copies on a per file or directory basis,

00:54:55.086 --> 00:54:58.244
<v Wes>I can choose to have copies equals one for redownloadable files while keeping

00:54:58.244 --> 00:55:01.680
<v Wes>replicas on important data. A godsend in this economy.

00:55:02.005 --> 00:55:02.914
<v Chris>No kidding.

00:55:02.914 --> 00:55:04.205
<v Wes>Look at you getting clever.

00:55:04.374 --> 00:55:06.904
<v Chris>I wouldn't mind a follow-up in a little while to know how it's going.

00:55:07.684 --> 00:55:10.904
<v Chris>I mean, we're two years in on one of our systems running BcacheFS.

00:55:11.357 --> 00:55:14.404
<v Chris>A couple of major upgrades in there. You're how many years in now on that sucker?

00:55:14.404 --> 00:55:15.144
<v Wes>Two and a half, three.

00:55:15.144 --> 00:55:18.164
<v Chris>Woo! And that system gets worked out.

00:55:18.164 --> 00:55:18.644
<v Wes>It does.

00:55:18.644 --> 00:55:20.347
<v Chris>Thank you, IRU. Appreciate you.

00:55:22.403 --> 00:55:27.018
<v Brent>Well, Gene Bean sent a collection of Rosa Ducks and Leet Sats.

00:55:28.632 --> 00:55:33.514
<v Brent>That's a total of 7,340 sats. Thanks, Gene. Let's go through them.

00:55:34.253 --> 00:55:36.416
<v Brent>Number one, this episode was fun.

00:55:36.799 --> 00:55:38.223
<v Wes>Well, we appreciate it. That's the goal.

00:55:38.223 --> 00:55:41.693
<v Chris>We weren't sure if the Reverso episode would be horrible or not.

00:55:42.232 --> 00:55:43.693
<v Wes>It confused us, so we couldn't tell.

00:55:43.693 --> 00:55:47.863
<v Chris>Yeah, it was a surprisingly hard episode for us to do just because it took constant

00:55:47.863 --> 00:55:51.013
<v Chris>mental effort to remember how to do the show backwards. It was silly.

00:55:52.293 --> 00:55:54.133
<v Brent>It was like doing the math every each segment.

00:55:54.133 --> 00:55:57.953
<v Chris>Nearly 13 years of doing it one way. It was awesome.

00:55:58.053 --> 00:55:58.613
<v Wes>Yeah.

00:56:00.060 --> 00:56:03.813
<v Brent>Note how we're not doing this episode backwards. Gene continues,

00:56:03.813 --> 00:56:06.973
<v Brent>I really like local send. Yeah. So that's another plus one there.

00:56:06.973 --> 00:56:07.473
<v Chris>Thanks, Gene.

00:56:07.473 --> 00:56:10.770
<v Brent>I'm really interested to see where buzz goes. Sounds really great.

00:56:11.891 --> 00:56:17.773
<v Brent>As a follow-up, it's a paid Slack that I want to connect an agent to.

00:56:17.773 --> 00:56:20.504
<v Brent>This is a follow-up to a question from last week.

00:56:21.853 --> 00:56:25.033
<v Chris>And then I like this one Brent why in God's name would you want 18 windows of

00:56:25.033 --> 00:56:28.834
<v Chris>the same app how the heck do you find anything this is our point Gene.

00:56:29.030 --> 00:56:31.213
<v Wes>You're making a presumption that he does find anything.

00:56:31.213 --> 00:56:32.033
<v Chris>That's the thing Gene.

00:56:32.633 --> 00:56:37.583
<v Brent>That's also quite a strong presumption I would say I have put in tools to try

00:56:37.583 --> 00:56:40.392
<v Brent>to help myself here and it has not completely succeeded.

00:56:41.551 --> 00:56:43.853
<v Wes>Okay maybe give us a follow up on that down the.

00:56:43.853 --> 00:56:47.553
<v Chris>Line we're just gonna leave that one right there we'll do an episode at some

00:56:47.553 --> 00:56:52.157
<v Chris>point A Dajabusan with 4,747 cents.

00:56:54.403 --> 00:56:57.961
<v Wes>Every time I hear the break song, it scratches my show tune itch.

00:56:57.961 --> 00:56:58.381
<v Chris>Oh, thank you.

00:56:58.381 --> 00:57:01.409
<v Wes>But then replaces it with another itch of needing JB the musical.

00:57:01.537 --> 00:57:04.631
<v Wes>You know, like those old sitcoms that would have a random musical episode.

00:57:04.631 --> 00:57:06.291
<v Chris>JB the musical?

00:57:06.291 --> 00:57:07.146
<v Brent>No.

00:57:07.603 --> 00:57:10.731
<v Chris>I don't know about that. Maybe one day we'll put together an album.

00:57:11.251 --> 00:57:16.061
<v Chris>I just, you know, if they're just, you know, I don't know. I guess, I don't know.

00:57:16.061 --> 00:57:19.351
<v Brent>Send in your booths to vote for the album being released this year.

00:57:19.351 --> 00:57:23.386
<v Chris>Yeah, I don't know about that. All right. Okay. All right. Maybe one day. Maybe one day.

00:57:23.949 --> 00:57:27.631
<v Chris>I'm going to say Ensign Nginx. What do you think? Ensign Nginx?

00:57:27.631 --> 00:57:28.872
<v Chris>Ensign Nginx. Oh, there you go.

00:57:29.110 --> 00:57:32.674
<v Chris>Ensign Nginx comes in with a row of ducks, $2,222.

00:57:33.852 --> 00:57:37.475
<v Chris>The Rust project leader has adopted an LLM policy that I completely agree with.

00:57:38.291 --> 00:57:41.291
<v Chris>If we were to rely on LLM to write code, it will eventually become dependency,

00:57:41.291 --> 00:57:44.754
<v Chris>and we risk not understanding what has been created.

00:57:45.531 --> 00:57:47.551
<v Chris>So, did you read the Rust LLM policy?

00:57:47.871 --> 00:57:48.751
<v Wes>I have not checked it out yet.

00:57:48.751 --> 00:57:49.131
<v Chris>Neither have I.

00:57:49.471 --> 00:57:50.351
<v Wes>But I will have to.

00:57:50.351 --> 00:57:55.651
<v Chris>The people who review, yeah, I think it's the, I think it, I mean,

00:57:55.651 --> 00:57:57.971
<v Chris>the high level here looks like you got to understand what you posted.

00:57:57.971 --> 00:58:00.259
<v Chris>You got to be responsible for what you committed, that kind of stuff.

00:58:00.642 --> 00:58:01.871
<v Chris>But I will try to read it after the show.

00:58:01.871 --> 00:58:02.961
<v Wes>Yeah. Thanks for boosting in.

00:58:02.961 --> 00:58:07.097
<v Chris>Yes. Thank you very much. I have that tab open now and I don't have crazy amounts of tabs.

00:58:08.126 --> 00:58:08.614
<v Brent>Hey.

00:58:08.787 --> 00:58:12.630
<v Chris>Well, I do have a lot of tabs actually. I do have quite a bit of tabs, but I have it open.

00:58:12.809 --> 00:58:14.681
<v Wes>And probably a lot of them you can close after the show.

00:58:14.681 --> 00:58:15.780
<v Chris>I will, but not that one.

00:58:16.171 --> 00:58:17.401
<v Brent>Do you pin some of them?

00:58:17.795 --> 00:58:19.229
<v Chris>I have a bunch of pin tabs.

00:58:20.291 --> 00:58:20.911
<v Brent>I don't do that.

00:58:20.911 --> 00:58:22.880
<v Chris>No you don't you definitely don't pin your tabs,

00:58:30.955 --> 00:58:35.250
<v Chris>A Monday comes in with 19,941 Satoshis.

00:58:36.092 --> 00:58:40.005
<v Chris>I would absolutely love a security camera deep dive. On the cusp of doing that

00:58:40.005 --> 00:58:41.505
<v Chris>myself, just finally got a Reolink

00:58:41.505 --> 00:58:44.765
<v Chris>doorbell cam and integrated into Home Assistant, and that's awesome.

00:58:44.765 --> 00:58:45.645
<v Wes>Nicely done.

00:58:45.645 --> 00:58:49.345
<v Chris>That's amazing. Also very much enjoyed the reverse episode. It was fun. P.S.

00:58:49.745 --> 00:58:51.905
<v Wes>X5 for a zip code. Oh, okay.

00:58:51.905 --> 00:58:55.825
<v Chris>Whoa, another zip code, and this one. Okay, so Wes, you got to do a little math.

00:58:55.825 --> 00:58:57.431
<v Wes>Did I bring my calculator today?

00:58:58.665 --> 00:58:59.055
<v Chris>So yes.

00:58:59.055 --> 00:59:00.775
<v Wes>So multiplied by five, is that right?

00:59:00.775 --> 00:59:03.925
<v Chris>I am very much considering going over my multi-frigate camera setup.

00:59:03.925 --> 00:59:07.375
<v Chris>So if people have any questions and I get a few of those, I'll definitely do an episode on it.

00:59:08.745 --> 00:59:10.760
<v Brent>Wes, I think you have to solve for X actually on this one.

00:59:10.922 --> 00:59:13.423
<v Wes>Oh, well, I was just guessing. I thought.

00:59:13.887 --> 00:59:17.945
<v Chris>That's not going to work, Wes. That's not going to. That's not going to.

00:59:18.543 --> 00:59:24.429
<v Wes>Okay. So we had 19,941 multiplied by five.

00:59:24.592 --> 00:59:27.245
<v Wes>That's 99,705.

00:59:27.245 --> 00:59:28.045
<v Chris>Oh, that's a nice boost.

00:59:28.045 --> 00:59:33.875
<v Wes>What I'm finding on my map, it's a little old, but it would seem to be the city of North Pole, Alaska.

00:59:33.875 --> 00:59:36.045
<v Chris>Oh, really? Hello, Alaska.

00:59:36.105 --> 00:59:37.815
<v Wes>Where the county of Fairbanks, North Star Borough.

00:59:37.815 --> 00:59:38.373
<v Chris>I love that.

00:59:38.971 --> 00:59:43.195
<v Brent>I have questions. It's not actually the North Pole, but they call themselves?

00:59:43.195 --> 00:59:44.465
<v Brent>Can we get a history lesson?

00:59:45.045 --> 00:59:46.720
<v Wes>Sure. You're right. We need to know more.

00:59:46.894 --> 00:59:50.801
<v Chris>Night62 comes in with 12,000. Thank you for the boost. 12,345 sets.

00:59:54.655 --> 00:59:57.035
<v Chris>Boost might not always be a clear indicator of a popular topic.

00:59:57.035 --> 00:59:59.495
<v Chris>I often boost in just to say something, not because the episode sparked the

00:59:59.495 --> 01:00:02.615
<v Chris>topic. I enjoyed the buzz episode. Being ahead of future trends is good.

01:00:02.615 --> 01:00:06.295
<v Chris>Many of us are not vocal, but we trust your taste and enjoy quiet listening

01:00:06.295 --> 01:00:09.235
<v Chris>and learning. Thanks. Well, that's always good signal to hear too, right?

01:00:09.997 --> 01:00:10.415
<v Brent>Yeah.

01:00:11.070 --> 01:00:11.845
<v Chris>Thank you. Appreciate that.

01:00:11.845 --> 01:00:13.213
<v Brent>Keep doing what you're doing is what I heard.

01:00:15.673 --> 01:00:17.873
<v Chris>Yeah, we appreciate that. You want to take MG there?

01:00:18.513 --> 01:00:24.545
<v Brent>I'll take MG. GMG sends in a row of sticks, 11,111 sats.

01:00:27.975 --> 01:00:32.325
<v Brent>That reverse episode was fun. By the way, I've boosted the previous three shows,

01:00:32.325 --> 01:00:33.875
<v Brent>but I haven't heard those messages.

01:00:33.875 --> 01:00:34.065
<v Chris>What?

01:00:34.125 --> 01:00:39.445
<v Brent>I didn't say much other than appreciate you. So didn't need to make it into

01:00:39.445 --> 01:00:41.765
<v Brent>the show. I just wanted to make sure you guys are getting the support you need.

01:00:42.065 --> 01:00:45.595
<v Chris>If they're above 2,000 sats, they make it into the show. But if they're below

01:00:45.595 --> 01:00:48.515
<v Chris>2,000 sats, they will be included in the doc and we read them,

01:00:48.515 --> 01:00:50.550
<v Chris>but we don't read them out loud on the air. That might have been it.

01:00:51.107 --> 01:00:52.515
<v Wes>But if not, let us know.

01:00:52.515 --> 01:00:52.665
<v Chris>Yes.

01:00:52.785 --> 01:00:53.945
<v Wes>Because then something might be broken.

01:00:53.945 --> 01:00:57.173
<v Chris>Thank you, MG. That did make it in. So we appreciate you.

01:00:58.385 --> 01:00:59.805
<v Wes>Time for some Fiat boosts here.

01:00:59.965 --> 01:01:00.205
<v Chris>Let's do it.

01:01:00.205 --> 01:01:04.745
<v Wes>Yeah. Covered bridge cookies. A very old listener. 150 Fiat.

01:01:05.645 --> 01:01:06.145
<v Brent>Wow.

01:01:06.765 --> 01:01:07.384
<v Chris>All right.

01:01:08.760 --> 01:01:09.451
<v Brent>Yahoo.

01:01:12.660 --> 01:01:14.689
<v Chris>Covered Bridge Cookies, thank you very much.

01:01:15.349 --> 01:01:20.569
<v Wes>I was there for Stallman, Dot Cloud, Matt's GTX 960, Bacon, and more.

01:01:20.929 --> 01:01:23.300
<v Wes>You helped my IT career more than words convey.

01:01:23.719 --> 01:01:28.009
<v Wes>I since nuked that, now I apply DevOps and FOSS principles to our co-op bakery.

01:01:28.629 --> 01:01:30.169
<v Wes>Covered Bridge Cookies.

01:01:31.189 --> 01:01:32.826
<v Wes>Coveredbridgecookies.com.

01:01:33.424 --> 01:01:34.279
<v Chris>They look delicious.

01:01:34.279 --> 01:01:37.449
<v Wes>Look at this, wow. That's so cool.

01:01:37.449 --> 01:01:41.911
<v Chris>Coveredbridgecookies.com It looks like they probably do shipping too. Ginger Snaps.

01:01:42.567 --> 01:01:46.659
<v Chris>All right. Oh, maple shortbread. What's going on here, Brent?

01:01:46.659 --> 01:01:47.689
<v Brent>Oh, you got me.

01:01:49.469 --> 01:01:51.289
<v Wes>Mind if we mail you free cookies?

01:01:51.289 --> 01:01:52.239
<v Chris>No way, really?

01:01:52.239 --> 01:01:56.289
<v Wes>That's what it says there. I mean, that sounds awful.

01:01:56.289 --> 01:01:57.589
<v Brent>I don't think you should be doing that.

01:01:57.809 --> 01:02:00.498
<v Chris>Yeah, we definitely wouldn't want a sampling of some of those delicious cookies.

01:02:01.317 --> 01:02:05.171
<v Chris>The .cloud reference is deep and the GTX 960. Thank you very much.

01:02:05.566 --> 01:02:06.999
<v Chris>That's amazing. Appreciate that.

01:02:06.999 --> 01:02:07.689
<v Wes>Thanks for boosting in.

01:02:09.209 --> 01:02:12.929
<v Brent>It's a slight zip code boost because at least the website says they're baked

01:02:12.929 --> 01:02:21.529
<v Brent>in Vermont cool alright well the Sithy Penguin boosted well it didn't boost and fiat it in 10 fiats,

01:02:24.804 --> 01:02:28.262
<v Brent>This is different from leaving voicemails to the launch. Also,

01:02:28.914 --> 01:02:33.124
<v Brent>I'm going to need you to not do a reverse show again. I already questioned my

01:02:33.124 --> 01:02:36.153
<v Brent>sanity. I don't need it coming from my favorite Linux podcast.

01:02:36.861 --> 01:02:38.914
<v Brent>Just kidding. That was funny as hell.

01:02:39.354 --> 01:02:45.045
<v Chris>I mean, it was a little tough on the sanity. Senior Smile comes in with $5.

01:02:46.130 --> 01:02:49.306
<v Chris>Oops, I forgot my name on the Kubernetes and the kernels. Here,

01:02:49.741 --> 01:02:52.452
<v Chris>have a fiver. All right. Thank you, Smile. Appreciate you.

01:02:52.916 --> 01:02:55.224
<v Chris>We got a free member boost from Anonymous. they're back. Chris,

01:02:55.224 --> 01:02:58.704
<v Chris>I think I heard you do have I think you had a farm with some chickens.

01:02:59.232 --> 01:03:02.194
<v Chris>I'm not sure if it's worth mentioning. I've been working, assisted of course,

01:03:02.194 --> 01:03:05.734
<v Chris>although I am a professional dev, on an egg farm tracking system.

01:03:05.734 --> 01:03:06.134
<v Wes>What?

01:03:06.434 --> 01:03:06.994
<v Chris>Check it out.

01:03:06.994 --> 01:03:08.034
<v Brent>Two in one episode.

01:03:08.034 --> 01:03:08.804
<v Chris>Cluckwork.

01:03:08.804 --> 01:03:10.034
<v Wes>Oh, I like the name.

01:03:10.394 --> 01:03:13.874
<v Chris>This is a thing people are doing, guys. Yeah, I definitely have chickens.

01:03:13.874 --> 01:03:17.052
<v Wes>There's demand. A little short description. Poultry farm management.

01:03:17.824 --> 01:03:18.614
<v Chris>Look at this thing.

01:03:18.614 --> 01:03:20.222
<v Wes>C-sharp type script.

01:03:21.535 --> 01:03:23.740
<v Chris>All right, I got another thing to check out after the show.

01:03:23.740 --> 01:03:24.480
<v Wes>How about that?

01:03:24.480 --> 01:03:28.600
<v Chris>That is really something right there. You mentioned needing a Slack export tool.

01:03:28.600 --> 01:03:31.940
<v Chris>You might try out Slack dump, which we'll put a link in the show notes.

01:03:31.940 --> 01:03:36.210
<v Chris>When the CNCF almost lost its free Slack instance, they recommended this project

01:03:36.210 --> 01:03:37.684
<v Chris>to teams as a way to preserve history.

01:03:38.195 --> 01:03:42.293
<v Chris>I didn't end up using it because Slack backpedaled and kept sponsoring the plans, but it does seem nice.

01:03:42.496 --> 01:03:48.360
<v Chris>Jumping off of Wes's idea, I put a full ButterFS multi-node sync plus load balancer app scheduler.

01:03:48.760 --> 01:03:50.900
<v Wes>I think this is the idea for what to put in the kernel if you could.

01:03:50.900 --> 01:03:55.860
<v Chris>Oh, oh, oh, right. Oh, now this is clever. Actually, let's just pick a must-have

01:03:55.860 --> 01:03:58.750
<v Chris>subset of Kubernetes and put it all. You know, I bet there's a lot of people

01:03:58.750 --> 01:04:00.160
<v Chris>that wouldn't mind some Kubernetes in the kernel.

01:04:01.130 --> 01:04:03.740
<v Chris>K-K-8. No, that's horrible.

01:04:03.740 --> 01:04:04.363
<v Wes>K-8's in your kernel.

01:04:05.106 --> 01:04:07.682
<v Chris>That's horrible. Thank you, Anonymous. Nice to hear from you.

01:04:08.316 --> 01:04:10.510
<v Wes>Paul Mumbabusin to say, back again.

01:04:10.510 --> 01:04:10.980
<v Chris>Hello, Paul.

01:04:11.300 --> 01:04:15.640
<v Wes>Wanted to make it clear that for audiobooks, I mostly buy them digitally from Libro.fm.

01:04:15.640 --> 01:04:16.050
<v Chris>Good one.

01:04:16.050 --> 01:04:18.820
<v Wes>I use their subscription to get a credit every month, which I can use to buy

01:04:18.820 --> 01:04:23.206
<v Wes>an audiobook. you can use their app or download the DRM free mp3 or m4b.

01:04:23.403 --> 01:04:26.990
<v Chris>Yeah that's a good one we should mention Libro FM so thank you for audiobooks.

01:04:26.990 --> 01:04:28.384
<v Wes>Are also way cheaper this way.

01:04:28.564 --> 01:04:33.000
<v Chris>I love audiobooks too for road trips I stack up audiobooks and podcasts unless

01:04:33.000 --> 01:04:37.132
<v Chris>I'm driving with peeps and then these days I'm just going to make West Beat DJ,

01:04:38.763 --> 01:04:43.260
<v Chris>however if you have music assistant you can actually just have your agent create

01:04:43.260 --> 01:04:47.227
<v Chris>playlist for you so that's what I've been doing recently.

01:04:48.893 --> 01:04:54.900
<v Brent>Night 62, member boosted in. Can I get a few more characters in these here? Web boost.

01:04:55.560 --> 01:04:58.980
<v Brent>If not, is it permissible to add a pastebin link or something like that?

01:04:58.980 --> 01:05:04.559
<v Brent>I don't really want to chunk up my comments or split them across multiple boosts.

01:05:05.094 --> 01:05:10.360
<v Brent>I don't need to write a book. But even AI is having trouble reducing my thoughts to 300 characters.

01:05:11.660 --> 01:05:14.800
<v Chris>You can always send us a boost and refer to an email. That's true.

01:05:15.280 --> 01:05:18.200
<v Chris>The thing is, we do try to keep these moving. So that's why the length is an

01:05:18.200 --> 01:05:20.626
<v Chris>issue. there, but you could always email it and let us know.

01:05:21.340 --> 01:05:24.830
<v Chris>All right, Papa John comes in with a member boost. I think the anonymous members

01:05:24.830 --> 01:05:27.130
<v Chris>assume their name will come through when they sign in with Memberful,

01:05:27.130 --> 01:05:28.860
<v Chris>so they don't fill out their username field. Great show, guys.

01:05:29.456 --> 01:05:32.340
<v Chris>Yeah, I don't know if I can bring that in without some additional approval,

01:05:32.340 --> 01:05:35.754
<v Chris>but I do think maybe that is a thing. Good catch, Papa John.

01:05:35.917 --> 01:05:40.140
<v Wes>Space Warlock comes in. The Reverso format wasn't for me.

01:05:40.660 --> 01:05:41.190
<v Chris>I understand.

01:05:41.190 --> 01:05:46.220
<v Wes>It wasn't bad content-wise. It felt like change for the sake of change rather than positive impact.

01:05:47.056 --> 01:05:50.789
<v Wes>I like the idea of a SSH in the kernel. I can see a use for it.

01:05:51.300 --> 01:05:54.690
<v Chris>I think it was, was it Brent's idea? How did it come up? It came up.

01:05:54.690 --> 01:05:59.790
<v Brent>Are you blaming me now? Yeah. It came up from like, we were having a discussion

01:05:59.790 --> 01:06:05.400
<v Brent>somehow of, on a topic and then it just sort of popped in my head. So I will take the blame.

01:06:05.720 --> 01:06:09.630
<v Brent>And then we tried it. And I, it was surprisingly difficult to be honest.

01:06:09.630 --> 01:06:12.220
<v Chris>It might be good. It might've been a good exercise for us to do just to put

01:06:12.220 --> 01:06:14.490
<v Chris>us out of our comfort zone and push it a little bit.

01:06:14.700 --> 01:06:15.772
<v Wes>Thank you for your patience.

01:06:16.086 --> 01:06:19.440
<v Chris>Adversary 17's back with a member boost love the reverse episode i think it

01:06:19.440 --> 01:06:22.500
<v Chris>broke all your brains a little except chris which just straight up broke entirely

01:06:22.500 --> 01:06:29.153
<v Chris>i it was bad it was bad momentum thank you adversaries appreciate you.

01:06:29.408 --> 01:06:35.289
<v Wes>Mohan comes in to say this episode started off with outro and ended with the intro it was backwards.

01:06:35.713 --> 01:06:38.320
<v Chris>Yeah it was all leading up to that observation it was all.

01:06:40.044 --> 01:06:43.439
<v Brent>Well, Gene Bean sent in a member's booth saying, give this a read.

01:06:43.439 --> 01:06:47.323
<v Brent>Open Claw with Clawed Opus 4.6. Hacked a gym.

01:06:47.600 --> 01:06:50.569
<v Chris>Oh, yeah. I heard about this. Yeah. Well, he found like the schedule.

01:06:50.569 --> 01:06:54.699
<v Chris>He found like a way to kick people off the reservation list and bump their operator

01:06:54.699 --> 01:06:55.949
<v Chris>up on the reservation list.

01:06:56.289 --> 01:06:59.813
<v Wes>Those reservation systems are often not really well controlled at all.

01:06:59.940 --> 01:07:03.058
<v Chris>Yeah. It's just beginning. Clanker versus clanker. Tell you what.

01:07:03.429 --> 01:07:06.319
<v Chris>All right. Thank you, everybody who supported the show. When you hear a dynamic

01:07:06.319 --> 01:07:08.879
<v Chris>ad, you know, that means we didn't make an ad deal. That means we're barely,

01:07:08.879 --> 01:07:11.859
<v Chris>barely, barely, barely getting by. And if it wasn't for our members and our

01:07:11.859 --> 01:07:13.263
<v Chris>boosters, we just wouldn't be making it.

01:07:13.692 --> 01:07:15.639
<v Chris>And I want to say thank you to everybody who also streamed stats.

01:07:15.639 --> 01:07:18.255
<v Chris>We didn't get as many this last episode for some reason.

01:07:18.551 --> 01:07:23.541
<v Chris>Twelve of you streamed stats, and collectively you stacked 11,789 Satoshis.

01:07:23.541 --> 01:07:25.999
<v Wes>Sometimes you're too confused to stream, and that's our fault.

01:07:25.999 --> 01:07:29.929
<v Chris>That might happen, yeah. Maybe the stats stream reversed that episode and went to them. Who knows?

01:07:30.306 --> 01:07:33.289
<v Chris>When you bring that together with our fiat boosts, and if we just price them

01:07:33.289 --> 01:07:34.312
<v Chris>at the current stats value.

01:07:34.666 --> 01:07:41.034
<v Chris>That brings our total for this episode, it's pretty great, to 847,041 satoshis.

01:07:47.711 --> 01:07:50.568
<v Chris>Thank you, everybody who supported the show with a membership or a boost.

01:07:50.568 --> 01:07:52.616
<v Chris>Boost.JupiterBroadcasting.com.

01:07:52.970 --> 01:07:57.698
<v Chris>You know, we might even be at the 13-year mark, and it just feels like in so

01:07:57.698 --> 01:08:02.748
<v Chris>many ways a massive future ahead of the show and so much we can dig into and

01:08:02.748 --> 01:08:05.338
<v Chris>new shows we could launch and all kinds of stuff.

01:08:05.338 --> 01:08:08.678
<v Chris>So we really do appreciate the support. Even if the ad market doesn't think

01:08:08.678 --> 01:08:12.008
<v Chris>a little old Linux podcast is worth supporting, we appreciate that you do,

01:08:12.008 --> 01:08:16.119
<v Chris>and you keep us going. And it means the world to us. It's all the difference.

01:08:17.871 --> 01:08:23.891
<v Chris>All right, we got a couple of picks, as we do. I was surprised to see that you picked iDescriptor.

01:08:24.095 --> 01:08:28.828
<v Wes>Well, I picked it for you. Because I know you have some iDevices around.

01:08:28.828 --> 01:08:30.078
<v Chris>I do have some iDevices around.

01:08:30.078 --> 01:08:34.398
<v Wes>So I thought maybe you would like an AGPL 3.0 free open source cross-platform

01:08:34.398 --> 01:08:38.558
<v Wes>iDevice management tool. And it just stood out because it's not all the time

01:08:38.558 --> 01:08:40.226
<v Wes>that things like this run on Linux.

01:08:40.458 --> 01:08:43.318
<v Chris>That is true. And also, it's cross-platform. So if you're on Windows,

01:08:43.978 --> 01:08:46.595
<v Chris>you could do that. It's developed with Qt and...

01:08:48.279 --> 01:08:48.883
<v Chris>A little bit of rust.

01:08:48.883 --> 01:08:52.267
<v Wes>Oh, look at that. And C++, look at that.

01:08:52.476 --> 01:08:56.983
<v Chris>Too. I guess I would say if you're familiar with iPhone management that you

01:08:56.983 --> 01:08:59.903
<v Chris>used to get on Macs for a while that was built into iTunes and then later built

01:08:59.903 --> 01:09:01.953
<v Chris>into Finder, it's kind of like that.

01:09:01.953 --> 01:09:05.883
<v Chris>You get the information about your iPhone, the storage information.

01:09:05.883 --> 01:09:09.958
<v Chris>You can browse the files, the apps that are on there, and you can do it over USB or Wi-Fi.

01:09:10.132 --> 01:09:11.613
<v Wes>It has AirPlay. Wow.

01:09:11.613 --> 01:09:18.343
<v Chris>Yeah. iDispatcher. iDispatcher. It really is the missing piece of iPhone management.

01:09:19.823 --> 01:09:23.793
<v Chris>If you like to do this kind of stuff from the desktop, I think it's really cool.

01:09:23.793 --> 01:09:27.063
<v Chris>Also, if you go the jailbroken route, it also gives you a few extra options.

01:09:28.145 --> 01:09:34.072
<v Chris>If you did that kind of thing. iDescriptor, yeah. And like you said, it's AGPL 3.0.

01:09:35.559 --> 01:09:39.323
<v Chris>All right, boys. Now, I would like to present you something that I think is

01:09:39.323 --> 01:09:41.189
<v Chris>particularly interesting. And Brentley.

01:09:43.987 --> 01:09:50.533
<v Chris>This might be worth the consideration of a pivot if i were not two three years

01:09:50.533 --> 01:09:56.147
<v Chris>however long four years into obsidian i may consider kiwi fs,

01:09:57.413 --> 01:10:00.313
<v Chris>and so i want to mention it and i'd also like to know if anybody could take

01:10:00.313 --> 01:10:04.233
<v Chris>a peek at it and tell us if it's something we should review kiwi fs is a searchable

01:10:04.233 --> 01:10:06.108
<v Chris>structured version markdown system,

01:10:06.724 --> 01:10:11.603
<v Chris>and you can plug an agent into it in 30 seconds KiwiFS makes Markdown files

01:10:11.603 --> 01:10:14.563
<v Chris>writeable, searchable, queryable, versioned, and human readable.

01:10:14.563 --> 01:10:18.413
<v Chris>They are the source of truth, and everything else is a derivative index of your

01:10:18.413 --> 01:10:20.191
<v Chris>Markdown files that you can build.

01:10:20.615 --> 01:10:25.933
<v Chris>And KiwiFS basically becomes a file system and a wiki for your AI agents as well.

01:10:26.536 --> 01:10:29.293
<v Chris>AI agents can read and write the same knowledge base humans use.

01:10:29.293 --> 01:10:34.147
<v Chris>You can use an MCP, an API, WebDAV, Fuse, all kinds of options.

01:10:34.861 --> 01:10:37.963
<v Chris>It's Obsidian-style Markdown knowledge management but designed to be shared

01:10:37.963 --> 01:10:41.322
<v Chris>with agents and automation. It's self-hostable. It's a single Go binary.

01:10:43.626 --> 01:10:47.457
<v Chris>And they pitch it as a Markdown file system for you and your agents working together.

01:10:49.442 --> 01:10:49.883
<v Brent>Huh.

01:10:49.998 --> 01:10:52.749
<v Chris>And I've thought about this, too. Like, say you get a document,

01:10:52.749 --> 01:10:56.609
<v Chris>say you get like a PDF for the van or you get a receipt like you want to be

01:10:56.609 --> 01:10:59.399
<v Chris>able to just give it to the agent. And then two years later,

01:10:59.399 --> 01:11:04.783
<v Chris>say, hey, I need that receipt from O'Reilly's that was in August of 2026. Right.

01:11:05.189 --> 01:11:09.009
<v Chris>That's what I want. And that's what this is. This is that's one of the things

01:11:09.009 --> 01:11:14.109
<v Chris>along with notes, because it uses three tiers of indexing. So it can be really light.

01:11:14.869 --> 01:11:18.279
<v Chris>You can just use grep. Then you can graduate up to something that's called like

01:11:18.279 --> 01:11:23.579
<v Chris>the BM25 algorithm. You might know more. I don't know what. And then you can also go to vector.

01:11:23.579 --> 01:11:27.019
<v Wes>Yep. Full text plus vector. And then you can kind of have it combined across

01:11:27.019 --> 01:11:29.861
<v Wes>different methods to sort of do a ranked final delivery.

01:11:30.737 --> 01:11:35.389
<v Chris>And you can have a pretty advanced backend that's using object storage and NFS and all this stuff.

01:11:35.769 --> 01:11:37.209
<v Wes>Get versioning built in. I like that.

01:11:38.794 --> 01:11:41.883
<v Chris>Yeah. Yeah, so I think if I hadn't gone down the Obsidian path,

01:11:42.649 --> 01:11:44.269
<v Chris>I'd probably have deployed this this week.

01:11:44.425 --> 01:11:48.859
<v Wes>The other thing that is nice to see is they clearly have a concept of importers

01:11:48.859 --> 01:11:51.429
<v Wes>because they say they have 19 data importers, including Pay,

01:11:51.429 --> 01:11:57.845
<v Wes>Postgres, Notions, Obsidian, CSV, which perhaps also tells you you could wire in your own converter.

01:11:58.037 --> 01:12:01.793
<v Wes>There's an interface for it. It's set up to have multiple of those already, which could be handy.

01:12:02.158 --> 01:12:06.049
<v Chris>I like the versioning built in. That's really nice. The search stuff looks really

01:12:06.049 --> 01:12:10.216
<v Chris>good. The MCP, a lot of these things have that now, but they built that from the very beginning.

01:12:11.626 --> 01:12:14.869
<v Chris>Yeah, I don't know. I mean, I think KiwiFS looks really good.

01:12:14.869 --> 01:12:17.977
<v Chris>I don't know if it's worth replacing something you already have.

01:12:18.401 --> 01:12:21.869
<v Chris>It also could be a bit of a memory system for your agent. So you and your agents

01:12:21.869 --> 01:12:26.479
<v Chris>are kind of working from the same memory system. Think about that for a moment. And it's...

01:12:26.669 --> 01:12:26.964
<v Brent>How did...

01:12:28.219 --> 01:12:31.527
<v Brent>How did you know I was, like, diving into these tools and I wasn't happy with

01:12:31.527 --> 01:12:33.125
<v Brent>anything that I've been finding recently?

01:12:33.627 --> 01:12:35.782
<v Wes>Because you've been doing that since we met you?

01:12:36.587 --> 01:12:37.327
<v Brent>Yeah, that's true.

01:12:37.327 --> 01:12:39.917
<v Chris>That's true. That's true, yeah. The project is new, I should warn you.

01:12:39.917 --> 01:12:44.667
<v Chris>It is new. It started in April of 2026, but it's already, I mean,

01:12:45.007 --> 01:12:48.717
<v Chris>it's got 600 GitHub stars. It's under Active Contributors in Development.

01:12:48.717 --> 01:12:50.995
<v Chris>They've really got, they've moved something. They got something quick, so.

01:12:51.350 --> 01:12:53.717
<v Wes>It is apparently a business source license.

01:12:53.717 --> 01:12:54.067
<v Chris>Yeah.

01:12:54.067 --> 01:12:57.407
<v Wes>So it's free to use, self-host, and modify. the only restriction you can't offer

01:12:57.407 --> 01:12:59.567
<v Wes>QEFS as a commercial hosted service.

01:12:59.567 --> 01:12:59.813
<v Chris>Right.

01:13:00.091 --> 01:13:03.007
<v Wes>Each release does convert to Apache 2 after four years.

01:13:03.007 --> 01:13:04.067
<v Chris>Oh, interesting.

01:13:04.067 --> 01:13:05.367
<v Wes>Just know that going on if you are going to use it.

01:13:05.367 --> 01:13:09.793
<v Chris>Okay. See, there's a lot to like, right? And Markdown is always the source of truth.

01:13:10.999 --> 01:13:16.479
<v Brent>I've been looking at, um, well, many of the suggestions from listeners recently,

01:13:16.984 --> 01:13:21.275
<v Brent>but, uh, Joplin made it into my list as well.

01:13:21.275 --> 01:13:26.265
<v Brent>And they have, uh, seemingly quite, um, you said you're shaking your head,

01:13:26.265 --> 01:13:28.805
<v Brent>but I, I, I'm only mentioning it. I'm not using it.

01:13:28.825 --> 01:13:31.975
<v Chris>It's just, I've been down the same path too. I've been, it's like.

01:13:31.975 --> 01:13:33.885
<v Brent>And I was thinking you would say that exactly.

01:13:35.665 --> 01:13:36.055
<v Chris>The reason.

01:13:36.055 --> 01:13:39.095
<v Brent>I bring it up is only because they seem to have a.

01:13:39.095 --> 01:13:40.025
<v Chris>Lot of like.

01:13:40.325 --> 01:13:41.625
<v Brent>Some of the agent tools as well.

01:13:41.945 --> 01:13:42.795
<v Chris>So it's curious.

01:13:42.795 --> 01:13:44.585
<v Brent>To see these note-taking apps go in that.

01:13:44.585 --> 01:13:47.105
<v Chris>Direction you're either going to fall back from you're either going to fall

01:13:47.105 --> 01:13:50.815
<v Chris>back to obsidian or you're going to try to give qo notes an earnest try that's

01:13:50.815 --> 01:13:56.015
<v Chris>your next no i did that a long time i'm never no you'll you'll think about it

01:13:56.015 --> 01:13:59.365
<v Chris>you'll be like actually no no no qo notes is just the way i should go here.

01:13:59.365 --> 01:14:01.535
<v Wes>We go uh he's a big git guy.

01:14:01.535 --> 01:14:02.835
<v Chris>Right well so brian.

01:14:02.835 --> 01:14:07.949
<v Wes>In matrix is saying i've just been using my forgeo repo to store all my documentation for my agents.

01:14:08.529 --> 01:14:12.725
<v Chris>There you go simple although you know if it ever gets too big that you know

01:14:12.725 --> 01:14:15.985
<v Chris>there it would be nice to be able to vector that or something like that all

01:14:15.985 --> 01:14:20.447
<v Chris>right you know what we do we put links to all this stuff linuxunplugged.com slash 680,

01:14:21.097 --> 01:14:24.595
<v Chris>and then there's the whole network over jupiterbroadcasting.com as long as that

01:14:24.595 --> 01:14:27.585
<v Chris>uh It steals on going. You can find the links over there for all the other shows.

01:14:27.585 --> 01:14:29.575
<v Wes>Yeah, the incredible community-powered website.

01:14:29.575 --> 01:14:32.445
<v Chris>Where are they going? Nowhere? As far as I know. Yeah, that is true.

01:14:32.445 --> 01:14:34.106
<v Chris>That is still a great community-powered website.

01:14:34.710 --> 01:14:37.775
<v Chris>And, of course, we've got boost.jupiterbroadcasting.com as well.

01:14:38.263 --> 01:14:41.355
<v Chris>So here's the thing. If you want to really have some fun, you've got to show

01:14:41.355 --> 01:14:45.095
<v Chris>up on a Sunday. You make it a Tuesday on a Sunday. You hang out with the boys.

01:14:45.095 --> 01:14:47.799
<v Chris>You listen to or watch a little Linux Unplugged live.

01:14:51.236 --> 01:14:54.682
<v Chris>Sundays, 10 a.m. Pacific, 1 p.m. Eastern, your time at jibiterbroadcasting.com

01:14:54.682 --> 01:14:59.012
<v Chris>slash calendar. Now, for the download itself, in your RSS feed, we got some extra stuff.

01:14:59.012 --> 01:15:01.722
<v Wes>We do, including, you're familiar with the MP3?

01:15:01.722 --> 01:15:02.042
<v Chris>Yeah.

01:15:02.042 --> 01:15:03.693
<v Wes>We provide an upgraded MP4.

01:15:04.382 --> 01:15:05.872
<v Chris>You mean there's one extra MP? In the feed?

01:15:05.872 --> 01:15:06.402
<v Wes>That's right, yes.

01:15:06.402 --> 01:15:07.322
<v Chris>Just sitting there in the feed?

01:15:07.322 --> 01:15:08.072
<v Wes>Right in the feed.

01:15:08.072 --> 01:15:08.502
<v Chris>Wow.

01:15:08.502 --> 01:15:10.512
<v Wes>Right next to the e-transcription files.

01:15:10.512 --> 01:15:10.662
<v Chris>What?

01:15:10.662 --> 01:15:13.196
<v Wes>Including, you know, ones that say who's talking to who.

01:15:13.347 --> 01:15:15.712
<v Chris>Do you have any kind of, like, structured data my agent could use?

01:15:15.712 --> 01:15:19.412
<v Wes>Oh, yeah. Like a JSON file that has cloud chapters in it.

01:15:19.412 --> 01:15:21.787
<v Chris>Maybe you have years worth of episodes that have all of that.

01:15:22.008 --> 01:15:25.922
<v Wes>Yeah, not every episode, and different ones got different parts at different times.

01:15:25.922 --> 01:15:26.594
<v Chris>Getting better and better.

01:15:27.202 --> 01:15:28.382
<v Wes>Getting better and richer all the time.

01:15:28.382 --> 01:15:32.312
<v Chris>There you have it. All right. Thank you very much. I could tell you more.

01:15:32.614 --> 01:15:35.122
<v Chris>I'll just leave it with this. Thank you to our mumble room for hanging out with

01:15:35.122 --> 01:15:39.040
<v Chris>us. Thank you to the folks in the live chat, our members, our boosters,

01:15:39.295 --> 01:15:41.564
<v Chris>and thank you for downloading and listening to this episode.

01:15:41.953 --> 01:15:43.872
<v Chris>And I don't say it enough, but for those of you who have been listening for

01:15:43.872 --> 01:15:47.073
<v Chris>a long time, we deeply appreciate you. We really do.

01:15:47.427 --> 01:15:50.132
<v Chris>Thank you for hanging with us through all the ups and downs and changes.

01:15:50.132 --> 01:15:52.952
<v Chris>Well, it's all ups, of course. Through all the ups and ups.

01:15:52.952 --> 01:15:54.474
<v Wes>The ups and slightly less ups.

01:15:54.660 --> 01:15:57.353
<v Chris>Yeah, that's it right there. Thank you.

01:15:58.601 --> 01:16:01.167
<v Chris>And also, thank you for joining us on this particular episode.

01:16:01.649 --> 01:16:04.092
<v Chris>And we'll see you back here for next week's particular episode,

01:16:04.092 --> 01:16:06.775
<v Chris>which will not be in reverse, all right? We're done with that.

01:16:07.564 --> 01:16:09.509
<v Chris>It's going to be in regular order. We'll see you next week.

