WEBVTT

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

00:00:16.055 --> 00:00:16.675
<v Wes>My name is Wes.

00:00:16.895 --> 00:00:17.675
<v Brent>And my name is Brent.

00:00:18.075 --> 00:00:19.415
<v Chris>Hello, gentlemen. Coming up

00:00:19.415 --> 00:00:23.755
<v Chris>on the show this week, open source had a typical week filled with drama.

00:00:24.295 --> 00:00:27.535
<v Chris>Flathub tightened the gates, Gnome Circle put AI Slop on notice,

00:00:27.555 --> 00:00:29.735
<v Chris>and R-Sync somehow became a battleground.

00:00:29.915 --> 00:00:32.915
<v Chris>We'll round it all up and then give you our take, and then we'll round it out

00:00:32.915 --> 00:00:36.515
<v Chris>with some very nice boosts, some very positive picks, and a lot more.

00:00:36.515 --> 00:00:40.815
<v Chris>So before we get any further, let's say time-appropriate greetings to our sole

00:00:40.815 --> 00:00:43.695
<v Chris>virtual lug contributor this week. Hello, Otterbrain.

00:00:45.335 --> 00:00:47.575
<v Chris>Hello. We also have some folks up there in the quiet listening.

00:00:48.235 --> 00:00:52.315
<v Chris>It's nice to have some folks in the live chat, too. Nice to have you on board for the show today.

00:00:52.895 --> 00:00:56.335
<v Chris>And thank you for being there. We have details about our Mumble Room up on our

00:00:56.335 --> 00:00:57.415
<v Chris>website if you want to join that.

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

00:01:01.395 --> 00:01:05.755
<v Chris>Go meet Manage Nebula at Define.net slash unplugged and try it out for free

00:01:05.755 --> 00:01:07.895
<v Chris>on 100 hosts, no credit card required.

00:01:08.075 --> 00:01:12.075
<v Chris>It's decentralized. It's built on the Nebula platform that we love.

00:01:12.215 --> 00:01:14.595
<v Chris>There's no big tech login sitting in the middle.

00:01:14.795 --> 00:01:19.135
<v Chris>There's no black box relay deciding how your network works. It's fast,

00:01:19.275 --> 00:01:22.055
<v Chris>it's secure, and you directly connect under your control.

00:01:22.295 --> 00:01:27.335
<v Chris>Nebula was originally built for Slack to connect their global infrastructure, and it shows.

00:01:27.335 --> 00:01:31.015
<v Chris>The performance is excellent, the design is resilient, and with the optional

00:01:31.015 --> 00:01:34.055
<v Chris>self-hosted lighthouse nodes, you can control the critical pieces yourself.

00:01:34.055 --> 00:01:38.775
<v Chris>If you just want two machines or you want a whole global infrastructure, it'll do it.

00:01:38.855 --> 00:01:41.915
<v Chris>And you can try it out for free with 100 hosts, no credit card required,

00:01:42.055 --> 00:01:43.935
<v Chris>defined.net slash unplugged.

00:01:44.015 --> 00:01:48.735
<v Chris>Go redefine your VPN experience. It's so good. I have it throughout my infrastructure now and I love it.

00:01:49.175 --> 00:01:52.215
<v Chris>Go try it, defined.net slash unplugged.

00:01:54.232 --> 00:01:57.692
<v Brent>It has been a spicy week in open-source AI land.

00:01:57.972 --> 00:02:01.952
<v Brent>Flathub tightened the rules, Gnome Circle put AI slop on notice,

00:02:02.752 --> 00:02:09.632
<v Brent>and rsync-saha became the battleground for whether AI-assisted code is genius or a garbage fire.

00:02:09.872 --> 00:02:13.912
<v Brent>And that's the weird part because while some projects are slamming the brakes,

00:02:14.092 --> 00:02:17.572
<v Brent>others are using these tools to find real bugs, land real fixes,

00:02:17.852 --> 00:02:20.852
<v Brent>and make maintainers just a little bit more dangerous.

00:02:21.712 --> 00:02:23.872
<v Brent>So let's start with rsync.

00:02:24.492 --> 00:02:27.232
<v Chris>Let's start with R-Sync indeed, because I think this was the one that put it

00:02:27.232 --> 00:02:29.752
<v Chris>over the top for us this week. We said we want to talk about this.

00:02:29.812 --> 00:02:31.132
<v Chris>I think we have something to add here.

00:02:31.932 --> 00:02:36.412
<v Chris>Everybody knows the R-Sync project. I think it's an example of one of these beloved tools.

00:02:37.192 --> 00:02:42.072
<v Chris>And this is an example of AI-assisted coding coming to the tool that you use.

00:02:42.952 --> 00:02:48.652
<v Chris>And the headline is that the original creator of R-Sync came back after 18 years

00:02:48.652 --> 00:02:52.032
<v Chris>earlier this year and started triaging.

00:02:52.032 --> 00:02:56.472
<v Wes>I think technically 2024, but they hadn't done much work until this year.

00:02:56.572 --> 00:02:57.732
<v Wes>They really started picking things up.

00:02:58.052 --> 00:03:00.932
<v Chris>Right. Like April and March is really when the patches started coming in.

00:03:02.752 --> 00:03:07.112
<v Chris>And they did so with Claude's assistant, identifying several security vulnerabilities,

00:03:07.112 --> 00:03:11.952
<v Chris>but also in the process of these major rewrites of the syscall layer,

00:03:12.612 --> 00:03:15.472
<v Chris>seemed to introduce several regressions.

00:03:15.632 --> 00:03:20.612
<v Chris>And there has been a massive backlash to regressions being introduced to rsync,

00:03:21.312 --> 00:03:23.112
<v Chris>and accusations of AI slop.

00:03:23.492 --> 00:03:28.312
<v Chris>The R-Sing founder has lost touch with reality. I mean, I think this thing really

00:03:28.312 --> 00:03:31.232
<v Chris>kicked off with a post on Mastodon that...

00:03:32.829 --> 00:03:37.609
<v Chris>Posted by they always Jeremiah Fletheaven. How do you suppose you say that last

00:03:37.609 --> 00:03:40.389
<v Chris>one? I'm sure a field haven. Thank you. I cannot read it from here.

00:03:40.889 --> 00:03:44.509
<v Chris>Jeremiah wrote. So my systems recently updated to our sink 3.4.3.

00:03:44.709 --> 00:03:47.669
<v Chris>And as soon as that happened, my backup system, which does incremental backups

00:03:47.669 --> 00:03:52.069
<v Chris>using multiple dash compare destination equals arguments, started to fail on

00:03:52.069 --> 00:03:56.669
<v Chris>anything but a full backup reverting to our sink 3.4.1.

00:03:56.829 --> 00:04:00.569
<v Chris>And now it works. So I go look at the source in GitHub to see what might have

00:04:00.569 --> 00:04:03.449
<v Chris>changed, because there doesn't seem to be anything relevant in the changelog.

00:04:03.689 --> 00:04:09.949
<v Chris>Since 3.4.1, 36 commits by Tridge and Claude. Oh, for F's sake.

00:04:10.229 --> 00:04:12.009
<v Wes>And that was on May 28th.

00:04:12.629 --> 00:04:17.029
<v Chris>And so since then, a firestorm of criticism have kicked off.

00:04:17.309 --> 00:04:21.589
<v Chris>And poll requests against the projects, people saying they're going to fork rsync.

00:04:21.869 --> 00:04:25.989
<v Wes>Yeah, we have seen at least a few sort of forks or alternatives pop up already.

00:04:25.989 --> 00:04:30.709
<v Chris>So let's break down what's really going on here, because I think the headline

00:04:30.709 --> 00:04:35.349
<v Chris>noise is distracting from probably the pattern that is actually just there in the commits.

00:04:35.869 --> 00:04:40.869
<v Chris>And Wes did a deep dive. We put some stuff together, and I think the story is

00:04:40.869 --> 00:04:43.629
<v Chris>a lot more understandable than it's currently being interpreted online.

00:04:43.809 --> 00:04:45.689
<v Chris>And I think this is maybe where we can add some value.

00:04:45.909 --> 00:04:50.229
<v Chris>So Tridge is the original creator of R-Sync, took about an 18-year hiatus,

00:04:51.109 --> 00:04:55.409
<v Chris>seems to have recently discovered AI-assisted tools, and begun going through

00:04:55.409 --> 00:04:58.289
<v Chris>the code base, triaging bugs and

00:04:58.289 --> 00:05:00.929
<v Chris>security issues that may have potentially been there for quite a while.

00:05:01.969 --> 00:05:08.749
<v Chris>And it looks like when you go through them, there was maybe a total of 77 issues that were worked on.

00:05:09.769 --> 00:05:17.029
<v Chris>And of those 77 issues, we've seen some PRs come in, maybe a total of nine regressions out of the 77.

00:05:17.389 --> 00:05:20.029
<v Wes>Yeah, something like that. I mean, these are all like a static snapshot of when

00:05:20.029 --> 00:05:21.309
<v Wes>I was kind of looking at the data.

00:05:21.449 --> 00:05:24.489
<v Chris>Of course. That gives you an idea of the volume, right? We're looking at maybe

00:05:24.489 --> 00:05:27.669
<v Chris>77 PRs that were worked on and maybe nine regression issues.

00:05:28.840 --> 00:05:31.600
<v Wes>Yeah, and it's, so it's like, you know, he started maintaining things.

00:05:31.900 --> 00:05:33.240
<v Wes>Interestingly, Trich is also,

00:05:33.700 --> 00:05:37.860
<v Wes>I guess, was involved in reverse engineering BitKeeper back in the day.

00:05:38.040 --> 00:05:45.000
<v Wes>That ended up being why Linux needed to start using Git, if we remember that story from long ago.

00:05:45.160 --> 00:05:47.740
<v Wes>So a long history in open source and being involved with things.

00:05:48.320 --> 00:05:52.560
<v Wes>And so it takes over in 2024, doesn't really touch things much,

00:05:52.780 --> 00:05:56.740
<v Wes>does do some small things here and there, starts picking up in 2025, 2026.

00:05:57.700 --> 00:06:01.020
<v Wes>but is just doing work by hand. And actually, a lot of the stuff,

00:06:01.400 --> 00:06:05.260
<v Wes>like secure relative open, which is involved, which is like a real implementation

00:06:05.260 --> 00:06:10.060
<v Wes>of doing open in a better way inside the code base, which is involved with some of the breakage.

00:06:10.600 --> 00:06:15.640
<v Wes>Some of this, a lot of the actual like fixes and redesigns happen before any

00:06:15.640 --> 00:06:16.980
<v Wes>of the clod commits show up.

00:06:17.340 --> 00:06:20.520
<v Wes>Sort of like over a 22-month period kind of slow pecking at it.

00:06:20.540 --> 00:06:23.520
<v Chris>I mean, that doesn't surprise me. He's clearly a very talented developer and

00:06:23.520 --> 00:06:25.080
<v Chris>has been for many, many, many years.

00:06:25.400 --> 00:06:26.320
<v Wes>And then...

00:06:27.182 --> 00:06:33.302
<v Wes>More recently, we see this big uptake in velocity in the codebase and a lot

00:06:33.302 --> 00:06:34.982
<v Wes>of commits co-authored by Claude.

00:06:35.182 --> 00:06:38.402
<v Wes>And then when you look at it, a lot of it is kind of applying the patterns that

00:06:38.402 --> 00:06:42.022
<v Wes>he had seemingly found by himself in the era before, or at least before we start

00:06:42.022 --> 00:06:43.202
<v Wes>seeing the co-authored commits,

00:06:43.862 --> 00:06:48.002
<v Wes>and then using Claude to go apply that across the codebase, as well as do a

00:06:48.002 --> 00:06:52.042
<v Wes>bunch of sort of like other tests and docs and just sort of like that kind of fix.

00:06:52.162 --> 00:06:55.762
<v Wes>So if you look at the commits so far, it's not like Claude is doing a big structural

00:06:55.762 --> 00:06:56.762
<v Wes>rewrite of the codebase.

00:06:56.762 --> 00:06:57.202
<v Chris>From scratch.

00:06:57.522 --> 00:07:01.722
<v Wes>It's sort of applying some patterns, doing security fixes, responding to CVEs.

00:07:01.822 --> 00:07:05.822
<v Wes>Because there's also like six CVEs that have kind of come up in our sync through

00:07:05.822 --> 00:07:08.442
<v Wes>this time. And that's been some of the work that's been happening as well.

00:07:08.802 --> 00:07:12.022
<v Chris>Yeah, I have to imagine they're probably getting more of those. Right.

00:07:12.282 --> 00:07:16.202
<v Wes>And that's where, like, there's a few, like, one story could be,

00:07:16.322 --> 00:07:22.042
<v Wes>oh, gosh, you know, maintainer starts using AI. The project's going to slop.

00:07:22.382 --> 00:07:25.862
<v Wes>You know, we can't, what's happening? Just that whole thing.

00:07:25.862 --> 00:07:28.762
<v Wes>it can also be partly that like here's a person

00:07:28.762 --> 00:07:31.462
<v Wes>who hasn't maintained this code base for most of its

00:07:31.462 --> 00:07:34.822
<v Wes>existence he's created it and used it maintained

00:07:34.822 --> 00:07:38.002
<v Wes>it for the first part and then handed it off to the the main

00:07:38.002 --> 00:07:40.842
<v Wes>maintainer for most of that time uh who's now

00:07:40.842 --> 00:07:44.762
<v Wes>getting more involved and wanting to do more releases and sort of the both the

00:07:44.762 --> 00:07:48.782
<v Wes>development speed and the release cadence here is picking up and then i think

00:07:48.782 --> 00:07:52.582
<v Wes>there's probably some very reasonable questions you can ask about like is that

00:07:52.582 --> 00:07:55.722
<v Wes>being communicated what are the expectations of the users right there's like

00:07:55.722 --> 00:08:00.342
<v Wes>a lot of sort of regular open source project maintainership and maintenance questions that apply.

00:08:00.582 --> 00:08:04.822
<v Wes>And then on the other side of all that, there's also the question from the CVEs.

00:08:04.922 --> 00:08:08.522
<v Wes>One of the forks is sort of a minimal implementation of R-Sync's protocol in Go.

00:08:09.282 --> 00:08:13.822
<v Wes>And the point from that author is some of this is even just like,

00:08:14.122 --> 00:08:17.642
<v Wes>it brings up this issue of like, should we even be depending on R-Sync and C

00:08:17.642 --> 00:08:21.302
<v Wes>in this era when we know that like these six CVEs that kind of brought up a

00:08:21.302 --> 00:08:25.102
<v Wes>lot of these, some of these issues wouldn't even have occurred in a language like Go or Rust.

00:08:26.931 --> 00:08:27.291
<v Chris>Okay.

00:08:27.491 --> 00:08:31.831
<v Wes>So there's a lot of things you could miss if you just focus on the clod co-committed part.

00:08:32.691 --> 00:08:36.391
<v Chris>Okay. So he finds the bugs themselves with a code audit. Then he designs a fix

00:08:36.391 --> 00:08:38.791
<v Chris>that he implements using clod code.

00:08:39.071 --> 00:08:45.531
<v Chris>And he tags everything and transparently discloses every commit that was used with clod code.

00:08:45.671 --> 00:08:48.351
<v Wes>As far as we know. I mean, you know, we can't really tell.

00:08:48.591 --> 00:08:48.771
<v Chris>I suppose, yeah.

00:08:48.771 --> 00:08:53.471
<v Wes>But it seems like the intention is to be transparent. At least he has opted into using that.

00:08:54.991 --> 00:08:59.851
<v Chris>And so we did get, I mean, there were security fixes that happened here,

00:08:59.951 --> 00:09:01.971
<v Chris>but we also got regressions introduced at the same time.

00:09:02.191 --> 00:09:04.171
<v Wes>Yeah. And that's pretty normal.

00:09:04.411 --> 00:09:06.851
<v Chris>That's a pretty standard thing to happen in software development.

00:09:07.071 --> 00:09:10.851
<v Wes>And it's totally fair to be like, this regression caused me issues and pain

00:09:10.851 --> 00:09:15.531
<v Wes>and it's upset and you can have broken trust around, I expected you to have

00:09:15.531 --> 00:09:17.411
<v Wes>better QA before the ship. Those are all fine.

00:09:17.491 --> 00:09:20.331
<v Chris>Well, some of these things are like, it broke on Darwin, right?

00:09:20.451 --> 00:09:22.611
<v Chris>A specific thing broke on Mac OS.

00:09:22.951 --> 00:09:26.271
<v Wes>There is also, it's worth trying to look into, like, what is the actual breakage

00:09:26.271 --> 00:09:29.671
<v Wes>and how widespread and is it an edge case or is it a major thing that you should have had better?

00:09:29.671 --> 00:09:32.651
<v Chris>Well, and then there's the fact that a lot of distros gate the releases,

00:09:32.651 --> 00:09:37.291
<v Chris>so it's not like everybody is just running off of upstream R-sync point releases either.

00:09:37.551 --> 00:09:40.511
<v Chris>So the actual distribution of this, you've got to be pretty close to the faucet

00:09:40.511 --> 00:09:41.611
<v Chris>for this to even impact you.

00:09:42.051 --> 00:09:46.351
<v Wes>Right. And you also then need to not have a way that you can roll back easily.

00:09:46.551 --> 00:09:49.651
<v Chris>Right. So, I mean, these are some, I think, of the ground rules to understand

00:09:49.651 --> 00:09:52.571
<v Chris>with this issue. Now, did the regressions actually get introduced?

00:09:52.831 --> 00:09:55.691
<v Chris>Yes, but I would argue that when you're looking at the type of work that was

00:09:55.691 --> 00:10:02.071
<v Chris>being done, you're essentially raising the walls on what were lower standards

00:10:02.071 --> 00:10:05.131
<v Chris>18 years ago for syscall securities and things like that.

00:10:05.291 --> 00:10:09.911
<v Chris>You're improving the internal security of rsync, and that's always going to

00:10:09.911 --> 00:10:13.931
<v Chris>cause breakage, even if you're hand-coding that, especially for that type of

00:10:13.931 --> 00:10:16.131
<v Chris>stuff and an 18-year-old project like that.

00:10:17.173 --> 00:10:19.993
<v Chris>So I think it's really unfortunate that they've really turned on Tridge because

00:10:19.993 --> 00:10:23.213
<v Chris>I think it's really great to see that he's back and that he's contributing again.

00:10:23.453 --> 00:10:26.353
<v Wes>It does seem to be addressing the regressions as well. I do think there's maybe

00:10:26.353 --> 00:10:33.073
<v Wes>a question there of I don't know if I've seen any sort of particular response to all of this.

00:10:33.393 --> 00:10:35.773
<v Wes>And we can ask if that's owed or not. That's a separate question.

00:10:36.133 --> 00:10:41.753
<v Wes>But I think there are maybe questions of what could you do differently if you

00:10:41.753 --> 00:10:44.173
<v Wes>are going to be doing more maintenance, more active changes,

00:10:44.393 --> 00:10:45.933
<v Wes>changing how the project is maintained.

00:10:46.073 --> 00:10:49.093
<v Chris>Let's talk about that for a second. Because I think one of the things I noticed

00:10:49.093 --> 00:10:52.713
<v Chris>is just a lot of dropping of code, just a lot of code, a lot of changes all

00:10:52.713 --> 00:10:54.633
<v Chris>at once across a broad variety of things.

00:10:55.133 --> 00:10:58.573
<v Wes>And for a project that has been quite stable, it's kind of faded into background

00:10:58.573 --> 00:11:02.533
<v Wes>infrastructure. You don't really, besides maybe you filed an issue for some

00:11:02.533 --> 00:11:05.613
<v Wes>weird little case for your particular system or an improvement or a dock update.

00:11:05.833 --> 00:11:08.333
<v Wes>You don't really think of R-Sync as something that's constantly changing or

00:11:08.333 --> 00:11:09.253
<v Wes>you're pulling down lots of new.

00:11:09.593 --> 00:11:12.793
<v Chris>Well, for example, Debian stable ships R-Sync from 2022.

00:11:15.287 --> 00:11:19.107
<v Chris>So a lot of people that are using Debian-based distributions are on a massively

00:11:19.107 --> 00:11:23.187
<v Chris>older version. So they're never going to see this. So that is true.

00:11:25.367 --> 00:11:29.667
<v Chris>That's just the reality of it. I think, and the irony of somebody forks it,

00:11:29.707 --> 00:11:30.567
<v Chris>they're going to vibe code it, too.

00:11:31.067 --> 00:11:34.887
<v Wes>That's the other question is, so like one of the forks, I think I have a link

00:11:34.887 --> 00:11:39.367
<v Wes>in here, is basically just a fork of the project before the first sort of obviously

00:11:39.367 --> 00:11:41.627
<v Wes>co-authored with Claude commit.

00:11:41.627 --> 00:11:41.947
<v Chris>Yeah.

00:11:43.387 --> 00:11:46.567
<v Wes>And that's fine, but we kind of functionally already have that in anywhere that

00:11:46.567 --> 00:11:48.907
<v Wes>has a fork of the repo already, right?

00:11:49.307 --> 00:11:52.847
<v Wes>You're just rolling back the head pointer effectively. And that's fine, whatever.

00:11:53.047 --> 00:11:56.227
<v Wes>You get that with stable distributions kind of already. And there are some discussions

00:11:56.227 --> 00:11:59.087
<v Wes>in like the WMA list of, aren't they going to need to do anything about this?

00:11:59.167 --> 00:12:00.707
<v Wes>And I guess we'll see where that goes.

00:12:01.167 --> 00:12:05.487
<v Chris>When we get to the comments of the Zig creator about Zig's policy on AI,

00:12:05.947 --> 00:12:08.207
<v Chris>I think it's going to underscore a point that I want to make.

00:12:08.307 --> 00:12:11.227
<v Chris>But the reality I think we're about to face,

00:12:11.227 --> 00:12:13.047
<v Chris>And I don't know if we're there yet because I'm no developer,

00:12:13.047 --> 00:12:17.227
<v Chris>but it feels like we're getting pretty damn close is we're about to cross a

00:12:17.227 --> 00:12:22.007
<v Chris>threshold or we have already crossed a threshold where the average one shot

00:12:22.007 --> 00:12:25.867
<v Chris>LLM basic project code is going to be better than a beginner developer.

00:12:27.029 --> 00:12:29.869
<v Chris>And it's going to be a better product than an amateur. And I don't know if it's

00:12:29.869 --> 00:12:33.129
<v Chris>there yet, but it will be because these things just keep improving.

00:12:33.489 --> 00:12:37.049
<v Chris>And they're improving at a pace that is very impressive because they can just keep training.

00:12:37.249 --> 00:12:43.189
<v Chris>And some of these shops like Anthropic and OpenAI are very, very intent on making

00:12:43.189 --> 00:12:44.729
<v Chris>it great at software development.

00:12:45.189 --> 00:12:48.509
<v Chris>And they're very focused as part of their business revenue strategy on their

00:12:48.509 --> 00:12:51.609
<v Chris>Cloud Code and Codex projects, respectively.

00:12:52.069 --> 00:12:56.289
<v Chris>And I think we are entering this era of either it's about to be there or it

00:12:56.289 --> 00:12:58.929
<v Chris>is there where it's going to generate better code than a lot of amateurs.

00:12:59.609 --> 00:13:04.129
<v Chris>And when we get there, we're just going to discover all of these issues that

00:13:04.129 --> 00:13:08.989
<v Chris>we have never discovered before. And it's going to happen every single week for multiple projects.

00:13:09.389 --> 00:13:14.109
<v Chris>And people cannot get the pitchforks out and go after developer for using AI to try to fix this.

00:13:14.469 --> 00:13:16.369
<v Chris>Because next year, these things are going to be even better.

00:13:16.489 --> 00:13:18.449
<v Chris>And the year after that, they're going to be even better programmers.

00:13:18.449 --> 00:13:24.109
<v Chris>and it does seem conceivable at some point they will exceed most proficient

00:13:24.109 --> 00:13:26.449
<v Chris>developers to some capacity.

00:13:26.769 --> 00:13:30.589
<v Chris>I don't know when and how, but it seems possible. And when it does,

00:13:30.809 --> 00:13:35.309
<v Chris>it's likely going to find even more issues in our code. And this problem only accelerates.

00:13:35.469 --> 00:13:40.189
<v Wes>I think the other part, the implication of that is, okay, maybe at the start,

00:13:40.409 --> 00:13:44.929
<v Wes>the co-authored was maybe a hint at, oh, the quality might not be great unless

00:13:44.929 --> 00:13:46.769
<v Wes>there was real editing and review here.

00:13:46.769 --> 00:13:51.169
<v Wes>but that becomes much less of an actual reliable signal it was never a great

00:13:51.169 --> 00:13:55.069
<v Wes>signal if I'm honest but it becomes even less of a useful signal down the line

00:13:55.069 --> 00:13:58.509
<v Wes>what I was going to say before is just the real test of a fork is not can you

00:13:58.509 --> 00:14:02.209
<v Wes>freeze the code base it's can you actually continue to maintain it and offer

00:14:02.209 --> 00:14:04.449
<v Wes>real things and have your own stability and yeah,

00:14:05.620 --> 00:14:08.760
<v Wes>So that's where like a frozen fork of our sink is not that interesting to me

00:14:08.760 --> 00:14:11.740
<v Wes>necessarily. If it can actually be maintained, okay, maybe there's something there.

00:14:11.980 --> 00:14:16.200
<v Wes>A go one or a version in non-C language, that starts a more legitimate conversation

00:14:16.200 --> 00:14:17.540
<v Wes>for totally structural reasons.

00:14:17.720 --> 00:14:20.460
<v Chris>I mean, are we just not talking about the fact that there are six CVEs here

00:14:20.460 --> 00:14:24.020
<v Chris>that are being addressed? Like those are real bugs. And if you just fork off

00:14:24.020 --> 00:14:25.260
<v Chris>of that, you're going to have these six CVEs.

00:14:25.260 --> 00:14:29.440
<v Wes>You have to go keep up with all the, yeah. And there's going to be more CVEs found to your point.

00:14:29.600 --> 00:14:32.280
<v Chris>Like we have to fix this stuff. And it's, yeah, it's going to get worse.

00:14:32.280 --> 00:14:35.600
<v Chris>And the pitchforks really should just be put down and people should just get

00:14:35.600 --> 00:14:38.560
<v Chris>to work and have some empathy for these developers who are going to have to

00:14:38.560 --> 00:14:39.340
<v Chris>go through this transition.

00:14:39.600 --> 00:14:44.700
<v Chris>Now, Flathub is taking a no LLM policy, and it's somewhere more in a middle ground here.

00:14:44.840 --> 00:14:49.860
<v Chris>They say we have updated Flathub's LLM policy to explicitly disallow AI usage

00:14:49.860 --> 00:14:53.660
<v Chris>for both the submission process and applications being submitted.

00:14:53.660 --> 00:14:57.500
<v Chris>The number of, they'll go on to say later, the number of unpleasant interactions

00:14:57.500 --> 00:15:01.700
<v Chris>that I have had with entitled submitters acting as if they were bestowing their

00:15:01.700 --> 00:15:06.000
<v Chris>brilliant software upon us idiots who are rejecting it went through the roof

00:15:06.000 --> 00:15:07.940
<v Chris>in the last month. I'm tired.

00:15:08.460 --> 00:15:12.680
<v Chris>As always, we will not be applying this retroactively. So any vibe coded apps

00:15:12.680 --> 00:15:14.600
<v Chris>which were already published will remain available.

00:15:15.600 --> 00:15:18.640
<v Chris>So Flathub is introducing a no LLM policy here.

00:15:19.640 --> 00:15:23.020
<v Chris>And when you go to the GitHub, you can kind of see the language of the policy

00:15:23.020 --> 00:15:26.980
<v Chris>and the changes they've made. And there's a question and an answer, sort of as a follow-up.

00:15:27.020 --> 00:15:31.100
<v Chris>The question goes, so does this mean any application developed with AI tools,

00:15:31.220 --> 00:15:34.160
<v Chris>even things like Editor Autocomplete, are not allowed to be submitted?

00:15:34.520 --> 00:15:38.680
<v Chris>And the individual from Latub responds, unlikely to be considered a blocker

00:15:38.680 --> 00:15:41.700
<v Chris>unless you literally tabbed your entire way through Autocomplete.

00:15:43.520 --> 00:15:47.920
<v Chris>So we have a new Flathub policy here that's not super rigid,

00:15:47.920 --> 00:15:51.580
<v Chris>but it is pretty intense. No LLM-generated applications.

00:15:51.860 --> 00:15:56.360
<v Chris>I think no LLM-generated descriptions is fair enough for a publishing platform like Flathub.

00:15:56.460 --> 00:15:57.020
<v Wes>Sure, reasonable, yeah.

00:15:57.220 --> 00:15:59.000
<v Chris>So I think that I can agree with them on.

00:15:59.540 --> 00:16:04.240
<v Wes>I do think all of these face the same essential problem of if it's a good description,

00:16:04.240 --> 00:16:09.400
<v Wes>is it disqualified because it has an MDash and you associate that with LLMs,

00:16:09.400 --> 00:16:11.300
<v Wes>even if it's correct grammar and reads well?

00:16:11.460 --> 00:16:13.240
<v Chris>I know, I miss losing the MDash.

00:16:13.240 --> 00:16:17.100
<v Wes>Does it matter if it was generated and then I edited it and I totally approved

00:16:17.100 --> 00:16:19.460
<v Wes>the entire thing? I said, yes, this sounds like what I would have written,

00:16:19.640 --> 00:16:20.980
<v Wes>except with slightly better grammar.

00:16:21.180 --> 00:16:21.520
<v Brent>Mm hmm.

00:16:22.531 --> 00:16:24.611
<v Wes>None of the hard questions are addressed by this whatsoever,

00:16:24.611 --> 00:16:28.251
<v Wes>in my view, which seems like a worse wording of what they had before.

00:16:28.511 --> 00:16:31.911
<v Wes>And probably in practice, a lot of it will be fine, right? I think it's stern

00:16:31.911 --> 00:16:35.891
<v Wes>language that will probably be somewhat lightly enforced and is probably meant

00:16:35.891 --> 00:16:37.951
<v Wes>to attack the worst cases of, like,

00:16:38.131 --> 00:16:42.211
<v Wes>just slop that is trying to throw it over the wall and is not being cared for

00:16:42.211 --> 00:16:44.311
<v Wes>or maintained or really represented by a human or, you know,

00:16:44.311 --> 00:16:48.191
<v Wes>anything like any of those other things that you might want in terms of a maintainer

00:16:48.191 --> 00:16:49.511
<v Wes>relationship with a platform.

00:16:49.711 --> 00:16:50.091
<v Chris>Yeah.

00:16:50.311 --> 00:16:50.991
<v Wes>And that I understand.

00:16:50.991 --> 00:16:54.311
<v Chris>Yeah, when you worst case it, like, I totally agree. Like, something that's

00:16:54.311 --> 00:16:57.491
<v Chris>just, like, generating slop up onto somebody's GitHub, they're not even reviewing

00:16:57.491 --> 00:17:01.471
<v Chris>it, and then they're just auto-submitting that to Flathub and generate, like, I can get that.

00:17:01.751 --> 00:17:04.231
<v Chris>And I could see they could just get inundated with that, too,

00:17:04.451 --> 00:17:07.151
<v Chris>right? Especially because you could just almost automate the entire process.

00:17:07.331 --> 00:17:09.671
<v Wes>But at least when I first tried it, too, it seems like it sort of then also

00:17:09.671 --> 00:17:15.211
<v Wes>privileges proprietary software, because you don't know. You're not even trying to audit that.

00:17:16.111 --> 00:17:19.791
<v Chris>That's a really good point. That's a really good point. How does this strike

00:17:19.791 --> 00:17:20.871
<v Chris>you, this decision, Brent?

00:17:21.551 --> 00:17:24.551
<v Brent>It's a rough one i can try to see it from a couple different

00:17:24.551 --> 00:17:27.571
<v Brent>perspectives right like some people might now feel quite

00:17:27.571 --> 00:17:30.591
<v Brent>empowered to be able to create software

00:17:30.591 --> 00:17:33.311
<v Brent>they could never create before and let's say you create some niche piece of

00:17:33.311 --> 00:17:36.251
<v Brent>software you're like wow i've always wanted this now i can actually make it

00:17:36.251 --> 00:17:39.351
<v Brent>and i know there's a tiny niche of other people who would love

00:17:39.351 --> 00:17:42.251
<v Brent>to use this as well how do i distribute it flat hub

00:17:42.251 --> 00:17:44.891
<v Brent>sounds amazing uh but i could see it

00:17:44.891 --> 00:17:47.751
<v Brent>from the developers perspectives and the maintainers as well as like

00:17:47.751 --> 00:17:50.811
<v Brent>well how many of these one-off pieces

00:17:50.811 --> 00:17:55.271
<v Brent>of software do we accept and who you know the whole chain of trust goes into

00:17:55.271 --> 00:18:01.211
<v Brent>question as well and these are i don't know it's gonna it's gonna be a long

00:18:01.211 --> 00:18:05.471
<v Brent>time of asking these questions and projects making these kind of decisions just

00:18:05.471 --> 00:18:09.711
<v Brent>to try to tread some water i i imagine i.

00:18:09.711 --> 00:18:15.371
<v Chris>I wonder too where if the line gets fuzzy if say you submit like we're gonna

00:18:15.371 --> 00:18:18.891
<v Chris>have a pick today that that just rides entirely on top of.

00:18:18.891 --> 00:18:19.291
<v Brent>Pipewire.

00:18:19.491 --> 00:18:22.751
<v Chris>I mean, it's a front end of Pipewire. The developer's done some work,

00:18:22.791 --> 00:18:26.211
<v Chris>but the lift is being done by Pipewire. And...

00:18:27.309 --> 00:18:32.109
<v Chris>It could be that the features it's using in Pipewire have been AI-assisted in development.

00:18:32.629 --> 00:18:40.229
<v Chris>And so what if you submit an app to Flathub that is not itself AI-generated,

00:18:40.229 --> 00:18:46.009
<v Chris>but depends entirely on AI-generated code elsewhere in the ecosystem and elsewhere in the stack?

00:18:46.589 --> 00:18:49.009
<v Chris>I guess that's allowed?

00:18:51.049 --> 00:18:52.989
<v Brent>These are hard questions. I don't know.

00:18:52.989 --> 00:18:58.609
<v Chris>It's, yeah. And here's where I get a little concerned, just it is what it is,

00:18:58.729 --> 00:19:01.249
<v Chris>but the Linux desktop isn't known

00:19:01.249 --> 00:19:06.369
<v Chris>for its incredibly rich, bespoke desktop application ecosystem, right?

00:19:06.849 --> 00:19:10.149
<v Chris>And we've been getting there, but this is going to tap the brakes on it.

00:19:10.529 --> 00:19:15.589
<v Chris>And it is what it is. I'm not making a moral decision here, but the reality will be...

00:19:16.565 --> 00:19:22.285
<v Chris>It won't be but a year before Microsoft and Apple and Google and Amazon and

00:19:22.285 --> 00:19:27.245
<v Chris>Samsung and all the others in their various app store platforms are going to

00:19:27.245 --> 00:19:32.285
<v Chris>spotlight applications that have been vibe coded using their tooling.

00:19:32.505 --> 00:19:39.725
<v Chris>Right. If somebody shows up at WWDC using a AI assisted generated app from Xcode

00:19:39.725 --> 00:19:42.765
<v Chris>and it's a good app, Apple is going to spotlight that. Right.

00:19:42.825 --> 00:19:46.485
<v Chris>If somebody uses Copilot to create something and it goes into the Microsoft

00:19:46.485 --> 00:19:50.685
<v Chris>store and it sells, they're going to put it up on a banner and et cetera.

00:19:50.885 --> 00:19:54.965
<v Chris>All these platforms will do that that offer these tools and they're going to

00:19:54.965 --> 00:19:59.785
<v Chris>embrace it as an avenue for people to bring software over and they're going

00:19:59.785 --> 00:20:02.105
<v Chris>to spotlight it while we shun it.

00:20:02.105 --> 00:20:06.205
<v Chris>And then the irony is, is we're the ones that are application ecosystem poor.

00:20:07.065 --> 00:20:11.265
<v Chris>And probably one of the best shots we have, and we've already seen it,

00:20:11.545 --> 00:20:16.745
<v Chris>they've got Creative Cloud working on Linux, is using AI-assisted tooling to

00:20:16.745 --> 00:20:20.385
<v Chris>port over and get things working on Linux that never ran before.

00:20:20.625 --> 00:20:25.425
<v Chris>I mean, that's how we got Photoshop recently, the current version of Photoshop working.

00:20:25.645 --> 00:20:28.585
<v Wes>There's also, I think, like Brent was totally on point, like exactly kind of

00:20:28.585 --> 00:20:33.365
<v Wes>the apps Brent was describing there. are the apps we tend to find and highlight on the show.

00:20:33.545 --> 00:20:36.825
<v Wes>And there's always great little tiny things. That's like kind of what I go to.

00:20:37.065 --> 00:20:39.805
<v Wes>I mean, yes, FlatHub can get you Spotify, you know, or whatever those two.

00:20:39.965 --> 00:20:44.065
<v Wes>But that's what I like about it. That's why we kind of use it to try to find interesting new apps.

00:20:44.205 --> 00:20:49.225
<v Wes>And a lot of those apps are more about executing the particular idea than they

00:20:49.225 --> 00:20:50.845
<v Wes>are about beautiful GTK code.

00:20:50.965 --> 00:20:55.605
<v Chris>Well, and that's just it. Because we don't shame an amateur developer with one

00:20:55.605 --> 00:20:59.085
<v Chris>of their first projects is open source code and they put it out there and it's

00:20:59.085 --> 00:21:00.925
<v Chris>garbage filled with security issues.

00:21:01.225 --> 00:21:04.865
<v Chris>You know, as a community, we'll mentor them. We'll work with them if it's a

00:21:04.865 --> 00:21:07.005
<v Chris>project that's useful and people will contribute patches.

00:21:08.917 --> 00:21:12.877
<v Chris>But we're not willing to do it in this case, even if it's something that's useful.

00:21:13.197 --> 00:21:16.157
<v Chris>Like, well, OK, if it's slop, make it better.

00:21:16.997 --> 00:21:22.157
<v Chris>Shut up and make it better. Like, that's the solution here, because we have

00:21:22.157 --> 00:21:23.997
<v Chris>more tools than we've ever had before.

00:21:24.337 --> 00:21:27.897
<v Chris>That, to me, seems to be the solution. But don't do it in Zig.

00:21:29.317 --> 00:21:38.577
<v Chris>Zig has a no AI policy. And the Zig creator was on the JetBrains podcast recently.

00:21:38.917 --> 00:21:40.757
<v Chris>And I think his name is Andrew, right? The creator of Zig?

00:21:40.857 --> 00:21:41.377
<v Wes>I believe so.

00:21:41.997 --> 00:21:46.237
<v Chris>And he is, Zig's kind of known. Yeah, Andrew Kelly. Zig's kind of known for

00:21:46.237 --> 00:21:49.197
<v Chris>having a no LLM, no AI policy.

00:21:49.797 --> 00:21:52.957
<v Chris>And so the interviewer from JetBrains asked him, you know, why is.

00:21:53.157 --> 00:21:57.277
<v Wes>And just to be clear, that's for the Zig, like maintaining the Zig language

00:21:57.277 --> 00:22:00.217
<v Wes>itself. Not using it to make projects, whatever. That's all fine.

00:22:00.297 --> 00:22:02.917
<v Chris>Yeah, they have no control over that. But if you want to contribute to the Zig

00:22:02.917 --> 00:22:07.817
<v Chris>code base for Zig itself, they have a hard no LLM, no AI policy.

00:22:07.817 --> 00:22:11.377
<v Chris>and they will reject it out of hand, even if it's like a critical security fix.

00:22:11.557 --> 00:22:16.717
<v Chris>If they smell a whiff of LLM, they'll reject it out of hand.

00:22:16.837 --> 00:22:21.537
<v Chris>And so Andrew was on the JetBrains podcast and he was asked why Zig is denying

00:22:21.537 --> 00:22:23.797
<v Chris>all LLM-generated code. So I thought we'd take a listen.

00:22:24.057 --> 00:22:29.637
<v Clips>The first reason is just that those kinds of contributions are invariably garbage.

00:22:30.557 --> 00:22:35.837
<v Clips>People are sending us contributions that have no value whatsoever.

00:22:35.837 --> 00:22:41.517
<v Clips>However, not only that, they have negative value because they take review time

00:22:41.517 --> 00:22:43.857
<v Clips>away from the team, which is very limited.

00:22:44.177 --> 00:22:51.077
<v Clips>We have over 200 pull requests sitting open right now, and those are all waiting for review.

00:22:51.277 --> 00:22:54.537
<v Clips>And we try to be on top of it as much as possible.

00:22:55.837 --> 00:22:58.997
<v Clips>When you have a small number of people in the dev team and you have a large

00:22:58.997 --> 00:23:04.237
<v Clips>number of contributors, this is always the problem is this bottleneck of review time.

00:23:04.417 --> 00:23:09.177
<v Clips>So, when we get these slop contributions, they take our review time and then

00:23:09.177 --> 00:23:13.237
<v Clips>after a few reviews, we realize they have no clue what they're doing.

00:23:13.597 --> 00:23:18.737
<v Clips>They're just pasting what we say back to the chat and then laundering the chat

00:23:18.737 --> 00:23:21.337
<v Clips>back to pretend that they're not using chat but we can still tell.

00:23:22.057 --> 00:23:25.537
<v Clips>And then at some point, we realize this is never going to be a good quality

00:23:25.537 --> 00:23:27.017
<v Clips>because they have no idea what they're doing.

00:23:27.257 --> 00:23:30.877
<v Clips>And so now we wasted everybody's time. All those other people who are waiting

00:23:30.877 --> 00:23:35.377
<v Clips>patiently, they didn't get a review and the code never gets merged. It's worthless.

00:23:35.657 --> 00:23:39.557
<v Clips>We like to call it contributor poker. So,

00:23:40.784 --> 00:23:46.464
<v Clips>The main point of doing code reviews and having contributions,

00:23:46.464 --> 00:23:50.404
<v Clips>instead of just doing all the work ourselves, is mentorship.

00:23:50.804 --> 00:23:57.284
<v Clips>The whole point is that a contributor can become a core team member eventually,

00:23:57.284 --> 00:23:59.744
<v Clips>or they can become a more valuable contributor.

00:24:00.044 --> 00:24:04.124
<v Chris>Okay, I'm pausing here because I want you to remember that he says one of the

00:24:04.124 --> 00:24:08.524
<v Chris>core focuses of Zig is to be a platform people can learn to develop on.

00:24:08.524 --> 00:24:14.244
<v Chris>It can be a starting language they can learn to develop and become a ZIG contributor over time.

00:24:14.884 --> 00:24:19.164
<v Clips>A core team member, eventually, or they can become a more valuable contributor.

00:24:20.064 --> 00:24:25.264
<v Clips>And this will help the project because we'll have more people who can contribute to ZIG skillfully.

00:24:25.644 --> 00:24:28.964
<v Clips>And it will help their resume because they can be a better systems programmer

00:24:28.964 --> 00:24:35.444
<v Clips>and they can take those skills elsewhere. The idea of contributor poker is that we have limited time.

00:24:35.664 --> 00:24:40.804
<v Clips>So, we want to notice, okay, who can we invest our time in to help them become

00:24:40.804 --> 00:24:43.304
<v Clips>better programmers, better contributors for the project?

00:24:43.684 --> 00:24:50.304
<v Clips>And who is maybe a drive-by contributor? They're going to send something,

00:24:50.384 --> 00:24:51.124
<v Clips>they're going to go away.

00:24:51.484 --> 00:24:53.824
<v Clips>Less valuable to invest in them.

00:24:54.284 --> 00:24:57.124
<v Clips>And so, people who are using AI, they're always in the second category.

00:24:57.484 --> 00:25:00.184
<v Clips>It's not worth it to invest in them. They're not learning anything.

00:25:00.464 --> 00:25:03.104
<v Clips>They're going to join the core team later. Not a chance.

00:25:03.404 --> 00:25:07.664
<v Clips>For us, this policy just makes sense because.

00:25:08.781 --> 00:25:12.461
<v Clips>The Zig project, it's also an education project. That's part of our mission

00:25:12.461 --> 00:25:16.081
<v Clips>statement, is we're providing guidance and education to students.

00:25:16.621 --> 00:25:19.621
<v Clips>And so we're all trying to learn, we're all trying to get better at programming.

00:25:20.141 --> 00:25:25.581
<v Clips>And so people who are sending AI pull requests, these people are not helping this goal.

00:25:26.241 --> 00:25:29.761
<v Clips>And in fact, I think that they're detracting from this goal.

00:25:30.161 --> 00:25:36.721
<v Clips>So for our project, I think that the strict no AI policy, it's an appropriate policy.

00:25:36.941 --> 00:25:41.161
<v Clips>You know, If I tried to say, oh, only good AI PRs can come in,

00:25:41.241 --> 00:25:45.161
<v Clips>now I have to be the judge of that, whereas if it's none whatsoever,

00:25:45.181 --> 00:25:47.601
<v Clips>then it's a very easy policy to enforce.

00:25:49.685 --> 00:25:51.245
<v Wes>That does not add up, I don't think.

00:25:51.785 --> 00:25:52.345
<v Chris>I agree.

00:25:52.505 --> 00:25:55.945
<v Wes>You're already in the judge of what's AI or not. You're just changing from what's

00:25:55.945 --> 00:25:59.525
<v Wes>good, which is already the metric you wanted to be using, to now you're an expert

00:25:59.525 --> 00:26:00.825
<v Wes>on hunting for AI smells.

00:26:01.285 --> 00:26:04.105
<v Wes>And then you just turn the folks, like now it's just a test of,

00:26:04.245 --> 00:26:07.945
<v Wes>can I write good zig or not, and then just not tell you I used AI to help me

00:26:07.945 --> 00:26:09.445
<v Wes>with looking up the stuff in the docs.

00:26:09.445 --> 00:26:12.145
<v Chris>Right, you turn it into a game of not getting detected.

00:26:12.245 --> 00:26:14.265
<v Wes>Yes. And you punish the honest people.

00:26:16.245 --> 00:26:19.065
<v Chris>Well, and what he said right there, too, was that they want to be appealing

00:26:19.065 --> 00:26:20.325
<v Chris>to people that are learning to code.

00:26:20.465 --> 00:26:22.885
<v Chris>Well, people that are learning to code, they're going to be the most inclined

00:26:22.885 --> 00:26:24.245
<v Chris>to use some of this assisted tooling.

00:26:24.405 --> 00:26:24.665
<v Brent>100%.

00:26:25.525 --> 00:26:29.245
<v Chris>So there's a bit of a dichotomy there. So the other thing that's a bit of a

00:26:29.245 --> 00:26:33.445
<v Chris>dichotomy for them, a chicken and the eggs, or maybe a catch-22 would be the better analogy.

00:26:34.165 --> 00:26:35.665
<v Chris>Zig is MIT licensed.

00:26:36.645 --> 00:26:41.645
<v Chris>So that means it's totally legitimate for the big tech industry to use Zig to train AI.

00:26:42.025 --> 00:26:45.965
<v Chris>And so Andrew was asked how he feels about big tech being able to train on Zig

00:26:45.965 --> 00:26:48.565
<v Chris>since he has such an anti-LLM AI policy.

00:26:48.565 --> 00:26:52.765
<v Clips>Ironic, isn't it? Personally, I have no issue with this.

00:26:53.565 --> 00:26:59.665
<v Clips>I really firmly believe in the no strings attached gift that Zig is to the world.

00:26:59.845 --> 00:27:04.305
<v Clips>You know, if someone wants to use Zig for AI training, great, I don't care.

00:27:05.325 --> 00:27:09.625
<v Clips>That's fine. The fact that these companies are doing things that I don't like,

00:27:09.785 --> 00:27:12.805
<v Clips>I don't like that they're doing it, but it doesn't bother me that they're using

00:27:12.805 --> 00:27:15.205
<v Clips>zig i think that the more that zig

00:27:15.205 --> 00:27:19.485
<v Clips>is being used it just shows that zig is valuable that's the way i see it.

00:27:19.485 --> 00:27:22.465
<v Chris>Okay now that seems to be a pretty balanced

00:27:22.465 --> 00:27:25.885
<v Chris>take i like that take and you know it's probably the best one you have you can

00:27:25.885 --> 00:27:30.965
<v Chris>have when you have that licensing but uh there's a i think maybe the biggest

00:27:30.965 --> 00:27:34.825
<v Chris>tell in this last question because this seems to be a common thread that i've

00:27:34.825 --> 00:27:41.285
<v Chris>come across a lot andrew was asked if he has tried any ai assisted or vibe coding tools i.

00:27:41.285 --> 00:27:48.685
<v Clips>I i love computers and I love learning about what people are doing with them. And there's a.

00:27:49.758 --> 00:27:54.658
<v Clips>A sense of mystery and magic that you can get from reading someone's explanation

00:27:54.658 --> 00:27:56.378
<v Clips>of a project that they did that

00:27:56.378 --> 00:27:59.558
<v Clips>took them a very long time and they had to learn lessons and they had to,

00:28:00.078 --> 00:28:05.118
<v Clips>increase their skill as a programmer and as a user of computers in order to accomplish this goal.

00:28:05.358 --> 00:28:09.238
<v Clips>And when you read a blog post like this, it's brilliant.

00:28:09.658 --> 00:28:14.258
<v Clips>It captures the imagination, it makes you think about what you could do yourself,

00:28:14.258 --> 00:28:17.638
<v Clips>it teaches you something, it connects you to them emotionally.

00:28:18.118 --> 00:28:22.778
<v Clips>But I mean, on the other hand, we're seeing people say, oh, I tried this version

00:28:22.778 --> 00:28:28.658
<v Clips>of Cloud or that version of OpenAI and it works surprisingly well.

00:28:28.778 --> 00:28:34.198
<v Clips>I'm always hearing people say that AI code works surprisingly well.

00:28:34.378 --> 00:28:37.998
<v Clips>But to me, this is not the bar that I want to hold software to.

00:28:38.338 --> 00:28:42.258
<v Clips>The bar that I want to hold software to is uncompromising perfection.

00:28:42.738 --> 00:28:47.178
<v Clips>You know, I don't want to be surprised by the absence of a bug.

00:28:47.338 --> 00:28:50.858
<v Clips>That's a horrible quality bar to believe in.

00:28:51.298 --> 00:28:57.138
<v Clips>So, I mean, it's just so many people saying, I don't know, I tried coding this app and it kind of works.

00:28:57.738 --> 00:29:01.778
<v Clips>Okay. You know, it's just so uninspiring.

00:29:02.098 --> 00:29:08.178
<v Clips>But have you tried Vype coding yourself? I did a call, I did a private call

00:29:08.178 --> 00:29:14.198
<v Clips>with Richard Feldman, a friend of mine, and he showed me how to use Vibe Coding

00:29:14.198 --> 00:29:16.498
<v Clips>with Zed and I tried it out.

00:29:17.998 --> 00:29:23.678
<v Clips>And I thought that, I think that the technology is fundamentally interesting.

00:29:24.038 --> 00:29:28.358
<v Clips>What really turns me off is the fact that it's centrally controlled by four

00:29:28.358 --> 00:29:33.998
<v Clips>companies and they have total control over what it's doing.

00:29:34.278 --> 00:29:37.778
<v Clips>They have total control over the models. I mean, it's.

00:29:39.309 --> 00:29:46.069
<v Clips>I'm not going to go from using my own computer and my own electricity to do

00:29:46.069 --> 00:29:53.709
<v Clips>my code in order to use closed source programming on someone else's computer through the network.

00:29:53.869 --> 00:29:56.309
<v Clips>This is that I have to pay for monthly.

00:29:56.509 --> 00:29:58.969
<v Clips>I mean, some people are paying $300 a month for this.

00:30:00.609 --> 00:30:04.289
<v Clips>To me, this is an insane proposition.

00:30:04.489 --> 00:30:08.969
<v Clips>I would never want to give up what I have in order to get,

00:30:11.329 --> 00:30:12.629
<v Clips>the results of gen ai.

00:30:12.629 --> 00:30:13.889
<v Chris>So a.

00:30:13.889 --> 00:30:14.949
<v Wes>Lot to react to in there.

00:30:14.949 --> 00:30:18.709
<v Chris>Yeah i thought so too um you know he wants software to be immaculate you know

00:30:18.709 --> 00:30:23.269
<v Chris>the the absence of well i don't think it has a bug should not be the bar but

00:30:23.269 --> 00:30:27.589
<v Chris>i think that's just sort of a straw man argument because the reality is most

00:30:27.589 --> 00:30:28.509
<v Chris>software development is oh

00:30:28.509 --> 00:30:30.969
<v Chris>my god it built and it's running i can't believe it's doing the thing so.

00:30:30.969 --> 00:30:34.109
<v Wes>This is actually i think this part i do like the most is i think the,

00:30:35.807 --> 00:30:38.587
<v Wes>something like a core language or like the core of

00:30:38.587 --> 00:30:41.267
<v Wes>a database you want to strive for well and it's just the

00:30:41.267 --> 00:30:44.127
<v Wes>area where writing the code was not the hardest

00:30:44.127 --> 00:30:49.527
<v Wes>part it's almost all design and thought work versus building out the next crud

00:30:49.527 --> 00:30:52.667
<v Wes>layer for your business or building a desktop app which a lot of it is like

00:30:52.667 --> 00:30:56.387
<v Wes>you just have to write mechanical code yeah yeah and so i'm not saying the lms

00:30:56.387 --> 00:30:58.927
<v Wes>wouldn't also be useful for what he's doing i'm not that's not my point i'm

00:30:58.927 --> 00:31:00.207
<v Wes>more just saying there's different

00:31:00.207 --> 00:31:03.147
<v Wes>you would the advantages and how you would use them are different,

00:31:03.667 --> 00:31:06.607
<v Wes>And so that is, I think, the strongest part, and the rest of it kind of falls out.

00:31:06.627 --> 00:31:08.627
<v Chris>So what was it you reacted to in there? What struck you in there?

00:31:10.027 --> 00:31:13.347
<v Wes>Kind of like the rest of it, I guess. That part, I can kind of understand why

00:31:13.347 --> 00:31:15.207
<v Wes>maybe you want to very carefully craft.

00:31:15.327 --> 00:31:17.347
<v Chris>Yeah, from their project.

00:31:17.347 --> 00:31:19.907
<v Wes>He mentions review, but it's like the whole thing here is review, right?

00:31:20.247 --> 00:31:20.387
<v Chris>Yeah.

00:31:20.487 --> 00:31:24.507
<v Wes>That's the question here, is to what extent do we have to and how closely and

00:31:24.507 --> 00:31:26.707
<v Wes>what guardrails do we put on this code?

00:31:27.347 --> 00:31:31.547
<v Wes>And so whether or not it is, because before we just didn't have any other way.

00:31:31.647 --> 00:31:35.647
<v Wes>It was either humans wrote it or it didn't happen. And now we have this new way.

00:31:35.867 --> 00:31:39.307
<v Wes>And so I think in the sense that that is essentially an argument for a very

00:31:39.307 --> 00:31:44.427
<v Wes>high standard of review in the core of this thing, that's totally reasonable, right?

00:31:44.507 --> 00:31:49.827
<v Wes>And it could be that all of the things that he's calling AI written don't meet

00:31:49.827 --> 00:31:51.007
<v Wes>that. And then that's totally fine.

00:31:51.147 --> 00:31:54.307
<v Wes>And that doesn't surprise me, right? Because he has a really high bar,

00:31:54.507 --> 00:31:58.767
<v Wes>probably does take someone with some taste to be able to craft something that

00:31:58.767 --> 00:32:01.667
<v Wes>really meets it in a way that maybe LLMs aren't great at right now.

00:32:01.667 --> 00:32:03.287
<v Wes>That seems totally plausible.

00:32:03.587 --> 00:32:07.787
<v Wes>It just seems like that maybe is what we could be talking about versus like

00:32:07.787 --> 00:32:10.907
<v Wes>maybe there's a lot of stuff where like for one of our picks last night,

00:32:11.087 --> 00:32:16.527
<v Wes>I left a vibe coding session building a flake for it because I can audit it at the end.

00:32:16.647 --> 00:32:19.727
<v Wes>I don't need to be involved. I know how to read Nix. I can all test it and build it myself.

00:32:19.867 --> 00:32:21.087
<v Chris>It's not particularly complicated.

00:32:21.227 --> 00:32:21.367
<v Wes>Right.

00:32:22.354 --> 00:32:25.354
<v Wes>But maybe I wouldn't want to do that for something that was going to be the

00:32:25.354 --> 00:32:26.714
<v Wes>core of the business I was trying to build.

00:32:26.954 --> 00:32:30.734
<v Chris>Right, right. Yeah, for sure. Brent, also what struck me is there's a common

00:32:30.734 --> 00:32:34.874
<v Chris>thread generally when people have a negative opinion towards the tooling.

00:32:35.894 --> 00:32:42.154
<v Wes>Also, just the glaring hole of, I mean, as a critique of proprietary platforms, hell yeah.

00:32:42.554 --> 00:32:43.034
<v Chris>Yeah, yeah.

00:32:43.114 --> 00:32:46.514
<v Wes>The big tech. Where is the mention of any of the open weight models?

00:32:46.754 --> 00:32:46.914
<v Brent>Yeah.

00:32:47.294 --> 00:32:50.194
<v Chris>And also, the reality is, is that it's a competitive marketplace.

00:32:50.194 --> 00:32:53.414
<v Chris>So if, you know, Anthropic does something weird, you switch over.

00:32:53.554 --> 00:32:55.314
<v Chris>If OpenAI does something weird, you switch over.

00:32:55.954 --> 00:33:00.014
<v Chris>And then there is a touch of irony that he's on the JetBrains podcast because

00:33:00.014 --> 00:33:03.814
<v Chris>you could make the same argument about commercial IDEs versus open source IDEs.

00:33:04.234 --> 00:33:05.354
<v Chris>So there's a touch of irony there.

00:33:05.514 --> 00:33:08.714
<v Wes>I mean, for there was a while where, like, you couldn't really be a professional

00:33:08.714 --> 00:33:10.874
<v Wes>Java developer without having a JetBrains license.

00:33:11.214 --> 00:33:14.194
<v Chris>Yeah, yeah, yeah. That's why I think it's a little ironic.

00:33:14.334 --> 00:33:16.674
<v Chris>So, Brent, I don't know if you pick up on this comment thread,

00:33:16.734 --> 00:33:19.774
<v Chris>but a lot of times it seems like the people that are pretty down on the tooling,

00:33:21.140 --> 00:33:25.380
<v Chris>They seem to go through a process of trying it, and if they give it an honest

00:33:25.380 --> 00:33:28.000
<v Chris>try, maybe they evolve it a little bit, then it starts solving a problem for

00:33:28.000 --> 00:33:31.340
<v Chris>them, then they advance the tooling, and then they seem to get kind of more

00:33:31.340 --> 00:33:32.120
<v Chris>and more impressed by it.

00:33:32.840 --> 00:33:36.860
<v Chris>But he kind of took perhaps the worst introduction route, it sounds, possible.

00:33:37.040 --> 00:33:41.600
<v Chris>He got like on a Zoom call with a buddy who showed him how to do it through the Zed editor.

00:33:42.740 --> 00:33:47.320
<v Chris>And this is the creator of Zig. Like he showed him like the Fisher-Price version

00:33:47.320 --> 00:33:48.860
<v Chris>of the tooling. What are your thoughts on that?

00:33:48.860 --> 00:33:51.780
<v Brent>Well uh i understand the hesitation

00:33:51.780 --> 00:33:55.040
<v Brent>from a lot of folks but to understand like a fundamentally new

00:33:55.040 --> 00:33:58.260
<v Brent>technology like this you have to spend time with it and you

00:33:58.260 --> 00:34:01.020
<v Brent>have to make mistakes with it you have

00:34:01.020 --> 00:34:04.100
<v Brent>to like there's this iteration of how you think about

00:34:04.100 --> 00:34:07.040
<v Brent>the tooling that just takes time

00:34:07.040 --> 00:34:11.920
<v Brent>you can't get that in one zoom call of a buddy showing you how it works on his

00:34:11.920 --> 00:34:18.300
<v Brent>computer right and i think you both would agree that our way of using these

00:34:18.300 --> 00:34:24.320
<v Brent>tools for each of our workflows is like evolving every single week and only

00:34:24.320 --> 00:34:26.520
<v Brent>through that do you get the perspectives,

00:34:27.760 --> 00:34:31.860
<v Brent>of what it's even capable of and the nuance of where it's good and where it's

00:34:31.860 --> 00:34:39.880
<v Brent>not good and the current status even of the landscape and so the common thread

00:34:39.880 --> 00:34:42.400
<v Brent>you're you're mentioning is that that we so often see,

00:34:43.969 --> 00:34:47.289
<v Brent>criticisms of the technology and like

00:34:47.289 --> 00:34:50.829
<v Brent>really strong opinions from people who haven't really

00:34:50.829 --> 00:34:53.849
<v Brent>spent the time to try to understand the technology and

00:34:53.849 --> 00:34:57.629
<v Brent>to use it fundamentally in their work and so

00:34:57.629 --> 00:35:03.209
<v Brent>it i don't know in i don't want to say invalidates but it it kind of takes away

00:35:03.209 --> 00:35:11.609
<v Brent>from the argument slightly because uh there's a chance to understand the landscape

00:35:11.609 --> 00:35:16.429
<v Brent>better and to have a more intelligible discussion about where it might be useful and not.

00:35:16.429 --> 00:35:19.549
<v Chris>I would say the other thing that's sort of kind of a combo with that that can

00:35:19.549 --> 00:35:22.549
<v Chris>be tricky is if your impression is from six to nine months ago.

00:35:22.549 --> 00:35:23.409
<v Brent>It unfortunately.

00:35:23.409 --> 00:35:27.509
<v Chris>Might be out of date now and that sucks because it's really hard to stay current.

00:35:27.509 --> 00:35:31.649
<v Wes>There's also maybe a output sort of selection effect too if like a lot of what

00:35:31.649 --> 00:35:35.769
<v Wes>you see is what people post in prs to your project that could be from who knows

00:35:35.769 --> 00:35:37.449
<v Wes>what setup or sophistication.

00:35:37.449 --> 00:35:37.969
<v Brent>Of Mm-hmm.

00:35:38.329 --> 00:35:38.729
<v Wes>LLM?

00:35:39.129 --> 00:35:42.289
<v Chris>Yeah. In fact, to kind of make a point, let's shift ahead a little bit here,

00:35:42.309 --> 00:35:47.909
<v Chris>because I think this shows you this really bifurcation of the part of the community

00:35:47.909 --> 00:35:52.149
<v Chris>that's really digging in and a part of the community that seems to be really accelerating.

00:35:52.569 --> 00:35:58.869
<v Chris>And before we get there, I just want to say, as from like a macro market whatever perspective,

00:35:59.129 --> 00:36:03.409
<v Chris>it is sort of fascinating to like let Zig, you know, rock its freak flag and

00:36:03.409 --> 00:36:07.609
<v Chris>not take any AI or LLM-assisted coding. and let's see where that goes.

00:36:08.129 --> 00:36:11.409
<v Chris>That could be really fun and interesting to watch over time and maybe become

00:36:11.409 --> 00:36:12.809
<v Chris>something really unique and bespoke.

00:36:13.009 --> 00:36:15.509
<v Wes>It's already a nice, kind of neat language in place.

00:36:15.649 --> 00:36:17.469
<v Chris>So like, I don't, you know, whatever, whatever they want to do,

00:36:17.549 --> 00:36:20.229
<v Chris>that's their decision. So I just wanted to make that point clear.

00:36:20.309 --> 00:36:23.649
<v Chris>It's just, it is really useful to reflect on for a conversation of where this

00:36:23.649 --> 00:36:24.269
<v Chris>is going because it's- Yeah.

00:36:24.289 --> 00:36:27.389
<v Wes>That's our, we want to comment on the general mood, not necessarily any of their,

00:36:27.749 --> 00:36:29.469
<v Wes>yeah, have ownership of your project.

00:36:29.589 --> 00:36:32.809
<v Chris>They encapsulate what's going on with a lot of communities and projects right now.

00:36:33.169 --> 00:36:38.669
<v Chris>Now, FWUPDI on the other end here had an audit done by Mythos and apparently

00:36:38.669 --> 00:36:41.069
<v Chris>spotted a number of issues, 12,

00:36:41.873 --> 00:36:45.673
<v Chris>And 12 issues were reported, but two were dismissed as not bugs,

00:36:45.713 --> 00:36:49.453
<v Chris>and eight were ranked as low severity, and two were considered moderate.

00:36:49.953 --> 00:36:54.313
<v Chris>But they went through and started cleaning things up, and so we now have FWEPD

00:36:54.313 --> 00:36:59.393
<v Chris>2.1.4, which brings many fixes for the bugs that were spotted by the LLMs.

00:36:59.713 --> 00:37:03.813
<v Chris>Also includes firmware update support for the ARC Pro B65 and B70s.

00:37:03.833 --> 00:37:05.273
<v Wes>As usual, getting good work done over there.

00:37:05.273 --> 00:37:05.433
<v Chris>Yeah.

00:37:05.673 --> 00:37:10.053
<v Wes>I did think it was kind of interesting here. Hughes says he was surprised over

00:37:10.053 --> 00:37:12.153
<v Wes>Mythos finding so many issues in the code base.

00:37:12.233 --> 00:37:15.273
<v Wes>Because it kind of sounds like it didn't find that much in one sense when you hear that list.

00:37:15.433 --> 00:37:18.133
<v Wes>I think the standards for FWEPTA are probably pretty high, right?

00:37:18.133 --> 00:37:20.493
<v Wes>It's like a newer code base. It's been very actively maintained.

00:37:20.613 --> 00:37:22.633
<v Wes>He's an experienced professional developer.

00:37:22.873 --> 00:37:24.653
<v Wes>So it may be interesting there.

00:37:24.833 --> 00:37:32.073
<v Chris>Then we've also been seeing a stack, I guess is being put, of Linux networking fixes coming in.

00:37:32.493 --> 00:37:36.853
<v Chris>And the pull requests seem to be using AI assistants. Linux networking maintainers

00:37:36.853 --> 00:37:41.513
<v Chris>have seen a larger fix pull request than typical this late in the cycle.

00:37:41.813 --> 00:37:45.473
<v Chris>Many fixes spurred by AI and LM coding agents, Michael Arbel writes.

00:37:46.153 --> 00:37:49.093
<v Chris>Cloud Code and ChatGPT Codex are contributing to the increased patch flow,

00:37:49.173 --> 00:37:52.053
<v Chris>helping developers find and submit more fixes across the networking stack.

00:37:52.353 --> 00:37:55.713
<v Chris>The upside, of course, is much faster bug discovery, especially in something

00:37:55.713 --> 00:37:58.033
<v Chris>that can be remote listening, and more code cleanup.

00:37:58.113 --> 00:38:01.433
<v Chris>But the downside is there is more maintainer load and churn,

00:38:01.713 --> 00:38:04.113
<v Chris>especially late in the Linux 7.1 cycle.

00:38:05.113 --> 00:38:07.353
<v Wes>And we do know that they don't love late cycle changes.

00:38:07.853 --> 00:38:13.713
<v Chris>Right. And then GitHub Copilot of all of them and CloudCode helped with numerous

00:38:13.713 --> 00:38:17.013
<v Chris>graphics and Wi-Fi Linux driver issues in just the last week.

00:38:17.193 --> 00:38:21.533
<v Chris>GitHub Copilot and CloudCode helped generate and co-author other large batches

00:38:21.533 --> 00:38:24.433
<v Chris>of Linux kernel fixes during the 7.1 RC5 cycle.

00:38:24.433 --> 00:38:29.453
<v Chris>AI-assisted fixes touched a wide spread of kernel areas, including the Intel

00:38:29.453 --> 00:38:34.693
<v Chris>Z, Raspberry Pi Video, AMD Display Code, SMB, NetFilter, SysFS,

00:38:34.933 --> 00:38:37.013
<v Chris>IO Ring, Bluetooth, and more.

00:38:38.089 --> 00:38:41.469
<v Chris>The kernel is also using disclosure norms like assisted by AI tags,

00:38:41.609 --> 00:38:45.389
<v Chris>making it easier to track where AI has helped while keeping the human batch process visible.

00:38:45.609 --> 00:38:47.609
<v Wes>Yeah, that's going to be interesting to watch over time.

00:38:47.869 --> 00:38:50.729
<v Chris>Yeah. So the humans are still involved. They can see which ones are committed

00:38:50.729 --> 00:38:52.389
<v Chris>by AI and they're accepting them.

00:38:52.769 --> 00:38:57.349
<v Chris>And we're seeing a high velocity of fixes in Wi-Fi drivers and in graphics drivers.

00:38:58.249 --> 00:39:03.829
<v Chris>In the networking stack in general, there's also been file system fixes that have landed recently.

00:39:03.829 --> 00:39:06.689
<v Wes>See, this is kind of touching on what I was trying to get at is there's like

00:39:06.689 --> 00:39:08.729
<v Wes>different kinds of structures of code, right?

00:39:08.809 --> 00:39:12.449
<v Wes>And abstraction and like how general or how widely used they are.

00:39:12.569 --> 00:39:16.349
<v Wes>And so it'll be interesting to watch where you see more or less sort of first

00:39:16.349 --> 00:39:18.849
<v Wes>use as LMs progress and as more folks use them.

00:39:18.949 --> 00:39:23.329
<v Wes>And it makes total sense, I think, in that model that drivers and existing drivers

00:39:23.329 --> 00:39:25.929
<v Wes>would be in one area that makes total that would be a good fit.

00:39:25.929 --> 00:39:30.529
<v Chris>But to Brent's point earlier in my comment, like, I would bet sats that none

00:39:30.529 --> 00:39:34.389
<v Chris>of these are being developed using Zed or ChatGPT in the web,

00:39:35.129 --> 00:39:37.849
<v Chris>right? They're using actual tools with harnesses that they're,

00:39:37.909 --> 00:39:39.049
<v Chris>you know, running on their machines.

00:39:39.349 --> 00:39:43.029
<v Wes>So we should go take a look and maybe pull in some of these. I'd be curious to see.

00:39:43.129 --> 00:39:45.889
<v Chris>They're running cloud code. You know, they're using cloud code and they're using codex.

00:39:46.109 --> 00:39:46.549
<v Wes>This one's copilot.

00:39:46.729 --> 00:39:47.729
<v Chris>Yeah, okay, and copilot.

00:39:48.089 --> 00:39:48.869
<v Wes>Surprisingly.

00:39:48.869 --> 00:39:52.849
<v Brent>The other thing that comes to mind for me is like, are people forking the Linux

00:39:52.849 --> 00:39:57.489
<v Brent>kernel then to not have any AI code in their kernel? Are we seeing that?

00:39:57.669 --> 00:40:03.829
<v Wes>Good question. I also wonder, I bet you, right, because I know like Greg has his own cool customs.

00:40:03.969 --> 00:40:08.189
<v Wes>I bet there's going to be a lot of sort of bespoke kernel things that get spun

00:40:08.189 --> 00:40:09.549
<v Wes>up as well because that's their style.

00:40:09.549 --> 00:40:14.609
<v Chris>And then lastly, QMU is considering shifting away from their previous blanket

00:40:14.609 --> 00:40:19.229
<v Chris>ban on AI-generated contributions and opening the door for AI-assisted for lower-risked

00:40:19.229 --> 00:40:21.509
<v Chris>parts of the project. So this is another interesting approach.

00:40:21.869 --> 00:40:25.949
<v Chris>You know, certain stuff will let you do AI-assisted coding on, but not for everything.

00:40:26.109 --> 00:40:29.489
<v Chris>The proposed policy would allow AI help for tests, documentation,

00:40:30.069 --> 00:40:32.229
<v Chris>mechanical changes, and small bug fixes.

00:40:33.193 --> 00:40:37.033
<v Chris>Contributors would need to disclose that they're using AI usage with the AI-assisted

00:40:37.033 --> 00:40:41.073
<v Chris>tag and giving QMU a way to accept the productivity boost while keeping the

00:40:41.073 --> 00:40:42.473
<v Chris>review and accountability intact.

00:40:43.613 --> 00:40:47.593
<v Chris>So this is maybe a way to dip the toe in to see if this is useful for the project

00:40:47.593 --> 00:40:49.093
<v Chris>without getting completely swamped

00:40:49.093 --> 00:40:51.933
<v Chris>all over the place. Seems kind of like maybe the balanced tag here.

00:40:52.293 --> 00:40:55.013
<v Wes>And areas you're comfortable with and maybe, you know, you have really good

00:40:55.013 --> 00:40:57.873
<v Wes>tests on and you'll know you'll catch regressions and it's easy to review,

00:40:58.013 --> 00:40:58.813
<v Wes>you know, things like that.

00:40:58.813 --> 00:41:02.173
<v Chris>And kind of signal to the community, we're being careful, we're willing to evaluate

00:41:02.173 --> 00:41:05.073
<v Chris>this policy, we're going to change it from time to time, which I think is also

00:41:05.073 --> 00:41:06.953
<v Chris>probably pretty reasonable because it's moving so fast.

00:41:07.073 --> 00:41:10.333
<v Wes>Right, exactly. And you should keep evaluating as you see different results

00:41:10.333 --> 00:41:12.633
<v Wes>with how it goes or doesn't work with your project.

00:41:13.733 --> 00:41:18.633
<v Chris>All right, so we'd like you to boost in. How do you feel about AI-assisted code

00:41:18.633 --> 00:41:23.033
<v Chris>in the open source projects or distribution that you're using,

00:41:23.033 --> 00:41:24.873
<v Chris>you depend on, you know, your favorite applications?

00:41:25.373 --> 00:41:29.273
<v Chris>If you discovered it was being contributed to by AI and AI-assisted coding,

00:41:29.553 --> 00:41:31.033
<v Chris>what's your reaction to that?

00:41:31.593 --> 00:41:33.933
<v Chris>Boost in, let us know. We'd like to get your take on it.

00:41:34.193 --> 00:41:40.013
<v Wes>Quick unscientific survey. We got anti-gravity, we got CLOD, and we got Codex.

00:41:40.133 --> 00:41:40.353
<v Chris>In the kernel?

00:41:40.833 --> 00:41:44.633
<v Wes>Yep, those are just the most recent things today from the searching for commits with assisted by.

00:41:44.633 --> 00:41:47.113
<v Chris>Just today? Wow. Oh, just recently. I see.

00:41:47.353 --> 00:41:47.733
<v Wes>Yeah, this week.

00:41:47.793 --> 00:41:51.573
<v Chris>Anti-gravity, huh? Look at Google Go. You wouldn't think it, would you?

00:41:54.207 --> 00:41:57.447
<v Chris>Hey, I want to take a second and thank my friends over at Connect and Internet.

00:41:57.667 --> 00:42:01.347
<v Chris>Use the promo code Jupiter35 to take $35 off your entire order.

00:42:01.547 --> 00:42:05.287
<v Chris>They're not a sponsor, but I've been working with them recently to get a discount

00:42:05.287 --> 00:42:09.707
<v Chris>for you guys because they've become my new go-to cellular internet provider.

00:42:09.887 --> 00:42:14.067
<v Chris>Because what they do is they're an MBNO on all four major carriers.

00:42:14.467 --> 00:42:18.707
<v Chris>Then they give you hardware that has antennae and modems for all four major

00:42:18.707 --> 00:42:20.407
<v Chris>carriers, which is awesome.

00:42:20.407 --> 00:42:21.527
<v Wes>How did you not have this earlier?

00:42:21.667 --> 00:42:24.187
<v Chris>And how do I not have it? I had to build it, and then somebody else came along

00:42:24.187 --> 00:42:25.127
<v Chris>and said, we'll make a product out of it.

00:42:25.227 --> 00:42:27.867
<v Chris>And then on top of that, they're load balancing and figuring out which one's

00:42:27.867 --> 00:42:32.347
<v Chris>giving you the best data or isn't capping you or something like that and moving you around.

00:42:32.727 --> 00:42:36.987
<v Chris>They do offer truly unlimited data plans with priority data as well if you want

00:42:36.987 --> 00:42:40.387
<v Chris>to pay for it, which it's within my price budget considering the things I paid for.

00:42:41.546 --> 00:42:44.806
<v Chris>But I think the thing that's even cooler and maybe kind of what I'm going to

00:42:44.806 --> 00:42:50.246
<v Chris>be doing going forward is they now offer a backup internet plan. It's just $39 a month.

00:42:50.386 --> 00:42:53.286
<v Chris>They give you a slick router that auto monitors your connection.

00:42:53.286 --> 00:42:55.846
<v Chris>I think it's using OpenWRT under the hood like mine is.

00:42:56.286 --> 00:42:59.786
<v Chris>And when your main internet goes down, it instantly connects to one of the four

00:42:59.786 --> 00:43:01.886
<v Chris>major wireless carriers who has the best signal in your area.

00:43:02.086 --> 00:43:05.246
<v Chris>And then it detects when your main internet connection comes back up and switches

00:43:05.246 --> 00:43:06.686
<v Chris>back to your main internet connection automatically.

00:43:07.206 --> 00:43:09.626
<v Chris>They call it the Fortress. No, I'm using the Fortress router.

00:43:09.626 --> 00:43:11.886
<v Chris>Or do they call theirs the, well, they have a cool name for it.

00:43:11.966 --> 00:43:14.686
<v Chris>I don't know. But mine's the Fortress Router. So they all have these great names.

00:43:14.786 --> 00:43:16.526
<v Wes>See, that just seems like a clear business expense.

00:43:16.786 --> 00:43:20.766
<v Chris>My Fortress Router, though, is big. You wouldn't want to bring this thing,

00:43:20.826 --> 00:43:22.046
<v Chris>like, on your mobile setup.

00:43:22.246 --> 00:43:27.226
<v Chris>This one's for, like, on the homestead, permanent internet, seven antennas coming

00:43:27.226 --> 00:43:30.526
<v Chris>off of this thing, massive POE-powered box.

00:43:30.526 --> 00:43:31.306
<v Wes>Piece of infrastructure.

00:43:31.646 --> 00:43:36.326
<v Chris>So go to connectinternet.com. We'll put a link in the show notes and use the promo code Jupiter35.

00:43:37.166 --> 00:43:40.926
<v Chris>and I can tell you that $39 backup internet plan is a crazy good value.

00:43:41.286 --> 00:43:48.486
<v Chris>I mean, back in the day, you had to pay for a full LTE data line to do this all the time.

00:43:48.766 --> 00:43:51.946
<v Chris>And you're just sitting there not using it when it's crazy. So this backup is

00:43:51.946 --> 00:43:53.206
<v Chris>a great idea for 40 bucks a month.

00:43:53.666 --> 00:43:56.546
<v Chris>So go check it out, connectedinternet.com, promo code Jupyter35.

00:43:56.646 --> 00:43:59.846
<v Chris>It's nice to have a spot to plug them because they've been awesome to work with

00:43:59.846 --> 00:44:01.406
<v Chris>and they're going to hook you guys up.

00:44:04.808 --> 00:44:09.188
<v Brent>Well, a couple of pieces of feedback this week. Zag Attack has one for us.

00:44:09.368 --> 00:44:13.448
<v Brent>With the Bitwarden situation, I do not like that the costs went up $10.

00:44:14.088 --> 00:44:17.568
<v Brent>Since I already have a Proton account, I'm probably looking at migrating to

00:44:17.568 --> 00:44:18.908
<v Brent>them for password management.

00:44:19.328 --> 00:44:24.988
<v Brent>Passwords and 2FA keys are something I consider too important to just have on my self-hosting setup.

00:44:25.388 --> 00:44:29.648
<v Brent>I want to have one copy that I control and another that is on infrastructure

00:44:29.648 --> 00:44:32.488
<v Brent>that is managed and maintained 24-7.

00:44:33.128 --> 00:44:37.388
<v Brent>We'll also continue keeping a local copy in key pass like I do now.

00:44:38.828 --> 00:44:40.328
<v Wes>Defense and depth. I like that.

00:44:40.588 --> 00:44:46.848
<v Chris>Yeah. I realized where I really took a turn and just went all in on Bitwarden was pass keys.

00:44:47.188 --> 00:44:49.968
<v Chris>When pass keys came along, a guy just got sucked in.

00:44:51.128 --> 00:44:55.328
<v Chris>And I did not put my two factors in there, though. So that at least I don't have to migrate.

00:44:56.588 --> 00:45:00.768
<v Chris>Anonymous wrote in. He says, what about this banger swap? Sup, everyone.

00:45:00.948 --> 00:45:05.928
<v Chris>I'm building my own Arch-based Hyperland distro called Hyperspace OS. OS, OS, OS.

00:45:06.508 --> 00:45:10.168
<v Chris>My school teacher likes the name. I like it, too. And I'm trying to figure out

00:45:10.168 --> 00:45:13.648
<v Chris>a simple way to update the system configs, mostly Hyperland comps,

00:45:13.648 --> 00:45:15.408
<v Chris>so people can get updates way more easy.

00:45:16.048 --> 00:45:19.908
<v Chris>Do you guys have any suggestions for a good update method for a small project

00:45:19.908 --> 00:45:23.948
<v Chris>like this? By the way, I'm 12 and I'm still learning, so can you get some advice

00:45:23.948 --> 00:45:27.408
<v Chris>for how I should approach it in a good way and not nuke my PC?

00:45:27.928 --> 00:45:28.448
<v Brent>P.S.

00:45:28.468 --> 00:45:32.408
<v Chris>I wanted to make this because I saw ML4W Hyperland configs and they're pretty

00:45:32.408 --> 00:45:34.908
<v Chris>bangers, so now I want to start building my own. Yes!

00:45:36.068 --> 00:45:36.508
<v Wes>Excellent.

00:45:36.848 --> 00:45:42.128
<v Chris>Love this. I mean, is this a good opportunity to learn a little Git and then

00:45:42.128 --> 00:45:48.668
<v Chris>perhaps everybody that is running Hyperspace OS has a little scheduled job that

00:45:48.668 --> 00:45:49.848
<v Chris>does a little Git checkout?

00:45:50.388 --> 00:45:51.828
<v Wes>You could totally do something like that, yeah.

00:45:51.828 --> 00:45:54.408
<v Chris>And if something goes wrong, it's pretty easy to roll back, and then you have

00:45:54.408 --> 00:45:55.448
<v Chris>them do a little other update.

00:45:55.668 --> 00:46:00.108
<v Wes>Git gets you all of the version control stuff, so you can keep multiple copies and, yeah, roll back.

00:46:00.308 --> 00:46:00.548
<v Chris>Yeah.

00:46:00.608 --> 00:46:04.228
<v Brent>I'm so proud of you. It's just so touching. Yeah. You're just,

00:46:04.368 --> 00:46:06.108
<v Brent>now you're spreading Git. It's so nice.

00:46:06.408 --> 00:46:08.168
<v Wes>Yeah, he did mention Merkle trees, though.

00:46:08.348 --> 00:46:11.088
<v Chris>Well, you'd need something in Hyperspace OS that's checking in,

00:46:11.308 --> 00:46:15.028
<v Chris>or some sort of little updater script for them that goes and pulls the latest,

00:46:15.068 --> 00:46:18.588
<v Chris>you know, checkout and all that and brings it down. But I think it'd be totally possible.

00:46:19.128 --> 00:46:21.908
<v Chris>That sounds like a really great project. Keep us posted on that.

00:46:22.428 --> 00:46:25.388
<v Chris>We'd love to hear how it's going. And very impressive work.

00:46:26.008 --> 00:46:28.448
<v Chris>You're already off to a great start.

00:46:29.728 --> 00:46:33.168
<v Chris>And let's get to the boost. We had some support for this episode.

00:46:33.228 --> 00:46:36.908
<v Chris>And we're going to start out with a live boost. It's coming in right now, West Payne.

00:46:36.968 --> 00:46:39.668
<v Chris>Boop-a-da-boop-boop-boop-boop-a-da-boop. Coming in from the one,

00:46:39.788 --> 00:46:45.028
<v Chris>the only, our podcast with 500,000 sacks.

00:46:55.688 --> 00:46:58.928
<v Wes>A giant on-topic boost? That's unheard of.

00:46:59.368 --> 00:47:05.728
<v Chris>Wow! Shoah has needed the support recently, so thank you, Rpodcast. Hello, JB.

00:47:06.088 --> 00:47:09.588
<v Chris>This is a long overdue boost to thank you all for helping me finally get over

00:47:09.588 --> 00:47:13.188
<v Chris>the hump and use of AI practically to make my dev life better. Oh, good.

00:47:13.988 --> 00:47:18.388
<v Chris>Through Open Router and Claude Opus, I was able to migrate a very complex Nix

00:47:18.388 --> 00:47:23.068
<v Chris>config from Wimpy's GitHub to my System76 machines. That is a complex one.

00:47:23.208 --> 00:47:23.708
<v Brent>Yeah, it is.

00:47:23.728 --> 00:47:28.408
<v Chris>I've seen that. Yeah, very well done. See, now he's got it on the OG Thaleo,

00:47:28.568 --> 00:47:31.188
<v Chris>the new Thaleo Mira, and a Darter Pro Lab.

00:47:31.888 --> 00:47:37.048
<v Chris>Now I have Hermes installed and I would really enjoy a future livestream tutorial

00:47:37.048 --> 00:47:40.108
<v Chris>on how Chris sets up his agents to do the magic they do. Thanks again.

00:47:40.928 --> 00:47:41.788
<v Brent>Do you have a month?

00:47:42.128 --> 00:47:42.888
<v Wes>That's a fun idea.

00:47:42.888 --> 00:47:48.408
<v Chris>That's not a bad idea at all. Jeez, I have been doing so much recently that

00:47:48.408 --> 00:47:54.188
<v Chris>I'm kind of at a stabilization point, but it was two weeks of, I call it my B-plot.

00:47:54.268 --> 00:47:57.568
<v Chris>of the day where I have like a zelge session with like open

00:47:57.568 --> 00:48:00.248
<v Chris>code going and I just everywhere I go I

00:48:00.248 --> 00:48:02.788
<v Chris>just sort of pull it up and I just keep moving the agent forward and then when

00:48:02.788 --> 00:48:05.848
<v Chris>they start introducing slash goal like it just unlocked the whole new level

00:48:05.848 --> 00:48:10.028
<v Chris>of like I just walk away for a while and I come back and I move it forward but

00:48:10.028 --> 00:48:15.228
<v Chris>just yesterday I was I was doing another jam sesh I should have I should stream

00:48:15.228 --> 00:48:18.848
<v Chris>it get a little music going totally but how would you know it's happening.

00:48:18.848 --> 00:48:24.608
<v Wes>Yeah we'd have to have a signal throw it up on a live in the app at least.

00:48:24.608 --> 00:48:28.728
<v Chris>I'm going to give it some thought i i do think that i i do think now i should

00:48:28.728 --> 00:48:32.408
<v Chris>have been capturing that i think a lot of times when i'm in the fever build

00:48:32.408 --> 00:48:37.088
<v Chris>phase i probably lose so much content on the floor just plowing through it and

00:48:37.088 --> 00:48:38.028
<v Chris>i look back at what i built i

00:48:38.028 --> 00:48:41.468
<v Chris>go wow i don't even know how i had the time and energy to do that it is it.

00:48:41.468 --> 00:48:42.408
<v Wes>Is a fever dream state.

00:48:42.408 --> 00:48:42.928
<v Chris>That is that.

00:48:42.928 --> 00:48:43.888
<v Wes>Is for for real.

00:48:43.888 --> 00:48:46.968
<v Chris>It's um it's unbelievable what i feel but thank you very much our podcast thank

00:48:46.968 --> 00:48:51.108
<v Chris>you thank you very much uh really do appreciate it and I'm going to give some

00:48:51.108 --> 00:48:53.028
<v Chris>thought to that keep you updated.

00:48:53.628 --> 00:48:58.248
<v Wes>A Dude Dry and Stuff boosts in with 27,368.

00:48:58.248 --> 00:48:58.928
<v Chris>Cents Oh!

00:49:05.405 --> 00:49:11.285
<v Wes>I tried for a while to think of what would constitute a Brent boost, as in B-R-E-N-T.

00:49:11.725 --> 00:49:14.705
<v Wes>Brentley won't pin his tabs. So, ended up with this.

00:49:14.705 --> 00:49:16.245
<v Chris>Hold on. There we go.

00:49:20.505 --> 00:49:22.785
<v Chris>Yeah. Yeah, I love that.

00:49:23.125 --> 00:49:26.045
<v Wes>I tried for a while to think of what would constitute a Brent boost,

00:49:26.205 --> 00:49:28.485
<v Wes>so ended up with this T9 dialing approach.

00:49:28.585 --> 00:49:31.945
<v Wes>So, I guess that's how we get the 27368. Okay.

00:49:32.245 --> 00:49:35.025
<v Wes>Wanted to boost in and say, yes, I do appreciate the RHEL coverage.

00:49:35.025 --> 00:49:38.745
<v Wes>It's both something that heavily influences my future career and current learning,

00:49:38.745 --> 00:49:41.925
<v Wes>but I did not have enough time to sift through myself.

00:49:42.645 --> 00:49:45.805
<v Wes>Well, that's great. That's kind of what we're going for, I guess. Exactly.

00:49:46.485 --> 00:49:49.965
<v Wes>Lastly, I've been self-hosting Vault Warden through Docker Compose on a $12

00:49:49.965 --> 00:49:52.965
<v Wes>VPS for the last year and a half. It's been a great experience.

00:49:53.425 --> 00:49:56.585
<v Chris>So thank you for the feedback on REL because we were just kicking ourselves

00:49:56.585 --> 00:50:01.765
<v Chris>about an hour ago for doing it because it just really was seemingly a stinker.

00:50:02.445 --> 00:50:09.385
<v Chris>Okay, so 27368 in T9 translates to Brent.

00:50:09.805 --> 00:50:12.125
<v Wes>You looked at it. You verified it. Look at you.

00:50:12.225 --> 00:50:12.945
<v Chris>I did. That's good.

00:50:13.025 --> 00:50:14.045
<v Wes>That's your version of the map.

00:50:14.365 --> 00:50:17.505
<v Chris>So a Brent boost, 27, yeah, except for it needs a sound effect if it is,

00:50:17.565 --> 00:50:21.365
<v Chris>because come on, 27368 is a Brent boost. How about that?

00:50:21.685 --> 00:50:25.785
<v Brent>Well, obviously it's Brent won't pin his tabs. That's the sound one, right?

00:50:26.185 --> 00:50:27.785
<v Wes>And you have to open a new tab every time.

00:50:28.065 --> 00:50:28.425
<v Brent>Yeah.

00:50:30.705 --> 00:50:37.945
<v Brent>I love it. Well, we got another boost here from the facial hair, 5,000 sets.

00:50:39.904 --> 00:50:44.764
<v Brent>I'm back with more freshly mined sats and another report of an area where Linux

00:50:44.764 --> 00:50:46.464
<v Brent>and open source are doing great.

00:50:46.724 --> 00:50:52.504
<v Brent>This time is worship centers. I have changed two churches and a mosque over to Linux recently.

00:50:52.724 --> 00:50:56.624
<v Brent>They wanted a system that is stable and won't update in the middle of a service.

00:50:56.864 --> 00:51:01.264
<v Brent>Many of these centers also can't afford hardware upgrades or struggling with

00:51:01.264 --> 00:51:04.444
<v Brent>Windows 11 dropping support for older mixers.

00:51:04.944 --> 00:51:07.464
<v Chris>Yeah. It does seem...

00:51:07.464 --> 00:51:10.024
<v Wes>It does seem, almost seems something sort of wrong about, like,

00:51:10.164 --> 00:51:13.364
<v Wes>bilking churches out of subscription money for a basic operating system.

00:51:13.724 --> 00:51:17.284
<v Chris>Uh-huh, uh-huh, uh-huh. You know, they just need Linux and maybe a little OBS

00:51:17.284 --> 00:51:19.224
<v Chris>if they want to do a stream or something like that.

00:51:19.744 --> 00:51:21.904
<v Chris>And if they could bring some tracks in, that's awesome.

00:51:22.424 --> 00:51:23.264
<v Brent>They saw the light.

00:51:23.764 --> 00:51:26.464
<v Chris>Keep it going, Hare. We like to see people getting migrated.

00:51:27.424 --> 00:51:29.844
<v Chris>Landlocked also came in with, if you have a story out there,

00:51:30.124 --> 00:51:32.624
<v Chris>do boost it in. Landlocked came in with 5,000 sats.

00:51:33.704 --> 00:51:36.884
<v Chris>And he's boosting from the Indy 5,000 with 5,000 sats.

00:51:38.164 --> 00:51:42.464
<v Chris>does that just make us jealous or what I don't know but do you like my sound effect race.

00:51:42.464 --> 00:51:43.064
<v Wes>Car boost,

00:51:45.684 --> 00:51:46.384
<v Wes>you got that.

00:51:48.824 --> 00:51:51.624
<v Chris>That's what it would be like if we were there doing the show that's what it would sound like.

00:51:52.644 --> 00:51:55.304
<v Wes>Tomato boosts in with 9,998.

00:51:55.304 --> 00:51:55.864
<v Chris>Cents woo,

00:51:58.382 --> 00:51:59.262
<v Chris>Mr. Tamato.

00:51:59.662 --> 00:52:05.502
<v Wes>I did appreciate the Red Hat coverage, though it left me feeling down. Their fault, not yours.

00:52:06.242 --> 00:52:08.282
<v Wes>And apparently uninspired to boost.

00:52:08.602 --> 00:52:11.382
<v Chris>You know, I was wondering, I kind of, I was telling the boys before the show,

00:52:11.462 --> 00:52:16.002
<v Chris>I kind of got a meh feeling watching the keynote too. It just sort of left me feeling a little down.

00:52:16.162 --> 00:52:16.562
<v Brent>Wow.

00:52:16.962 --> 00:52:20.282
<v Chris>I don't know why that was. It's nothing unusual about it.

00:52:20.422 --> 00:52:23.942
<v Wes>Well, we didn't get into the sort of like fog and laser treatment because we

00:52:23.942 --> 00:52:24.702
<v Wes>weren't there in person.

00:52:24.702 --> 00:52:28.742
<v Chris>Also, it's the, you know, the enterprise corporate AI stuff is the thing that

00:52:28.742 --> 00:52:32.562
<v Chris>appeals maybe the least to us right now. And that's what a lot of it was.

00:52:33.162 --> 00:52:37.502
<v Wes>The Mado goes on with, I use key pass and sync thing, and it works great for my needs.

00:52:37.722 --> 00:52:41.282
<v Wes>Love the Gnome Commander pick, by the way. It's a nice little bit of nostalgia

00:52:41.282 --> 00:52:45.982
<v Wes>remembering when Gnome initially shipped Midnight Commander as their file manager.

00:52:46.422 --> 00:52:50.022
<v Chris>Good callback. Good callback. I agree. Thanks, Tomato. Appreciate you.

00:52:50.022 --> 00:52:54.922
<v Brent>Your inner child boosts in with two thousand and two satoshis.

00:52:56.815 --> 00:53:01.735
<v Brent>Does 95% of this boost go to advertisement at the beginning of the show, Progressive?

00:53:01.995 --> 00:53:04.175
<v Chris>Oh, you got Progressive? I got Smokey the Bear.

00:53:04.415 --> 00:53:05.575
<v Wes>Yeah, the Smokey the Bear was great.

00:53:05.815 --> 00:53:06.795
<v Chris>I love the Smokey the Bear.

00:53:07.955 --> 00:53:12.395
<v Brent>I miss the YouTube live, even though I'm subscribed and belled.

00:53:12.495 --> 00:53:13.615
<v Brent>I don't know what that's about.

00:53:13.835 --> 00:53:18.475
<v Brent>I'd love for you guys to open with your sweet, sweet music like Twib does,

00:53:18.635 --> 00:53:23.075
<v Brent>and then say a quick ad to pay the bills. Then come back after that.

00:53:23.075 --> 00:53:28.195
<v Chris>We are uh so we because we don't have people actively buying the slots in the

00:53:28.195 --> 00:53:32.855
<v Chris>show right now we were experimenting with dynamic ads i say we're i'm still kind of on the fence on it

00:53:33.275 --> 00:53:36.275
<v Chris>we were able to work with a company that let us say no to a lot of categories

00:53:36.275 --> 00:53:40.095
<v Chris>which has been great block stuff and all of that we'll see because we're just

00:53:40.095 --> 00:53:44.795
<v Chris>hoping you know it's getting tight so we're just trying we'll try it out but

00:53:44.795 --> 00:53:49.195
<v Chris>uh when i get smoky the bear i like it i've not heard a progressive ad yet i'd

00:53:49.195 --> 00:53:52.695
<v Chris>say i only get an ad one out of two or three plays too it's interesting when

00:53:52.695 --> 00:53:54.995
<v Chris>it decides to play in the whole thing is.

00:53:55.075 --> 00:53:59.295
<v Wes>I think in theory we could change the insertion points. So like we could put

00:53:59.295 --> 00:54:04.275
<v Wes>it in, but then maybe we'd have to time it out per show and stuff, which would be doable.

00:54:04.995 --> 00:54:08.055
<v Chris>Or it's like it changes it for all of them or something. It's like,

00:54:08.135 --> 00:54:09.915
<v Chris>yes, you can change it, but then I think it might.

00:54:10.555 --> 00:54:13.915
<v Chris>But if we just had a place to bake it in, we could. Don't know.

00:54:14.675 --> 00:54:15.435
<v Wes>It's new to us.

00:54:15.515 --> 00:54:16.275
<v Chris>Yeah, it is new to us.

00:54:16.575 --> 00:54:19.415
<v Brent>Well, if it makes you feel better, they continue here. Feel free to put in as

00:54:19.415 --> 00:54:22.295
<v Brent>many ads as you need to pay JB's bills.

00:54:22.495 --> 00:54:25.495
<v Chris>All right five more,

00:54:27.535 --> 00:54:32.355
<v Chris>you wish Browns and Wing comes in with one two three four five sats,

00:54:36.830 --> 00:54:40.070
<v Chris>You said not to boost passwords here, but here's my luggage combo.

00:54:40.190 --> 00:54:43.210
<v Chris>Yeah, well, come on. We all use that. I also swap from OC.

00:54:44.410 --> 00:54:45.110
<v Wes>Open claw.

00:54:45.290 --> 00:54:49.690
<v Chris>Thank you, to Hermes. Way better. I'm running a dual 3090 with Llama CBP on

00:54:49.690 --> 00:54:51.650
<v Chris>NixOS. It is my first Nix box.

00:54:51.810 --> 00:54:54.170
<v Chris>I'm going to update the NVIDIA drivers.

00:54:54.510 --> 00:54:54.990
<v Brent>Yeah, it will.

00:54:55.090 --> 00:54:55.590
<v Wes>Yeah, it'll do it.

00:54:56.030 --> 00:55:01.230
<v Chris>Quint 3.6 27 billion parameter Q8 with Q8 cache is very good.

00:55:01.630 --> 00:55:04.890
<v Chris>I'm fully local setup with Search XNG. Yeah.

00:55:05.070 --> 00:55:06.110
<v Wes>Yeah. Yeah.

00:55:06.110 --> 00:55:10.630
<v Chris>As my primary search. And I'm using this for my memory. And they link us to that.

00:55:10.810 --> 00:55:12.750
<v Chris>I'm setting up mine for my wife's

00:55:12.750 --> 00:55:17.250
<v Chris>work. She does endless paperwork as data entry. Hermes is crushing it.

00:55:17.770 --> 00:55:22.830
<v Wes>Wow. Zero dependency sub-millisecond AI memory system for Hermes agents and everyone else.

00:55:23.170 --> 00:55:26.490
<v Chris>Nice. I know I tell you boys this all the time, but I think memory systems are

00:55:26.490 --> 00:55:29.310
<v Chris>going to be one of the very interesting development areas for agents.

00:55:29.530 --> 00:55:29.750
<v Wes>For sure.

00:55:29.950 --> 00:55:32.570
<v Chris>The better they are, the more they understand you, the less mistakes they make,

00:55:32.730 --> 00:55:36.430
<v Chris>the less tokens they're burning, all of it. So it's, I think,

00:55:36.430 --> 00:55:37.730
<v Chris>an interesting area of development.

00:55:38.350 --> 00:55:40.870
<v Chris>All right. Well, I really like hearing about different memory systems.

00:55:41.150 --> 00:55:42.370
<v Wes>Yeah. Keep those code boosted in.

00:55:42.370 --> 00:55:43.970
<v Chris>Sounds like an awesome implementation, too.

00:55:44.390 --> 00:55:48.250
<v Wes>Thanks, Bronzman. Exception boosts in with Robodux.

00:55:49.510 --> 00:55:54.030
<v Wes>Switched from OnePass to Bitwarden in 2023, syncing between six devices.

00:55:54.690 --> 00:56:00.410
<v Wes>Happy but hesitating to suggest it at work, as we already have a self-hosted SysPass behind a VPN.

00:56:00.650 --> 00:56:01.750
<v Chris>Hmm. Hmm.

00:56:02.030 --> 00:56:05.090
<v Wes>Yeah, I suppose that makes it even more additionally complicated.

00:56:05.210 --> 00:56:08.270
<v Chris>Question. Yeah, it does. It does. It does.

00:56:08.450 --> 00:56:09.290
<v Wes>Thanks for the report.

00:56:09.670 --> 00:56:14.570
<v Chris>Yeah. That is... BitCryptic comes in with 16,384.

00:56:16.803 --> 00:56:19.903
<v Chris>Sorry, Brantley. Hoping you guys might find our proposal of interest and maybe

00:56:19.903 --> 00:56:21.743
<v Chris>something you could share with fellow listeners.

00:56:22.263 --> 00:56:27.603
<v Chris>And it's MDF Markdown First, inspired by your recent discussion around agentic impact on web services.

00:56:27.963 --> 00:56:33.603
<v Wes>A proposal for the agent-readable web. The web was built for human eyes.

00:56:33.743 --> 00:56:36.963
<v Wes>AI agents are paying an enormous tax for that. We think there's a better way,

00:56:36.983 --> 00:56:38.123
<v Wes>and we've written the proposal.

00:56:39.903 --> 00:56:43.143
<v Chris>They request your HTML page. They receive a document full of navigation menus,

00:56:43.243 --> 00:56:47.603
<v Chris>JavaScript bundles. That's true. Cookie banners, all a bunch of crap they don't need. the HTML tax.

00:56:48.763 --> 00:56:52.603
<v Wes>The reference implementation is complete and live. MDF server is a self-hostable

00:56:52.603 --> 00:56:55.323
<v Wes>Docker image, deployable. There's a demo site.

00:56:56.823 --> 00:57:00.183
<v Chris>So what is it? They generate essentially a markdown version of your site?

00:57:00.203 --> 00:57:02.123
<v Chris>Is that what they're doing here? And then serving that up to the agent?

00:57:02.723 --> 00:57:06.223
<v Wes>Or asking that folks do. I think it might be more of like a spec or an idea

00:57:06.223 --> 00:57:10.743
<v Wes>for how to make a web that's more generated at being agent friendly.

00:57:10.943 --> 00:57:11.823
<v Chris>I like it. I mean, it looks...

00:57:11.823 --> 00:57:13.183
<v Wes>There's a lot in here. So I'm just...

00:57:13.183 --> 00:57:13.583
<v Chris>We'll take a look at it.

00:57:13.623 --> 00:57:13.943
<v Wes>We'll take a look at it.

00:57:13.943 --> 00:57:17.123
<v Brent>I mean, it might be more efficient to serve, really, when you think about it.

00:57:17.383 --> 00:57:20.783
<v Chris>Oh, yeah. For both ends. All right, Bradley, why don't you take the next one?

00:57:21.203 --> 00:57:23.703
<v Brent>Well, Bobby Pin boosted in 5,000 sats.

00:57:26.700 --> 00:57:30.740
<v Brent>I still sync around a key pass file like a caveman. If y'all have any better

00:57:30.740 --> 00:57:32.400
<v Brent>self-hosted solutions, I'm all ears.

00:57:33.100 --> 00:57:33.340
<v Chris>Okay.

00:57:33.680 --> 00:57:36.100
<v Wes>Hey, I'm not setting shade at key pass.

00:57:36.300 --> 00:57:38.020
<v Brent>Hey, I'm in that cave with you.

00:57:38.220 --> 00:57:41.820
<v Chris>The issue is it really breaks down for me on I'm adding something on mobile

00:57:41.820 --> 00:57:45.500
<v Chris>and then I go to desktop or vice versa. That's really got to be first class experience.

00:57:46.560 --> 00:57:49.080
<v Chris>Geononymous comes in with 4,018 sets.

00:57:51.400 --> 00:57:57.040
<v Chris>No message, just value. So I'll take Retro Gear 2. Retro Gear comes in with 5,151 sats.

00:57:58.760 --> 00:58:02.140
<v Chris>Jens, it's been a while. Bitwarden, self-host, been amazing for a couple of

00:58:02.140 --> 00:58:05.920
<v Chris>years. Linux router, just moved to NixOS as my router from OpenSense. Yes.

00:58:07.000 --> 00:58:12.200
<v Chris>Using Tectitium for DHCP and DNS on the same box. Just started playing out with Hermes. Wow.

00:58:12.380 --> 00:58:12.820
<v Wes>Nice.

00:58:13.300 --> 00:58:16.200
<v Chris>Have been using OpenCode for a couple of months. What a time we live in.

00:58:16.380 --> 00:58:19.620
<v Chris>Oh, unpowered system still running Pentium 2. Whoa.

00:58:20.380 --> 00:58:22.740
<v Chris>Pentium 2, 266 megahertz.

00:58:23.240 --> 00:58:25.260
<v Wes>Well, I guess the boost name is Retro Gear.

00:58:25.660 --> 00:58:28.720
<v Chris>That's true. With Windows 2003 server for my retro gaming PC,

00:58:29.040 --> 00:58:30.840
<v Chris>having a good old LAN with my mates.

00:58:31.100 --> 00:58:31.940
<v Wes>That is wonderful.

00:58:31.960 --> 00:58:32.620
<v Chris>Cheers from Australia.

00:58:33.160 --> 00:58:34.560
<v Wes>Thank you for the boost.

00:58:34.760 --> 00:58:35.060
<v Chris>Love that.

00:58:35.060 --> 00:58:35.340
<v Brent>Impressive.

00:58:35.340 --> 00:58:37.660
<v Chris>That is so dense. True.

00:58:37.820 --> 00:58:38.720
<v Wes>There's a lot going on.

00:58:38.740 --> 00:58:41.580
<v Chris>And I don't think he AI'd that. I think he wrote it like that.

00:58:41.640 --> 00:58:45.480
<v Chris>I think he did his own summarization there. A true hero among men.

00:58:46.680 --> 00:58:51.300
<v Wes>Woo. True Grits boosts in with 12,345 sets.

00:58:54.973 --> 00:58:57.853
<v Wes>I haven't really heard anything about the Bitwarden switch-up situation.

00:58:58.073 --> 00:59:00.933
<v Wes>I'll have to look into it, besides the CLI issue recently.

00:59:01.293 --> 00:59:05.493
<v Wes>I'm sticking with them for now. However, if I do bail, I'll probably switch

00:59:05.493 --> 00:59:07.593
<v Wes>to ProtonPass, since I already pay for them.

00:59:07.693 --> 00:59:08.533
<v Chris>Another ProtonPass.

00:59:08.673 --> 00:59:10.133
<v Wes>Might give KeyPass another go.

00:59:10.273 --> 00:59:10.513
<v Chris>Uh-huh.

00:59:10.833 --> 00:59:13.993
<v Wes>I think the Red Hat coverage issue is mostly a result of people's AI burn-out.

00:59:14.293 --> 00:59:17.073
<v Wes>People, including myself, are just tired of hearing about it constantly.

00:59:17.353 --> 00:59:20.133
<v Wes>Not saying you guys shouldn't cover it. You do a decent job,

00:59:20.173 --> 00:59:21.833
<v Wes>and then it's kind of cut off from there, unfortunately.

00:59:22.133 --> 00:59:26.633
<v Chris>Thank you, True Grits. Yeah, we try to walk that line. it's

00:59:26.633 --> 00:59:29.473
<v Chris>you know it's a it's it sucks that it's such

00:59:29.473 --> 00:59:34.073
<v Chris>a relevant topic for so long now because if you think about it it's been it's

00:59:34.073 --> 00:59:39.593
<v Chris>been the number one conversation in in tech since chat gpt launched and we actively

00:59:39.593 --> 00:59:43.833
<v Chris>fight against it getting on every week because it's just it's what everybody's

00:59:43.833 --> 00:59:46.773
<v Chris>and it's where all the financing is and everything it's just,

00:59:47.573 --> 00:59:52.053
<v Chris>it's uh like i know that long term it's going to make make more linux users

00:59:52.053 --> 00:59:54.653
<v Chris>and more free software users, but the ride there is an obnoxious one.

00:59:54.653 --> 00:59:57.713
<v Wes>It's going to be rough. We got to hang in there.

00:59:59.873 --> 01:00:03.753
<v Brent>Greg the lawyer is hanging in there with 10,302 sats.

01:00:07.004 --> 01:00:12.504
<v Brent>Great last episode, I had already looked into Hermes. You convinced me to make the switch, though.

01:00:12.824 --> 01:00:13.144
<v Wes>Nice.

01:00:13.324 --> 01:00:17.744
<v Brent>Really is a much nicer experience than the lobster. I'm spending much less time

01:00:17.744 --> 01:00:19.324
<v Brent>maintaining and more time doing.

01:00:19.924 --> 01:00:25.284
<v Brent>I set it loose documenting my home lab, and it's found things I didn't know were actually broken.

01:00:25.484 --> 01:00:26.524
<v Chris>They're very good at that.

01:00:26.764 --> 01:00:31.144
<v Brent>It also offers to set up regular cron jobs where that makes sense instead of

01:00:31.144 --> 01:00:32.604
<v Brent>burning tokens by default.

01:00:32.824 --> 01:00:36.624
<v Brent>I'm looking forward to trying it with some local models for basic tasks next.

01:00:37.004 --> 01:00:41.664
<v Chris>One of the things I've done recently is my agent data checks in on Home Assistant,

01:00:41.684 --> 01:00:47.044
<v Chris>and it generates me a report of all the devices that have less than 10% battery life.

01:00:47.084 --> 01:00:48.364
<v Wes>Oh, good idea. I love that.

01:00:48.504 --> 01:00:52.684
<v Chris>But the next step that it took me one day before I realized I need this is I

01:00:52.684 --> 01:00:58.004
<v Chris>have data do a quick attempt at figuring out what type of battery that device needs.

01:00:58.084 --> 01:01:00.784
<v Chris>So when I get the report, I know what kind of batteries.

01:01:01.344 --> 01:01:03.664
<v Chris>And I don't have to because what I always do with these sensors is like it's

01:01:03.664 --> 01:01:05.824
<v Chris>been a year. So I have to go open it up and be like, OK, what type of battery

01:01:05.824 --> 01:01:08.824
<v Chris>does this one take? because there's like three different lithium types these things take.

01:01:09.364 --> 01:01:12.044
<v Chris>And it's just so handy. Just that little bit of extra information,

01:01:12.044 --> 01:01:13.904
<v Chris>just go right on there. Okay, I got that one. I got that one.

01:01:13.944 --> 01:01:15.044
<v Chris>Oh, I need to order that one. Okay.

01:01:15.524 --> 01:01:16.704
<v Wes>You're just the tech for the bots.

01:01:17.364 --> 01:01:20.444
<v Chris>Pab came in with 6,666 sets.

01:01:21.704 --> 01:01:26.824
<v Chris>I recently landed a new job. Definitely a step up in my short career as a social science researcher.

01:01:27.004 --> 01:01:30.424
<v Chris>And honestly, this isn't the first time being a Linux nerd and a self-hoster

01:01:30.424 --> 01:01:32.824
<v Chris>has given me an edge over the competition.

01:01:33.204 --> 01:01:36.864
<v Chris>That skill set is in no small part thanks to listening to you guys.

01:01:37.024 --> 01:01:38.344
<v Chris>I'm forever grateful for real.

01:01:38.724 --> 01:01:41.464
<v Chris>Long live Jupiter Broadcasting. Thank you very much.

01:01:41.504 --> 01:01:42.084
<v Wes>And congratulations.

01:01:42.604 --> 01:01:44.604
<v Chris>I'm glad we could play a role in that. Truly.

01:01:46.404 --> 01:01:49.884
<v Wes>Turd Ferguson comes in with 17,076 sets.

01:01:52.926 --> 01:01:56.986
<v Wes>Good show, boys. Sending value your way. Also, not sure if you noticed,

01:01:57.146 --> 01:02:00.826
<v Wes>but RAM and disk prices are starting to drop. Still too expensive.

01:02:01.146 --> 01:02:03.446
<v Wes>Really? But I think the trend is our friend.

01:02:03.566 --> 01:02:03.966
<v Chris>Is that true?

01:02:04.226 --> 01:02:05.486
<v Brent>Somehow I don't believe this.

01:02:05.886 --> 01:02:06.926
<v Wes>Is that true? I'm not true.

01:02:07.366 --> 01:02:10.906
<v Chris>I'm going to look that up. Let's look up NVMe and Samsung, because boy,

01:02:11.006 --> 01:02:12.926
<v Chris>is my NVMe in a situation right now.

01:02:13.146 --> 01:02:13.726
<v Wes>Oh, yeah, right.

01:02:13.906 --> 01:02:17.566
<v Chris>So I'm on Camel Camel. Let's... Huh.

01:02:18.266 --> 01:02:19.166
<v Brent>Oh, wow. Really?

01:02:19.366 --> 01:02:23.146
<v Chris>Take a look at this. Take a look at this. a 2TB Western Digital Black,

01:02:23.146 --> 01:02:29.006
<v Chris>so it's not a Samsung, but still a great drive, 2TB NVMe Western Digital Black Gen 4 PCIe M.2.

01:02:29.926 --> 01:02:35.646
<v Chris>It is down. It is down from an all-time high of $420 to $299.

01:02:36.186 --> 01:02:37.266
<v Wes>That's more reasonable.

01:02:38.226 --> 01:02:44.626
<v Chris>Huh. Well, that's a good sign. Let's see what 32GB of RAM. I'm just curious.

01:02:44.846 --> 01:02:45.106
<v Wes>Yeah.

01:02:45.206 --> 01:02:52.066
<v Chris>32GB. Is it just disk? is it are we did we see the supply chain respond here

01:02:52.066 --> 01:02:56.346
<v Chris>what's going on here still not in stock for 32 gigs well.

01:02:56.346 --> 01:02:56.866
<v Wes>Why would you need that.

01:02:56.866 --> 01:02:59.946
<v Chris>So that ain't great do you think 64 gigs is in stock,

01:03:01.285 --> 01:03:05.145
<v Chris>Of course, this is according to Camel Camel. Oh, that still looks pretty expensive to me.

01:03:05.965 --> 01:03:09.845
<v Chris>Let's see here. Corsair, 64 gigs of RAM. Oh, it is down, but still very expensive.

01:03:10.065 --> 01:03:10.205
<v Wes>Yeah.

01:03:10.545 --> 01:03:17.485
<v Chris>So it's down from an all-time high of $927 to $850. It touched $757.

01:03:18.005 --> 01:03:18.405
<v Brent>What?

01:03:20.845 --> 01:03:25.565
<v Chris>Oh, in May. So it actually touched down to $757 in May and then popped back up to $850.

01:03:26.085 --> 01:03:30.745
<v Chris>That's a $100 difference. That's insane. That is positive.

01:03:31.525 --> 01:03:34.465
<v Chris>If you look at the three-month price trend, that is a positive price trend.

01:03:34.585 --> 01:03:36.845
<v Wes>Yeah, the data's a little less clear.

01:03:37.325 --> 01:03:40.425
<v Chris>I'm hopeful, but I hope. I'm going to go with turd. It looks like it's down,

01:03:40.485 --> 01:03:42.525
<v Chris>but I'm not buying in yet.

01:03:42.645 --> 01:03:47.705
<v Chris>We need about another 50% price, maybe 100%. Let's do it.

01:03:47.725 --> 01:03:51.085
<v Chris>Let's do 200%. Can we do 200%? I'm told that works. I'm told you can do that.

01:03:51.585 --> 01:03:53.265
<v Brent>I don't think that's how math works. No, I'm pretty sure it does.

01:03:53.265 --> 01:03:57.665
<v Brent>But KiwiBitcoinGuide boosted in 4,567 sats.

01:03:58.085 --> 01:03:58.445
<v Chris>Hmm.

01:04:01.034 --> 01:04:06.354
<v Brent>How does Nebula compare to Tailscale for the purpose of isolating a server running

01:04:06.354 --> 01:04:08.434
<v Brent>OpenClaw or Hermes in a network?

01:04:08.674 --> 01:04:13.754
<v Brent>I've built a plan to isolate a small server inside my LAN so that I can experiment with agents.

01:04:14.154 --> 01:04:20.354
<v Brent>One item on that plan was creating a tail net with only the device I want the agent to connect to.

01:04:20.694 --> 01:04:24.314
<v Brent>Can I do that with Nebula? How would that differ from using Tailscale?

01:04:24.954 --> 01:04:30.714
<v Chris>Can and I say do it should. So you can also have both.

01:04:31.034 --> 01:04:34.434
<v Chris>You could have Tailscale running on a system and then also run Nebula.

01:04:34.634 --> 01:04:36.854
<v Wes>Totally. They work just fine together.

01:04:36.874 --> 01:04:42.814
<v Chris>They do. So why I love Nebula for agentic work is because you don't need any

01:04:42.814 --> 01:04:45.394
<v Chris>company between you and what the agent can generate.

01:04:46.014 --> 01:04:50.074
<v Wes>There's no offing into some third-party provider that you have to deal with.

01:04:50.234 --> 01:04:51.114
<v Chris>You're just generating keys.

01:04:51.314 --> 01:04:52.134
<v Wes>It's all local.

01:04:52.394 --> 01:04:56.114
<v Chris>Last week, I decided I had a Nebula network between two hosts.

01:04:56.274 --> 01:04:59.174
<v Chris>And I was like, you know what? I want to add three more hosts to that.

01:04:59.174 --> 01:05:02.474
<v Chris>And I tasked the agent and it did everything.

01:05:03.254 --> 01:05:07.234
<v Chris>It generates the keys. It knows SSH, you know, logins. It moves things around for me.

01:05:07.314 --> 01:05:09.914
<v Chris>It adds them to the configs. It rebuilds them and they're talking.

01:05:10.314 --> 01:05:11.674
<v Chris>And it does it in three minutes.

01:05:12.439 --> 01:05:18.539
<v Chris>So, if you're leaning into an agentic workflow, Nebula is inherently just by default built for that.

01:05:19.039 --> 01:05:23.499
<v Chris>And so, you can stand up networks very easily just as a person or now agentically.

01:05:23.659 --> 01:05:27.179
<v Chris>And you don't need to have it like sign into a Google account or whatever single

01:05:27.179 --> 01:05:29.079
<v Chris>sign-on you're going to be using or anything like that.

01:05:29.799 --> 01:05:33.179
<v Chris>so it's I think it's great and then you know if you still want to use tail scale

01:05:33.179 --> 01:05:35.859
<v Chris>for like all your other stuff that you already have going you can't you can

01:05:35.859 --> 01:05:40.259
<v Chris>run both and then all your agentic stuff all your AI related stuff and all those

01:05:40.259 --> 01:05:43.919
<v Chris>services they only listen on say for example maybe they only listen on the nebula

01:05:43.919 --> 01:05:47.579
<v Chris>interface and so you're you don't have to worry about things on your tail net

01:05:47.579 --> 01:05:48.579
<v Chris>getting to it and stuff like that.

01:05:48.579 --> 01:05:51.739
<v Wes>As for if you do want to try to look at some of the comparisons you might just

01:05:51.739 --> 01:05:55.299
<v Wes>I'd say try to focus on I mean it depends on what you're doing to isolate But

01:05:55.299 --> 01:05:58.759
<v Wes>maybe look at, because a lot of it might come down to what you allow them to

01:05:58.759 --> 01:06:02.199
<v Wes>access on your network, whether that's directly or over the mesh.

01:06:02.419 --> 01:06:05.199
<v Wes>And so go take a look at the security primitives that are offered for,

01:06:05.279 --> 01:06:09.299
<v Wes>you know, what Nebula's got, whatever, any other systems that you need and see

01:06:09.299 --> 01:06:10.839
<v Wes>if they let you do what you try to do.

01:06:10.999 --> 01:06:15.699
<v Chris>And too, like with Hermes and with the CLAW, you can tell them to only bind

01:06:15.699 --> 01:06:17.039
<v Chris>to, like, say, the Nebula interface.

01:06:17.279 --> 01:06:19.819
<v Chris>So it's another way, just another level there. And so you could only,

01:06:20.019 --> 01:06:24.799
<v Chris>maybe you only get to the Hermes dashboard, the web UI on the Nebula interface and stuff like that.

01:06:25.019 --> 01:06:29.499
<v Chris>And I think it's a frickin' great solution, and once people figure out, and then,

01:06:30.569 --> 01:06:33.789
<v Chris>When you force multiply it with something like Nix, where you can declaratively

01:06:33.789 --> 01:06:37.469
<v Chris>deploy Nebula, and then you just push that Nix configuration out to your various

01:06:37.469 --> 01:06:38.909
<v Chris>machines and then rebuild them, and then they're...

01:06:38.909 --> 01:06:41.849
<v Wes>So good. And you could just sort of tag stuff and be like, you know,

01:06:41.929 --> 01:06:46.169
<v Wes>only give it access to stuff that has the, you know, in the AI group or...

01:06:46.169 --> 01:06:49.509
<v Chris>Do you think people are understanding what a big deal it is that you can declaratively

01:06:49.509 --> 01:06:53.629
<v Chris>deploy a mesh network across your host with no big tech? Like,

01:06:53.669 --> 01:06:55.349
<v Chris>I don't know if people have wrapped their head around the power.

01:06:55.349 --> 01:06:57.589
<v Wes>It's just like a substrate you get for free.

01:06:57.809 --> 01:06:59.709
<v Chris>Yes. that changes.

01:06:59.709 --> 01:07:03.929
<v Wes>How you architect the rest of it with persistent mesh aware identities.

01:07:03.929 --> 01:07:06.889
<v Chris>So i think it's it's at least worth looking into even

01:07:06.889 --> 01:07:09.549
<v Chris>if you ultimately do decide to go like with a tail scale route or

01:07:09.549 --> 01:07:12.729
<v Chris>a different way kiwi bitcoin guide but i think it's i think it is at least a

01:07:12.729 --> 01:07:16.049
<v Chris>quick glance and you know asking an lm to walk you through it if you have any

01:07:16.049 --> 01:07:20.549
<v Chris>questions i think that would work all right well that was a just a a really

01:07:20.549 --> 01:07:23.949
<v Chris>banger of a boost segment our podcast lifting us up from what we thought was

01:07:23.949 --> 01:07:27.189
<v Chris>going to be a rough week to just absolutely crushing it So thank you,

01:07:27.329 --> 01:07:28.249
<v Chris>everyone who streamed sats.

01:07:28.389 --> 01:07:33.089
<v Chris>16 of you streamed as you listened. You stacked 19,963 sats.

01:07:33.189 --> 01:07:34.389
<v Chris>Not too bad right there at all.

01:07:34.509 --> 01:07:36.869
<v Chris>Thank you very much. We do appreciate that.

01:07:39.549 --> 01:07:42.649
<v Chris>When you combine that with our baller boots from our podcast and everybody else

01:07:42.649 --> 01:07:49.949
<v Chris>who contributed, this episode stacked an extremely impressive 665,907 sats.

01:07:52.389 --> 01:07:55.449
<v Chris>That's a week you go home, you tell the wife about. That's what that is right

01:07:55.449 --> 01:07:56.849
<v Chris>there. Thank you very much.

01:07:57.569 --> 01:08:00.969
<v Chris>We're doing this show week after week. Even though nobody seems to want to buy

01:08:00.969 --> 01:08:04.649
<v Chris>commercial spots on it, the audience is keeping it going between our members and our boosters.

01:08:05.809 --> 01:08:06.889
<v Chris>We appreciate you.

01:08:13.192 --> 01:08:17.312
<v Chris>Now, if you want to get in on the boosting fun, we have links at the top of

01:08:17.312 --> 01:08:19.372
<v Chris>our show notes, kind of like the easiest path.

01:08:19.632 --> 01:08:23.152
<v Chris>It does take a little bit of adventuring, so we always do appreciate everybody helping us there.

01:08:23.752 --> 01:08:26.872
<v Chris>And if you want to just put your fee out on autopilot, we have jupiter.party

01:08:26.872 --> 01:08:31.892
<v Chris>for the whole network and linuxunplugged.com slash membership for just this here episode.

01:08:33.512 --> 01:08:36.852
<v Chris>And we're going to wrap it up, but we've got a couple of picks before we go.

01:08:36.852 --> 01:08:41.632
<v Chris>And our first one I think is just useful for anybody that's ever wanted to record

01:08:41.632 --> 01:08:44.792
<v Chris>a specific application audio stream on their desktop.

01:08:45.072 --> 01:08:48.232
<v Chris>I'm always trying to do this, so maybe I am a little biased here.

01:08:48.872 --> 01:08:53.332
<v Chris>But there's a time when maybe there's a game stream or whatever it might be.

01:08:53.412 --> 01:08:54.812
<v Chris>Maybe it's the show you want to have a backup copy.

01:08:54.812 --> 01:08:56.132
<v Wes>I'm recording our show right now.

01:08:56.132 --> 01:08:59.012
<v Chris>Oh, my goodness. Look at you using the pic. Very nice.

01:08:59.232 --> 01:09:03.572
<v Chris>It's called Record Apps. And it's a desktop application that allows you to record

01:09:03.572 --> 01:09:09.352
<v Chris>audio from a specific application on Linux built with Dino and supports pipe

01:09:09.352 --> 01:09:10.712
<v Chris>wire metadatas and whatnot.

01:09:10.712 --> 01:09:15.512
<v Chris>So it can actually get like application name, plain data stuff and gives you

01:09:15.512 --> 01:09:18.492
<v Chris>a nice UI to record just that application's audio.

01:09:20.055 --> 01:09:21.215
<v Brent>This is so great.

01:09:22.355 --> 01:09:26.395
<v Chris>It's purpose-built, super focused, and is available on Flathub.

01:09:26.535 --> 01:09:28.855
<v Wes>And it's mostly a thin UI over Pipewire.

01:09:28.935 --> 01:09:29.175
<v Chris>Yeah.

01:09:29.855 --> 01:09:32.295
<v Wes>Which is kind of great because there's not a lot of complexity to it.

01:09:32.455 --> 01:09:34.595
<v Chris>And it means it's going to probably just be rock solid.

01:09:34.855 --> 01:09:34.995
<v Wes>Yeah.

01:09:35.615 --> 01:09:40.315
<v Chris>Now, our next pick, not rock solid yet. The developer says it's very early days,

01:09:40.315 --> 01:09:42.895
<v Chris>but I think this is something that's got real potential.

01:09:43.195 --> 01:09:48.355
<v Chris>It's called OpenLogic, and it's a native local-first alternative for the Logitech

01:09:48.355 --> 01:09:51.415
<v Chris>Options Plus for Linux written in Rust.

01:09:52.515 --> 01:09:58.315
<v Chris>It lets you remap buttons, change your DPI settings, the smart shift over HID++ settings.

01:09:58.615 --> 01:10:00.575
<v Chris>No account required, no telemetry.

01:10:01.175 --> 01:10:04.115
<v Chris>Tons of features in the works as well. Not quite yet implemented,

01:10:04.295 --> 01:10:07.475
<v Chris>but lots of stuff on the roadmap. Real good roadmap, actually, for this project.

01:10:07.695 --> 01:10:11.895
<v Wes>There's a GUI, there's a CLI. Everything's local. Bindings live in a plain Toml file.

01:10:12.155 --> 01:10:13.835
<v Chris>I like having the GUI and the CLI.

01:10:14.095 --> 01:10:15.135
<v Wes>That's a nice touch.

01:10:15.295 --> 01:10:17.735
<v Chris>It is. And it's impressive what they've gotten done already.

01:10:18.115 --> 01:10:21.135
<v Chris>they're looking for community input and if you've got a Logitech mouse,

01:10:21.215 --> 01:10:24.995
<v Chris>don't most of us have one somewhere and you've wanted some of that Logitech

01:10:24.995 --> 01:10:28.315
<v Chris>stuff on Linux to maybe change some of the settings, some of the configuration.

01:10:28.755 --> 01:10:33.155
<v Wes>Warning, it seems like Mac is there today, Linux and Windows are coming soon, so.

01:10:33.335 --> 01:10:35.235
<v Chris>Yeah, yeah it's early days, it's early days.

01:10:35.475 --> 01:10:35.795
<v Wes>That's something to watch.

01:10:35.835 --> 01:10:37.935
<v Chris>Maybe it's a little early featured on the show, I don't know,

01:10:38.055 --> 01:10:41.995
<v Chris>but we've given a little love we might get some Linux use, so we'll see.

01:10:42.095 --> 01:10:46.875
<v Wes>And there's, you know, there's like a dev n.nix in there, so you gotta like to see that?

01:10:46.875 --> 01:10:50.935
<v Chris>Indeed, and it is Apache and MI2 licensed. It's called OpenLogy,

01:10:51.015 --> 01:10:52.875
<v Chris>and it is very early days.

01:10:53.075 --> 01:10:55.075
<v Chris>Sounds like their Linux build not ready yet, which is disappointing,

01:10:55.135 --> 01:10:58.255
<v Chris>but I think if we show them a little love, perhaps they'll be encouraged to

01:10:58.255 --> 01:11:00.895
<v Chris>create this for the Linux community, because we've all got some Logitech devices sitting around.

01:11:01.355 --> 01:11:05.555
<v Chris>I got one right here, and the situation, there are tools, we've talked about

01:11:05.555 --> 01:11:09.095
<v Chris>them before, that are available today for Linux, but not as comprehensive as this one.

01:11:09.375 --> 01:11:11.795
<v Chris>So the situation would be a lot better if we saw that come over.

01:11:11.975 --> 01:11:13.315
<v Wes>Looks like RecordApps is MIT.

01:11:13.675 --> 01:11:14.795
<v Chris>Yeah. Oh, did I not mention that?

01:11:14.795 --> 01:11:15.135
<v Wes>I don't know.

01:11:15.135 --> 01:11:16.875
<v Chris>I don't think I did mention that. Thank you.

01:11:17.905 --> 01:11:18.545
<v Chris>How do you like it?

01:11:19.205 --> 01:11:23.745
<v Wes>I like it. It's quick. It's easy. It uses Denno, which is kind of interesting.

01:11:23.905 --> 01:11:27.065
<v Wes>It has like a web view that does the graphics layer.

01:11:27.365 --> 01:11:29.965
<v Wes>And then under the hood, the Denno runtime is just basically calling out to

01:11:29.965 --> 01:11:33.505
<v Wes>Pipewire. So pretty lean, which is great. And the UI looked nice.

01:11:33.585 --> 01:11:35.265
<v Wes>I mean, it was more featureful than I expected.

01:11:36.085 --> 01:11:40.525
<v Chris>Yeah, the developer is also responsible for a couple of other neat apps that

01:11:40.525 --> 01:11:42.685
<v Chris>they've also published on FlatHub.

01:11:42.885 --> 01:11:47.285
<v Chris>I think his name is Bettis. And he's also made, if you're into this kind of

01:11:47.285 --> 01:11:51.445
<v Chris>thing, an app called Stimulator that keeps your monitor awake.

01:11:51.745 --> 01:11:54.785
<v Chris>Simple UI to just go in there and configure like when the monitor goes to sleep.

01:11:55.205 --> 01:12:00.385
<v Chris>And I think using the same toolkit as for record apps, the developer has also

01:12:00.385 --> 01:12:03.485
<v Chris>created a ping monitor, which, you know, there's a lot of these around,

01:12:03.605 --> 01:12:09.725
<v Chris>but it's very clean. It looks like maybe the same toolkit and a nice way to graph your ping stats.

01:12:09.785 --> 01:12:10.865
<v Wes>Oh, that does look nice.

01:12:11.605 --> 01:12:15.145
<v Chris>So they got a few apps over there on the old flat hub. They've been cranking them out.

01:12:15.485 --> 01:12:18.865
<v Brent>Isn't this a great example of a developer like scratching their own itch in

01:12:18.865 --> 01:12:23.585
<v Brent>the exact ways we were talking about during the conversation about, you know, anti-AI?

01:12:24.285 --> 01:12:24.965
<v Chris>Yeah, absolutely.

01:12:25.165 --> 01:12:27.985
<v Brent>This is the exact thing. So why wouldn't we want this?

01:12:28.565 --> 01:12:31.405
<v Chris>And I guess, you know, to my question to the audience...

01:12:33.403 --> 01:12:37.903
<v Chris>Maybe I don't care if it's Vibe-coded. I mean, it is TypeScript and HTML,

01:12:38.223 --> 01:12:41.583
<v Chris>and they love writing TypeScript. These machines love writing TypeScript.

01:12:41.583 --> 01:12:42.523
<v Brent>That's the giveaway, is it?

01:12:42.843 --> 01:12:46.303
<v Chris>No, it's just, you know, if you were going to have a list of things that could

01:12:46.303 --> 01:12:50.583
<v Chris>possibly make it LM-generated, TypeScript might be one of the data points.

01:12:51.403 --> 01:12:52.783
<v Brent>It's the M-dash in TypeScript.

01:12:53.003 --> 01:12:57.083
<v Chris>But I don't know if I care. But I think I might...

01:12:57.083 --> 01:13:01.063
<v Wes>I think this comes down to sort of, when do you care? When do we care?

01:13:01.203 --> 01:13:04.963
<v Chris>I think maybe I care more if it's an app. I've been using for years or a distro

01:13:04.963 --> 01:13:06.123
<v Chris>I've been using for years.

01:13:06.563 --> 01:13:13.183
<v Chris>Like, R-Sync is the perfect example where it's like, everybody uses R-Sync. It helps back up my data.

01:13:13.303 --> 01:13:15.943
<v Wes>Yeah, it's connected to a lot of important systems.

01:13:16.143 --> 01:13:19.743
<v Chris>A lot of people have scripts and automations and whatnot, backup jobs built

01:13:19.743 --> 01:13:22.443
<v Chris>around R-Sync. So it's just the perfect example.

01:13:22.623 --> 01:13:25.463
<v Wes>But a Pomodoro timer for your desktop is sort of...

01:13:26.003 --> 01:13:26.343
<v Chris>Yeah.

01:13:26.463 --> 01:13:27.623
<v Wes>You probably notice if it fails.

01:13:27.763 --> 01:13:33.643
<v Chris>Or, you know, if you're adopting R-Sync today, hey, you probably wouldn't care.

01:13:33.983 --> 01:13:39.543
<v Chris>If March, you know, or May or April, you started using R-Sync and this happened,

01:13:39.643 --> 01:13:42.643
<v Chris>it probably isn't a big, like, life-shaking deal for you.

01:13:43.283 --> 01:13:46.543
<v Chris>But if you've been using it for 10, 15 years, like some of us have,

01:13:47.243 --> 01:13:48.503
<v Chris>it is kind of a bigger deal.

01:13:48.523 --> 01:13:50.483
<v Wes>Rock-solid plumbing than you count on.

01:13:50.483 --> 01:13:53.063
<v Chris>I think, and I'd like to know what the audience thinks. Boost in and tell us.

01:13:53.223 --> 01:13:55.803
<v Chris>I think that could make for a good engaging boost segment next week.

01:13:56.143 --> 01:14:01.163
<v Chris>And tell us how you feel about AI-assisted code in the OSS projects or distributions that you depend on.

01:14:01.923 --> 01:14:05.963
<v Chris>If you feel sort of similar, I mean, it is new and something we're going to have to work through.

01:14:07.003 --> 01:14:11.603
<v Chris>Now, I will mention we are live. We can we can stream on a Tuesday and make

01:14:11.603 --> 01:14:13.563
<v Chris>it a Sunday using the power of Linux.

01:14:13.803 --> 01:14:17.643
<v Chris>So join us on a Tuesday on a Sunday at 10 a.m. Pacific, 1 p.m. Eastern.

01:14:21.308 --> 01:14:25.248
<v Chris>And we do have more data around the show that people could go get their hands on. Tell them about it.

01:14:25.568 --> 01:14:26.748
<v Wes>Cloud chapters.

01:14:26.888 --> 01:14:27.188
<v Chris>What?

01:14:27.508 --> 01:14:28.048
<v Wes>Yeah, that's right.

01:14:28.348 --> 01:14:29.668
<v Chris>Cloud chapters, you say?

01:14:29.828 --> 01:14:33.048
<v Wes>The magic of the cloud in your podcast app.

01:14:33.188 --> 01:14:36.448
<v Chris>Wow. No way. What about transcripts?

01:14:36.548 --> 01:14:37.328
<v Wes>Why would you want that?

01:14:37.488 --> 01:14:39.708
<v Chris>Yeah, you probably wouldn't. I wouldn't grab those.

01:14:39.808 --> 01:14:46.648
<v Wes>No, definitely not. Not SRT or VTT. And the VTT definitely doesn't have your name attached to it.

01:14:46.648 --> 01:14:47.628
<v Chris>No, absolutely not.

01:14:48.508 --> 01:14:49.348
<v Wes>Don't even look.

01:14:49.348 --> 01:14:52.228
<v Chris>To what we talked about and more over at linuxunplugged.com.

01:14:52.368 --> 01:14:56.908
<v Chris>This is episode 669, so it's slash 669, including our contact page,

01:14:57.028 --> 01:14:59.028
<v Chris>our mumble room info, and our matrix info.

01:14:59.208 --> 01:15:01.668
<v Chris>We'd love to have you join us in one of those during a live show.

01:15:02.008 --> 01:15:04.688
<v Chris>Thank you so much for listening to this week's episode of Your Unplugged Program.

01:15:04.908 --> 01:15:08.068
<v Chris>We'll see you back here next Tuesday. You know it, as in Sunday.

