WEBVTT

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

00:00:16.131 --> 00:00:17.081
<v Wes>My name is Wes.

00:00:17.081 --> 00:00:17.978
<v Brent>And my name is Brent.

00:00:18.820 --> 00:00:22.651
<v Chris>Well, hello, gentlemen. Coming up on the show today, Linus put his foot down

00:00:22.651 --> 00:00:25.043
<v Chris>on AI in Linux kernel development.

00:00:25.496 --> 00:00:29.911
<v Chris>We'll cover his blunt message he had for developers, and then we're going to

00:00:29.911 --> 00:00:32.044
<v Chris>talk about reworking the Node stack.

00:00:32.293 --> 00:00:35.376
<v Chris>Brent and Wes are coming at me with a whole new hot stack.

00:00:35.834 --> 00:00:39.591
<v Chris>And then I'll do a quick remote Linux desktop showdown. I went through some

00:00:39.591 --> 00:00:44.164
<v Chris>of the more recent remote Linux desktop options, came away with what I think is a clear winner.

00:00:44.553 --> 00:00:47.961
<v Chris>And we're going to round it out with the great poos, I guess,

00:00:47.961 --> 00:00:51.581
<v Chris>the boost, the picks, and more. So before we get there, just sort of save me

00:00:51.581 --> 00:00:54.846
<v Chris>mumble room. Time-appropriate greetings, everybody. Hello, Virtual Log.

00:00:55.971 --> 00:00:56.711
<v Mumble>Hello, there.

00:00:58.131 --> 00:00:58.471
<v Chris>Hello, Brent.

00:00:58.471 --> 00:01:00.391
<v Wes>Hello. A strong crew today. That's important.

00:01:00.391 --> 00:01:03.400
<v Chris>I'm going to pull on them. I'm going to get through it. I'm going to get through it.

00:01:03.778 --> 00:01:07.241
<v Chris>The other thing that's going to help me is my friends over at Defined Networking.

00:01:07.241 --> 00:01:11.498
<v Chris>Go to define.net slash unplugged and meet Managed Nebula from Defined Networking.

00:01:11.945 --> 00:01:15.231
<v Chris>It is the easiest way to build a fast, resilient private network on the open

00:01:15.231 --> 00:01:16.288
<v Chris>source Nebula platform.

00:01:16.909 --> 00:01:22.001
<v Chris>It is rock solid infrastructure. And now every new network includes a free managed

00:01:22.001 --> 00:01:24.287
<v Chris>lighthouse. So you could just get connected. Your first machines,

00:01:24.560 --> 00:01:27.485
<v Chris>I think they're using IPv6 too, real easy, smooth.

00:01:27.776 --> 00:01:31.811
<v Chris>And of course, you can still run your own lighthouses to have your own control

00:01:31.811 --> 00:01:33.732
<v Chris>too. So you can kind of take advantage of theirs if you want,

00:01:33.946 --> 00:01:36.367
<v Chris>use only yours or do a mix of both.

00:01:36.808 --> 00:01:40.371
<v Chris>That's really powerful. Owning your own infrastructure at the network level

00:01:40.371 --> 00:01:44.715
<v Chris>is ultimately important and powerful. So you can get started with 100 hosts for free.

00:01:45.104 --> 00:01:49.277
<v Chris>This is not like anybody else. No credit card required. Go to define.net slash unplugged.

00:01:50.194 --> 00:01:54.641
<v Chris>Check out a totally different way to do Mesh VPN. Go to define.net slash unplugged.

00:01:55.030 --> 00:01:58.355
<v Chris>And a big thank you to Define for sponsoring the Unplugged program.

00:02:00.409 --> 00:02:04.763
<v Chris>Speaking of sponsors, we probably should have addressed this earlier,

00:02:04.763 --> 00:02:08.463
<v Chris>maybe a week or two ago, but this is sort of – we don't really think often to

00:02:08.463 --> 00:02:09.993
<v Chris>talk about the mechanics of the show.

00:02:10.516 --> 00:02:13.070
<v Chris>But then we publish it and we go, oh, we should probably talk about this.

00:02:13.575 --> 00:02:19.217
<v Chris>So people that have been listening for the last few months know that we're experimenting with dynamic ads.

00:02:19.960 --> 00:02:24.683
<v Chris>And we're kind of doing that in place of when we don't have an ad that's been

00:02:24.683 --> 00:02:27.890
<v Chris>directly sold, like a deal where I'm coming on and I'm doing the host read.

00:02:28.575 --> 00:02:34.003
<v Chris>They don't, you know, my preference is the host read ads, but the ad world has

00:02:34.003 --> 00:02:38.593
<v Chris>changed. And dynamic is the way it goes because the buyers prefer it that way.

00:02:38.593 --> 00:02:39.564
<v Chris>The customers prefer it.

00:02:40.295 --> 00:02:45.643
<v Chris>So what we're going to experiment with is shortening the pre-show or like the

00:02:45.643 --> 00:02:48.703
<v Chris>pre-roll that you hear if you get a dynamic ad. We're going to,

00:02:48.703 --> 00:02:52.114
<v Chris>I think we're going to, we haven't done this yet, but I think we should shorten that to 60 seconds.

00:02:52.915 --> 00:02:57.833
<v Chris>And then, Roger, in the mid-roll ads, it'll be like ads that are in the show. Thank you.

00:02:59.327 --> 00:03:02.432
<v Chris>Those will be about 90 seconds because that's what the typical length is.

00:03:02.432 --> 00:03:06.404
<v Chris>And then there'll be ads at the end of the show. And it does help the show if you listen to those.

00:03:07.344 --> 00:03:10.682
<v Chris>However, if you are tired of ads, we do have the member version,

00:03:10.792 --> 00:03:14.589
<v Chris>which offers the same fully produced show by Drew, but with just no ads.

00:03:14.850 --> 00:03:19.002
<v Chris>And you also get the bootleg if you like, which typically doesn't have ads or

00:03:19.002 --> 00:03:20.365
<v Chris>it has like a shortened version of them.

00:03:20.481 --> 00:03:24.502
<v Chris>And we're going to try to dial this in. We do like your feedback on this.

00:03:24.502 --> 00:03:26.392
<v Chris>We're paying attention. And it's new.

00:03:26.992 --> 00:03:28.192
<v Wes>Yeah, very new for us as well.

00:03:28.192 --> 00:03:33.832
<v Chris>I resisted this for a very long time, so I'm now paying the tax of not really

00:03:33.832 --> 00:03:37.362
<v Chris>paying attention to this, and I'm learning on the go, on the fly.

00:03:38.652 --> 00:03:42.362
<v Chris>We have been really kind of tight, really since the beginning of the year,

00:03:42.362 --> 00:03:45.372
<v Chris>tighter than we really even talk about publicly. And so we're trying to find

00:03:45.372 --> 00:03:46.812
<v Chris>the right balance here to make this work.

00:03:47.584 --> 00:03:51.562
<v Chris>We're going to adjust some of it, and we encourage your feedback.

00:03:51.562 --> 00:03:53.516
<v Chris>We encourage you to listen because it does help the show.

00:03:53.934 --> 00:03:58.362
<v Chris>Or sign up for a membership if you're sick and tired of it. And if you have

00:03:58.362 --> 00:04:00.546
<v Chris>any questions, shoot it in and we'll try to answer.

00:04:01.393 --> 00:04:03.372
<v Chris>But we just wanted to mention it. We probably should have mentioned it a couple

00:04:03.372 --> 00:04:05.358
<v Chris>of weeks ago as we began experimenting more with this.

00:04:06.612 --> 00:04:09.682
<v Chris>And it's a learning process. So thank you, everybody. We really haven't had

00:04:09.682 --> 00:04:11.762
<v Chris>any complaints or anything like that, but we just wanted to talk about it.

00:04:11.762 --> 00:04:14.147
<v Chris>Now, before it became like an elephant in the room.

00:04:15.032 --> 00:04:17.812
<v Chris>And something that's exciting to see, because I'm hoping we're going to make

00:04:17.812 --> 00:04:21.102
<v Chris>it, is the Texas Linux Fest call for papers have reopened.

00:04:21.102 --> 00:04:24.922
<v Wes>Yeah, that's right. Just a short little window here. It'll close on July 22nd.

00:04:24.922 --> 00:04:25.304
<v Chris>Oh, yeah.

00:04:25.952 --> 00:04:30.342
<v Wes>But if you missed the first one, you got a shot now. They have also released

00:04:30.342 --> 00:04:34.162
<v Wes>the first round of approved talks, too. So you can kind of see what is already

00:04:34.162 --> 00:04:35.677
<v Wes>there if you need to calibrate off that.

00:04:35.968 --> 00:04:38.615
<v Wes>And specifically, they're looking for things in observability,

00:04:38.771 --> 00:04:41.982
<v Wes>automation, infrastructure, databases, or software development.

00:04:41.982 --> 00:04:44.602
<v Chris>That's pretty great. I'm hoping we can make it. We don't really have all our

00:04:44.602 --> 00:04:46.352
<v Chris>plans in yet, but we always try to make that one.

00:04:46.352 --> 00:04:48.483
<v Wes>Yeah, I believe it's at the beginning of November this year.

00:04:48.652 --> 00:04:50.092
<v Chris>Okay. Okay. All right.

00:04:50.092 --> 00:04:52.859
<v Wes>So get that on your calendars, and we'll try to join you.

00:04:56.302 --> 00:05:01.051
<v Chris>This week, Linus made news with a bomb he dropped on the Linux kernel mailing list.

00:05:01.051 --> 00:05:04.781
<v Chris>And I think to really kind of wrap our head around this, we should go back a

00:05:04.781 --> 00:05:07.061
<v Chris>couple of weeks, because what we're seeing right now are the headlines and the

00:05:07.061 --> 00:05:11.935
<v Chris>takeaways from this one post in the mailing list that has a lot of other stuff in it, too.

00:05:12.458 --> 00:05:17.264
<v Chris>But Linus has recently been on a bit of a world tour, actually,

00:05:17.723 --> 00:05:22.042
<v Chris>sitting down with Dirk and talking about his thoughts on AI.

00:05:22.518 --> 00:05:29.246
<v Chris>And what we have is a couple of series of clips that are over the last about 60 days.

00:05:29.640 --> 00:05:33.321
<v Chris>And you can actually hear Linus's thoughts evolve in that 60 days.

00:05:33.785 --> 00:05:39.041
<v Chris>And this is about 60 days, the timeline before this big bomb that was dropped

00:05:39.041 --> 00:05:41.111
<v Chris>on the mailing list that everybody's talking about this week.

00:05:41.575 --> 00:05:46.321
<v Chris>So we want to go back to that because it started – it really started with Linus

00:05:46.321 --> 00:05:50.321
<v Chris>being a lot more kind of contemplative on the pain points of AI and all this.

00:05:50.321 --> 00:05:53.027
<v Chris>So he sits down with Dirk Handel often at these open source summits,

00:05:53.463 --> 00:05:56.181
<v Chris>and there was just a couple that happened recently.

00:05:56.181 --> 00:05:59.141
<v Chris>And some of these clips our members have already heard in the bootleg because

00:05:59.141 --> 00:06:01.961
<v Chris>we played this a few weeks for them, but now it's relevant to this week's episode.

00:06:01.961 --> 00:06:06.565
<v Chris>Plus, there's been new stuff since then. So we're going to catch you up on all of it.

00:06:06.959 --> 00:06:11.691
<v Chris>So let's start with this. Linus starts with what he thinks right now is the

00:06:11.691 --> 00:06:15.818
<v Chris>most painful aspect of AI development.

00:06:16.869 --> 00:06:21.171
<v Clips>Again, I have a hard time seeing everybody because I have the lights in my face.

00:06:21.171 --> 00:06:25.431
<v Clips>Very bright. But how many people here use actually AI for coding?

00:06:27.236 --> 00:06:33.935
<v Clips>Yeah, so I have a love-hate relationship with AI.

00:06:34.080 --> 00:06:36.880
<v Clips>I actually really like it from a technical angle.

00:06:37.220 --> 00:06:42.051
<v Clips>I love the tools. I find it very useful and interesting.

00:06:42.445 --> 00:06:49.400
<v Clips>But it is definitely causing pain points. And the big pain points.

00:06:51.557 --> 00:06:55.162
<v Clips>In Linux traditionally, and I suspect in most projects,

00:06:55.916 --> 00:07:02.920
<v Clips>have not been so much the code itself, but has been when you're forced to change

00:07:02.920 --> 00:07:06.810
<v Clips>how you work and people get into a rut.

00:07:06.810 --> 00:07:13.030
<v Clips>People know this is how I work and this is how I like working.

00:07:14.376 --> 00:07:19.270
<v Clips>And then something comes along and for me it was like a long time ago,

00:07:19.270 --> 00:07:26.330
<v Clips>around 2000, I had to change how I worked because I did not scale anymore for

00:07:26.330 --> 00:07:28.819
<v Clips>the project as Linux was growing.

00:07:29.313 --> 00:07:35.080
<v Clips>And I still remember it being one of the more painful episodes in kernel development,

00:07:35.080 --> 00:07:37.399
<v Clips>and it was literally 25 years ago.

00:07:38.879 --> 00:07:42.450
<v Clips>And I think we're seeing some of the same effects now with AI,

00:07:42.450 --> 00:07:48.555
<v Clips>where it kind of forces people to get out of their comfort zone.

00:07:49.217 --> 00:07:57.773
<v Clips>so we've had a lot of social issues with the ai generated bug reports but also code and and there's,

00:07:59.846 --> 00:08:06.320
<v Clips>uh it's not a linus doesn't scale like it was 25 years ago now it's people don't

00:08:06.320 --> 00:08:10.573
<v Clips>necessarily scale and it takes a while to learn how to use the tools in a.

00:08:13.422 --> 00:08:20.082
<v Clips>Maybe responsible isn't the right word, but in a way that actually works with

00:08:20.082 --> 00:08:23.662
<v Clips>the community and works with the other developers.

00:08:24.069 --> 00:08:26.692
<v Clips>And we are definitely seeing some of the pain.

00:08:27.552 --> 00:08:32.472
<v Clips>One of the pain points recently has been the security mailing list where when

00:08:32.472 --> 00:08:40.131
<v Clips>people find bugs with AI, a lot of the time, I mean, a lot of bugs can be security issues.

00:08:40.952 --> 00:08:46.572
<v Clips>And I've said for years, decades, that a security bug is a bug,

00:08:46.872 --> 00:08:50.182
<v Clips>but the other side of that is a bug is often a security bug,

00:08:50.182 --> 00:08:51.786
<v Clips>and you may not even realize it.

00:08:53.232 --> 00:08:59.602
<v Clips>And people think that when they find a bug with AI, the first reaction seems

00:08:59.602 --> 00:09:05.434
<v Clips>to sometimes be, let's send it to the security list because this may have security implications.

00:09:06.055 --> 00:09:12.017
<v Clips>And the security list for the kernel was overrun by duplicate reports,

00:09:12.580 --> 00:09:18.396
<v Clips>by tens, hundreds of people running AI, often the same AI tool,

00:09:18.977 --> 00:09:20.898
<v Clips>and getting slightly different results,

00:09:21.653 --> 00:09:23.792
<v Clips>often with the same underlying cause.

00:09:23.792 --> 00:09:27.771
<v Clips>but we were flooded by people sending bugs.

00:09:28.079 --> 00:09:34.198
<v Clips>And then you have this list with fairly few people on it because it's all supposed to be super secret.

00:09:35.612 --> 00:09:39.428
<v Clips>And we spent all our time just forwarding these reports to.

00:09:41.599 --> 00:09:47.642
<v Clips>Other developers who knew that area better. And we made the policy change that

00:09:47.642 --> 00:09:55.692
<v Clips>basically if you find a security or any bug with AI, you should basically consider it to be public. And...

00:09:57.639 --> 00:10:02.677
<v Clips>Just because if you found it with AI, a hundred other people also found it with AI.

00:10:03.759 --> 00:10:08.522
<v Clips>And obviously that when it comes to things that really are security issues,

00:10:08.998 --> 00:10:13.236
<v Clips>you may not want to make the exploit public, right?

00:10:13.695 --> 00:10:18.319
<v Clips>Don't go and say to the world, hey, this is how, and this, by the way,

00:10:18.319 --> 00:10:21.427
<v Clips>I want to make it very clear. This is not just about the Linux kernel.

00:10:21.959 --> 00:10:25.003
<v Clips>When you find an exploit for any piece of software,

00:10:26.129 --> 00:10:32.159
<v Clips>don't be that guy or that gal who then crows about it publicly and say,

00:10:32.159 --> 00:10:37.199
<v Clips>look, hey, I could bring down this big company or whatever.

00:10:38.621 --> 00:10:43.739
<v Clips>Just let people know what the problem was and don't necessarily tell them exactly

00:10:43.739 --> 00:10:49.156
<v Clips>how to make somebody's life really miserable on a Friday afternoon. Right.

00:10:50.143 --> 00:10:56.799
<v Clips>So we are seeing some pain points with AI. And it's not that the technology

00:10:56.799 --> 00:11:00.766
<v Clips>is bad. And I personally really enjoy it.

00:11:01.283 --> 00:11:08.359
<v Clips>But there's like the social issues that it causes have yet to be all worked out, I would say.

00:11:08.968 --> 00:11:11.379
<v Chris>The conversation kind of goes on, and they talk a bit more about some of the

00:11:11.379 --> 00:11:15.662
<v Chris>tooling. In a more recent conversation that happened after that,

00:11:16.559 --> 00:11:21.269
<v Chris>Linus touches on the—he expands a little bit more on some of the pain points

00:11:21.269 --> 00:11:22.958
<v Chris>they've had with LLM development.

00:11:23.318 --> 00:11:28.209
<v Clips>I want to point out for the record, we made it 26 minutes into this conversation

00:11:28.209 --> 00:11:30.418
<v Clips>without talking about AI and LLMs.

00:11:36.716 --> 00:11:42.165
<v Clips>But I think this will be the only talk in this conference that gets to that.

00:11:42.165 --> 00:11:46.326
<v Clips>But of course, we should talk about this because we did the same session or,

00:11:46.825 --> 00:11:50.505
<v Clips>totally different, but same setup session a month ago in Minneapolis.

00:11:50.505 --> 00:11:54.735
<v Clips>And one of the things that a lot of people picked up on was that on stage you

00:11:54.735 --> 00:11:59.172
<v Clips>said that you see LNM as just a tool, which I completely agree with.

00:11:59.474 --> 00:12:07.352
<v Clips>And you made this interesting statement that you say it offers an incremental efficiency of a 10x.

00:12:08.019 --> 00:12:14.706
<v Clips>And a lot of people said, oh, Linus thinks that LLMs make everything 10x better. And so I was curious.

00:12:15.905 --> 00:12:21.899
<v Clips>That 10x was not scientific. Right. That was pulled out of my ass number, obviously.

00:12:22.601 --> 00:12:28.995
<v Clips>Just to clarify. That was two questions down. But OK, so this was a intuitive

00:12:28.995 --> 00:12:31.686
<v Clips>number that you came up with to rephrase what you just said.

00:12:32.104 --> 00:12:40.585
<v Clips>But so how much of this true added value that LLMs provide?

00:12:40.585 --> 00:12:44.304
<v Clips>We just talked about this. The core code gets more eyeballs,

00:12:44.832 --> 00:12:49.225
<v Clips>but the LLMs can apply the same scrutiny, the same algorithm,

00:12:49.225 --> 00:12:52.559
<v Clips>the same logic testing ability to all of the code.

00:12:52.884 --> 00:12:58.225
<v Clips>How much do you think that the LLMs really create productivity advancement for,

00:12:58.225 --> 00:13:00.925
<v Clips>not you personally, but for the Linux kernel community?

00:13:02.235 --> 00:13:04.095
<v Clips>So right now we're at kind of

00:13:04.095 --> 00:13:09.765
<v Clips>the point where hopefully it creates more productivity than it takes away.

00:13:12.085 --> 00:13:23.319
<v Clips>We certainly saw more junk being generated by LLMs than we saw useful code up until,

00:13:24.946 --> 00:13:30.780
<v Clips>the like early this year basically and even now uh,

00:13:32.486 --> 00:13:37.141
<v Clips>it's taking a lot of resources from developers because,

00:13:38.424 --> 00:13:43.425
<v Clips>you get these bug reports i mean i don't know how many of you have seen this

00:13:43.425 --> 00:13:49.385
<v Clips>pattern in your own work uh i bet it happens or i know for a fact that it happens

00:13:49.385 --> 00:13:52.866
<v Clips>outside the kernel too where you get bug reports that,

00:13:53.993 --> 00:14:00.842
<v Clips>look entirely valid and it actually can take quite a lot of effort to figure out that, no,

00:14:02.299 --> 00:14:04.145
<v Clips>that was just hallucination.

00:14:06.317 --> 00:14:13.355
<v Clips>And it can actually be a huge drain on resources when it takes humans a lot

00:14:13.355 --> 00:14:17.845
<v Clips>of effort to figure out that, hey, this machine-generated report was not true.

00:14:18.491 --> 00:14:22.215
<v Chris>And so Linus goes on to say that he does think there is some long-term good,

00:14:22.655 --> 00:14:26.895
<v Chris>and he kind of articulated this in the previous chat as well.

00:14:26.895 --> 00:14:30.245
<v Clips>Don't get me wrong. This may sound negative to a lot of people,

00:14:30.245 --> 00:14:34.235
<v Clips>but I actually think it's all very good.

00:14:35.485 --> 00:14:39.340
<v Clips>When AI finds a bug in any source code,

00:14:41.383 --> 00:14:44.628
<v Clips>that is a short-term pain.

00:14:45.841 --> 00:14:49.609
<v Clips>But long-term is you found a bug. We fixed it.

00:14:50.989 --> 00:14:55.179
<v Clips>The end result is better for it. So I'm actually, this is part of why I actually

00:14:55.179 --> 00:15:01.069
<v Clips>really enjoy AI. And again, I want to stress that the conflict is not that AI is bad.

00:15:01.409 --> 00:15:05.829
<v Clips>The conflict is then that there are some social choke points and social pain

00:15:05.829 --> 00:15:12.409
<v Clips>points that come with this new tool that we have 35 years of code,

00:15:12.409 --> 00:15:15.853
<v Clips>that it sometimes finds issues that we did not find.

00:15:16.749 --> 00:15:23.742
<v Clips>and it's going to take us some time to just work through the new issues that are found.

00:15:23.986 --> 00:15:28.889
<v Clips>And so I'm actually very positive about this whole thing. I think finding bugs

00:15:28.889 --> 00:15:34.009
<v Clips>is great because the real problem is all the bugs you didn't find.

00:15:35.096 --> 00:15:38.519
<v Chris>I also picked up that you seem to note that there has been some improvements

00:15:38.519 --> 00:15:40.523
<v Chris>in some of the bigger, more important areas.

00:15:40.860 --> 00:15:45.159
<v Clips>At the same time, what has definitely happened in the last couple of months

00:15:45.159 --> 00:15:50.096
<v Clips>is that we are getting a lot of really good bug reports.

00:15:51.419 --> 00:15:55.459
<v Clips>Most of the good ones require more than just the LLM, though.

00:15:56.569 --> 00:16:04.469
<v Clips>They require a person that then goes through the report that was generated by

00:16:04.469 --> 00:16:07.853
<v Clips>the AI and makes sure it was valid.

00:16:08.161 --> 00:16:13.443
<v Clips>and then also acts as the go-between between developers who fix the problem.

00:16:14.128 --> 00:16:20.389
<v Clips>And we've had to push back quite a bit on people in the sense that if you find

00:16:20.389 --> 00:16:27.949
<v Clips>a bug with an LLM, it's not enough to just ask the LLM to make a bug report and then throw it over,

00:16:28.819 --> 00:16:31.972
<v Clips>the fence to us. We want to see...

00:16:33.342 --> 00:16:40.771
<v Clips>a suggested patch. We want to see the human who ran the LLM act as a kind of

00:16:40.771 --> 00:16:46.771
<v Clips>back and forth, that we have somebody who we can talk to and discuss the issues with.

00:16:46.771 --> 00:16:50.095
<v Clips>Because sometimes the patch is a simple one-liner that is obvious,

00:16:50.571 --> 00:16:52.899
<v Clips>but quite often it ends up being, hey,

00:16:53.392 --> 00:16:58.881
<v Clips>we didn't think about that issue and we will need to reorganize some code and

00:16:58.881 --> 00:17:02.425
<v Clips>fixing this properly is going to take a bit of effort.

00:17:03.510 --> 00:17:08.723
<v Clips>Then you really want to have the person who sent the original report involved in.

00:17:10.156 --> 00:17:15.022
<v Clips>The developer is coming back and saying, hey, this is a suggested fix.

00:17:15.571 --> 00:17:18.428
<v Clips>What does your LLM think about this?

00:17:18.562 --> 00:17:22.562
<v Chris>OK, I think that gives us kind of a more expanded view on Linus's thoughts around

00:17:22.562 --> 00:17:31.900
<v Chris>AI. So everything kind of shifted on July 14th in a Linux media mailing list discussion.

00:17:32.713 --> 00:17:37.122
<v Chris>And it wasn't like a like a discussion around a conventional release or anything like that.

00:17:37.122 --> 00:17:43.122
<v Chris>But it was, I guess, a thread that concerned connecting a patchwork of open

00:17:43.122 --> 00:17:47.732
<v Chris>source reviews, like a different set that had been like agentically reviewed, like a whole patch set.

00:17:47.732 --> 00:17:51.122
<v Wes>Yeah. So they're connecting some existing tools, right?

00:17:51.122 --> 00:17:53.922
<v Wes>So there's a bunch of tools in the kernel so that when you submit a patch,

00:17:53.922 --> 00:17:57.274
<v Wes>there's automated review of it, tests get run, things get built,

00:17:57.465 --> 00:17:58.642
<v Wes>and then you get feedback

00:17:59.002 --> 00:18:02.502
<v Wes>sent to you and also to the mailing list, maybe to the maintainer that says

00:18:02.502 --> 00:18:05.502
<v Wes>like, hey, the program found these things, you know, kind of like linting or

00:18:05.502 --> 00:18:06.802
<v Wes>running a basic set of unit tests.

00:18:06.802 --> 00:18:10.712
<v Wes>There's various versions of analyzing the software automatically to see if,

00:18:10.712 --> 00:18:14.212
<v Wes>like, it is, you know, before a human even has to get to it to try to lower

00:18:14.212 --> 00:18:15.052
<v Wes>the maintenance burden.

00:18:15.052 --> 00:18:15.382
<v Chris>Okay.

00:18:15.382 --> 00:18:19.212
<v Wes>Especially when you consider, like, Linux tree maintainers, their job is ingesting

00:18:19.212 --> 00:18:22.782
<v Wes>a giant stream of potential patches and trying to make sure that they're doing

00:18:22.782 --> 00:18:26.762
<v Wes>so in a well-done, rigorous way. And so, Sashiko.

00:18:27.902 --> 00:18:31.902
<v Wes>Sashiko, okay. Yeah. So, it's not a proposal. It's operational already.

00:18:31.902 --> 00:18:35.472
<v Wes>It's just this is more about more plumbing on the actual, you know,

00:18:35.472 --> 00:18:39.632
<v Wes>connecting it more to the, like, making it more permanent fixture of the ongoing

00:18:39.632 --> 00:18:42.572
<v Wes>development process. Right now it's been a tool sort of more on the side.

00:18:42.572 --> 00:18:44.402
<v Chris>And so this is a discussion around that.

00:18:44.402 --> 00:18:44.850
<v Wes>Yes.

00:18:45.106 --> 00:18:46.313
<v Chris>And Linus decides to chime in.

00:18:46.441 --> 00:18:47.822
<v Wes>Well, it starts...

00:18:50.017 --> 00:18:54.289
<v Wes>It starts because people are talking about, let's add this to the thing. And then someone...

00:18:55.224 --> 00:18:56.097
<v Chris>Objects.

00:18:56.097 --> 00:18:56.537
<v Wes>Yes.

00:18:56.537 --> 00:18:56.887
<v Chris>Yeah.

00:18:56.887 --> 00:19:03.527
<v Wes>So a developer comes in to, and we can get the dudes here, but yeah,

00:19:03.527 --> 00:19:08.482
<v Wes>a developer comes in to basically say like, shouldn't this be an opt-in thing?

00:19:08.715 --> 00:19:10.613
<v Wes>Isn't that the normal default of what we do?

00:19:10.868 --> 00:19:14.758
<v Wes>And then that gets into a whole discussion around, is that a viable model?

00:19:15.181 --> 00:19:19.030
<v Wes>and then ethical concerns get brought in and it becomes a question of,

00:19:19.750 --> 00:19:26.958
<v Wes>you know, if I don't want to be made, I don't want to be forced to use an AI tool.

00:19:27.289 --> 00:19:29.677
<v Wes>And then the whole debate expands around there.

00:19:29.677 --> 00:19:31.277
<v Chris>Yeah. And then that's when Linus chimes in.

00:19:31.597 --> 00:19:31.837
<v Wes>Yes.

00:19:32.717 --> 00:19:37.077
<v Chris>Linus writes, I realize some people really dislike AI, but this is an area where

00:19:37.077 --> 00:19:40.705
<v Chris>I'm willing to absolutely put my foot down as the top level maintainer.

00:19:41.355 --> 00:19:44.188
<v Chris>Linux is not one of those anti-AI projects.

00:19:45.047 --> 00:19:48.457
<v Chris>And if somebody has issues with that, they can do the open source thing and

00:19:48.457 --> 00:19:50.074
<v Chris>fork it or just walk away.

00:19:50.753 --> 00:19:55.449
<v Chris>AI is a tool and like other tools we use, and it's clearly a useful one.

00:19:55.850 --> 00:20:01.597
<v Chris>It may not have been that clearly even just a year ago, but that no longer is in question today.

00:20:02.328 --> 00:20:06.769
<v Chris>There are other questions around AI, like what the economy of it will actually look like in the end.

00:20:07.216 --> 00:20:11.207
<v Chris>But, quote, is it still useful? That's no longer one of those questions.

00:20:11.207 --> 00:20:14.699
<v Chris>Anybody who doubts that clearly hasn't actually used it.

00:20:15.279 --> 00:20:19.567
<v Chris>Yes, it can also be somewhat of a painful tool, both for maintainer workloads

00:20:19.567 --> 00:20:22.158
<v Chris>and from it just keeps finding embarrassing bugs standpoint.

00:20:22.667 --> 00:20:25.937
<v Chris>But the solution is not to put your head in the sand and sing la la la la la

00:20:26.257 --> 00:20:29.894
<v Chris>I can't hear you at the top of your voice like some people seem to do.

00:20:30.817 --> 00:20:34.555
<v Chris>The solution is to make sure those LLM tools help maintainers,

00:20:34.985 --> 00:20:39.101
<v Chris>that's his italics, help maintainers instead of just causing them pain.

00:20:39.565 --> 00:20:41.591
<v Chris>There is no question on that side.

00:20:42.479 --> 00:20:46.573
<v Chris>We're not forcing anyone to use it, but I will very loudly ignore people who

00:20:46.573 --> 00:20:48.540
<v Chris>try to argue against other people using it.

00:20:48.894 --> 00:20:53.323
<v Chris>And no, AI isn't perfect, but Christ, anybody who points to the problems with

00:20:53.323 --> 00:20:57.363
<v Chris>AI had better be looking in the mirror and pointing at themselves at the same

00:20:57.363 --> 00:21:01.963
<v Chris>time, because it's not like the natural intelligence is always all that great either.

00:21:03.708 --> 00:21:09.683
<v Chris>The kernel project has been and will continue to be about the technology sure

00:21:09.683 --> 00:21:13.893
<v Chris>the social angle of working on open source is important and often very much

00:21:13.893 --> 00:21:15.341
<v Chris>a motivating part of the project,

00:21:16.102 --> 00:21:22.033
<v Chris>but in the end it is a side benefit not the point of the project again his emphasis

00:21:22.033 --> 00:21:23.490
<v Chris>not the point of the project,

00:21:24.274 --> 00:21:28.099
<v Chris>this is not his emphasis, some kind of social warrior project.

00:21:28.523 --> 00:21:30.247
<v Chris>Never has been, never will be.

00:21:30.770 --> 00:21:34.996
<v Chris>In the kernel community, we do open source because it results in better technology,

00:21:35.379 --> 00:21:36.888
<v Chris>not because of religious reasons.

00:21:37.265 --> 00:21:42.443
<v Chris>And so we make decisions primarily based on technical merit, not fear of new tools.

00:21:43.884 --> 00:21:47.568
<v Chris>That is a pretty strong, clear stance. What's your reaction to that,

00:21:47.568 --> 00:21:50.960
<v Chris>Brent? Is that stronger than you expected after hearing the comments from Linus?

00:21:51.727 --> 00:21:54.608
<v Brent>Well, I think it's more clearly laid out here.

00:21:54.608 --> 00:22:00.660
<v Brent>Like I found in his clips on stage, he was a bit more exploring with the crowd,

00:22:00.916 --> 00:22:02.378
<v Brent>like saying, oh, yeah, yeah, we're using it.

00:22:02.378 --> 00:22:07.098
<v Brent>These are the experiences the project's having. But here he clearly states both

00:22:07.098 --> 00:22:14.528
<v Brent>his personal kind of view, but also just a very clear stance from the project.

00:22:14.528 --> 00:22:19.601
<v Brent>And I think a stance that you haven't seen very often in other projects,

00:22:20.170 --> 00:22:25.768
<v Brent>especially not written in Linus-like words as he does.

00:22:26.433 --> 00:22:32.108
<v Brent>But the thing that really hit me here is one of these last sentences in the

00:22:32.108 --> 00:22:35.868
<v Brent>kernel community, we do open source because it results in better technology,

00:22:35.868 --> 00:22:38.270
<v Brent>not because of religious reasons.

00:22:39.024 --> 00:22:45.168
<v Brent>And we've seen a couple of projects in the last few years fall victim,

00:22:45.967 --> 00:22:51.878
<v Brent>maybe that's a strong word, but fall victim to some infighting in the community

00:22:51.878 --> 00:22:56.695
<v Brent>just because of differences in philosophy of how the project should be run.

00:22:57.826 --> 00:23:02.175
<v Brent>So in a way, having Linus say, yes, this is exactly how it is,

00:23:02.175 --> 00:23:08.695
<v Brent>and this is how the project believes this should be implemented is a very clear

00:23:08.695 --> 00:23:11.645
<v Brent>voice about how everyone should be following.

00:23:11.645 --> 00:23:16.019
<v Brent>And there's not much room for pushing back, I think.

00:23:16.958 --> 00:23:21.035
<v Chris>Yeah, we've seen Linus take – I don't know what the right – but we've seen Linus

00:23:21.035 --> 00:23:27.627
<v Chris>take a technical over religion argument when it came to GPL2 versus GPL3.

00:23:28.179 --> 00:23:30.420
<v Wes>It's been a consistent position for him for a long time.

00:23:30.774 --> 00:23:35.385
<v Chris>Wes what is your reaction here to really framing this as look the usefulness

00:23:35.385 --> 00:23:39.742
<v Chris>is proved if you don't think these things are useful now then you're just clearly not using them um.

00:23:40.195 --> 00:23:43.965
<v Wes>It came up again in the thread some folks pushed back on or you know we're saying

00:23:43.965 --> 00:23:47.505
<v Wes>like you know we shouldn't compare these things you know these existing tools

00:23:47.505 --> 00:23:50.865
<v Wes>we have are deterministic you can debug it these llms are a black box and they

00:23:50.865 --> 00:23:52.995
<v Wes>can hallucinate and then linus agreed

00:23:53.315 --> 00:23:56.049
<v Wes>that they were different but he kind of flips it and he says

00:23:56.374 --> 00:24:01.337
<v Wes>you are correct the ai generate reports are usually much superior and more flexible

00:24:01.761 --> 00:24:04.715
<v Wes>they actually find real non-trivial problems,

00:24:05.157 --> 00:24:09.525
<v Wes>yeah so there's sort of even more um i will say it's worth noting that like

00:24:09.525 --> 00:24:13.376
<v Wes>this is a big thread with lots of maintainers it's not just these folks right so there's um,

00:24:13.887 --> 00:24:18.495
<v Wes>like there's uh roman gushkin who's a google kernel engineer who built shishiko

00:24:18.835 --> 00:24:22.125
<v Wes>and was sort of you know working on it lauren pinchart who sort of started the

00:24:22.125 --> 00:24:26.355
<v Wes>objection part of this a linux media contributor um and then linus but ted you,

00:24:26.875 --> 00:24:29.925
<v Wes>know a whole bunch of regular kernel contributors are in there and that's where

00:24:29.925 --> 00:24:33.500
<v Wes>it's becoming you know like they've been talking about around does,

00:24:34.040 --> 00:24:40.185
<v Wes>it does this particular tool work even about a 20 false positive rate 80 to

00:24:40.185 --> 00:24:45.315
<v Wes>90 percent true positives on real patches and only two maintainers seemingly

00:24:45.315 --> 00:24:49.015
<v Wes>in the whole thread reported real output problems everyone else seems to,

00:24:49.535 --> 00:24:53.435
<v Wes>is using it and likes it ted steven rostet John Cara, Bottomley,

00:24:53.435 --> 00:24:59.042
<v Wes>Bonzini, they all say it catches real bugs and that the noise is manageable. So we're seeing...

00:25:00.489 --> 00:25:03.578
<v Wes>It's important to remember that the kernel is like Linus and then a whole bunch

00:25:03.578 --> 00:25:05.968
<v Wes>of lieutenant tree maintainers.

00:25:05.968 --> 00:25:06.188
<v Chris>Right?

00:25:06.188 --> 00:25:10.083
<v Wes>And so what's happening is different maintainers are already enabling this and

00:25:10.402 --> 00:25:14.088
<v Wes>thinking that they may have different rules around do you have to use the tool

00:25:14.088 --> 00:25:17.598
<v Wes>or not. But they are already seemingly to commit that this is worth it for them

00:25:17.598 --> 00:25:20.897
<v Wes>as a tool that they want to see used in the code they're maintaining.

00:25:21.779 --> 00:25:26.440
<v Chris>Yeah, that decision has been made. And so the debate becomes should we be using

00:25:26.557 --> 00:25:29.035
<v Chris>AI-assisted development in free software?

00:25:31.079 --> 00:25:34.178
<v Chris>And Linus had an analogy. He had a vegetarian analogy. He says,

00:25:34.178 --> 00:25:37.968
<v Chris>being vegan because you think meat is murder is fine, but vegans don't expect

00:25:37.968 --> 00:25:40.622
<v Chris>the rest of the kernel community to stop eating meat.

00:25:41.237 --> 00:25:44.610
<v Wes>I think it comes down to, like, I can understand the position of,

00:25:44.738 --> 00:25:47.478
<v Wes>I don't want to be forced to use this tool that I disagree with, right?

00:25:47.478 --> 00:25:48.888
<v Chris>Yeah, and it's not mandatory.

00:25:49.004 --> 00:25:53.978
<v Wes>And so that's where what use, I think, matters a lot in the structure of what

00:25:53.978 --> 00:25:54.888
<v Wes>is happening here, right?

00:25:54.888 --> 00:25:58.738
<v Wes>So it's like, I think folks can have sympathy for your boss makes you use a tool.

00:25:58.738 --> 00:26:00.958
<v Wes>and you're supposed to hit a velocity target and you've got to ship,

00:26:00.958 --> 00:26:03.918
<v Wes>ship, you know, there's all kinds of stupid stuff that is just bullshit.

00:26:03.918 --> 00:26:07.468
<v Wes>But in this case, that's not what's happening, right?

00:26:07.468 --> 00:26:11.108
<v Wes>Like what's happening is an automated tool that is open source.

00:26:11.108 --> 00:26:13.608
<v Wes>I don't know what inference provider they're using or whatever,

00:26:13.608 --> 00:26:16.288
<v Wes>but it's a Rust tool, it's open source. All of the prompts are there that,

00:26:16.288 --> 00:26:19.944
<v Wes>you know, the normal open source process sort of applies there.

00:26:20.048 --> 00:26:24.428
<v Wes>And then it's finding to, at least by the people that are going to ultimately

00:26:24.428 --> 00:26:28.831
<v Wes>decide if your code is accepted, real bugs that humans don't find our quality

00:26:29.104 --> 00:26:33.667
<v Wes>and then it's sending it to you. So it's not you have to use it to make your code.

00:26:33.893 --> 00:26:33.978
<v Chris>Right.

00:26:34.038 --> 00:26:38.334
<v Wes>It's not you have to have a certain tool on your system that you authored the commit with. It's,

00:26:39.083 --> 00:26:44.479
<v Wes>you may be forced by the maintainer to respond to the output of this tool.

00:26:44.479 --> 00:26:44.957
<v Chris>Yes.

00:26:45.283 --> 00:26:48.609
<v Wes>And then where that gets tricky is you can imagine the case where,

00:26:48.609 --> 00:26:53.699
<v Wes>like, I don't want to have to sort through this slop that has stuff that's false

00:26:53.699 --> 00:26:55.249
<v Wes>positives, and I can understand that.

00:26:55.714 --> 00:27:00.489
<v Wes>But the flip side is where it gets harder, because what happens if the tool

00:27:00.489 --> 00:27:03.429
<v Wes>finds a real bug that you now refuse to engage with?

00:27:03.429 --> 00:27:07.945
<v Chris>Which is going to become more and more likely as they improve, as they get better.

00:27:08.125 --> 00:27:11.868
<v Wes>Which I think connects to Linus's point. Firstly, I think folks,

00:27:12.060 --> 00:27:17.239
<v Wes>like, there is very much a sort of a moral and a social and an altruistic sense

00:27:17.239 --> 00:27:20.703
<v Wes>to open source. I don't want to negate that at all. That's some of the stuff that drew me to it.

00:27:21.069 --> 00:27:25.769
<v Wes>But there is also this technical side, but it's also sort of almost a game theory

00:27:25.769 --> 00:27:29.349
<v Wes>side, right? It's like a strategic bet on how to build software that you yourself

00:27:29.349 --> 00:27:33.196
<v Wes>need, right? Like Google and Microsoft are not altruistic entities.

00:27:33.579 --> 00:27:36.011
<v Wes>they're doing it because there's a strategic thing and that's sort of a bet,

00:27:36.487 --> 00:27:41.539
<v Wes>and that ties into sort of it's also a methodology to develop software as much

00:27:41.539 --> 00:27:43.949
<v Wes>as it is a philosophy around software and that is the side i think linux is trying,

00:27:44.749 --> 00:27:49.984
<v Wes>or linus is trying to uh articulate and then he's also saying that,

00:27:50.785 --> 00:27:54.779
<v Wes>we have methods to adjudicate things like you know the kernel community does

00:27:54.779 --> 00:27:58.389
<v Wes>have a code of conduct now so we can sort of talk about intrapersonal conflict

00:27:58.726 --> 00:28:01.829
<v Wes>things like that and of course there's the there's a whole the whole

00:28:02.209 --> 00:28:06.197
<v Wes>system of maintainership is set up to adjudicate code quality on that sense

00:28:06.487 --> 00:28:10.329
<v Wes>but there is no system in place to evaluate individual ethical claims,

00:28:10.962 --> 00:28:13.919
<v Wes>once once that's in there like how do you that's an individual thing there is

00:28:13.919 --> 00:28:17.788
<v Wes>no system in place to do that there's kernels not set up to do that so we can't right,

00:28:18.485 --> 00:28:22.467
<v Wes>it that that's where a lot of this is coming from i think it's it's really a mechanism thing.

00:28:22.816 --> 00:28:29.352
<v Brent>Touching on that it Makes me remember, do you remember a bunch of Russian nationality,

00:28:30.124 --> 00:28:32.969
<v Brent>developers were booted off the project for...

00:28:34.809 --> 00:28:36.728
<v Brent>kind of shady reasons well.

00:28:36.728 --> 00:28:42.288
<v Chris>It was just as the sanctions or whatever went in during the ukraine war and yeah we were.

00:28:42.288 --> 00:28:47.518
<v Brent>Kind of arguing well maybe it's not the project's place to say who can and can't

00:28:47.518 --> 00:28:53.332
<v Brent>contribute uh because it should fall on more technical merits than it should on social ones.

00:28:53.971 --> 00:28:57.098
<v Chris>This is just another example of there's these sort of social lines yeah.

00:28:57.098 --> 00:28:59.388
<v Wes>And that one i think you could argue was partially imposed.

00:28:59.388 --> 00:29:04.124
<v Chris>On them right in a sense so there's some research out there that shows that

00:29:04.373 --> 00:29:08.708
<v Chris>going by numbers that are reported by developers i think it's interesting that

00:29:08.708 --> 00:29:13.079
<v Chris>there is sort of this false positive rate it's like an lm thinks it found a bug.

00:29:13.415 --> 00:29:17.458
<v Wes>There's also in this specific tool a case where because it sees patches sometimes

00:29:17.458 --> 00:29:21.948
<v Wes>it might find real bugs but in code that wasn't what you just added or touched so there's some noise.

00:29:21.948 --> 00:29:25.938
<v Chris>In that sense too yeah but it looks like like a lot of like the so the rate

00:29:25.938 --> 00:29:30.008
<v Chris>of is about a 20 false positive but what is interesting is it's like what they're

00:29:30.008 --> 00:29:34.788
<v Chris>developing like what the developers call a gray zone nitpicky small theoretical

00:29:34.788 --> 00:29:36.920
<v Chris>stuff that nobody really kind of tends to care about.

00:29:37.402 --> 00:29:40.438
<v Chris>And when you look at the stuff that's like the real important stuff,

00:29:40.844 --> 00:29:45.830
<v Chris>the hit rate is more like 80-90% of true positives for the actual critical things that get submitted.

00:29:46.150 --> 00:29:48.898
<v Chris>So an interesting thing is, if you look at what's coming in,

00:29:48.898 --> 00:29:51.130
<v Chris>according to self-reported numbers by these developers...

00:29:52.869 --> 00:29:56.449
<v Chris>The stuff that is important tends to be accurate. And the stupid stuff that's

00:29:56.449 --> 00:29:58.706
<v Chris>just like low-hanging stuff tends to be where the slop is at.

00:29:58.955 --> 00:30:01.289
<v Brent>The challenge is really separating the two, isn't it?

00:30:02.375 --> 00:30:04.899
<v Wes>And tuning it and seeing it. It'll be interesting because this will,

00:30:05.125 --> 00:30:09.792
<v Wes>in effect, provide some real data out there if you want to mine it to see how this changes over time.

00:30:10.059 --> 00:30:13.449
<v Wes>I did think there was some signal here in just seeing that, like,

00:30:13.449 --> 00:30:18.399
<v Wes>you know, Chris Mason, the ButterFS developer, has been contributing to some

00:30:18.399 --> 00:30:20.999
<v Wes>of the prompts that are getting used here.

00:30:20.999 --> 00:30:27.209
<v Wes>And then Jonathan Corbett at LWN took a look and called them some of the prompts

00:30:27.209 --> 00:30:32.339
<v Wes>that get fed into this 11-stage super—it's quite the process—called them some

00:30:32.339 --> 00:30:35.392
<v Wes>of the best documentation on kernel patch review ever written.

00:30:35.889 --> 00:30:37.987
<v Wes>He expressed a little, you know, sadness,

00:30:40.135 --> 00:30:43.529
<v Wes>around that we couldn't write it until we were writing it for a machine.

00:30:43.529 --> 00:30:47.059
<v Wes>Yeah. But seemed to think that there was a lot of really good stuff in there.

00:30:47.059 --> 00:30:51.949
<v Chris>Huh. That is funny how that works, huh? Here's the question I have for anyone

00:30:51.949 --> 00:30:55.750
<v Chris>in the audience who is on the side of we shouldn't be using AI in free software.

00:30:56.592 --> 00:31:00.589
<v Chris>I'd like to hear from you because I think, A, that's a point that should get voiced more, but B...

00:31:02.779 --> 00:31:08.785
<v Chris>I'd like to know where you stand on if an LLM-assisted tool finds a legitimate

00:31:08.785 --> 00:31:13.826
<v Chris>security issue, submits it to a project that is anti-AI, anti-LLM,

00:31:15.300 --> 00:31:16.215
<v Chris>what should that project do?

00:31:16.215 --> 00:31:19.835
<v Chris>Should they just ignore the security patch? Should they go try to recreate it

00:31:19.835 --> 00:31:23.387
<v Chris>from scratch? That's a ton of work. That's probably more work than going through their submission.

00:31:24.043 --> 00:31:27.655
<v Chris>So I'd like to know if you're out there and you're not really pro-AI use and

00:31:27.655 --> 00:31:29.205
<v Chris>free software, how would you

00:31:29.205 --> 00:31:32.437
<v Chris>solve that little particular problem that's obviously going to come up?

00:31:32.942 --> 00:31:37.335
<v Chris>What do you do there? What happens if a real bug is found, somebody sends in

00:31:37.335 --> 00:31:41.748
<v Chris>a patch that's AI-assisted or LLM-generated, and that project,

00:31:41.928 --> 00:31:44.070
<v Chris>do they refuse to engage with it? What should they do?

00:31:45.103 --> 00:31:47.895
<v Chris>I don't know what the options there are for them. Because that seems like that's

00:31:47.895 --> 00:31:52.725
<v Chris>going to be a thing is the projects that close the door to this, two things happen.

00:31:53.288 --> 00:31:56.965
<v Chris>Number one, they're going to get folks that are submitting bug reports that

00:31:56.965 --> 00:31:59.081
<v Chris>may be actually useful in some cases that they're going to ignore.

00:32:00.689 --> 00:32:03.245
<v Chris>but number two and i've talked about this before on the show and i'll just so

00:32:03.245 --> 00:32:05.977
<v Chris>i'll make a brief is they're not going to participate in the dialogue,

00:32:06.429 --> 00:32:12.455
<v Chris>and the state of free and open source ai is at a critical junction right there

00:32:12.455 --> 00:32:18.085
<v Chris>is and it could really use our community out there advocating for what we believe

00:32:18.085 --> 00:32:20.025
<v Chris>in and what we want to see and

00:32:20.286 --> 00:32:24.988
<v Chris>instead a lot of our community is like linus says putting their heads in the sand as a result they're.

00:32:26.614 --> 00:32:32.218
<v Chris>A lot of money from Anthropic and OpenAI and others has knives out for open

00:32:32.218 --> 00:32:36.708
<v Chris>source AI. And we're going to see a concentrated effort as the open source AI

00:32:36.708 --> 00:32:39.153
<v Chris>models catch up to the frontier models, quote unquote.

00:32:39.617 --> 00:32:43.988
<v Chris>They have such a financial position to protect that they're going to turn to

00:32:43.988 --> 00:32:45.794
<v Chris>lobbying efforts and things like that.

00:32:46.148 --> 00:32:50.333
<v Chris>And it's going to be like the 90s again with free software, but now in the intelligence field.

00:32:50.688 --> 00:32:53.399
<v Chris>And only this time, we don't have a Stallman out there.

00:32:53.700 --> 00:32:57.520
<v Chris>We don't have a free software foundation out there for AI. In fact,

00:32:57.636 --> 00:32:59.893
<v Chris>for the most case, they're all just ignoring and rejecting it.

00:33:00.125 --> 00:33:04.318
<v Chris>And so ironically, they're going to end up with worst-case scenario AI because

00:33:04.318 --> 00:33:06.191
<v Chris>they're not participating in the dialogue.

00:33:07.109 --> 00:33:09.953
<v Chris>And I've said it before, so I don't need to go on about it.

00:33:10.417 --> 00:33:16.860
<v Chris>But I hope some people have been realized or come to realize this since Linus made that post.

00:33:17.383 --> 00:33:20.808
<v Chris>Because I think what Linus is trying to at least say for the Linux kernel is

00:33:20.808 --> 00:33:22.984
<v Chris>the decision is made. these are useful.

00:33:23.531 --> 00:33:26.948
<v Chris>Now it's on you if you want to use it or not. But from a project standpoint,

00:33:26.948 --> 00:33:29.609
<v Chris>we're not debating the usefulness anymore. It's a tool.

00:33:29.963 --> 00:33:35.058
<v Chris>And our sovereign individual developers on their own prerogative are implementing

00:33:35.058 --> 00:33:37.178
<v Chris>and using these tools because they want to.

00:33:38.298 --> 00:33:43.975
<v Chris>And that is now the official state, the official position of the Linux kernel.

00:33:44.979 --> 00:33:48.588
<v Chris>You have to wonder if that does move some people and maybe get some people more

00:33:48.588 --> 00:33:51.208
<v Chris>actively involved in the free software side of ai.

00:33:51.626 --> 00:33:55.168
<v Wes>I do think i even saw in that mailing list read some folks saying you know like

00:33:55.168 --> 00:33:58.128
<v Wes>i had folks who had their own ethical concerns but also sort of were forced

00:33:58.128 --> 00:34:02.548
<v Wes>to reach a conclusion of like well at this point you know not using it is worse

00:34:02.548 --> 00:34:05.158
<v Wes>than using it even with those concerns it's.

00:34:05.158 --> 00:34:09.648
<v Chris>Like that that game theory scenario yeah i know it sucks it's the welcome to

00:34:09.648 --> 00:34:12.169
<v Chris>the world of technology is this is not the first time we've been here.

00:34:20.685 --> 00:34:24.714
<v Brent>Well, that's strange. The title of this little section says notes with Wes and Brent.

00:34:25.674 --> 00:34:26.334
<v Wes>Hey, I know that guy.

00:34:26.334 --> 00:34:31.504
<v Brent>And that's because it's been a, what would we say, multi-week journey of reassessing

00:34:31.504 --> 00:34:35.081
<v Brent>what notes mean to us in our life and times.

00:34:35.789 --> 00:34:40.381
<v Brent>And we touched on this a little bit in the members feed last week.

00:34:40.956 --> 00:34:46.104
<v Brent>And I think it went into a great bit more detail than we even expected.

00:34:46.104 --> 00:34:49.574
<v Brent>We were just like, I think Chris was like, hey, I heard you talking about notes

00:34:49.574 --> 00:34:54.330
<v Brent>recently. And then there went 10 minutes worth of really interesting discussion.

00:34:54.835 --> 00:34:59.184
<v Brent>So, but it's been another week. And Wes, you've been diving into notes.

00:34:59.184 --> 00:35:02.624
<v Brent>I've been diving even more into my notes. So where should we start?

00:35:02.624 --> 00:35:07.419
<v Brent>Should we give like maybe a detailed summary of what we were talking about last week?

00:35:08.621 --> 00:35:12.694
<v Chris>I wanted to start, if you guys don't mind, because I think the real story is

00:35:12.694 --> 00:35:15.094
<v Chris>why this all started was because you had a NextCloud disaster.

00:35:16.760 --> 00:35:21.572
<v Chris>And I also recently experienced a NextCloud disaster. I was viewing a very important text file.

00:35:22.129 --> 00:35:24.817
<v Chris>I clicked it just to view it in the text editor. I didn't edit, didn't save.

00:35:25.595 --> 00:35:30.308
<v Chris>And it wiped the file out just by viewing it. And then it immediately closed and saved that.

00:35:31.011 --> 00:35:35.854
<v Chris>And it was a very important file. I had it in backup, but just viewing it,

00:35:35.854 --> 00:35:40.404
<v Chris>wiped it out. It turned out to be like a little bug where basically...

00:35:40.414 --> 00:35:41.414
<v Wes>Some kind of race condition.

00:35:41.414 --> 00:35:45.864
<v Chris>A race condition, yeah. And wiped out one of my most important notes.

00:35:45.864 --> 00:35:48.704
<v Chris>And I realized right then and there, I'm not using NexCloud for notes anymore.

00:35:49.395 --> 00:35:53.054
<v Chris>but I want to know what happened to you. And I think cause that is what caused

00:35:53.054 --> 00:35:55.194
<v Chris>you to spiral into redoing your entire notes.

00:35:57.314 --> 00:36:02.113
<v Brent>Oh my gosh. Why do I do this? Uh, so I've been using next cloud.

00:36:02.368 --> 00:36:05.973
<v Brent>I looked at the calendar for about like something like 10 years now and notes,

00:36:06.606 --> 00:36:10.634
<v Brent>for that amount of time. And it's been the number one application.

00:36:10.634 --> 00:36:14.762
<v Brent>I would say definitely on next cloud that has been important for me over the years.

00:36:15.997 --> 00:36:23.242
<v Brent>But even more broadly, it's probably the ecosystem I use the most every single day.

00:36:24.113 --> 00:36:28.722
<v Brent>So if you took away a bunch of tools of mine, notes would be the one thing that

00:36:29.042 --> 00:36:32.492
<v Brent>is a capture of my knowledge, the place where I think about things,

00:36:32.492 --> 00:36:35.582
<v Brent>the place where I keep tricks and tips and stuff.

00:36:35.582 --> 00:36:39.763
<v Brent>So some people don't use notes as much as that, but I'm a note fiend. So, you know.

00:36:41.800 --> 00:36:51.882
<v Brent>Kind of like tabs. And what I have noticed happening recently is a slight erosion

00:36:51.882 --> 00:36:56.492
<v Brent>of my trust in the sinking process of my notes over the last...

00:36:57.862 --> 00:37:02.507
<v Brent>Many months, I would say. But it's just like keeps suggesting.

00:37:02.507 --> 00:37:05.267
<v Brent>So it wasn't as drastic as your experience, Chris. But for me,

00:37:05.267 --> 00:37:10.104
<v Brent>it's these little tiny paper cuts and these little micro warnings I kind of see them as.

00:37:10.604 --> 00:37:12.857
<v Brent>Because I would have like one note over here that would be like,

00:37:12.857 --> 00:37:16.827
<v Brent>oh, I thought I wrote a little detail there. And it's kind of missing on my laptop.

00:37:17.349 --> 00:37:21.777
<v Brent>And then I go to use my phone and, you know, I'm out in the world.

00:37:21.777 --> 00:37:24.997
<v Brent>And I want to refer to something that I left on there 30 minutes ago.

00:37:24.997 --> 00:37:29.467
<v Brent>And all of a sudden, it's not syncing. And it hasn't synced for many hours.

00:37:29.767 --> 00:37:34.707
<v Brent>And so the things I was relying on having with me at all times are just kind

00:37:34.707 --> 00:37:37.144
<v Brent>of not there. And so you got to find some other way to get it.

00:37:38.487 --> 00:37:45.607
<v Brent>So I had enough of those experiences that my otherwise deep trust in this note

00:37:45.607 --> 00:37:48.411
<v Brent>system, as PJ will definitely,

00:37:49.407 --> 00:37:53.047
<v Brent>back me up on, as I've been trying to convince him to use this thing forever

00:37:53.047 --> 00:37:56.641
<v Brent>because I trusted so much in it, has now been eroded to the point where I was like, well,

00:37:57.471 --> 00:38:00.931
<v Brent>I think I have to solve this a different way because I looked for,

00:38:01.610 --> 00:38:06.607
<v Brent>you know, was it a config set and was it some weird files I had in my infrastructure

00:38:06.607 --> 00:38:07.577
<v Brent>that are causing problems?

00:38:07.577 --> 00:38:11.437
<v Brent>Is it a bug I can report or something like that? And for months I've been looking

00:38:11.437 --> 00:38:20.847
<v Brent>and trying to try different methods and play around and I came to no clear explanation.

00:38:20.847 --> 00:38:22.982
<v Brent>So that's been a little frustrating.

00:38:22.982 --> 00:38:25.016
<v Wes>You were giving this a shot. you were trying not to move.

00:38:25.236 --> 00:38:29.852
<v Brent>Well 10 years if you've been using for 10 years and all of a sudden you know

00:38:30.061 --> 00:38:34.257
<v Brent>a key binding goes away and you just can't live without it so.

00:38:34.769 --> 00:38:39.046
<v Chris>This is after a long journey how you reluctantly ended up with obsidian.

00:38:40.905 --> 00:38:44.407
<v Brent>Don't give all the sauce away right and and i don't even know if that's the

00:38:44.407 --> 00:38:47.365
<v Brent>final landing point because i'm a little hesitant so.

00:38:47.592 --> 00:38:50.807
<v Chris>You started flirting with obsidian you're a little nervous because it's not

00:38:50.807 --> 00:38:53.343
<v Chris>free software but it is markdown based so you.

00:38:53.795 --> 00:38:55.554
<v Brent>And you're going to look at it. So, you know.

00:38:55.769 --> 00:38:56.680
<v Chris>Yeah. All right.

00:38:57.847 --> 00:39:00.088
<v Brent>I was basically looking for a couple...

00:39:01.563 --> 00:39:10.190
<v Brent>things maybe absolute needs one is markdown backed because i i can't do databases

00:39:10.190 --> 00:39:10.985
<v Brent>i don't know how those work,

00:39:12.770 --> 00:39:16.770
<v Brent>but also i'm using it on various devices right and i want to use kate on my

00:39:16.770 --> 00:39:20.880
<v Brent>desktop and i want to use something that's just like fairly fast on the phone

00:39:20.880 --> 00:39:23.930
<v Brent>so it has to have a phone right right phone fast,

00:39:24.511 --> 00:39:28.783
<v Brent>way to use it that that's super important for me maybe like 50 of the importance,

00:39:29.822 --> 00:39:31.710
<v Brent>but also like a really good search,

00:39:32.829 --> 00:39:37.580
<v Brent>that's surprisingly difficult to find in some of these apps so i scour the landscape

00:39:37.580 --> 00:39:41.400
<v Brent>trying to find you know something that's open source something that's quite

00:39:41.400 --> 00:39:47.470
<v Brent>mature it's still developed actively something that uh you know hits all these other points and um,

00:39:48.443 --> 00:39:52.370
<v Brent>once you put all those filters on and there's not much out there and turns out obsidian kind of falls,

00:39:53.517 --> 00:39:59.350
<v Brent>in that category quite nicely and i had hesitated to even look at it or even

00:39:59.350 --> 00:40:02.190
<v Brent>consider it meanwhile everybody else is raving about it so,

00:40:03.182 --> 00:40:04.527
<v Brent>I reluctantly installed it.

00:40:04.527 --> 00:40:05.219
<v Chris>Everybody's doing it.

00:40:05.219 --> 00:40:07.787
<v Brent>Yeah, I know. Everybody's doing it. Well, I, contrarian, you know,

00:40:07.787 --> 00:40:10.667
<v Brent>I don't want to be everybody, but it turns out. Well, they're kind of right.

00:40:10.867 --> 00:40:11.537
<v Brent>Like, it's got some great features.

00:40:11.747 --> 00:40:15.107
<v Chris>I mean, there's a reason why people like it. However, it did provoke feedback

00:40:15.107 --> 00:40:16.187
<v Chris>from listener Kai, right?

00:40:16.187 --> 00:40:20.087
<v Wes>Indeed. Dear Lupteam, and specifically, dear Brent.

00:40:21.267 --> 00:40:24.577
<v Wes>I'm a semi-long-term listener and core contributor.

00:40:24.577 --> 00:40:25.027
<v Brent>Thank you.

00:40:26.187 --> 00:40:32.062
<v Wes>I just finished episode 675, where you were considering LogSeek and Obsidian.

00:40:32.492 --> 00:40:35.897
<v Wes>But it sounds like you've missed that Logseek has moved away from Markdown files

00:40:35.897 --> 00:40:37.907
<v Wes>and are switching to a graph database approach.

00:40:38.703 --> 00:40:43.247
<v Wes>The Logseek Markdown version, OG as they call it, will only receive security updates in the future.

00:40:43.247 --> 00:40:44.183
<v Chris>Oh, wow.

00:40:44.374 --> 00:40:47.235
<v Wes>I am currently also reconsidering my note-taking application.

00:40:47.444 --> 00:40:48.971
<v Wes>Obsidian just doesn't feel right for me.

00:40:49.273 --> 00:40:53.156
<v Wes>And I'm currently taking a closer look at Silver Bullet.

00:40:53.626 --> 00:40:57.747
<v Wes>The beauty. It runs on your server in a centralized place, and you access it

00:40:57.747 --> 00:40:59.751
<v Wes>from your devices by connecting to the server.

00:41:00.018 --> 00:41:02.857
<v Wes>The files are cached and synced locally, so you can use it even when there is

00:41:02.857 --> 00:41:03.895
<v Wes>no internet connection.

00:41:04.255 --> 00:41:06.647
<v Wes>Though they are starting to work on local applications as well.

00:41:06.987 --> 00:41:10.317
<v Wes>I haven't tested it in depth yet, though I believe that you and I share the

00:41:10.317 --> 00:41:13.967
<v Wes>same taste. So maybe this is something you could check out as well.

00:41:13.967 --> 00:41:18.677
<v Chris>You know, Wes, I believe you and I came across Silver Bullet not too long ago.

00:41:18.677 --> 00:41:22.977
<v Wes>Yes, and are kind of looking around for various note-taking applications for show notes things.

00:41:22.977 --> 00:41:25.837
<v Chris>Yeah, for show notes. We were looking at this as a potential way to do our show notes.

00:41:25.837 --> 00:41:29.267
<v Wes>Yeah, so it's MIT-licensed, server-hosted, browser-based. Your data stays on

00:41:29.267 --> 00:41:31.827
<v Wes>your machine. It's plain Markdown files, live preview.

00:41:32.267 --> 00:41:33.402
<v Brent>I'm liking this.

00:41:33.710 --> 00:41:39.197
<v Wes>By-directional links, a built-in query language, SLIQ, and a Lua scripting environment

00:41:39.197 --> 00:41:41.897
<v Wes>that lets you program your notes, which is very cool. Run queries,

00:41:41.897 --> 00:41:44.964
<v Wes>build widgets, automate workflows, all from inside your pages.

00:41:45.225 --> 00:41:49.807
<v Wes>And the pages or the plugins run in sandboxed web workers, so you can have extensions,

00:41:50.407 --> 00:41:52.394
<v Wes>that can be secure without sacrificing power.

00:41:52.551 --> 00:41:53.044
<v Chris>Okay.

00:41:53.567 --> 00:41:54.223
<v Brent>All right.

00:41:54.449 --> 00:41:58.119
<v Chris>So, to me, it seems a little complicated, but...

00:41:59.018 --> 00:42:01.908
<v Chris>Maybe not when you actually look at what it's doing. Silver Bullet.

00:42:02.804 --> 00:42:05.864
<v Chris>By the way, silverbullet.md if you'd like to check it out, listener.

00:42:06.224 --> 00:42:06.942
<v Brent>Ah, that's clever.

00:42:07.667 --> 00:42:08.068
<v Chris>Yeah.

00:42:08.765 --> 00:42:13.544
<v Brent>I kind of felt it landed somewhere in the middle. Like, it's extremely powerful

00:42:13.544 --> 00:42:16.043
<v Brent>if you know what you're doing. You don't have to use those features.

00:42:17.624 --> 00:42:23.164
<v Brent>It has some nice easy wins, like bi-directional wiki links and those kind of

00:42:23.164 --> 00:42:28.034
<v Brent>things that I haven't been using that were kind of like on my mandatory list.

00:42:28.034 --> 00:42:29.204
<v Brent>even though that's not what I was using.

00:42:29.791 --> 00:42:31.370
<v Chris>Built-in to-do items is nice too.

00:42:31.752 --> 00:42:36.224
<v Brent>Yeah, it has all these well-thought-out quick access features.

00:42:37.364 --> 00:42:40.804
<v Brent>There's a nice video where one of the main developers goes through kind of a

00:42:40.804 --> 00:42:45.172
<v Brent>tour, and you can tell they're passionate about it, and there's some cool stuff.

00:42:46.507 --> 00:42:51.017
<v Brent>I thought of Wes right away with some of the power of using,

00:42:52.044 --> 00:42:57.437
<v Brent>scripting languages, Lua specifically, to just make your notes programmatic,

00:42:57.734 --> 00:43:01.849
<v Brent>and that seems like a wonderful thing for us nerds around here in this room.

00:43:01.954 --> 00:43:07.794
<v Wes>Yeah, it almost makes it closer to something like a Jupyter notebook or something, which is interesting.

00:43:08.397 --> 00:43:11.996
<v Brent>Reminded me a lot of text-based accounting.

00:43:13.006 --> 00:43:15.416
<v Wes>Mm-hmm. I like that comparison.

00:43:16.240 --> 00:43:18.594
<v Chris>Okay, so here's what I want to know, Brent, is what is it not...

00:43:18.594 --> 00:43:19.944
<v Chris>It doesn't sound like it worked for you.

00:43:19.944 --> 00:43:21.004
<v Wes>You're clearly not using it.

00:43:21.004 --> 00:43:21.164
<v Brent>Right?

00:43:21.164 --> 00:43:24.349
<v Chris>Yeah, there's like a big butt hanging here and I want to know what it is.

00:43:25.638 --> 00:43:31.884
<v Brent>Well the big one here is but it's only a web app like it runs in a browser I

00:43:31.884 --> 00:43:33.804
<v Brent>don't know if people like and you want a mobile.

00:43:33.804 --> 00:43:35.604
<v Chris>App you want a mobile app too.

00:43:35.604 --> 00:43:40.022
<v Brent>Yeah it's a big mobile app guy and you know is this the kind of thing people

00:43:40.306 --> 00:43:44.554
<v Brent>pin is this the kind of app you would pin you can pin.

00:43:44.554 --> 00:43:45.284
<v Chris>A tab on that.

00:43:45.284 --> 00:43:46.837
<v Brent>You'll have to teach me.

00:43:54.708 --> 00:43:59.017
<v Chris>Now, what I'm wondering is, are you willing to hear the LogSec sales pitch?

00:43:59.017 --> 00:44:01.287
<v Chris>Because I think, Wes, you've stuck with it, right?

00:44:01.287 --> 00:44:01.645
<v Wes>Oh, yeah.

00:44:01.994 --> 00:44:04.297
<v Chris>That's saying something, because it's been a couple of years.

00:44:04.297 --> 00:44:04.667
<v Brent>Yeah.

00:44:04.667 --> 00:44:05.389
<v Chris>A few years, yeah.

00:44:05.627 --> 00:44:10.137
<v Wes>I don't use it for, like, absolutely everything, but, yeah, I got some real data in there.

00:44:10.137 --> 00:44:14.117
<v Chris>So, Brent, I mean, could we be interested in putting you in a nice LogSec today?

00:44:14.917 --> 00:44:18.907
<v Wes>I also thought it would be a good, just because there is a big change going,

00:44:18.907 --> 00:44:20.617
<v Wes>I thought it was just a time to check in as well.

00:44:20.617 --> 00:44:20.977
<v Chris>Yeah.

00:44:20.977 --> 00:44:23.547
<v Wes>You know, it's not up front. It's not going to be for everyone.

00:44:23.547 --> 00:44:25.077
<v Wes>One, it's a very different model.

00:44:25.077 --> 00:44:27.977
<v Chris>Can you tell me about the change in your words and what you think about this

00:44:27.977 --> 00:44:29.117
<v Chris>database change they're doing?

00:44:29.117 --> 00:44:33.007
<v Wes>Yeah. So one way to think about it is it's more of almost like less of an upgrade

00:44:33.007 --> 00:44:34.207
<v Wes>and more of a different product.

00:44:34.207 --> 00:44:35.137
<v Chris>Yeah. It seems like it.

00:44:35.597 --> 00:44:37.597
<v Wes>It's a block-level graph database

00:44:37.597 --> 00:44:41.861
<v Wes>with typed properties. You get data log queries and an AI agent API.

00:44:42.134 --> 00:44:43.788
<v Wes>It also happens to be a note-taking app.

00:44:44.357 --> 00:44:48.057
<v Chris>Okay. I see. So they're pivoting for the agentic future.

00:44:48.057 --> 00:44:51.422
<v Wes>Well, I mean, in some sense, but this was sort of always an evolution because

00:44:51.793 --> 00:44:56.357
<v Wes>like in the Obsidian model, just as an example, but just sort of like you inherit

00:44:56.357 --> 00:44:58.457
<v Wes>a hierarchy from the operating system, right?

00:44:58.457 --> 00:44:58.724
<v Chris>Yeah.

00:44:58.991 --> 00:45:02.237
<v Wes>You're sort of like you have a folder tree, you have Markdown in there,

00:45:02.237 --> 00:45:03.627
<v Wes>you probably have it all organized.

00:45:03.627 --> 00:45:05.023
<v Chris>Yeah. It's all folders and whatnot.

00:45:05.255 --> 00:45:05.497
<v Wes>Yeah.

00:45:06.631 --> 00:45:08.465
<v Chris>Which I kind of, I do like to some degree.

00:45:08.628 --> 00:45:11.861
<v Wes>Yeah, that's not bad. I'm not saying anything's wrong with that.

00:45:12.012 --> 00:45:16.017
<v Wes>But this is a different way to think about how you might want to organize things.

00:45:16.397 --> 00:45:21.957
<v Wes>And so the old version of LogSeq sort of was a mix where it had markdown files

00:45:21.957 --> 00:45:27.057
<v Wes>on disk, but it was never a great fit for really what the best representation

00:45:27.057 --> 00:45:30.066
<v Wes>and use of what LogSeq was good for was, I thought.

00:45:30.269 --> 00:45:34.397
<v Wes>So now with the LogSeq DB version, the SQLite database, I would also argue I

00:45:34.397 --> 00:45:37.106
<v Wes>get why people don't like databases for storing stuff.

00:45:38.116 --> 00:45:42.977
<v Wes>if you are using agents I think that's perhaps less of a concern because they're

00:45:42.977 --> 00:45:46.037
<v Wes>pretty good at getting data in and out of things and they have no problem manipulating

00:45:46.037 --> 00:45:53.052
<v Wes>SQLite for you so or turning a SQLite dump back into structured text files or things like that but,

00:45:55.001 --> 00:45:59.671
<v Wes>you're no longer a prisoner of the file system. Pages are UUID-addressed entities

00:45:59.671 --> 00:46:01.521
<v Wes>with titles. No folders, no paths.

00:46:02.801 --> 00:46:06.841
<v Wes>Basically, the hierarchy is at the block level, including create parent-child,

00:46:06.841 --> 00:46:10.431
<v Wes>but then any other hierarchy you want, you're not limited to a tree.

00:46:10.431 --> 00:46:14.030
<v Wes>You build whatever graph you want with the graph primitives that are built right in.

00:46:15.087 --> 00:46:17.781
<v Wes>And then, of course, it does come with an MCP. It comes with a CLI.

00:46:18.501 --> 00:46:19.721
<v Wes>Of course, it has really nice search.

00:46:20.081 --> 00:46:24.881
<v Wes>Plus, it has the query language. It includes data log, lets you do stuff.

00:46:24.881 --> 00:46:28.461
<v Wes>So like if you want to write a query that isn't supported by however the search

00:46:28.461 --> 00:46:32.589
<v Wes>works as it stands now, you have full access to like the underlying data model.

00:46:32.960 --> 00:46:35.919
<v Wes>It does provide a read-only markdown mirror.

00:46:36.680 --> 00:46:37.251
<v Chris>Oh, that's interesting.

00:46:37.251 --> 00:46:39.811
<v Wes>So like you don't have to worry about that side of it. You can't edit those

00:46:39.811 --> 00:46:40.841
<v Wes>files and have it sync back.

00:46:40.841 --> 00:46:41.351
<v Brent>Oh, well, geez.

00:46:41.351 --> 00:46:43.001
<v Wes>But you can totally read. Yes.

00:46:43.001 --> 00:46:44.110
<v Chris>Yeah, you can view. Yeah. Yeah.

00:46:45.220 --> 00:46:45.958
<v Chris>It has a mobile app.

00:46:46.259 --> 00:46:49.524
<v Wes>Yep, mobile app that's new. It's all very new. So a lot of the biggest critiques

00:46:49.524 --> 00:46:53.594
<v Wes>right now is like, it's moving fast, it's a big change, and I think maybe the

00:46:53.594 --> 00:46:57.604
<v Wes>folks behind it haven't super articulated what I think is kind of the exciting

00:46:57.604 --> 00:46:59.864
<v Wes>vision for where it could be going.

00:46:59.864 --> 00:47:03.804
<v Chris>It seems notable that in May, they raised $4.1 million.

00:47:04.104 --> 00:47:04.514
<v Brent>Wow.

00:47:04.514 --> 00:47:04.805
<v Wes>Yeah.

00:47:05.311 --> 00:47:07.661
<v Chris>So I think they're going to be around for a minute working on this,

00:47:08.264 --> 00:47:10.953
<v Chris>and that knowledge graph seems to be the thing that got them the funding.

00:47:11.395 --> 00:47:15.784
<v Wes>It is AGPL. So you can pay them $5 a month if you want them to handle the sync,

00:47:16.304 --> 00:47:17.164
<v Wes>but you can host it yourself.

00:47:17.164 --> 00:47:18.004
<v Chris>That's pretty reasonable.

00:47:18.004 --> 00:47:22.046
<v Wes>And the new stuff, which I haven't tried this yet, but the new sync is real-time sync.

00:47:22.545 --> 00:47:29.031
<v Chris>Oh. Huh. That is really nice. It does come up when I'm moving between machines sometimes.

00:47:29.244 --> 00:47:32.294
<v Wes>And it is super new. So some folks with super giant libraries have had some

00:47:32.294 --> 00:47:35.350
<v Wes>issues importing them, but they does support importing from the previous version.

00:47:36.308 --> 00:47:36.662
<v Chris>Okay.

00:47:37.138 --> 00:47:39.784
<v Wes>Yeah. So I think it's sort of like, as we were talking about in the,

00:47:40.164 --> 00:47:42.194
<v Wes>in the pre pre the members show, we,

00:47:42.809 --> 00:47:47.535
<v Wes>some of the biggest, maybe one of the competitors to a personal knowledge system,

00:47:48.220 --> 00:47:53.494
<v Wes>is like the fact that if you have something like Hermes, it's building a thing

00:47:53.494 --> 00:47:56.524
<v Wes>that's like has Markdown files that it's indexing to search and injecting.

00:47:56.524 --> 00:48:00.634
<v Wes>and a lot of these agent memory systems or QMDs or whatever are sort of half

00:48:00.634 --> 00:48:04.044
<v Wes>of part of building structure on top of markdown.

00:48:04.604 --> 00:48:08.684
<v Wes>And so I think where this is interesting is LogSync presents another point on

00:48:08.684 --> 00:48:13.504
<v Wes>that continuum, especially like I was trying it out last night and the MCP is

00:48:13.504 --> 00:48:16.943
<v Wes>really nice. It's very well done. It's not perfect yet, but it has pretty much everything you need.

00:48:17.308 --> 00:48:21.169
<v Wes>And so you can read the files if you want. You can read it and do searches through the MCP.

00:48:21.511 --> 00:48:26.094
<v Wes>It's just that the main thing that changes is the right path goes through the database.

00:48:26.094 --> 00:48:26.347
<v Chris>Yeah.

00:48:27.489 --> 00:48:30.858
<v Chris>Which is, I mean, for a long-term tool, probably not a bad idea.

00:48:30.858 --> 00:48:31.418
<v Brent>More efficient.

00:48:31.418 --> 00:48:33.136
<v Chris>Also, I noticed they have a CLI as well.

00:48:33.357 --> 00:48:34.297
<v Wes>A CLI, yep.

00:48:34.907 --> 00:48:39.528
<v Chris>A Mac client and a Windows. Do they have a Windows? Yeah, they have a Windows client, I think. Okay.

00:48:39.528 --> 00:48:43.158
<v Brent>I got a couple of questions here, Wes, since you, over the years,

00:48:43.158 --> 00:48:48.299
<v Brent>seem to have really connected with this ethos, if I say that.

00:48:49.356 --> 00:48:54.148
<v Brent>What do you find is the perfect kind of information to store in this?

00:48:54.148 --> 00:48:57.368
<v Brent>Because I realized when we were having these discussions about like,

00:48:57.368 --> 00:49:01.198
<v Brent>well, what is notes even, that I was trying to store very different types of

00:49:01.198 --> 00:49:03.858
<v Brent>information in the same place to have it accessible in the same ways.

00:49:03.858 --> 00:49:09.668
<v Brent>And maybe that's not a very good idea. So perhaps there's a way to store the

00:49:09.668 --> 00:49:14.068
<v Brent>right kind of information in something like LogSeq and store the other kind

00:49:14.068 --> 00:49:15.778
<v Brent>of information somewhere else. It's more suitable.

00:49:15.778 --> 00:49:17.948
<v Chris>Oh, boy. That sounds complicated.

00:49:17.948 --> 00:49:20.938
<v Brent>I know. That's why I was leaning away from it. But Wes seems to think this is

00:49:20.938 --> 00:49:23.258
<v Brent>really good for something. So what is that?

00:49:23.258 --> 00:49:24.197
<v Chris>Why not everything?

00:49:25.074 --> 00:49:28.968
<v Wes>Well i think i tend to keep like some stuff like per project stuff tends to

00:49:28.968 --> 00:49:32.678
<v Wes>live in like a repo that i have for a project so i mean not that there's not

00:49:32.678 --> 00:49:35.738
<v Wes>notes or thoughts or ideas about that that might be in there but it tends to

00:49:35.738 --> 00:49:37.344
<v Wes>be that kind of stuff it's sort of

00:49:37.681 --> 00:49:39.728
<v Wes>it's ideas maybe things i want

00:49:39.728 --> 00:49:44.055
<v Wes>to investigate you know things i've learned about stuff notes for a future

00:49:44.444 --> 00:49:49.918
<v Wes>me going through or redoing something and i find that i what is really nice is that you can just,

00:49:50.394 --> 00:49:55.618
<v Wes>enter information and then start building adding links to it and you don't it's

00:49:55.618 --> 00:50:00.866
<v Wes>very easy to go navigate that so i don't worry as much about having a strict hierarchy because it

00:50:01.261 --> 00:50:04.878
<v Wes>was always felt like i had part of what limited me was classifying it up front

00:50:04.878 --> 00:50:07.498
<v Wes>like that and this means i don't really have to i can just

00:50:07.898 --> 00:50:10.888
<v Wes>put information in and sort of the structure emerges.

00:50:10.888 --> 00:50:14.078
<v Chris>Yeah i do sometimes spend a lot of time figuring out okay where does this live

00:50:14.078 --> 00:50:15.758
<v Chris>what yeah like classifying.

00:50:17.018 --> 00:50:21.638
<v Brent>But I wondered if there's some kind of upfront discipline every time you're

00:50:21.638 --> 00:50:24.578
<v Brent>making a note to try to tag it or tag a block.

00:50:25.558 --> 00:50:26.948
<v Brent>Can you explain a little bit of the...

00:50:28.009 --> 00:50:29.246
<v Brent>I don't know, daily workflow.

00:50:29.246 --> 00:50:31.646
<v Chris>Hygiene to make sure the notes actually link and stuff.

00:50:31.646 --> 00:50:33.576
<v Brent>What's the thing I need to learn to make this work well?

00:50:35.619 --> 00:50:38.756
<v Wes>Well, I think you just kind of play with it.

00:50:38.756 --> 00:50:43.336
<v Wes>Like, you could have an orphaned thing, but, you know, there's autocomplete

00:50:43.336 --> 00:50:47.196
<v Wes>on the tags. So as long as you have, as long as your variance in the tags that

00:50:47.196 --> 00:50:50.996
<v Wes>you do isn't so crazy, and then you can kind of go check, and especially now

00:50:50.996 --> 00:50:53.366
<v Wes>if you had an agent in there, you could go do some sort of a quick audit.

00:50:53.366 --> 00:50:57.246
<v Chris>Can I ask you about that, Brent? Sure. Is that is your intention to have an

00:50:57.246 --> 00:50:59.170
<v Chris>agent have access or edit these?

00:50:59.710 --> 00:51:03.656
<v Brent>Well, when we first started this discussion, it wasn't, I think,

00:51:03.656 --> 00:51:06.989
<v Brent>partly because I wanted to have some protected space,

00:51:07.576 --> 00:51:11.266
<v Brent>where this was like blessed information that I had, you know,

00:51:11.266 --> 00:51:15.592
<v Brent>cross reference a documentation or had used in anger and was like,

00:51:16.388 --> 00:51:20.323
<v Brent>the golden command or whatever it is that solved that problem.

00:51:20.863 --> 00:51:27.116
<v Brent>And I feared that letting an agent kind of have access to that would mix the

00:51:27.116 --> 00:51:29.580
<v Brent>information in a way that I felt was impure somehow.

00:51:31.891 --> 00:51:35.056
<v Brent>But you guys challenged me. And so I've been using agents like crazy to make,

00:51:35.896 --> 00:51:41.136
<v Brent>a Carpathia LLM wiki thing. And I've been freaking, oh, why did you guys get

00:51:41.136 --> 00:51:42.821
<v Brent>me into this? So for weeks now.

00:51:44.175 --> 00:51:48.709
<v Brent>been playing with this and it's totally amazing so i'm starting to change that.

00:51:49.248 --> 00:51:53.311
<v Chris>Person with that consideration to me it seems like logsec looked at what obsidian

00:51:53.311 --> 00:51:56.681
<v Chris>is doing for agents and said oh we can we can do better than that,

00:51:57.301 --> 00:52:02.001
<v Chris>i mean this is with the mc i'm thinking with an mcp and a cli you really could

00:52:02.001 --> 00:52:06.521
<v Chris>truly brain dump and then have the agent start connecting the dots right they're

00:52:06.541 --> 00:52:09.200
<v Chris>actually really good at that kind of context stuff so you could have it,

00:52:09.961 --> 00:52:13.896
<v Chris>post facto and you know obviously propose it before it makes the changes.

00:52:14.355 --> 00:52:16.981
<v Chris>But post-factor, you could say, go through and link things. And I've done this.

00:52:17.401 --> 00:52:18.802
<v Chris>That's why I can speak to this.

00:52:19.643 --> 00:52:21.727
<v Chris>I wasn't very good at linking my stuff together.

00:52:22.901 --> 00:52:25.615
<v Chris>Some people, they go into Obsidian, and they have these awesome,

00:52:26.132 --> 00:52:30.370
<v Chris>I don't know, point graphs or whatever, this incredible cluster of notes.

00:52:30.747 --> 00:52:35.089
<v Chris>Mine are just like dots all disconnected, just like stars in space.

00:52:35.391 --> 00:52:39.951
<v Chris>And so I was very bad at that. But the agents are able to go through and very

00:52:39.951 --> 00:52:42.841
<v Chris>effectively notice the commonalities.

00:52:42.841 --> 00:52:44.569
<v Brent>They're like your librarian almost.

00:52:45.155 --> 00:52:49.891
<v Wes>I had a thought on your question too about the tagging versus – and as it relates

00:52:49.891 --> 00:52:54.362
<v Wes>to directories. I think – so one version is you can just do the same thing where

00:52:54.710 --> 00:52:57.311
<v Wes>you were going to say where in the tree does it go.

00:52:57.361 --> 00:52:59.941
<v Wes>It could be which is the first tag I had.

00:53:00.261 --> 00:53:03.161
<v Wes>But then the thing you don't have to do is fight about the relative importance.

00:53:03.161 --> 00:53:05.681
<v Wes>You don't have to be like, oh, well, should it be in this one or this one?

00:53:05.681 --> 00:53:06.721
<v Wes>Because you just add both.

00:53:08.340 --> 00:53:11.214
<v Chris>Okay alright yeah and then the other thing too is like,

00:53:12.873 --> 00:53:16.501
<v Chris>It's sort of nice, if you have an agent in front of it, you could capture notes

00:53:16.501 --> 00:53:20.628
<v Chris>in Telegram, you could capture them in Kate, wherever you want, and then,

00:53:21.702 --> 00:53:25.051
<v Chris>the agent could go through and save them, you know, using this database,

00:53:25.051 --> 00:53:27.912
<v Chris>this block system. The agent could be the one that files it for you and then retrieves it for you.

00:53:28.504 --> 00:53:32.331
<v Wes>The one limitation right now is there isn't a headless MCP, so it requires the

00:53:32.331 --> 00:53:34.601
<v Wes>window to be running, but there's no, I was taking a look at the code,

00:53:34.601 --> 00:53:36.401
<v Wes>and there doesn't seem to be any technical limitation there.

00:53:36.401 --> 00:53:37.955
<v Wes>It just isn't plumbed up that way yet, so.

00:53:38.994 --> 00:53:43.221
<v Brent>So check on Wes's GitHub to see next week if we got something?

00:53:46.441 --> 00:53:48.642
<v Chris>Something to consider. I mean, you've got me thinking about it.

00:53:50.021 --> 00:53:53.371
<v Wes>Like, it might not be for anyone, but I think it's a fun way to at least make

00:53:53.371 --> 00:53:58.447
<v Wes>you rethink some of how you think about and relate to the knowledge you're trying to store.

00:53:59.213 --> 00:54:01.431
<v Chris>Yeah, and if you're looking for a knowledge system, that's, yeah,

00:54:01.431 --> 00:54:05.261
<v Chris>that is... All right, so LogSec, L-O-G-S-E-Q.

00:54:05.947 --> 00:54:08.681
<v Wes>But it definitely now, it maybe also makes it a little clearer because it's

00:54:08.681 --> 00:54:12.831
<v Wes>definitely now not, decisively not competing for, I have an existing markdown

00:54:12.831 --> 00:54:15.629
<v Wes>infrastructure that I want a thing that can upgrade it to a graph.

00:54:15.943 --> 00:54:17.580
<v Wes>That is totally separate now.

00:54:27.784 --> 00:54:32.364
<v Wes>And we've got some feedback from our dear Olympia Mike. Howdy, JB team.

00:54:32.898 --> 00:54:36.730
<v Wes>I've been quiet since LinuxFest Northwest, but definitely not idle.

00:54:37.330 --> 00:54:41.090
<v Wes>Lots of stuff has been happening thanks largely to people in this community.

00:54:41.930 --> 00:54:45.420
<v Wes>First, Nixbook 2605 is officially out.

00:54:45.420 --> 00:54:45.810
<v Brent>With Flakes?

00:54:45.810 --> 00:54:47.790
<v Wes>With a new installer.

00:54:47.790 --> 00:54:49.430
<v Chris>Hey, new installer's cool.

00:54:49.770 --> 00:54:55.040
<v Wes>Yeah, Flakes? Good question, bro. And that inherited upstream changes that allows

00:54:55.040 --> 00:54:58.370
<v Wes>new users to choose their file system on install Oh, hey.

00:54:58.670 --> 00:54:59.170
<v Chris>Oh.

00:54:59.550 --> 00:55:04.280
<v Wes>And it has a progress bar that doesn't appear to get stuck at 46%. That's a big upgrade.

00:55:04.280 --> 00:55:05.597
<v Chris>That's nice. Yeah, I like that.

00:55:06.021 --> 00:55:10.090
<v Wes>In Nick's book itself, the channel, okay, that answers it, has been bumped to

00:55:10.090 --> 00:55:14.070
<v Wes>2605, a new version of Cinnamon, a collection of default-free wallpapers,

00:55:14.070 --> 00:55:17.810
<v Wes>and fixes to Etsy scale so multi-user systems have more consistency.

00:55:17.810 --> 00:55:18.540
<v Brent>That's a nice touch.

00:55:18.540 --> 00:55:19.150
<v Chris>Good, good.

00:55:19.150 --> 00:55:22.880
<v Wes>This has all been aggressively tested and working well. If you have a Nick's

00:55:22.880 --> 00:55:26.157
<v Wes>book, you'll automatically get this within a week, or if you want it Now,

00:55:26.493 --> 00:55:28.920
<v Wes>you can just run Upgrade and Reboot from your start menu.

00:55:28.920 --> 00:55:29.410
<v Chris>Love that.

00:55:29.410 --> 00:55:34.630
<v Wes>So cool. The new installer can be downloaded from nixbookos.org.

00:55:35.584 --> 00:55:40.410
<v Wes>Also, the Computer Upcycle Project has officially won its first grant as well.

00:55:40.950 --> 00:55:45.570
<v Wes>The city of Olympia has chosen the Computer Upcycle Project as one of 60 nonprofits

00:55:45.570 --> 00:55:49.070
<v Wes>to fund this year and awarded us $15,000.

00:55:49.070 --> 00:55:50.241
<v Chris>Congratulations.

00:55:52.269 --> 00:55:55.158
<v Wes>Very well deserved. This will be used to purchase chargers, SSDs,

00:55:55.158 --> 00:55:58.776
<v Wes>and branded laptop bags, along with continuing to fund the development of Nixbook.

00:55:59.003 --> 00:56:02.128
<v Wes>We're also committed to hosting monthly workshops in Olympia aimed at the tech

00:56:02.128 --> 00:56:07.318
<v Wes>curious and youth to show them hands-on, and how to take that old laptop and turn it into a Nixbook.

00:56:08.018 --> 00:56:11.158
<v Wes>All this makes me super excited and happy about the future of Linux and getting

00:56:11.158 --> 00:56:13.707
<v Wes>more people involved and aware of what's possible.

00:56:14.032 --> 00:56:17.158
<v Wes>And of course, I'll urge them all to be listeners of this here podcast.

00:56:17.658 --> 00:56:21.193
<v Wes>Thanks again to everyone who has donated, supported, or simply cheered on Nixbook,

00:56:21.733 --> 00:56:24.996
<v Wes>and the non-profit. This community really does make anything possible.

00:56:25.901 --> 00:56:26.898
<v Brent>That is so sweet.

00:56:26.898 --> 00:56:32.288
<v Chris>And it feels with the price of hardware right now more important than ever that

00:56:32.288 --> 00:56:33.430
<v Chris>there's something like this out there.

00:56:34.214 --> 00:56:36.304
<v Chris>And I wonder if it could be a model for other areas because,

00:56:36.907 --> 00:56:38.852
<v Chris>you know, Mike's doing a lot.

00:56:39.125 --> 00:56:42.108
<v Chris>But it'd be great to see if like another organization like this could pop up,

00:56:42.108 --> 00:56:45.078
<v Chris>say like on the East Coast and then pop up in the UK and pop up in Canada.

00:56:45.638 --> 00:56:46.579
<v Chris>You know, just sort of sprout.

00:56:47.496 --> 00:56:50.398
<v Chris>I think that'd be really neat to see. But in the meantime, Olympia Mike is doing

00:56:50.398 --> 00:56:52.598
<v Chris>incredible work and I do appreciate the update.

00:56:52.598 --> 00:56:53.098
<v Wes>We sure do.

00:56:53.098 --> 00:56:57.418
<v Chris>It's nice to hear. Thank you, sir. And keep up the good work and keep us posted

00:56:57.418 --> 00:57:01.045
<v Chris>on it. With that, gentlemen, let's do a couple of boosts.

00:57:06.020 --> 00:57:11.528
<v Chris>And Greg the Lawyer is back. He's our baller booster with 100,000 sats.

00:57:11.958 --> 00:57:12.338
<v Brent>Wow.

00:57:23.572 --> 00:57:26.619
<v Chris>Well, Greg, the lawyer did. He said, love the discussion on making a Clanker

00:57:26.619 --> 00:57:30.279
<v Chris>OS. I've been using Claude to maintain my flake for a while,

00:57:30.279 --> 00:57:31.443
<v Chris>and it's nearly flawless.

00:57:31.861 --> 00:57:37.237
<v Chris>I now get a dedicated Hermes profile set up for the task. My Hermes runs on a Debian VM.

00:57:37.596 --> 00:57:41.429
<v Chris>I would love a Clanker stream on how you have yours running on Nix.

00:57:41.429 --> 00:57:42.059
<v Brent>Uh-huh.

00:57:42.571 --> 00:57:44.289
<v Wes>I really— Oh, a Nix combo stream.

00:57:44.289 --> 00:57:50.589
<v Chris>I feel like I missed the boat. I set up just the most amazing EV camping routing.

00:57:50.589 --> 00:57:53.769
<v Chris>Like, you know, all the years I've been road tripping, I've been collecting

00:57:53.769 --> 00:57:57.909
<v Chris>like what my idea of a perfect app would be, you know, wildfire,

00:57:57.909 --> 00:58:03.169
<v Chris>cellular signal, closures, everything I've ever wanted to know in one thing.

00:58:03.169 --> 00:58:05.838
<v Chris>And I finally built it. I should have streamed it. Should have streamed it.

00:58:06.441 --> 00:58:07.409
<v Wes>I could stream a tour.

00:58:07.409 --> 00:58:10.519
<v Chris>I feel when we maybe get back and we get our feet underneath us,

00:58:10.519 --> 00:58:13.089
<v Chris>Greg, I feel like it's going to be time for another clanker stream.

00:58:13.089 --> 00:58:15.329
<v Chris>We've probably gone too far, but we just we got stuff coming up.

00:58:15.329 --> 00:58:19.749
<v Chris>We're doing a little trip to Canada, up to Brentlandia. So when we get back from that.

00:58:19.749 --> 00:58:20.899
<v Wes>I think we got to pin some tabs.

00:58:20.899 --> 00:58:23.599
<v Chris>We're going to start cooking. We're going to pin some tabs, and we're going

00:58:23.599 --> 00:58:26.819
<v Chris>to start cooking on a clanker stream. That's the mission. Thank you,

00:58:26.819 --> 00:58:28.360
<v Chris>sir. Appreciate that. Baller boost.

00:58:29.538 --> 00:58:34.641
<v Wes>BTC is my 401k boost sin with 3,998 sats.

00:58:37.230 --> 00:58:40.608
<v Wes>Oh, no. Seems my lightning node can't reach Brent or the JB node.

00:58:40.736 --> 00:58:42.219
<v Wes>But here's some more for you.

00:58:42.219 --> 00:58:42.879
<v Brent>No, thanks.

00:58:42.879 --> 00:58:47.219
<v Wes>And a catch-up boost to provide value while my LB hub was down and stream and sats were depleted.

00:58:47.219 --> 00:58:51.519
<v Chris>Well, thank you. So, BTC, I saw that boost come in live. and I was like,

00:58:51.519 --> 00:58:52.503
<v Chris>oh, what's going on? Went over.

00:58:53.199 --> 00:58:56.259
<v Chris>Yeah, Tor was totally down, and that node's on Tor. Totally offline.

00:58:56.259 --> 00:58:57.089
<v Wes>Yeah, that'll make it a little hard.

00:58:57.089 --> 00:59:00.489
<v Chris>Won't it? Yeah. I was like, oh! It was like, I wasn't monitoring Tor.

00:59:00.489 --> 00:59:02.709
<v Chris>I was monitoring the lightning daemon. I was monitoring the Bitcoin daemon.

00:59:02.709 --> 00:59:03.659
<v Chris>I was monitoring the boost.

00:59:04.339 --> 00:59:09.604
<v Chris>Not monitoring Tor. So I got that fixed. Thank you very much. BTC is my 401k.

00:59:10.492 --> 00:59:14.021
<v Brent>Odyssey West is here with 2,550 sats.

00:59:16.726 --> 00:59:21.934
<v Brent>Hey, could you guys look into Odysseus, that PewDiePie thing he made?

00:59:22.333 --> 00:59:26.090
<v Brent>I know he's probably a little more jank compared to something like Hermes,

00:59:26.090 --> 00:59:27.750
<v Brent>but, you know, he's still worth

00:59:27.750 --> 00:59:31.930
<v Brent>looking into since the popular YouTube is building it and deploying it.

00:59:32.573 --> 00:59:34.862
<v Chris>It might be something worth looking into. It could be fun. Yeah.

00:59:35.570 --> 00:59:38.286
<v Chris>We've been talking about building an agentic test harness bench.

00:59:39.465 --> 00:59:42.920
<v Chris>Something like that. That could be a good one. Thank you, Odyssey.

00:59:42.920 --> 00:59:46.222
<v Chris>Nice to hear from you. Autobrains here with 5,000 sats.

00:59:49.060 --> 00:59:52.699
<v Chris>I did it. I took the plunge and I signed up for an intro computer programming course.

00:59:53.135 --> 00:59:58.860
<v Chris>Oh, until now, I've just been a dabbler in writing scripts. The course is about Python. Nice.

00:59:58.860 --> 00:59:59.340
<v Brent>Nice choice.

00:59:59.340 --> 01:00:01.160
<v Chris>It's asynchronous online at my university.

01:00:01.160 --> 01:00:01.761
<v Wes>Cool.

01:00:02.232 --> 01:00:05.640
<v Chris>It's well done. It's a good blend of bite-sized chunks of written and video

01:00:05.640 --> 01:00:08.150
<v Chris>content with homework and quizzes. Nice.

01:00:08.850 --> 01:00:12.530
<v Chris>Have you guys taken lots of computer programming courses? What worked especially

01:00:12.530 --> 01:00:16.170
<v Chris>well for you and what inspired you? Oh, man.

01:00:17.131 --> 01:00:22.600
<v Chris>The only official computer course I've taken, I think, other than like training

01:00:22.600 --> 01:00:25.694
<v Chris>courses on like, here's a crash course on PHP. I did one of those.

01:00:26.187 --> 01:00:27.847
<v Chris>I did a crash course on Python.

01:00:28.790 --> 01:00:34.900
<v Chris>But the only actual official training I took was basic. I'm an old man.

01:00:34.900 --> 01:00:37.170
<v Wes>And yet I've never seen you write basic. How is that?

01:00:37.170 --> 01:00:42.310
<v Chris>Well, I wrote some cool basic programs. Let me tell you what. QBasic was my friend.

01:00:42.310 --> 01:00:44.890
<v Wes>If it helps, Visual Basic was my first programming language.

01:00:45.450 --> 01:00:48.484
<v Chris>I hated Visual. Okay, so, what about you?

01:00:49.150 --> 01:00:52.070
<v Wes>Yeah, well, before I ended up getting a physics degree, I was a CS major,

01:00:52.070 --> 01:00:56.590
<v Wes>so I took the first two or three years of most of those classes. I would say...

01:00:56.610 --> 01:00:57.940
<v Chris>Everything Simpson's been self-taught?

01:00:59.200 --> 01:00:59.660
<v Wes>Yeah.

01:00:59.660 --> 01:00:59.990
<v Chris>Wow.

01:01:00.330 --> 01:01:05.539
<v Wes>I think, no, I did, I think I did one MOOC-style...

01:01:06.828 --> 01:01:08.675
<v Wes>uh functional programming course

01:01:08.675 --> 01:01:11.835
<v Wes>and a machine learning course but yeah that was a long time ago yeah.

01:01:12.475 --> 01:01:13.810
<v Chris>Back when we called it machine learning yeah.

01:01:13.949 --> 01:01:19.355
<v Wes>Yeah that's how long ago it was what usually helps me is sort of trying to chase

01:01:19.355 --> 01:01:22.595
<v Wes>the thing that i'm most curious about like that doesn't work you know some things

01:01:22.595 --> 01:01:25.339
<v Wes>you just have to grind through that's always gonna be the case but you know

01:01:25.524 --> 01:01:27.916
<v Wes>finding things that motivate you that you're curious that make it,

01:01:28.444 --> 01:01:33.675
<v Wes>feel more like play than like work and if you can try to keep do whatever you can

01:01:33.971 --> 01:01:37.325
<v Wes>sometimes it's worth a little like you don't want to over fixate on your setup

01:01:37.325 --> 01:01:40.765
<v Wes>and not the actual work but it is worth a little bit of investment just to try

01:01:40.765 --> 01:01:44.965
<v Wes>to keep the feedback loop as quick as possible because that helps keep it feeling like play.

01:01:44.965 --> 01:01:47.299
<v Chris>Yeah i agree that's good that's good advice.

01:01:47.612 --> 01:01:52.303
<v Brent>I was doing exactly that last night where i will confess that i stayed up,

01:01:52.773 --> 01:01:58.215
<v Brent>all night never went to bed at all because i was so deep in the flow of like

01:01:58.215 --> 01:02:02.365
<v Brent>playing and chasing curiosities and like learning all sorts of stuff and breaking

01:02:02.365 --> 01:02:03.635
<v Brent>things and fixing things.

01:02:04.015 --> 01:02:07.842
<v Chris>You still showed up late for the stream. How does that work? You're up.

01:02:08.172 --> 01:02:12.895
<v Brent>Well, I don't know. I was moving slower, and I'm on a different time zone.

01:02:12.895 --> 01:02:14.975
<v Wes>There wasn't even any squirrel-based excuses.

01:02:14.975 --> 01:02:15.305
<v Chris>I know.

01:02:15.305 --> 01:02:16.805
<v Brent>Usually there's no squirrel-based reason.

01:02:16.805 --> 01:02:21.595
<v Chris>We were all up late last night. I was up late last night. I replumbed.

01:02:22.315 --> 01:02:26.195
<v Chris>I have Blue Bubble set up, and I was replumbing it, and then I was working on

01:02:26.195 --> 01:02:29.035
<v Chris>some of the EV road trips. I was up way too late.

01:02:29.035 --> 01:02:29.744
<v Brent>Too.

01:02:30.535 --> 01:02:31.235
<v Wes>We all know we have a show.

01:02:31.255 --> 01:02:32.835
<v Brent>Your version of late and my version of later.

01:02:33.235 --> 01:02:35.479
<v Chris>Yeah, that's true. My version of late's like midnight.

01:02:35.700 --> 01:02:36.315
<v Brent>Mine's like 4 a.m.

01:02:36.715 --> 01:02:42.885
<v Chris>Yeah, yeah, yeah. Marvin42 came in with $42 in Fiat Funk coupons.

01:02:42.885 --> 01:02:43.844
<v Brent>Nice.

01:02:45.092 --> 01:02:47.641
<v Chris>Here's a few bucks to help pay for refactoring Hypervibe.

01:02:50.941 --> 01:02:55.971
<v Chris>I just found out that the Dendritic Nix idea a few days ago and have been trying to get Hermes to use it.

01:02:56.354 --> 01:02:59.616
<v Chris>I'm still struggling with the concept, and it wants to build everything monolithic

01:02:59.924 --> 01:03:03.465
<v Chris>or make each setting a file. I'm for better skill shopping.

01:03:04.021 --> 01:03:05.751
<v Wes>Ooh, fun update. Thank you, Marvin.

01:03:05.751 --> 01:03:06.241
<v Chris>That's so good.

01:03:06.261 --> 01:03:09.781
<v Wes>The Dendritic Nix stuff is interesting. I think that might be something I have to poke at more.

01:03:10.261 --> 01:03:11.387
<v Chris>Thank you. That's a great boost, too.

01:03:11.811 --> 01:03:15.759
<v Wes>Anonymous boosts in with 25 Fiat Fun coupons.

01:03:18.290 --> 01:03:21.741
<v Wes>A long-time listener, first-time booster. Thank you from Austria.

01:03:21.741 --> 01:03:25.691
<v Chris>Awesome. Thank you for the first-time boost. Appreciate that.

01:03:26.167 --> 01:03:29.244
<v Brent>Jem Lepore is here with 10 Fiat.

01:03:31.322 --> 01:03:35.234
<v Brent>Thanks for all the hard work you guys put into this show week after week.

01:03:35.728 --> 01:03:41.353
<v Brent>Next time you're headed out east, come have a good barbecue with us in KCUS at Kansas City.

01:03:42.001 --> 01:03:42.931
<v Chris>We would love that.

01:03:42.931 --> 01:03:43.849
<v Wes>That sounds ideal.

01:03:43.971 --> 01:03:45.608
<v Chris>No complaints here.

01:03:45.887 --> 01:03:48.127
<v Wes>Someone just needs to get a certain van working.

01:03:48.255 --> 01:03:51.211
<v Brent>Oh, I can do that. I just need a reason, you know. Just give me a reason.

01:03:51.211 --> 01:03:51.641
<v Chris>A little bit of a kid.

01:03:51.681 --> 01:03:52.041
<v Wes>Barbecue.

01:03:52.641 --> 01:03:52.801
<v Brent>I'm in.

01:03:54.083 --> 01:03:56.731
<v Chris>I don't think I've ever really properly had it. My biggest exposure has always

01:03:56.731 --> 01:03:58.511
<v Chris>been to Texas barbecue. I'm open-minded.

01:03:58.511 --> 01:03:59.662
<v Wes>We need to do a barbecue tour.

01:04:01.461 --> 01:04:04.182
<v Chris>High five connoisseurs here with $5 in Fiat Fun Coupons.

01:04:06.498 --> 01:04:10.145
<v Chris>How are you all thinking about the secession planning now that there are agents?

01:04:10.145 --> 01:04:10.765
<v Brent>A whole good question.

01:04:11.125 --> 01:04:14.735
<v Chris>I imagine my family could get an agent to handle much of the home lab maintenance after I'm gone.

01:04:14.735 --> 01:04:15.475
<v Wes>Fascinating.

01:04:15.475 --> 01:04:17.965
<v Brent>Wow. Do you remember that episode we made? And then there was like a couple

01:04:17.965 --> 01:04:21.893
<v Brent>projects trying to tackle this, but we came to the conclusion that it's just a very hard problem.

01:04:22.461 --> 01:04:24.075
<v Chris>A secession agent.

01:04:24.075 --> 01:04:27.320
<v Brent>This is cool. Start building, I say.

01:04:28.376 --> 01:04:29.245
<v Chris>I mean, there's something there.

01:04:29.245 --> 01:04:32.785
<v Wes>Just imagining the chat GPT thing behind a window they break in case of.

01:04:33.305 --> 01:04:38.745
<v Chris>Break in case or like a or telegram chat thread that's like set up but don't use I mean it gives.

01:04:38.745 --> 01:04:40.315
<v Brent>A whole new meaning to soul.md.

01:04:40.315 --> 01:04:45.395
<v Chris>Doesn't it oh okay we gotta move on it's getting dark Wes you wanna take our.

01:04:45.395 --> 01:04:51.825
<v Wes>First one member free booth yes I bear comes in with two member free booths oh by the way had to re,

01:04:52.625 --> 01:04:56.965
<v Wes>sign up for Jupiter Party not sure what email I used oh yeah that's that happens

01:04:56.965 --> 01:05:00.635
<v Wes>that happens for sure thanks for having the web booths with USD I'm not into

01:05:00.635 --> 01:05:03.375
<v Wes>Bitcoiner stats but I love the shows Thank you very much.

01:05:03.385 --> 01:05:07.558
<v Wes>Here's a little utility that I have been vibe coding for Linux-based routers and firewalls.

01:05:07.878 --> 01:05:12.887
<v Wes>I'm using it on my ViOS boxes, but it works on any Linux instance using IP chains.

01:05:13.311 --> 01:05:15.125
<v Wes>Cool. FW Top.

01:05:15.125 --> 01:05:17.961
<v Chris>This looks really good. It's got a great TUI.

01:05:18.152 --> 01:05:22.195
<v Wes>Python, MIT licensed. Oh, very colorful and pretty TUI. You are right.

01:05:22.825 --> 01:05:26.745
<v Chris>A real-time router firewall traffic visualizer for the terminal inspired by

01:05:26.745 --> 01:05:29.325
<v Chris>BTOP. You nailed it. It looks so good.

01:05:29.733 --> 01:05:35.469
<v Brent>This is impressive. huh and a release three days ago very nice.

01:05:36.844 --> 01:05:38.505
<v Chris>That's really sweet that is so

01:05:38.725 --> 01:05:43.505
<v Chris>so what we need is uh you need to vibe up a flake.nix we'll give it a shot.

01:05:45.494 --> 01:05:45.955
<v Wes>Thanks for the.

01:05:45.955 --> 01:05:49.406
<v Chris>Support yeah thank you very much and thanks for signing up again appreciate that.

01:05:50.823 --> 01:05:54.689
<v Brent>Well, Mr. Pickles is here with a free members boost.

01:05:56.343 --> 01:06:05.224
<v Brent>You should provide API keys to members. We have three 3090s and use about 2 billion tokens a month.

01:06:05.584 --> 01:06:09.009
<v Chris>Oh, 3090s as in NVIDIAs.

01:06:09.310 --> 01:06:13.309
<v Brent>Oh, yeah, right. I don't even, you know, I've just blocked this out of my mind.

01:06:14.146 --> 01:06:19.580
<v Chris>I also had to pick Hisler, a full text indexer for every website you visit. Whoa.

01:06:19.841 --> 01:06:23.609
<v Chris>Great for finding a thing you read about a month ago, but can't recall. Holy smokes.

01:06:23.609 --> 01:06:24.519
<v Brent>This is like recall.

01:06:24.519 --> 01:06:27.179
<v Wes>But just let's read it. It indexes their full content, so you can find information

01:06:27.179 --> 01:06:30.603
<v Wes>again from the web interface terminal or an AI assistant connected through MCP.

01:06:31.782 --> 01:06:31.989
<v Brent>Huh.

01:06:31.989 --> 01:06:38.389
<v Wes>I guess it's by Adam Tauber, Ascii Moo, who also made CRX or Chex.

01:06:38.974 --> 01:06:40.569
<v Wes>Maybe not the NG one, but the one before that.

01:06:40.589 --> 01:06:41.009
<v Chris>No kidding.

01:06:41.009 --> 01:06:43.329
<v Wes>Kali and a bunch of other smaller projects. Yeah.

01:06:43.769 --> 01:06:48.964
<v Chris>No kidding. That's such a neat find. Thank you, Pickles. Appreciate that.

01:06:49.597 --> 01:06:52.830
<v Chris>I'll take the king. King Arthur is back with a member boast.

01:06:55.332 --> 01:06:59.132
<v Chris>Uh, is not a king voted into parliament as one doesn't vote for one's king.

01:06:59.132 --> 01:07:04.068
<v Chris>Rather, the lady of the lake bestows Excalibur to the one worthy to rule over Britain. Of course.

01:07:04.317 --> 01:07:07.762
<v Chris>I do not require a sound clip or a member boost. Only a specific boost for those

01:07:07.762 --> 01:07:13.437
<v Chris>who can bestow one, two, five, five, three sats to you in the future. Oh.

01:07:13.965 --> 01:07:16.345
<v Chris>What is that? Twelve?

01:07:16.757 --> 01:07:20.442
<v Brent>Does it require a map or just some kind of culture?

01:07:20.462 --> 01:07:22.862
<v Chris>I think it's related to the overall boost.

01:07:22.862 --> 01:07:24.142
<v Wes>It must be. Yeah, we have some homework.

01:07:25.022 --> 01:07:27.201
<v Chris>Thank you, Cain. Appreciate you.

01:07:28.199 --> 01:07:33.222
<v Wes>LP Boost Sin, I'm just starting to dig in for Nix OS, but I got confused from the start.

01:07:33.222 --> 01:07:33.731
<v Chris>It's okay.

01:07:33.975 --> 01:07:37.580
<v Wes>What's the difference between declarative Nix OS versus the community one?

01:07:38.143 --> 01:07:42.602
<v Wes>Which one is the best for a VPS versus desktop laptop? Oh, you must mean determinate Nix.

01:07:43.202 --> 01:07:43.382
<v Brent>Ah.

01:07:43.862 --> 01:07:44.737
<v Wes>Autocomplete, maybe.

01:07:46.122 --> 01:07:50.202
<v Chris>Okay, so determinate Nix is, yeah, it's like, yeah, okay. That's like,

01:07:50.202 --> 01:07:52.412
<v Chris>I guess you would call it a distro of Nix?

01:07:52.888 --> 01:07:54.722
<v Chris>a spin of Nix a fork of Nix.

01:07:55.262 --> 01:07:56.202
<v Wes>Yeah somewhere in there.

01:07:56.202 --> 01:08:00.362
<v Chris>Yeah with some tools and installers that are designed for you know enterprise

01:08:00.362 --> 01:08:04.902
<v Chris>use and what not in there perfectly fine I think though probably for most people

01:08:04.902 --> 01:08:08.382
<v Chris>unless they know they need determinant Nix they probably just want to use Nix yeah.

01:08:08.602 --> 01:08:12.752
<v Wes>It offers some extra stuff but you you probably won't need or necessarily even

01:08:12.752 --> 01:08:15.702
<v Wes>care about a lot of that until you are a more experienced Nix user or you're

01:08:15.702 --> 01:08:18.510
<v Wes>trying to use it for some like production sort of purpose.

01:08:18.759 --> 01:08:23.592
<v Chris>What about Wes what about if you what about out if he wanted to install it on

01:08:23.592 --> 01:08:24.749
<v Chris>an existing distribution.

01:08:25.016 --> 01:08:27.292
<v Wes>Yes so for that the determined nix installer is great.

01:08:27.292 --> 01:08:27.913
<v Chris>I think so too.

01:08:29.156 --> 01:08:33.412
<v Wes>And then i also it also means like this decision doesn't matter for the most

01:08:33.412 --> 01:08:35.742
<v Wes>part as much as you think it is so if you're going to install it there just

01:08:35.742 --> 01:08:37.162
<v Wes>reach for whatever as long as you get nix,

01:08:37.722 --> 01:08:40.612
<v Wes>it'll work uh if you're going with nix os then you're probably just going to

01:08:40.612 --> 01:08:43.182
<v Wes>get like the standard nix os install media and then you're just going to get

01:08:43.182 --> 01:08:46.861
<v Wes>the plain upstream nix os anyway uh and either way,

01:08:48.080 --> 01:08:51.454
<v Wes>They'll all build your next packages. So for that, you'll be just fine.

01:08:51.454 --> 01:08:57.314
<v Brent>The amount of overlap is overwhelming. Like there's a very tiny slice of notable

01:08:57.314 --> 01:09:00.884
<v Brent>differences, but most of it as a beginner, you just learn.

01:09:00.884 --> 01:09:04.364
<v Chris>All right. Help me break this down. Dance Tango writes, Chris,

01:09:05.044 --> 01:09:08.194
<v Chris>you considered a dedicated camera, a camera without AI that fixes the image.

01:09:08.194 --> 01:09:10.980
<v Chris>Is that really something for you? Do you remember what they're speaking about?

01:09:11.229 --> 01:09:14.864
<v Brent>Yeah. I think we had a caller mention how.

01:09:14.864 --> 01:09:16.404
<v Chris>Oh, we're talking about dedicated pocket cameras.

01:09:16.904 --> 01:09:19.144
<v Brent>Or dedicated like a music player or.

01:09:19.144 --> 01:09:19.937
<v Chris>Something like that.

01:09:21.864 --> 01:09:27.764
<v Brent>So the question is a camera without ai that fixes oh the camera without ai that

01:09:27.764 --> 01:09:30.061
<v Brent>fixes the image is that something for you.

01:09:30.833 --> 01:09:34.654
<v Chris>I would think if you're going for like a pocket camera you probably want you

01:09:34.654 --> 01:09:38.334
<v Chris>don't want something manipulating the image right you do that after the fact if you want to do it.

01:09:38.334 --> 01:09:39.114
<v Wes>Right yeah that's what i would.

01:09:39.114 --> 01:09:40.864
<v Brent>Think how much of a purist are you that's a.

01:09:40.864 --> 01:09:43.924
<v Chris>Scale that's that is a good point though like with the camera phones you're

01:09:43.924 --> 01:09:45.034
<v Chris>not really getting a true picture

01:09:45.034 --> 01:09:48.014
<v Chris>you're getting like an interpretation that's pretty close you always.

01:09:48.014 --> 01:09:49.024
<v Brent>Did you always.

01:09:49.024 --> 01:09:50.256
<v Chris>Did that's true.

01:09:51.214 --> 01:09:56.554
<v Wes>Well uh paul comes in with our last member boost half listened to the bit about analog.

01:09:56.554 --> 01:09:57.264
<v Chris>Cameras two.

01:09:57.264 --> 01:10:01.464
<v Wes>Years ago i've started taking pictures of concerts with a nintendo 3ds awesome

01:10:01.464 --> 01:10:04.484
<v Wes>it's far more engaging for me than taking them with my phone if you're interested

01:10:04.484 --> 01:10:06.864
<v Wes>you can see them on 3d stage vibes dot.

01:10:06.864 --> 01:10:08.154
<v Chris>80 stop it.

01:10:08.154 --> 01:10:09.484
<v Wes>Let me know if you want to know more.

01:10:09.484 --> 01:10:11.258
<v Chris>That's that is definitely a vibe.

01:10:12.557 --> 01:10:15.346
<v Brent>So you were only half listening, and yet you sent us some cool photos?

01:10:15.346 --> 01:10:16.388
<v Chris>Thank you. That's pretty great.

01:10:16.533 --> 01:10:20.606
<v Chris>That's pretty great. I'm looking at them right now. 3DS stage vibes.

01:10:20.606 --> 01:10:24.676
<v Brent>They're surprisingly good. Wow. Yeah.

01:10:24.676 --> 01:10:27.731
<v Chris>Yeah, for a 3DS, right? They're not better than you. Yeah.

01:10:28.213 --> 01:10:31.466
<v Brent>There's a philosophy in the photography world that says the best camera you

01:10:31.466 --> 01:10:32.927
<v Brent>have is the one you have with you.

01:10:33.054 --> 01:10:36.316
<v Brent>So if you've got a 3DS, you start shooting with that thing.

01:10:36.316 --> 01:10:37.675
<v Wes>And why don't you have a 3DS?

01:10:38.644 --> 01:10:40.978
<v Chris>I've actually got a dead one I need to replace the battery of.

01:10:41.251 --> 01:10:42.708
<v Chris>I really would like to get it working again.

01:10:42.818 --> 01:10:43.306
<v Brent>Jeff?

01:10:43.306 --> 01:10:46.976
<v Chris>Thank you, everybody, who boosted the show. We had 12 of you stream sats as

01:10:46.976 --> 01:10:52.226
<v Chris>you listened. You sat streamers. You collectively stacked 25,726 satoshis.

01:10:52.226 --> 01:10:53.347
<v Wes>Not too shabby.

01:10:53.533 --> 01:10:57.286
<v Chris>Not too shabby at all. When you bring it together with the fiat boosts and all

01:10:57.286 --> 01:11:01.526
<v Chris>the traditional boosts and convert it all to sats, our grand total for this

01:11:01.526 --> 01:11:06.002
<v Chris>week's episode is 265,638 satoshis.

01:11:06.344 --> 01:11:09.915
<v Chris>We tell you the numbers so that way we're transparent. You know what the show makes.

01:11:10.448 --> 01:11:13.256
<v Chris>you can decide what you think the value of the show is we put it out there and

01:11:13.256 --> 01:11:16.266
<v Chris>we ask if you get value from it and want to keep it going, prevent the fate

01:11:16.266 --> 01:11:20.276
<v Chris>like the Linux magazines have seen you can do it at boost.jupiterbroadcasting.com

01:11:20.276 --> 01:11:22.204
<v Chris>or with a podcasting 2.0 app.

01:11:28.224 --> 01:11:31.526
<v Chris>If your boost is above 2,000 sats we'll read it on the air you can also just

01:11:31.526 --> 01:11:35.366
<v Chris>stream sats you can boost below 2,000 we still put in our show notes and we

01:11:35.366 --> 01:11:38.546
<v Chris>read it ourselves and have a nice little chuckle usually because they're usually

01:11:38.546 --> 01:11:40.686
<v Chris>quite nice Well, we really appreciate it, of course.

01:11:40.686 --> 01:11:44.556
<v Chris>You can get a membership at linuxunplugged.com slash membership or support the

01:11:44.556 --> 01:11:46.073
<v Chris>whole network at jupyter.party.

01:11:46.649 --> 01:11:50.686
<v Chris>Keep the thing going and get the bootleg or the ad-free version of the show

01:11:50.686 --> 01:11:54.166
<v Chris>and have that support on autopilot, and then you get access to the free member

01:11:54.166 --> 01:11:56.586
<v Chris>boost at boost.jupyterbroadcasting.com.

01:11:57.131 --> 01:11:57.689
<v Chris>Thank you, everybody.

01:12:02.798 --> 01:12:05.053
<v Chris>All right, so we're doing something a little different for the pick segment,

01:12:05.053 --> 01:12:08.487
<v Chris>and I'm going to make it quick because I'll tell you right up front,

01:12:08.887 --> 01:12:11.320
<v Chris>Moonlight and Sunshine are the way to go.

01:12:11.842 --> 01:12:15.133
<v Chris>Sunshine runs on the remote computer, captures the desktop, and encodes using

01:12:15.133 --> 01:12:19.267
<v Chris>your GPU or CPU if you don't have a GPU. And it's more like a video stream.

01:12:19.843 --> 01:12:24.153
<v Chris>It's really designed for remote gaming, which means a modern composited desktop

01:12:24.153 --> 01:12:26.685
<v Chris>actually performs almost natively.

01:12:27.092 --> 01:12:30.573
<v Chris>You can even do things like use OBS, and if you had to, you could even edit

01:12:30.573 --> 01:12:32.943
<v Chris>video. Even over a relatively weak connection.

01:12:32.943 --> 01:12:34.533
<v Wes>And that's kind of where you were playing with some of this,

01:12:34.533 --> 01:12:38.283
<v Wes>right? The idea of like, well, we've evaluated a ton of different ways to handle

01:12:38.283 --> 01:12:39.793
<v Wes>remote studio production over the years.

01:12:39.793 --> 01:12:44.813
<v Chris>Rust Desk has been a real solid go-to, but on Wayland, it requires someone at

01:12:44.813 --> 01:12:46.751
<v Chris>the console to authorize the connection.

01:12:46.896 --> 01:12:47.883
<v Wes>Which is kind of a no-go.

01:12:47.883 --> 01:12:54.203
<v Chris>Cannot do that. MeshTastic is a community favorite, but I don't need fleet inventory,

01:12:54.203 --> 01:12:58.872
<v Chris>file transfer, process management, a dashboard. I don't need any of that.

01:12:59.943 --> 01:13:03.723
<v Chris>And I also don't need it to solve the proxying the remote because I'm going

01:13:03.723 --> 01:13:06.693
<v Chris>to use mesh networking. So I've solved the network aspect already.

01:13:06.693 --> 01:13:08.943
<v Wes>And there's a lot of tools that bundle a bunch of that stuff together.

01:13:08.943 --> 01:13:13.883
<v Chris>Yes, yes, yes. So what I really like about Sunshine is that the hardware video

01:13:13.883 --> 01:13:20.153
<v Chris>encoding, if you have it, even with just a basic Intel laptop GPU, is really impressive.

01:13:20.362 --> 01:13:23.711
<v Chris>It's fine on the CPU, too. I have one system here we have to do on the CPU.

01:13:24.216 --> 01:13:28.103
<v Chris>But everything works. hdr sound all comes through so you can hear the desktop

01:13:28.103 --> 01:13:32.693
<v Chris>audio as you're in the remote session it works with plasma and gnomes animations

01:13:32.693 --> 01:13:38.317
<v Chris>hyperlands animations you can watch videos it has multi-monitor support,

01:13:38.926 --> 01:13:43.013
<v Chris>so all of it's really really nice um and of course it has wayland support as

01:13:43.013 --> 01:13:44.689
<v Chris>well as x11 support which matters a lot.

01:13:44.852 --> 01:13:46.043
<v Brent>What's the downside what's the.

01:13:47.011 --> 01:13:51.168
<v Chris>Well, the downside is that you have to set up Sunshine on one end.

01:13:51.168 --> 01:13:53.748
<v Chris>You have to set up Moonlight, which is a desktop application.

01:13:53.748 --> 01:13:54.878
<v Chris>And then you pair them once.

01:13:55.518 --> 01:13:58.128
<v Chris>And once they're paired once, you can connect. But the downside is you do have

01:13:58.128 --> 01:13:59.218
<v Chris>to do that one-time pairing.

01:13:59.218 --> 01:14:02.768
<v Wes>So there's a little bit of setup, especially before maybe you are in a remote situation.

01:14:02.768 --> 01:14:06.768
<v Chris>But the handy thing is the pairing UI is a web interface. So you can probably,

01:14:06.768 --> 01:14:09.018
<v Chris>if you're on the mesh network, just bring up the remote web UI,

01:14:09.018 --> 01:14:11.758
<v Chris>put in your pin, and pair that way from the remote system.

01:14:12.318 --> 01:14:15.988
<v Chris>So that's not so bad. So really the downsides are pretty minimal unless you

01:14:15.988 --> 01:14:20.068
<v Chris>need the other things that a MeshTastic team viewer type things offer with file

01:14:20.068 --> 01:14:24.953
<v Chris>transfer and process management and maybe even user management and inventory. I don't need any of that.

01:14:26.198 --> 01:14:29.018
<v Chris>So I was really impressed because I wanted to revisit and I'll actually tell

01:14:29.018 --> 01:14:32.435
<v Chris>you the strongest contender doesn't come up very often.

01:14:32.830 --> 01:14:37.658
<v Chris>The strongest contender is not MeshTastic, is not RustEssle. Those are great.

01:14:38.159 --> 01:14:38.818
<v Wes>MeshTastic?

01:14:39.538 --> 01:14:46.500
<v Chris>Yeah, that's what it's called, right? Oh, I'm sorry. MeshCentral. Thank you. Thank you.

01:14:47.138 --> 01:14:49.518
<v Brent>I mean, video over MeshTastic is impressive.

01:14:50.906 --> 01:14:52.328
<v Chris>Honestly, if you could do remote

01:14:52.328 --> 01:14:56.380
<v Chris>desktop, even process management over MeshTastic, I would be thrilled.

01:14:56.978 --> 01:14:59.851
<v Chris>No, I meant Mesh Central. I just got the meshes meshed up.

01:15:00.988 --> 01:15:04.005
<v Chris>But I actually think the one that we really should give more credit to and the

01:15:04.005 --> 01:15:09.005
<v Chris>one that people should consider besides the sunshine and moonlight combo,

01:15:10.003 --> 01:15:12.385
<v Chris>the folks over at No Machine are still cooking.

01:15:12.385 --> 01:15:12.575
<v Brent>Wow.

01:15:12.595 --> 01:15:13.605
<v Wes>They've been going for so long.

01:15:13.605 --> 01:15:14.295
<v Chris>They've been going.

01:15:14.295 --> 01:15:15.555
<v Wes>Which is why I think folks forget.

01:15:15.555 --> 01:15:20.795
<v Chris>Yes. They've been going since the very early days. And they really have pioneered

01:15:20.795 --> 01:15:23.755
<v Chris>hardware H.264 encoded remote desktop streams.

01:15:24.434 --> 01:15:32.550
<v Chris>And it still kicks butt. I think no machine is better if you need a separate remote session.

01:15:33.537 --> 01:15:36.815
<v Chris>So if you want to be able to log in and have a desktop session running and have

01:15:36.815 --> 01:15:40.505
<v Chris>a whole other user session that's in a remote session, no machine's great at

01:15:40.505 --> 01:15:44.835
<v Chris>that. Sunshine, you'd have to set that up completely. Sunshine is really for

01:15:44.835 --> 01:15:46.480
<v Chris>taking control of the console.

01:15:46.881 --> 01:15:48.071
<v Chris>No machine lets you do both.

01:15:48.576 --> 01:15:53.135
<v Chris>And it supports USB and device redirection. So you can have printers and certain

01:15:53.135 --> 01:15:56.122
<v Chris>mouses and keyboards. So it does a lot more nice stuff.

01:15:56.749 --> 01:16:00.275
<v Chris>But if you just need something quick, you've already got the networking taken

01:16:00.275 --> 01:16:03.875
<v Chris>care of, like a mesh network or something like that. You don't need a central

01:16:03.875 --> 01:16:05.538
<v Chris>proxy or inventory or fleet.

01:16:06.368 --> 01:16:10.744
<v Chris>I really think for the 10 minutes it takes to get Moonlight and Sunshine going

01:16:10.744 --> 01:16:12.554
<v Chris>again, it's, like, super.

01:16:12.554 --> 01:16:15.704
<v Wes>And these are pretty easy. Like, I mean, they're now, it's been out for a while,

01:16:15.704 --> 01:16:17.804
<v Wes>right? So they're, like, pretty available in repos or Flatpak.

01:16:17.804 --> 01:16:20.794
<v Chris>Sunshine is actively still being developed.

01:16:21.274 --> 01:16:24.124
<v Chris>Moonlight hasn't had an update for a while, but it's a pretty stable.

01:16:24.124 --> 01:16:26.964
<v Chris>I mean, it's just an H.264 streaming client that supports input.

01:16:26.964 --> 01:16:28.224
<v Chris>So it's not very complicated.

01:16:28.567 --> 01:16:31.944
<v Chris>There are a few forks out there, but Moonlight, it's packaged in Flatpak.

01:16:31.944 --> 01:16:35.300
<v Chris>It's packaged in just about every distro now because it has been pretty stable for a while.

01:16:35.742 --> 01:16:38.384
<v Chris>same with sunshine but sunshine is still moving they're still progressing with

01:16:38.384 --> 01:16:42.428
<v Chris>it still getting better and better and it's was really nice been a couple years to check in,

01:16:43.113 --> 01:16:46.354
<v Chris>i did all the remote testing we'll see though we're going to go to canada and

01:16:46.354 --> 01:16:52.074
<v Chris>next sunday's episode will be a remote episode and if we're live that meant that uh,

01:16:52.911 --> 01:16:55.680
<v Chris>sunshine and moonlight worked and if we're not live.

01:16:55.930 --> 01:16:56.924
<v Wes>Keep on refreshing that.

01:16:56.924 --> 01:17:03.514
<v Chris>Rss yeah exactly yeah exactly uh it should be good though we're We've got some

01:17:03.514 --> 01:17:06.474
<v Chris>good projects planned when we get up to Brent's house that's going to make,

01:17:06.474 --> 01:17:07.374
<v Chris>I think, for a great episode.

01:17:07.374 --> 01:17:08.591
<v Brent>I've got a whole list.

01:17:09.026 --> 01:17:12.344
<v Chris>Yeah, I know you do. We're looking forward to it. So, of course,

01:17:12.344 --> 01:17:17.217
<v Chris>we also want to know your feedback on Linus's position in the kernel now, how you feel about that.

01:17:17.426 --> 01:17:20.684
<v Chris>And particularly, I'd like to reach out to those of you who are against AI use

01:17:20.684 --> 01:17:24.554
<v Chris>with free software and what you'd like to see happen if a project receives a

01:17:24.554 --> 01:17:29.084
<v Chris>legitimate concerning bug that's generated or, you know, the patch,

01:17:29.084 --> 01:17:31.520
<v Chris>the fix is generated by an LLM. What would you like to see that project do?

01:17:31.991 --> 01:17:34.954
<v Chris>A couple of range of questions there and also your thoughts and feedback on

01:17:34.954 --> 01:17:38.914
<v Chris>LogSec, Obsidian, and free software notes in general. I think all of those would

01:17:38.914 --> 01:17:42.234
<v Chris>really fill out the feedback and the boosts, and we'd really appreciate it.

01:17:42.652 --> 01:17:47.366
<v Chris>So why not join us? See if we make it live. See if it actually happens.

01:17:51.046 --> 01:17:54.522
<v Chris>Make it a Tuesday on a Sunday. Join us at 10 a.m. Pacific, 1 p.m.

01:17:54.522 --> 01:17:56.302
<v Chris>Eastern. Of course, we've got chapters.

01:17:56.302 --> 01:17:57.772
<v Wes>Oh, yeah, and transcripts.

01:17:57.772 --> 01:17:58.972
<v Chris>Those are all available in the feed.

01:17:58.972 --> 01:18:01.632
<v Wes>Magic text files just waiting for you to download them.

01:18:01.632 --> 01:18:04.392
<v Chris>I don't know if we'll have video next week, but we usually have an MP4 hidden

01:18:04.392 --> 01:18:07.502
<v Chris>in that feed as well, if you can believe it. If you could even believe it.

01:18:07.502 --> 01:18:10.052
<v Wes>If you find yourself a fancy client, they can make it even easier.

01:18:10.052 --> 01:18:14.353
<v Chris>Yeah, they'll just show it to you. Yeah. How about that? Podcasting 2.0.

01:18:14.696 --> 01:18:18.332
<v Chris>If you want more show, remember that lug gets together in the mumble room before

01:18:18.332 --> 01:18:20.083
<v Chris>we get going. They're cooking all along.

01:18:20.541 --> 01:18:23.792
<v Chris>members you get the full bootleg version with twice the content clocking at

01:18:23.792 --> 01:18:27.702
<v Chris>almost two hours right now and then links to everything we talked about today

01:18:27.702 --> 01:18:32.922
<v Chris>how to contact us mumble our matrix chat all of it at linuxunplugged.com and

01:18:32.922 --> 01:18:35.432
<v Chris>this was linuxunplugged 676,

01:18:35.906 --> 01:18:39.192
<v Chris>thank you so much for joining us on this week's episode of your unplugged program,

01:18:39.668 --> 01:18:44.428
<v Chris>we'll see you right back here next tuesday which of course is next sunday.

