WEBVTT

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

00:00:15.901 --> 00:00:16.721
<v Wes>My name is Wes.

00:00:16.721 --> 00:00:17.624
<v Brent>And my name is Brent.

00:00:18.292 --> 00:00:22.301
<v Chris>Hello, gentlemen. Coming up on the show today, we're digging into those weird

00:00:22.301 --> 00:00:26.461
<v Chris>little desktop VMs that are hiding behind all of these new strange consumer

00:00:26.461 --> 00:00:28.581
<v Chris>bot platforms, and we'll see

00:00:29.001 --> 00:00:32.380
<v Chris>what we can do with them that they probably don't want us to do with them.

00:00:32.676 --> 00:00:35.191
<v Chris>Then we'll round out the show with some great boosts, some great picks,

00:00:35.191 --> 00:00:38.644
<v Chris>some great feedback, and a lot more. So before we get to any of that,

00:00:38.905 --> 00:00:42.156
<v Chris>let's say time appropes to our virtual lug. Hello, Mumble Room.

00:00:43.420 --> 00:00:43.985
<v Chris>Hey,

00:00:46.706 --> 00:00:47.955
<v Chris>Chris. Hey, Wes. Hello. Hi. Hello.

00:00:48.285 --> 00:00:48.995
<v Wes>Strong.

00:00:48.995 --> 00:00:49.795
<v Chris>Yeah, it's very good.

00:00:49.845 --> 00:00:51.035
<v Brent>We're going to need a bigger room.

00:00:51.065 --> 00:00:53.225
<v Chris>Hello. Oh, and the quiet listening is getting a little bigger,

00:00:53.225 --> 00:00:56.760
<v Chris>too. Hello. And of course, shout out to everybody watching live,

00:00:57.538 --> 00:00:58.795
<v Chris>making it a Tuesday on a Sunday.

00:00:58.795 --> 00:00:59.539
<v Wes>Makes it special.

00:00:59.969 --> 00:01:02.685
<v Chris>Also, good morning to our friends over at Define's Networking.

00:01:02.685 --> 00:01:06.679
<v Chris>Go to define.net slash unplugged and meet Manage Nebula from Define Networking.

00:01:07.074 --> 00:01:09.405
<v Chris>A decentralized VPN. A VPN?

00:01:09.405 --> 00:01:09.762
<v Wes>No.

00:01:10.345 --> 00:01:14.565
<v Chris>We should call it a DPN. a decentralized VPN built on the open-source Nebula

00:01:14.565 --> 00:01:16.641
<v Chris>platform that we love and use ourselves.

00:01:17.064 --> 00:01:21.055
<v Chris>And Nebula was originally created to securely connect Slack's global infrastructure.

00:01:21.055 --> 00:01:27.647
<v Chris>So it's been designed from day one for serious scale, serious performance, and serious security.

00:01:28.117 --> 00:01:31.565
<v Chris>And you get strong encryption. You get a decentralized architecture with no

00:01:31.925 --> 00:01:34.659
<v Chris>central traffic bottleneck or big tech login plane.

00:01:35.066 --> 00:01:37.755
<v Chris>And you get the option to self-host your own lighthouse. That way you are in

00:01:37.755 --> 00:01:40.087
<v Chris>full control of discovery, names, and all of that.

00:01:40.575 --> 00:01:43.465
<v Chris>So if you're just connecting your home lab or a global enterprise,

00:01:43.465 --> 00:01:47.123
<v Chris>you've got to check it out. Nebula gives you privacy, resilience, and speed.

00:01:47.901 --> 00:01:51.830
<v Chris>Resources are just like unbelievable what Nebula needs. Sips it. Sips it.

00:01:52.057 --> 00:01:53.835
<v Chris>If you're on a limited connection, you're going to really love that.

00:01:53.835 --> 00:01:55.929
<v Chris>You've got CPU constraints. You're really going to love it.

00:01:56.613 --> 00:01:58.702
<v Chris>Who doesn't want something that uses less resources anyways?

00:01:59.056 --> 00:02:02.180
<v Chris>See what I'm saying. Try it for free. 100 hosts. No credit card required.

00:02:02.609 --> 00:02:07.255
<v Chris>Go to defined.net slash unplugged. It's defined.net slash unplugged.

00:02:07.255 --> 00:02:10.525
<v Chris>Big thank you to Defined for sponsoring the Unplugged program.

00:02:10.525 --> 00:02:14.435
<v Chris>And thank you for everybody who supports the show by supporting our sponsor.

00:02:14.435 --> 00:02:16.485
<v Chris>You're kind of, you know, second-order sponsor in there.

00:02:16.485 --> 00:02:19.205
<v Wes>I feel like we should also thank them for continuing to make our networks work so well.

00:02:19.205 --> 00:02:20.442
<v Chris>Yeah, there's that too.

00:02:22.172 --> 00:02:25.353
<v Chris>Well, we have some news for you all. We have some news.

00:02:25.661 --> 00:02:33.004
<v Chris>A brand new Clanker Therapy 2, what we have been building, is out on YouTube and for audio.

00:02:33.556 --> 00:02:37.158
<v Chris>And, of course, there's a bootleg version for our members to get the complete

00:02:37.158 --> 00:02:41.317
<v Chris>stream. That'll all be linked in our show notes. Been getting pretty good feedback so far.

00:02:41.485 --> 00:02:44.018
<v Wes>Yeah, right. We put it in the extra show and then, right, yeah,

00:02:44.018 --> 00:02:46.826
<v Wes>your membership, you can go to a page. We'll have more.

00:02:47.017 --> 00:02:47.358
<v Chris>Yes.

00:02:47.658 --> 00:02:50.548
<v Wes>And stay tuned. Hopefully something we'll be doing more often.

00:02:50.548 --> 00:02:55.088
<v Chris>Yes. Yes, more Clanker Therapies. What we've been doing is using meetup.com

00:02:55.088 --> 00:03:00.878
<v Chris>slash jupyterbroadcasting to announce them and then just streaming them at jblive.tv.

00:03:00.878 --> 00:03:03.538
<v Chris>You don't need a Meetup account to actually watch the stream,

00:03:03.538 --> 00:03:05.088
<v Chris>but we've been kind of organizing.

00:03:05.088 --> 00:03:06.845
<v Wes>Just a single place for details for now.

00:03:07.425 --> 00:03:12.438
<v Chris>And if you watch this week's Clanker Therapy, you will get a bit of the story

00:03:12.438 --> 00:03:16.978
<v Chris>behind something we're announcing today, a brand new resource for our community

00:03:16.978 --> 00:03:18.356
<v Chris>that we're very excited about.

00:03:18.792 --> 00:03:24.338
<v Chris>and I want you to go to uplink.jupiterbroadcasting.com where we now have a two-minute

00:03:24.338 --> 00:03:30.738
<v Chris>voice note that you can leave us all using built-in in-browser technology and it will send us a note.

00:03:31.011 --> 00:03:35.585
<v Chris>It lets you record very briefly so you can just allow your audio device,

00:03:35.928 --> 00:03:38.401
<v Chris>make a two-minute recording when you are done.

00:03:38.842 --> 00:03:42.435
<v Chris>You can play it back and double-check or delete it if you don't like it.

00:03:42.772 --> 00:03:45.468
<v Chris>And then you give us a name and tell us what you've been working on,

00:03:45.468 --> 00:03:46.969
<v Chris>what your project is you want to talk about.

00:03:47.422 --> 00:03:50.378
<v Chris>And if you wanted to go to the Clanker Therapy stream, you choose what are you

00:03:50.378 --> 00:03:53.684
<v Chris>building. If you wanted to go to Linux Unplugged, you choose Linux Unplugged.

00:03:54.514 --> 00:03:58.003
<v Chris>And optional contacted note, and you can send your update.

00:03:58.496 --> 00:04:02.408
<v Chris>And we will get a voice note from you. And we'll incorporate some of them into

00:04:02.408 --> 00:04:04.580
<v Chris>future episodes. We won't play all of them for airtime.

00:04:05.143 --> 00:04:09.568
<v Chris>But we'll play some future voice notes. So it's uplink.jupiterbroadcasting.com.

00:04:09.568 --> 00:04:12.806
<v Chris>We want to know about your home lab, your projects, things like that.

00:04:13.572 --> 00:04:16.118
<v Chris>and if you're a member and you

00:04:16.118 --> 00:04:20.666
<v Chris>sign them with memberful you get an extra minute you get an extra minute.

00:04:21.950 --> 00:04:26.277
<v Chris>So if you're a member, you get a three-minute voice note. And that is something

00:04:26.697 --> 00:04:30.227
<v Chris>which, if you're curious about the tech or how we built it or the story behind

00:04:30.227 --> 00:04:32.079
<v Chris>that, that's all in that clinker therapy, too.

00:04:33.136 --> 00:04:36.677
<v Chris>Uplink.jupiterbroadcasting.com. Tell us what you've been building,

00:04:36.677 --> 00:04:39.185
<v Chris>a Linux project, a Homelab project, a new desktop setup.

00:04:39.521 --> 00:04:42.023
<v Chris>We want to hear it. We built it. And it's just for you.

00:04:42.238 --> 00:04:45.506
<v Wes>And as producer Jeff says, voicemails are cool again.

00:04:45.640 --> 00:04:48.667
<v Chris>Yeah. And you don't even have to use the phone. You can use,

00:04:48.667 --> 00:04:50.824
<v Chris>like, if you've got a headset and you want to sound good.

00:04:51.009 --> 00:04:53.297
<v Wes>You don't have to go jump through a bunch of hoops. Just use that.

00:04:53.297 --> 00:04:55.667
<v Wes>Or use your phone with the browser.

00:04:55.667 --> 00:04:59.327
<v Chris>Or maybe you want to go through hoops and you could, maybe there's a way you

00:04:59.327 --> 00:05:03.207
<v Chris>could leave a voice. It probably works from the phone, Wes. You could probably do it from the phone.

00:05:03.207 --> 00:05:03.837
<v Wes>Oh, it definitely does.

00:05:04.006 --> 00:05:07.577
<v Chris>Yeah. Yeah. All right. So we thought, you know, we like to do something from

00:05:07.577 --> 00:05:10.237
<v Chris>time to time here on the show. So something a little different,

00:05:10.237 --> 00:05:12.063
<v Chris>something a little crazy.

00:05:13.996 --> 00:05:17.997
<v Chris>And we like to do a little live thing from time to time to see how it goes.

00:05:17.997 --> 00:05:21.787
<v Chris>And, you know, if you've been listening for a bit, we've been kind of toying

00:05:21.787 --> 00:05:24.447
<v Chris>behind the scenes with different ways to render our website.

00:05:24.447 --> 00:05:25.995
<v Chris>We played around with Zola.

00:05:26.471 --> 00:05:27.748
<v Chris>And that was interesting.

00:05:28.230 --> 00:05:35.451
<v Chris>But Wes and I have been wondering, could you build and deploy the entire website using Nix?

00:05:36.363 --> 00:05:40.457
<v Chris>Could Nix be the deployment method? And we wanted to see if it could do it and do it right.

00:05:41.088 --> 00:05:46.295
<v Chris>And we thought the best person to verify this would be our chief QA.

00:05:46.475 --> 00:05:47.288
<v Wes>Well, who else?

00:05:47.665 --> 00:05:55.757
<v Chris>Manager and producer brentley and so brentley we want you to go to nix.jupiterbroadcasting.com,

00:05:57.577 --> 00:06:02.751
<v Chris>and tell us how the website if it looks weird to you at all if anything seems out of place.

00:06:03.314 --> 00:06:04.037
<v Brent>Okay should i.

00:06:04.037 --> 00:06:04.937
<v Chris>Check my profile.

00:06:04.937 --> 00:06:07.459
<v Brent>Photo first is that uh how this is gonna go,

00:06:08.678 --> 00:06:14.674
<v Brent>Uh, okay. I see it looks kind of, you know, at first glance, like our website.

00:06:15.057 --> 00:06:17.554
<v Brent>That's good. Um, a couple of things might.

00:06:17.554 --> 00:06:21.924
<v Chris>You might notice new, if you go to community and matrix. Oh,

00:06:21.924 --> 00:06:23.344
<v Chris>community is dropped down.

00:06:24.024 --> 00:06:25.894
<v Chris>Oh, I think a lot of people are visiting it right now, Wes.

00:06:25.894 --> 00:06:29.464
<v Brent>Yeah. Is it running off Wes's website or laptop probably?

00:06:30.744 --> 00:06:31.224
<v Wes>It is not.

00:06:31.524 --> 00:06:33.174
<v Chris>No, it's not. No, it's not.

00:06:33.174 --> 00:06:37.324
<v Brent>Oh, there's a whole, yeah, there's a whole kind of index of all the chats that

00:06:37.324 --> 00:06:39.444
<v Brent>we use. MeshTastic podcast chatting.

00:06:39.484 --> 00:06:40.144
<v Chris>Yeah, it's a nice upcast.

00:06:40.144 --> 00:06:42.404
<v Brent>Right? Podcast chatting, that's awesome. That's very nice.

00:06:42.404 --> 00:06:43.310
<v Chris>It's a nice improvement.

00:06:43.618 --> 00:06:46.024
<v Brent>Hey, we're making it easier for everyone else.

00:06:46.104 --> 00:06:46.664
<v Wes>That's the goal.

00:06:46.664 --> 00:06:47.384
<v Brent>Yeah.

00:06:47.944 --> 00:06:49.345
<v Chris>Nothing stands out though, right?

00:06:51.084 --> 00:06:55.364
<v Brent>Not yet, although I see a couple buttons that I want to check out here.

00:06:55.364 --> 00:06:58.144
<v Brent>So, Boost, does Boost still? Oh.

00:06:58.544 --> 00:07:00.524
<v Chris>Even better now. Boost is even better now, the Boost button.

00:07:00.884 --> 00:07:01.224
<v Brent>Hey. Yeah.

00:07:02.184 --> 00:07:02.470
<v Chris>Yeah.

00:07:02.946 --> 00:07:06.586
<v Brent>Oh, that's sweet. That's what we should have put in the first place.

00:07:06.725 --> 00:07:11.927
<v Brent>So the boost leads to now boosting instead of just talking about boosting. That's way better.

00:07:13.404 --> 00:07:16.244
<v Brent>Okay, so when does this deploy or has it already been deployed?

00:07:17.331 --> 00:07:20.524
<v Chris>Well, that is on the public internet right now. Of course, it's at a subdomain.

00:07:21.704 --> 00:07:27.670
<v Chris>What if I told you that your original line of questioning was more on the money than you might know?

00:07:28.917 --> 00:07:35.558
<v Chris>It is not running on Wes's laptop, but it's not running on a VPS.

00:07:36.539 --> 00:07:38.280
<v Brent>It's running off your alarm clock.

00:07:39.418 --> 00:07:41.398
<v Chris>It's running off of Wes's Muse.

00:07:42.175 --> 00:07:42.923
<v Brent>Come on.

00:07:42.923 --> 00:07:50.443
<v Chris>The VM, Wes has gotten the VM in his Muse to install Nix and host our website.

00:07:50.443 --> 00:07:51.703
<v Brent>Wow. That's amazing.

00:07:51.703 --> 00:07:58.203
<v Chris>Yes. So this is what I want to talk about today is I don't recommend these bots

00:07:58.203 --> 00:08:01.963
<v Chris>and we'll get into the privacy stuff, but I realized something this week that

00:08:01.963 --> 00:08:03.664
<v Chris>I think has gone over everybody's head.

00:08:04.280 --> 00:08:10.603
<v Chris>And that is if these platforms start to break through, there are going to be

00:08:10.603 --> 00:08:13.248
<v Chris>millions and millions of Linux desktops deployed.

00:08:13.765 --> 00:08:15.883
<v Chris>And it does look like Muse is doing pretty well.

00:08:17.443 --> 00:08:20.923
<v Chris>It may already be in the millions of users. Every one of these commercial bot

00:08:20.923 --> 00:08:26.013
<v Chris>platforms, be it Muse, the GrokBot thing, or the OpenAI Dots,

00:08:26.013 --> 00:08:31.023
<v Chris>or some of the other ones, they all are coming with a full Linux VM.

00:08:31.290 --> 00:08:34.433
<v Chris>And some of them are actually really, really nice systems.

00:08:34.433 --> 00:08:40.483
<v Chris>Like the OpenAI Dot box is a pretty reasonable spec'd box with,

00:08:40.483 --> 00:08:44.673
<v Chris>I think, 12 gigs of RAM, was it, or something like that? And a modern Debian

00:08:44.673 --> 00:08:47.493
<v Chris>base and AMD Optron, something like that?

00:08:47.493 --> 00:08:49.163
<v Wes>I think, what, eight cores, too, maybe?

00:08:49.163 --> 00:08:53.981
<v Chris>Yeah. Yeah, and Muse is a little bit less, but it's still a full desktop VM.

00:08:54.103 --> 00:08:58.073
<v Wes>Yeah, you get eight gigs of RAM, 2X Xeon Platinums in there.

00:08:58.381 --> 00:08:59.463
<v Chris>And it's just a number of gigs.

00:08:59.463 --> 00:08:59.893
<v Wes>I think.

00:08:59.893 --> 00:09:04.713
<v Chris>It is just an implementation detail. However, the actions these agents are taking

00:09:04.713 --> 00:09:08.772
<v Chris>on behalf of their users are taking place in the Linux VM.

00:09:09.271 --> 00:09:12.403
<v Chris>So when they go out and browse the web, when they go look something up,

00:09:12.403 --> 00:09:17.148
<v Chris>when they ping an API, they're doing it, for the most part, from a Linux VM.

00:09:17.311 --> 00:09:19.128
<v Chris>from a Linux client. It's another Linux machine.

00:09:19.517 --> 00:09:23.307
<v Chris>And that's got to be good for Linux. And look at these numbers.

00:09:24.527 --> 00:09:28.142
<v Chris>Muse alone has reported half a million daily users within weeks,

00:09:28.142 --> 00:09:33.572
<v Chris>and the current numbers as of yesterday are 3 million people prompted at least once a week.

00:09:33.850 --> 00:09:38.232
<v Chris>One million people are prompting Muse every day, and more than 4 million people

00:09:38.232 --> 00:09:40.015
<v Chris>use it in some form each week.

00:09:41.212 --> 00:09:46.192
<v Chris>Every one of those 4 million users has a Linux desktop. GrokBot has hit 418,000

00:09:46.192 --> 00:09:49.604
<v Chris>weekly users as of September 14th, so that's a little old.

00:09:50.572 --> 00:09:55.322
<v Chris>and no word on OpenAI Dots yet because they're very new, but ChatGPT has 1.2

00:09:55.322 --> 00:09:56.901
<v Chris>billion active weekly users.

00:09:57.429 --> 00:10:02.961
<v Brent>Wow. This gets me thinking that our traditional ways of measuring Linux usage is very outdated now.

00:10:04.652 --> 00:10:07.234
<v Chris>I don't think we're even, I don't even think this has sunk in.

00:10:07.872 --> 00:10:09.300
<v Chris>So like take Muse, for example.

00:10:09.747 --> 00:10:12.972
<v Chris>Muse is an Ubuntu 24.05 box.

00:10:13.572 --> 00:10:15.482
<v Chris>It's got their own custom kernel seven.

00:10:16.289 --> 00:10:21.119
<v Wes>Yeah, the 6.8 if you just run with the stock distro, But clearly they're doing some special things.

00:10:21.502 --> 00:10:26.680
<v Chris>100 gigs of persistent storage. We'll get into some of the technical limitations here.

00:10:27.952 --> 00:10:31.552
<v Chris>And that's just Muse. And Muse is essentially free right now.

00:10:31.552 --> 00:10:36.772
<v Chris>It's essentially absolutely free. And if you use an invite link,

00:10:36.772 --> 00:10:39.225
<v Chris>you get a billion free tokens additional.

00:10:40.078 --> 00:10:42.695
<v Chris>GrokBot is using Firecracker Micro VM.

00:10:43.688 --> 00:10:49.832
<v Chris>And it's a little more expensive. but it's again a full Linux desktop and then

00:10:49.832 --> 00:10:54.912
<v Chris>the OpenAI dots went all the way depending on the image you get it could be

00:10:54.912 --> 00:10:58.223
<v Chris>Ubuntu 24.4 some report the one I tested was Debian Trixie,

00:10:59.460 --> 00:11:01.724
<v Chris>Linux 6.18.4.4 but get this Brent,

00:11:03.534 --> 00:11:08.853
<v Chris>The .Linux VM includes an XFCE desktop, a terminal emulator,

00:11:08.853 --> 00:11:15.533
<v Chris>a file manager, a browser, Blender, GIMP, Inkscape, KDNLive, like more and more.

00:11:17.901 --> 00:11:22.053
<v Chris>And the agent can use all of it. And you can take over. In the web browser,

00:11:22.053 --> 00:11:23.803
<v Chris>you can take over the desktop session.

00:11:23.803 --> 00:11:29.853
<v Brent>It seems like those installs are pretty targeted, though, to visual arts, I would say.

00:11:29.853 --> 00:11:30.179
<v Chris>Yeah.

00:11:30.394 --> 00:11:33.017
<v Brent>Which is not the first place I expected that to go.

00:11:33.888 --> 00:11:37.343
<v Chris>A lot of those tools can be stacked to, like, grab clips for people and,

00:11:37.343 --> 00:11:39.173
<v Chris>you know, make little videos.

00:11:39.173 --> 00:11:40.843
<v Wes>Edit or change images.

00:11:43.470 --> 00:11:46.603
<v Chris>The numbers could be pretty nuts in that it's like it reminds me of Android

00:11:46.603 --> 00:11:48.956
<v Chris>where we got millions of Linux users, but they don't even know it.

00:11:50.076 --> 00:11:54.603
<v Chris>But there is the incentive for certain hardware device manufacturers now to

00:11:54.603 --> 00:12:00.313
<v Chris>target Linux because of that fact. You know, like, it feels like it's a version

00:12:00.313 --> 00:12:03.811
<v Chris>of that, only it's not just the kernel now, it's a full Linux desktop.

00:12:03.956 --> 00:12:07.933
<v Wes>If you want folks as, you know, helper agents to be able to use your thing,

00:12:07.933 --> 00:12:09.987
<v Wes>well, then it better support Linux.

00:12:10.678 --> 00:12:13.903
<v Chris>Let's talk a little bit about the design, too, because they're trying to do

00:12:13.903 --> 00:12:18.653
<v Chris>these in a secure way. And Meta's pitch is for Muse is that every user gets

00:12:18.653 --> 00:12:20.204
<v Chris>their own Linux computer in the cloud.

00:12:20.332 --> 00:12:24.313
<v Chris>Nat Friedman said it out on X, I think he said, quote, a free Linux computer

00:12:24.313 --> 00:12:25.800
<v Chris>in the cloud with every Muse.

00:12:26.671 --> 00:12:32.656
<v Chris>And the way they're doing it is a container that sits on top of a VM.

00:12:32.963 --> 00:12:36.237
<v Chris>And the container runs under systemd nspawn as PID1.

00:12:37.217 --> 00:12:39.263
<v Chris>And then they just wipe that container, right?

00:12:39.263 --> 00:12:43.003
<v Wes>Yep. That's their, like, deploy mechanism. Yeah. So you do get like there is

00:12:43.003 --> 00:12:45.698
<v Wes>a VM from cloud hypervisor that sort of runs everything.

00:12:45.907 --> 00:12:49.773
<v Wes>But then internally, like, yeah, all the the only thing that really persists

00:12:49.773 --> 00:12:52.113
<v Wes>is your home slash home slash hatch.

00:12:52.923 --> 00:12:56.263
<v Wes>And then they use the container to sort of deploy everything around that.

00:12:56.263 --> 00:12:59.514
<v Wes>A lot of the environment kind of sets everything up and it makes it so that

00:12:59.770 --> 00:13:03.873
<v Wes>like because they'll restart the service frequently every couple of hours overnight.

00:13:03.873 --> 00:13:05.163
<v Chris>They're doing updates during the day.

00:13:05.563 --> 00:13:09.413
<v Wes>And they've tried to make it work so that they can just sort of cleanly roll things out.

00:13:09.413 --> 00:13:13.103
<v Wes>And maybe you notice a little blip and the bot isn't showing up as green for

00:13:13.103 --> 00:13:16.583
<v Wes>a second or something. But otherwise, it just gets it right back into action.

00:13:16.583 --> 00:13:21.293
<v Wes>And as long as you're not relying on anything that just got rolled by the container update, you'll be okay.

00:13:21.293 --> 00:13:23.512
<v Chris>But it does mean you lose everything outside your home directory.

00:13:23.698 --> 00:13:24.168
<v Wes>Yes.

00:13:24.638 --> 00:13:27.803
<v Chris>But you can design around that, obviously, as Wes has, which we'll talk about

00:13:27.803 --> 00:13:30.118
<v Chris>more later. There's also...

00:13:31.262 --> 00:13:36.235
<v Chris>A really kind of super strict network design around Muse.

00:13:37.110 --> 00:13:43.161
<v Chris>Really, the Muse VM has no direct access to the internet, inbound or outbound.

00:13:44.571 --> 00:13:49.110
<v Chris>So anything you do is definitely being intercepted by meta.

00:13:49.110 --> 00:13:51.980
<v Wes>DNS is intercepted. TLS is intercepted.

00:13:51.980 --> 00:13:52.930
<v Chris>These are not private.

00:13:52.930 --> 00:13:55.890
<v Wes>There's no UDP at all, including loopback.

00:13:56.370 --> 00:13:59.870
<v Chris>So there's a lot of VPNs that won't work, too, because of the way they've structured

00:13:59.870 --> 00:14:02.330
<v Chris>their network. There's a lot of apps that rely on UDP that won't work.

00:14:02.776 --> 00:14:05.649
<v Chris>A lot of network communications tools that rely on UDP that won't work.

00:14:05.788 --> 00:14:09.360
<v Wes>Yeah, egress is basically all done through an authenticated HTTP proxy.

00:14:09.360 --> 00:14:13.950
<v Wes>Port 22 is blocked. You can get SSH to work, but you have to jump through a couple of hoops.

00:14:13.950 --> 00:14:19.550
<v Chris>And you can get Tailscale to work, which is surprising. And that's because Tailscale

00:14:19.550 --> 00:14:24.092
<v Chris>supports derp, which is how it's able to communicate in this funky network setup.

00:14:24.399 --> 00:14:28.776
<v Wes>But what that allows is that they've got this separate sentinel that they call.

00:14:29.194 --> 00:14:33.490
<v Wes>and it's able to then do fine-grained control. So you can allow access to a

00:14:33.490 --> 00:14:35.155
<v Wes>particular domain or whatever once,

00:14:35.451 --> 00:14:37.810
<v Wes>or you can allow it all the time and a prompt just sort of loads that.

00:14:37.810 --> 00:14:41.180
<v Wes>And that's all done by sort of not restricting what the request sort of,

00:14:41.523 --> 00:14:45.920
<v Wes>you can make in theory inside the VM, but just only allowing ones to succeed

00:14:45.920 --> 00:14:47.490
<v Wes>that actually go through their gateway.

00:14:48.332 --> 00:14:51.910
<v Chris>And on the topic of networking, GrokBot, just really quickly,

00:14:52.430 --> 00:14:55.030
<v Chris>I'd say you could characterize it as probably the most open.

00:14:55.030 --> 00:14:58.026
<v Chris>There are ways to connect it to external services and it can communicate.

00:14:58.700 --> 00:15:04.040
<v Chris>And then what they do with GrokBot is they sell the lockdown as kind of like

00:15:04.040 --> 00:15:06.630
<v Chris>an enterprise upsell. So if you want the business version of GrokBot,

00:15:06.630 --> 00:15:07.605
<v Chris>they start locking that down.

00:15:08.550 --> 00:15:14.843
<v Chris>And then on OpenAI Dots, the picture is much more murky.

00:15:15.302 --> 00:15:19.560
<v Chris>And the irony and the pitch with OpenAI Dots is that if you get a dot,

00:15:19.560 --> 00:15:25.190
<v Chris>you get GPT-6 Astra behind it, supposedly the best of all of these agentic platforms

00:15:25.190 --> 00:15:26.709
<v Chris>that they're just begging you to use.

00:15:27.621 --> 00:15:31.406
<v Chris>Muse is actually quite good, but, you know, it's not the frontier model or whatever the crap.

00:15:31.769 --> 00:15:36.107
<v Chris>But this thing is so constrained at the agentic layer that it really doesn't know what's going on.

00:15:36.374 --> 00:15:39.710
<v Chris>It appears from what I can tell that a lot of the security practices and the

00:15:39.710 --> 00:15:43.930
<v Chris>networking best practices and all of that are like almost like at the agent's

00:15:43.930 --> 00:15:48.480
<v Chris>MD level for this thing and not at like the OS and architecture level.

00:15:48.480 --> 00:15:50.240
<v Chris>Where with Muse, they are at

00:15:50.240 --> 00:15:54.224
<v Chris>the OS and architecture level and the Muse agent can just figure it out.

00:15:54.985 --> 00:15:59.454
<v Chris>But with dots, because it's being constrained more at the agent layer, it won't push.

00:16:00.810 --> 00:16:06.560
<v Chris>It kind of refers you to open AI support instead. It won't do – I have to really push it to –.

00:16:08.352 --> 00:16:12.699
<v Chris>Really make modifications like just as a brief aside you could ask muse where

00:16:12.699 --> 00:16:16.109
<v Chris>was my persistent storage and where is it not and muse can answer that the dot

00:16:16.109 --> 00:16:20.139
<v Chris>cannot you have to just have it deploy files and monitor them for 24 hours and

00:16:20.139 --> 00:16:21.449
<v Chris>tell you what files persisted.

00:16:21.449 --> 00:16:24.780
<v Wes>Yeah it really feels like the muse bot is just sort of sitting in this you know

00:16:24.960 --> 00:16:28.399
<v Wes>containerized linux environment and within that is happy to try to poke around

00:16:28.399 --> 00:16:29.899
<v Wes>for it's surprisingly unrestricted,

00:16:30.363 --> 00:16:34.329
<v Wes>yeah whereas you got to wonder as on the dot side like is it a more limited

00:16:34.329 --> 00:16:36.979
<v Wes>harness experience where it's mostly just sort of adjudicated,

00:16:37.459 --> 00:16:40.569
<v Wes>APIs and not like a full-fat shell, something like that.

00:16:40.569 --> 00:16:46.319
<v Chris>Feels like that to me. It definitely, I was able to get Nix installed in my

00:16:46.319 --> 00:16:50.558
<v Chris>.vm and get it persistently reloaded after VM wipes. So I did get there after a while.

00:16:50.738 --> 00:16:53.902
<v Chris>But architecturally, Wes, is there anything else you think it's worth noting,

00:16:54.999 --> 00:16:58.685
<v Chris>how these things are set up from like a Linux VM or system standpoint?

00:16:58.958 --> 00:17:01.899
<v Wes>Well, yeah, like we've tried to dig into some of the details. there's,

00:17:02.679 --> 00:17:06.309
<v Wes>mixed a lot of you know sort of assumptions or guesses because not all of the

00:17:06.309 --> 00:17:10.479
<v Wes>details are public it does seem like meta has been particularly fairly open

00:17:10.479 --> 00:17:14.487
<v Wes>about a lot of the design and and in their case they're using a lot of ebpf,

00:17:15.050 --> 00:17:20.054
<v Wes>um like they have one thing that you might run into when you try to get something like nix working is,

00:17:20.518 --> 00:17:24.953
<v Wes>uh they use extended attributes to sort of track files that you've modified

00:17:25.266 --> 00:17:28.479
<v Wes>so they have two particular ones and they mark stuff that gets downloaded from

00:17:28.479 --> 00:17:32.771
<v Wes>the network and they also mark any user modified or created files and

00:17:33.177 --> 00:17:36.799
<v Wes>you you can list that you can see it they don't hide it from you but you can't

00:17:36.799 --> 00:17:40.619
<v Wes>remove it at least from you know within the within the virtual machine so they're

00:17:40.619 --> 00:17:44.089
<v Wes>clearly and i think then they have um like ebpf filtering for that kind of thing

00:17:44.089 --> 00:17:46.186
<v Wes>and are doing a whole bunch of extra sort of,

00:17:47.059 --> 00:17:50.829
<v Wes>i assume observe observability and telemetry on that because it does seem like

00:17:50.829 --> 00:17:54.319
<v Wes>they've they've really put work into the harness engineering side of this whether

00:17:54.319 --> 00:17:58.259
<v Wes>or not you like the product or want use it or trust them. It is kind of impressive. It is...

00:18:00.345 --> 00:18:02.910
<v Wes>Well integrated. They have crons that seem to work quite well.

00:18:03.910 --> 00:18:07.015
<v Wes>It has no problem doing subagents or polling.

00:18:07.438 --> 00:18:09.960
<v Wes>And all within a VM, it is happy to poke around.

00:18:09.960 --> 00:18:14.380
<v Chris>I want to talk about that just for a moment. I'll start with the privacy aspect

00:18:14.380 --> 00:18:16.204
<v Chris>because I do feel like this is the elephant in the room.

00:18:16.750 --> 00:18:21.420
<v Chris>All of these are a privacy nightmare. Like in the case of connecting your Gmail

00:18:21.420 --> 00:18:25.050
<v Chris>accounts, they all, when you start them, want to immediately connect to your

00:18:25.050 --> 00:18:27.401
<v Chris>Google Calendar, your Gmail inbox.

00:18:27.969 --> 00:18:31.220
<v Chris>And in the case of Muse, and I'm certain this is how the other ones are doing it,

00:18:32.091 --> 00:18:35.911
<v Chris>those emails are getting pulled into a queue box that lives outside your Muse,

00:18:36.735 --> 00:18:41.230
<v Chris>that lives outside the VM, that lives outside your agent, that is a service

00:18:41.230 --> 00:18:43.310
<v Chris>that Meta runs and a service that OpenAI runs.

00:18:43.310 --> 00:18:47.290
<v Chris>And it creates like a queue, and then the agents basically over like an MCP,

00:18:47.956 --> 00:18:51.288
<v Chris>can connect to that queue and check for email for you. So that's doing the pulling.

00:18:51.648 --> 00:18:54.610
<v Chris>And while it's in that queue, there's absolutely nothing that says they couldn't

00:18:54.610 --> 00:18:56.228
<v Chris>be reading all of those emails, right?

00:18:56.402 --> 00:18:59.763
<v Chris>And this is the problem throughout. They can do DNS interception.

00:19:00.129 --> 00:19:04.489
<v Chris>They can tell what files you've modified. It's clearly not a private platform,

00:19:04.947 --> 00:19:08.343
<v Chris>where when you do this stuff with something like Hermes or OpenClaw,

00:19:09.250 --> 00:19:12.598
<v Chris>that data exists on your system to the extent of what it sends to the LLM or not.

00:19:12.964 --> 00:19:15.120
<v Wes>Yeah, it does seem like they're trying to give you control. Like it is pretty

00:19:15.120 --> 00:19:16.770
<v Wes>transparent about the network stuff, right?

00:19:17.510 --> 00:19:20.075
<v Chris>They are very transparent about everything, actually. You can ask it. It will tell you.

00:19:20.470 --> 00:19:24.310
<v Wes>And I think they're going to offer something like confidential VMs where they

00:19:24.310 --> 00:19:25.525
<v Wes>do more encryption or whatever.

00:19:25.763 --> 00:19:30.505
<v Wes>But yeah, fundamentally, you just can't really trust that beyond what you're willing to.

00:19:30.772 --> 00:19:33.298
<v Chris>And then the other thing that struck me compared to now, you know,

00:19:33.553 --> 00:19:36.072
<v Chris>so what's happened is, what I realized is,

00:19:36.694 --> 00:19:39.770
<v Chris>January and February, we started getting our own agentic harnesses,

00:19:39.770 --> 00:19:42.737
<v Chris>and people that can self-host had access to this pretty early in the year.

00:19:43.115 --> 00:19:46.300
<v Chris>Now what we're seeing is the mass consumer versions of these,

00:19:46.300 --> 00:19:48.804
<v Chris>where they have commoditized the technology.

00:19:49.198 --> 00:19:52.590
<v Chris>They have bought the compute infrastructure, like meta overbought infrastructure.

00:19:52.590 --> 00:19:54.609
<v Chris>So that's why they can give Muse away for free for a while.

00:19:54.934 --> 00:19:58.200
<v Chris>And then their intention to monetize is that you're going to love using this

00:19:58.200 --> 00:20:01.737
<v Chris>thing so much that you'll do transactions that they can take a piece of the action on.

00:20:02.091 --> 00:20:04.840
<v Chris>So they have all this compute. They have all this strategy. that can now bring

00:20:04.840 --> 00:20:07.867
<v Chris>it and blast it to everybody's Facebook feed and everybody's Instagram feed.

00:20:08.181 --> 00:20:11.658
<v Chris>And they can take something that was only available to us geeks back in February

00:20:11.925 --> 00:20:15.768
<v Chris>and just 10 months later, now it's available to anybody that has an Instagram account.

00:20:16.134 --> 00:20:19.620
<v Chris>That's where we're at now. Or anybody that has a ChatGPT account or anybody

00:20:19.620 --> 00:20:22.397
<v Chris>that has an X account and they're willing to pay the fee.

00:20:23.220 --> 00:20:26.940
<v Chris>Or Muse is free. So this is where we're at. And it's all running on Linux.

00:20:26.940 --> 00:20:30.551
<v Chris>The whole stack is running on Linux, right? So that element I like.

00:20:30.946 --> 00:20:33.750
<v Chris>And when you start using them initially, if you're familiar with the self-hosted

00:20:33.750 --> 00:20:36.698
<v Chris>versions, they feel very primitive and very basic.

00:20:37.023 --> 00:20:39.630
<v Chris>But as you continue to use, or in our case, poke and test at them,

00:20:39.938 --> 00:20:43.110
<v Chris>you will find that they actually have incorporated ideas that we spent a lot

00:20:43.110 --> 00:20:44.680
<v Chris>of time building the last 10 months.

00:20:45.040 --> 00:20:48.570
<v Chris>They've just baked it right into their product. And the normies just get it by clicking a button.

00:20:48.570 --> 00:20:49.945
<v Wes>Clearly been paying attention.

00:20:50.056 --> 00:20:52.950
<v Chris>Yeah. Like if you've ever had a problem getting your agent to follow up on a

00:20:52.950 --> 00:20:56.140
<v Chris>task, they've all solved that, buddy. If it says I'll report back when it's

00:20:56.140 --> 00:20:57.740
<v Chris>done, it reports back when it's done.

00:20:57.740 --> 00:20:59.130
<v Wes>Yeah, very good at that.

00:20:59.130 --> 00:21:01.381
<v Chris>Lots of little things. It's like clearly they've polished that.

00:21:01.869 --> 00:21:04.730
<v Chris>And it's going to be compelling to some people. and they're all going to,

00:21:04.730 --> 00:21:06.240
<v Chris>I mean, there are millions of people already.

00:21:06.414 --> 00:21:11.020
<v Wes>In that sense, it's almost like, you know, again, I agree with all of the qualifiers.

00:21:11.020 --> 00:21:11.340
<v Chris>Yeah.

00:21:11.340 --> 00:21:16.290
<v Wes>It is somewhat heartening to see a product rollout in this category that isn't

00:21:16.290 --> 00:21:20.439
<v Wes>trash because we've seen a lot of really bad rollouts for quote unquote AI.

00:21:21.268 --> 00:21:23.916
<v Wes>And we've talked a bit about some of the backlash from that.

00:21:23.916 --> 00:21:26.476
<v Wes>So I'm not saying this is a perfect product or that y'all should use it.

00:21:26.476 --> 00:21:28.750
<v Wes>It doesn't really respect a lot of the stuff we like on the show.

00:21:28.878 --> 00:21:33.066
<v Chris>It's pretty much better than every other AI product big tech companies have rolled out.

00:21:33.066 --> 00:21:33.470
<v Wes>Yeah.

00:21:34.376 --> 00:21:36.622
<v Chris>And it comes with a Linux VM. I mean, I just, again.

00:21:36.866 --> 00:21:38.936
<v Wes>That you can install almost whatever you want.

00:21:38.956 --> 00:21:41.416
<v Chris>Well, we can even run a website on it, which we'll get to in a moment.

00:21:41.416 --> 00:21:42.845
<v Chris>But your thoughts so far, Brentley?

00:21:43.594 --> 00:21:46.107
<v Brent>Yeah. This feels like we've gotten to the point where,

00:21:48.319 --> 00:21:53.770
<v Brent>we're seeing like mass shifting compute to the cloud or whatever you want to call it.

00:21:54.636 --> 00:21:58.436
<v Brent>And away from personal devices. So, you know, those of us who are listening

00:21:58.436 --> 00:22:02.586
<v Brent>to the show are fine because we have way too many computers probably around

00:22:02.586 --> 00:22:04.216
<v Brent>us and we're doing all sorts of things with them.

00:22:04.216 --> 00:22:09.706
<v Brent>But this feels like a major shift. Like if they're deploying millions of these

00:22:09.706 --> 00:22:14.496
<v Brent>on a daily basis, it's just a matter of time that most people are using these

00:22:14.496 --> 00:22:18.522
<v Brent>if this catches on in the way that we're seeing at least early.

00:22:19.256 --> 00:22:22.766
<v Chris>And what cooks my noodle is the way people are going to be interacting with

00:22:22.766 --> 00:22:27.576
<v Chris>the Linux desktop in a way that outnumbers all of us is they're going to open

00:22:27.576 --> 00:22:30.120
<v Chris>up an app on their phone and they're going to ask it to do a thing.

00:22:30.857 --> 00:22:34.726
<v Chris>And then the thing that they need that needs done will be will happen on the

00:22:34.726 --> 00:22:37.776
<v Chris>Linux box. and then it'll launch a chrome browser and.

00:22:37.776 --> 00:22:41.836
<v Wes>Go look at stuff and yeah take screenshots it.

00:22:41.836 --> 00:22:43.196
<v Chris>Kind of reminds me of.

00:22:43.196 --> 00:22:48.006
<v Brent>The like popularity of linux through android but now it's just another version.

00:22:48.006 --> 00:22:51.056
<v Chris>Of it which i agree both very cool technically.

00:22:51.056 --> 00:22:55.266
<v Wes>And unfortunate which i mean kind of one of linus's goals right.

00:22:55.266 --> 00:22:59.423
<v Chris>But out of all of those the androids the tivos,

00:23:00.956 --> 00:23:05.990
<v Chris>This one maybe has the most upside for desktop Linux users because these are

00:23:05.990 --> 00:23:10.662
<v Chris>Linux desktops using Linux desktop applications with Linux desktop web agents.

00:23:11.596 --> 00:23:15.250
<v Chris>Right? Like before, it was all lower level kernel stuff, networking drivers.

00:23:15.250 --> 00:23:16.470
<v Wes>Embedded devices.

00:23:16.470 --> 00:23:19.826
<v Chris>Maybe they didn't even want like the user land, right? But this,

00:23:20.111 --> 00:23:24.850
<v Chris>like if you open up an OpenAI dot and you go and look at the – they will all

00:23:24.850 --> 00:23:29.794
<v Chris>show you their computer screens. GrokBot, Muse, they all let you just basically VNC into the computer.

00:23:30.299 --> 00:23:33.700
<v Chris>And the dot one is just sitting there with an XFCE desktop with a freaking dock,

00:23:34.188 --> 00:23:36.667
<v Chris>and Chromium just sitting there ready to go.

00:23:37.085 --> 00:23:40.640
<v Chris>That's its default state. And you can click on the terminal and you can uname

00:23:40.640 --> 00:23:43.871
<v Chris>dash A and you can type. It's wild.

00:23:44.920 --> 00:23:47.880
<v Chris>Or you tell them the thing to do it and you can watch it. You can sit there

00:23:47.880 --> 00:23:49.300
<v Chris>and watch it use the computer.

00:23:49.300 --> 00:23:49.827
<v Brent>Wow.

00:23:51.655 --> 00:23:54.465
<v Chris>It doesn't seem like the most efficient way. Like, you know,

00:23:54.465 --> 00:23:59.245
<v Chris>it reminds me like KDE Plasma was thinking about ways to make it more friendly

00:23:59.245 --> 00:24:01.215
<v Chris>for AI workflows. Well, here you go.

00:24:02.315 --> 00:24:04.175
<v Wes>Like, yeah, don't force it to take the slope.

00:24:05.535 --> 00:24:09.505
<v Brent>I'm surprised they're not using desktops that are more like AI friendly.

00:24:09.870 --> 00:24:11.774
<v Brent>Like, why didn't they choose Hypervibe?

00:24:12.157 --> 00:24:15.915
<v Chris>Well, I mean, I imagine because they want something that's low resources,

00:24:15.915 --> 00:24:18.195
<v Chris>doesn't need a compositor, you know, that has a GPU.

00:24:18.515 --> 00:24:19.215
<v Brent>Didn't we see?

00:24:19.215 --> 00:24:20.755
<v Wes>Reliable remote setup.

00:24:20.755 --> 00:24:22.360
<v Chris>Yeah, because you're using this like through VNC.

00:24:23.359 --> 00:24:28.785
<v Brent>But didn't we see Hyperland getting, was it Hyperland getting like APIs or MCPs

00:24:28.785 --> 00:24:32.294
<v Brent>to use the desktop itself? Wouldn't that be far more efficient?

00:24:32.838 --> 00:24:36.625
<v Chris>Sure would be. Also, you could do this with Pipewire and RDP and that would

00:24:36.625 --> 00:24:38.515
<v Chris>also be more efficient. But I mean.

00:24:38.555 --> 00:24:40.585
<v Wes>It'd be interesting to know exactly what they are doing.

00:24:40.585 --> 00:24:43.625
<v Chris>Somebody will probably figure it out, but it's amazing they've gotten this far

00:24:43.625 --> 00:24:50.565
<v Chris>in some ways. It's just mind-blowing that Linux desktop is just a feature that

00:24:50.565 --> 00:24:51.514
<v Chris>comes with these things.

00:24:51.769 --> 00:24:56.360
<v Chris>Just a whole frickin' VM with RAM and disks, you know, various amounts.

00:24:56.738 --> 00:24:58.097
<v Brent>We're just a commodity now.

00:24:58.659 --> 00:25:05.185
<v Chris>Oh, here it is. Yeah, AMD Epic CPUs and the OpenAI dot. Some people are reporting 32 gigs of RAM.

00:25:07.774 --> 00:25:11.855
<v Chris>In this day and age, we could raise RAM prices? 32 gigs of RAM?

00:25:12.095 --> 00:25:14.165
<v Wes>You're going to have to spend a little bit just to get that for yourself.

00:25:14.165 --> 00:25:19.125
<v Chris>So it just begs the question, is there something more you could do with this?

00:25:19.125 --> 00:25:23.178
<v Chris>Like if Muse and Dots are going to be thrown in your face for free,

00:25:23.857 --> 00:25:27.855
<v Chris>is there something more you could do with that Linux box? That was the question

00:25:27.855 --> 00:25:32.785
<v Chris>we asked ourself, and I think you already know the answer. I think it's time we tell you how we did it.

00:25:41.755 --> 00:25:45.953
<v Brent>Well, I've been kind of busy this week, not really connected as I usually am

00:25:45.953 --> 00:25:48.860
<v Brent>to our conversations here internally at JB.

00:25:49.232 --> 00:25:51.612
<v Brent>And I noticed this part of the segment of the show just says,

00:25:52.363 --> 00:25:57.040
<v Brent>Wes. So, Wes, what the heck is going on? What have you gotten yourself into?

00:25:57.353 --> 00:25:58.543
<v Chris>Wes, what have you done?

00:25:59.431 --> 00:26:03.523
<v Wes>Yeah, well, I mean, it started just with, you know, the obsession with Nix,

00:26:04.063 --> 00:26:06.753
<v Wes>if I'm honest, right? Because I got on this thing where, you know,

00:26:06.753 --> 00:26:10.368
<v Wes>we were making some updates, working with the website a little bit.

00:26:11.003 --> 00:26:14.543
<v Wes>and I just wanted to be able to do it all with Nix and not have to deal with,

00:26:15.023 --> 00:26:18.123
<v Wes>the containerized setup, which is totally fine and definitely works,

00:26:18.123 --> 00:26:20.757
<v Wes>but I already have Nix all set up.

00:26:20.885 --> 00:26:25.163
<v Wes>Plus, then I realized, like, we're more than a few versions behind on Hugo at

00:26:25.163 --> 00:26:29.035
<v Wes>this point. There's some other stuff under the hood, like the horribleness of

00:26:29.291 --> 00:26:34.271
<v Wes>Dart sass and upgrades to Libsass and deprecations and things there.

00:26:34.591 --> 00:26:37.627
<v Wes>And I wanted to be able to test things out, right?

00:26:38.637 --> 00:26:43.723
<v Wes>And here at the same time, I'd been playing with Muse just to see what was this

00:26:43.723 --> 00:26:45.853
<v Wes>all about? How does it compare with the various setups?

00:26:45.853 --> 00:26:48.103
<v Chris>Honestly, when somebody's going to throw that much free compute at you.

00:26:48.443 --> 00:26:49.335
<v Wes>Yeah. Mm-hmm.

00:26:50.601 --> 00:26:54.619
<v Wes>And so it just sort of clicked, and I thought, well, why not just test it this

00:26:54.619 --> 00:26:58.136
<v Wes>way? I don't have to spin up a VPS. I've already got a VPS.

00:26:58.763 --> 00:27:03.099
<v Chris>The Muse. Well, and also, you know, these are shipping Ubuntu or Debian,

00:27:03.099 --> 00:27:07.579
<v Chris>right? There's maybe some logic to having the Nix package manager inside these

00:27:07.579 --> 00:27:10.009
<v Chris>because it just opens you up to so much.

00:27:10.009 --> 00:27:12.769
<v Wes>App does a lot, which is great, but there's going to be stuff that App doesn't

00:27:12.769 --> 00:27:15.889
<v Wes>have. And then your bot's probably going to come up with whatever ad hoc way

00:27:15.889 --> 00:27:19.869
<v Wes>it happens to land on to go download a binary or install Homeware or whatever it does.

00:27:19.869 --> 00:27:26.225
<v Chris>Like, for example, in my Muse and in my Dot, I have OpenCode set up.

00:27:26.434 --> 00:27:29.342
<v Chris>And I want OpenCode version 2 because it has an API backend.

00:27:29.888 --> 00:27:34.067
<v Chris>And version 1 is available in Debian, but version 2 is not.

00:27:34.456 --> 00:27:37.529
<v Chris>It's available in NPM, but I don't want to deal with that. I want to use Nix

00:27:37.529 --> 00:27:39.605
<v Chris>packages to manage that and install that for me.

00:27:39.977 --> 00:27:44.238
<v Chris>So in my Muse and in my Dot, I have Nix packages installed.

00:27:44.917 --> 00:27:49.265
<v Chris>And then they installed OpenCode with the API backend and the Goal plugin.

00:27:49.787 --> 00:27:56.069
<v Chris>and I authorized it to my OpenCode account and I can, through Muse and through

00:27:56.069 --> 00:28:01.339
<v Chris>Dot, submit jobs to OpenCode and have it build on Space Bunny or something and

00:28:01.339 --> 00:28:03.098
<v Chris>then they can monitor it through the API.

00:28:04.109 --> 00:28:06.546
<v Chris>And when it's time for an update, they use Nix packages to update it.

00:28:07.388 --> 00:28:09.593
<v Wes>Which is kind of what you exactly wanted, right?

00:28:09.593 --> 00:28:12.813
<v Chris>Yeah, I just basically have a little background build machine that's always

00:28:12.813 --> 00:28:15.893
<v Chris>just working on something. I mean, if you're going to give me free compute,

00:28:15.893 --> 00:28:18.068
<v Chris>I'm just going to have it sit there turning on something. And,

00:28:19.353 --> 00:28:22.782
<v Chris>you know, Space Bunny's free right now, too. So I'm going to eat it up,

00:28:23.333 --> 00:28:24.473
<v Chris>you know, build that Nix stuff.

00:28:24.473 --> 00:28:28.733
<v Wes>There are some hoops you've got to jump through with Nix because of those extended

00:28:28.733 --> 00:28:30.090
<v Wes>attributes in particular.

00:28:30.328 --> 00:28:33.453
<v Wes>Because Nix wants to be really pure. And so it's going to want to try to strip

00:28:33.453 --> 00:28:37.343
<v Wes>extended attributes to keep things fully under its control and deterministic

00:28:37.343 --> 00:28:38.716
<v Wes>when it's adding stuff to the store.

00:28:39.134 --> 00:28:42.815
<v Wes>But you're not allowed to remove those extended attributes.

00:28:43.833 --> 00:28:46.385
<v Wes>So ultimately, we've explored like a few different things.

00:28:46.600 --> 00:28:49.543
<v Chris>That's funny because I was sorry to interrupt, but I was going to say the trickiest

00:28:49.543 --> 00:28:50.953
<v Chris>thing is that they wipe themselves.

00:28:50.953 --> 00:28:52.413
<v Wes>Well, that too. That's also.

00:28:52.773 --> 00:28:55.863
<v Chris>And so you have to build it in a way that recovers from a complete system wipe.

00:28:55.863 --> 00:28:57.303
<v Wes>But you have to get it working first.

00:28:57.303 --> 00:29:01.213
<v Chris>Yeah, yeah, yeah. So these are the caveats. And then you've got the networking caveats.

00:29:01.213 --> 00:29:06.663
<v Wes>It does look like we've explored, like we had the bot write like an LD preload shim for a while.

00:29:06.663 --> 00:29:09.913
<v Wes>I explored a custom Nix build, but it does look like there are sufficient config

00:29:09.913 --> 00:29:13.913
<v Wes>options that you can get it to totally ignore those ACLs. There's an ignore

00:29:13.913 --> 00:29:16.713
<v Wes>ACL option, essentially, and then not have to worry about it.

00:29:17.173 --> 00:29:20.893
<v Wes>But then you run into that second problem, which is like if you have a regular

00:29:20.893 --> 00:29:23.283
<v Wes>slash Nix or something, that's just going to get wiped. Or if you put it on

00:29:23.283 --> 00:29:25.823
<v Wes>a temp FS, there's only like two gigs available there by default.

00:29:25.823 --> 00:29:26.473
<v Chris>And it'll get wiped.

00:29:26.473 --> 00:29:30.692
<v Wes>And yeah, and it's the only real static places under slash home slash hatch.

00:29:30.930 --> 00:29:34.433
<v Wes>And then what you are going to want to end up doing is writing some wrappers.

00:29:34.433 --> 00:29:35.388
<v Wes>You know how we love wrappers.

00:29:35.731 --> 00:29:38.183
<v Wes>Because you want something idempotent so that it basically can,

00:29:38.183 --> 00:29:41.133
<v Wes>every time it runs, it can say, like, am I set up? Okay, great.

00:29:41.133 --> 00:29:44.316
<v Wes>Use the tool normally. If not, go re-bootstrap the environment,

00:29:44.572 --> 00:29:47.733
<v Wes>which is pretty fast, actually, but still needs to be done.

00:29:47.733 --> 00:29:52.083
<v Chris>Another trick you could add to that is the scheduler is persistent and the home

00:29:52.083 --> 00:29:55.810
<v Chris>directory is persistent. So you could, if you knew the wipe schedule or...

00:29:56.668 --> 00:30:01.863
<v Chris>Every so often, you could have cron essentially reset up your environment when

00:30:01.863 --> 00:30:03.973
<v Chris>it gets wiped out or something. Do a little check and then reset it up.

00:30:03.973 --> 00:30:09.013
<v Wes>Yes. And that has been a huge help in making this website not fall apart constantly.

00:30:10.053 --> 00:30:12.093
<v Chris>These are some of the limitations Wes had to work around.

00:30:12.433 --> 00:30:15.733
<v Wes>Yeah, exactly. So, like, right now, you know, the request press,

00:30:15.733 --> 00:30:19.753
<v Wes>I am using a VPS, but that's just for a public IP, essentially. Proxy.

00:30:20.393 --> 00:30:24.863
<v Wes>Yep. And then because you need some kind of proxying going on and you have to

00:30:24.863 --> 00:30:30.263
<v Wes>get through the sort of approved egress going out of this whole setup from the

00:30:30.263 --> 00:30:34.413
<v Wes>Sentinel, I'm using essentially a nice SSH forwarding setup.

00:30:34.413 --> 00:30:36.493
<v Chris>Ah, classic. A goodie.

00:30:36.493 --> 00:30:40.253
<v Wes>But even that, there have been times where the egress has been a little bit flaky.

00:30:40.253 --> 00:30:45.103
<v Wes>So you're definitely going to want to build in some ability to handle drops.

00:30:45.103 --> 00:30:48.503
<v Wes>At one point it was like, today it's been pretty good. But, you know,

00:30:48.503 --> 00:30:51.343
<v Wes>there were times where, like, 50% loss on some of the connections.

00:30:51.343 --> 00:30:54.173
<v Wes>So it needs to be resilient, reset itself up, that kind of thing.

00:30:54.713 --> 00:30:59.793
<v Chris>So you got a SSH tunnel going back to a VPS, where a VPS is running with a public

00:30:59.793 --> 00:31:05.523
<v Chris>IP and a little NGINX proxy that's just taking the port 80 traffic and the 443

00:31:05.523 --> 00:31:07.794
<v Chris>traffic and sending it back over the SSH tunnel.

00:31:08.218 --> 00:31:08.497
<v Wes>Right.

00:31:09.416 --> 00:31:10.416
<v Chris>Then sending to the muse.

00:31:10.936 --> 00:31:15.266
<v Wes>And then yeah and then on the muse thing uh i essentially gave it uh access

00:31:15.266 --> 00:31:19.076
<v Wes>to the version of the site that's now building with nyx and so then it could

00:31:19.076 --> 00:31:21.971
<v Wes>use its nyx wrapper script to bootstrap the nyx environment,

00:31:22.511 --> 00:31:27.416
<v Wes>uh which pulls in the updated version of hugo builds the whole site uh and then it,

00:31:28.136 --> 00:31:32.186
<v Wes>uh it wrote its own little quick static server just to add on it's using python

00:31:32.186 --> 00:31:36.013
<v Wes>just to be easy but it also added on threading and gzip for some of the assets

00:31:36.292 --> 00:31:38.991
<v Wes>a few optimizations just to make it not super painfully slow.

00:31:39.328 --> 00:31:44.246
<v Wes>And then it starts that up as part of this setup as well. And then that's ultimately

00:31:44.246 --> 00:31:48.413
<v Wes>what terminates the whole thing. Python serves the static sites that Hugo built.

00:31:48.564 --> 00:31:51.836
<v Wes>But of course, we want that idempotent too. So there's a start site script that

00:31:51.836 --> 00:31:53.046
<v Wes>kills anything that's existing.

00:31:53.466 --> 00:31:56.383
<v Wes>It makes sure everything is correct, makes sure the server is running,

00:31:57.036 --> 00:32:01.316
<v Wes>does some loop checks to actually make sure that it is fully serving to the outside world as well.

00:32:01.516 --> 00:32:02.466
<v Chris>Okay, good. Wow.

00:32:02.466 --> 00:32:02.806
<v Wes>Yeah.

00:32:02.806 --> 00:32:04.172
<v Chris>We can basically, we're good to go.

00:32:04.631 --> 00:32:07.596
<v Wes>And that's where there's also the site watchdog cron every five minutes that

00:32:07.596 --> 00:32:09.536
<v Wes>goes and checks to make sure everything's happening.

00:32:10.496 --> 00:32:13.846
<v Wes>There's also some other stuff, similar, like Nix, to just make sure everything's

00:32:13.846 --> 00:32:15.678
<v Wes>still set up and ready to go.

00:32:16.038 --> 00:32:18.716
<v Wes>And then the other part I ended up setting up, which was just kind of helpful,

00:32:19.399 --> 00:32:25.523
<v Wes>was I set up a mailbox on that VPS so that I was using an open code locally

00:32:25.848 --> 00:32:27.845
<v Wes>and Muse could start working together.

00:32:28.663 --> 00:32:32.786
<v Chris>Interesting. So you're having like handoffs essentially between Muse and an

00:32:32.786 --> 00:32:34.091
<v Chris>OpenCode job to set stuff up?

00:32:34.352 --> 00:32:34.631
<v Wes>Yeah.

00:32:34.828 --> 00:32:35.486
<v Chris>I love that.

00:32:35.486 --> 00:32:39.326
<v Wes>And so OpenCode could just go leave messages. And then the crons are so reliable

00:32:39.326 --> 00:32:43.096
<v Wes>that like it just had it set every two minutes. It goes and checks for new mailbox

00:32:43.096 --> 00:32:46.896
<v Wes>messages and it'll automatically pick it up and it'll ping me if it has a question

00:32:46.896 --> 00:32:49.689
<v Wes>about it or whatever. Or I can ping the bot back if it would like to.

00:32:50.357 --> 00:32:51.831
<v Chris>That's great. I should think about that.

00:32:52.817 --> 00:32:58.273
<v Chris>Yeah, the big thing for me was figuring out, the breakthrough was just figuring

00:32:58.273 --> 00:33:00.014
<v Chris>out getting the environment restored.

00:33:01.443 --> 00:33:05.203
<v Chris>I have not hosted any persistent services in it. I got to imagine we're going

00:33:05.203 --> 00:33:06.993
<v Chris>to watch them try to respond to people doing this.

00:33:06.993 --> 00:33:07.793
<v Wes>Probably.

00:33:08.234 --> 00:33:12.763
<v Chris>Because an SSH tunnel is sort of a pretty well-known foo. You know what I mean?

00:33:12.763 --> 00:33:13.650
<v Chris>People are going to do that.

00:33:14.939 --> 00:33:17.433
<v Wes>Yeah, so it wasn't crazy. There were some hoops to jump through.

00:33:17.433 --> 00:33:18.363
<v Chris>The performance is okay.

00:33:18.363 --> 00:33:21.736
<v Wes>Muse did not try to get in the way. Nothing about the system seemed to be like,

00:33:21.847 --> 00:33:24.603
<v Wes>what are you doing? Yeah, performance is fine.

00:33:25.223 --> 00:33:29.353
<v Wes>Not the fastest box, not the slowest. I mean, the Muse VM is better than the

00:33:29.353 --> 00:33:31.183
<v Wes>VPS that I'm renting to me, the proxy.

00:33:31.183 --> 00:33:31.733
<v Brent>Wow.

00:33:31.733 --> 00:33:36.673
<v Chris>Yeah, well, that's the thing. If you were just trying to host some private stuff

00:33:36.673 --> 00:33:42.576
<v Chris>for yourself, you could add this to your tail net, and you could put Jellyfin,

00:33:43.267 --> 00:33:44.263
<v Chris>on this thing or something.

00:33:44.263 --> 00:33:47.121
<v Chris>Like, you could have it be a little server on your tail net.

00:33:47.623 --> 00:33:50.923
<v Wes>And there's a set of a cron that just makes sure it's running and starts it, if not.

00:33:50.923 --> 00:33:52.663
<v Chris>You've got to be a special kind of special.

00:33:52.663 --> 00:33:54.423
<v Brent>Read the terms of service first, right?

00:33:55.223 --> 00:33:57.443
<v Wes>However- Don't put your weirdest media on there.

00:33:57.443 --> 00:34:00.713
<v Chris>All like the ACL stuff and the lockdown stuff you can do with Tailnet devices,

00:34:00.713 --> 00:34:01.913
<v Chris>you can do with the Muse too.

00:34:01.913 --> 00:34:04.543
<v Wes>Yeah, you don't have to expose it to everything on your Tailnet.

00:34:04.543 --> 00:34:07.893
<v Chris>Right, right. But it's just a wild, because then all of a sudden,

00:34:07.893 --> 00:34:09.085
<v Chris>all this stuff you've done,

00:34:10.438 --> 00:34:12.898
<v Chris>For the networking layer, kind of just completely goes away.

00:34:12.898 --> 00:34:15.768
<v Chris>You still have to recreate the persistent environment and all that,

00:34:15.768 --> 00:34:19.548
<v Chris>but like all of those networking workarounds with the VPS and an SSH tunnel

00:34:19.548 --> 00:34:22.778
<v Chris>and checking to see if it's gone down, probably don't have to worry about that if you just...

00:34:22.808 --> 00:34:25.948
<v Wes>You definitely don't, no. You mostly just need one thing guaranteeing that,

00:34:25.948 --> 00:34:28.768
<v Wes>like, whatever service you want is running and starts it if not.

00:34:28.768 --> 00:34:31.768
<v Chris>I got to imagine these things are going to end up loaded with crypto miners,

00:34:32.787 --> 00:34:35.178
<v Chris>and bot networks, right, Brian? Like, don't you think? Like,

00:34:35.178 --> 00:34:36.708
<v Chris>this is just going to get abused? Oh, 100%.

00:34:36.708 --> 00:34:39.115
<v Brent>As soon as there's free compute, that's always what happens.

00:34:40.028 --> 00:34:41.828
<v Chris>I mean, like, yeah, it's too irresistible.

00:34:42.268 --> 00:34:45.888
<v Brent>I mean, that came to my mind like about five minutes ago. So anybody who's actually

00:34:46.208 --> 00:34:48.571
<v Brent>wanting to mine Bitcoin would have thought of it already.

00:34:49.568 --> 00:34:53.658
<v Brent>I'm curious what you both ran into that was like your most, I don't know,

00:34:53.658 --> 00:34:56.808
<v Brent>annoying or largest paper cut in this process. Because it sounds like you have

00:34:56.808 --> 00:35:02.769
<v Brent>to go through a couple of hoops just to get a compute environment that you actually want.

00:35:03.396 --> 00:35:05.683
<v Brent>But was there anything that like you didn't expect was going to be an issue?

00:35:06.700 --> 00:35:10.536
<v Chris>Hmm. I mean, you got to wrap your head around the fact that you got to sign

00:35:10.536 --> 00:35:12.806
<v Chris>into meta or you got to sign into open AI. Right.

00:35:12.911 --> 00:35:15.976
<v Brent>And then you got to be the hardest part of the process if you don't already have an account.

00:35:17.006 --> 00:35:21.586
<v Chris>Like to me, the worst implementation of these is in a web browser chat interface.

00:35:21.586 --> 00:35:24.080
<v Chris>That's actually the absolute worst implementation.

00:35:24.579 --> 00:35:29.066
<v Chris>Then next on that list is like Telegram and WhatsApp and those types of chat apps.

00:35:29.682 --> 00:35:34.606
<v Chris>And then like for me, the best is the TUI implementation. A couple of the desktop

00:35:34.606 --> 00:35:38.496
<v Chris>Electron apps are okay, but nothing has really beat the TUI apps for me for

00:35:38.496 --> 00:35:42.166
<v Chris>flexibility and building my own environment to manage these things with skills

00:35:42.166 --> 00:35:44.264
<v Chris>and MCPs and workflows that I establish.

00:35:44.960 --> 00:35:48.902
<v Chris>And so what would be really awesome is if I could pull it into open code.

00:35:49.448 --> 00:35:51.160
<v Chris>But that's never going to happen, I imagine.

00:35:51.986 --> 00:35:56.426
<v Chris>So you've got to live in their sandbox. You've got to live with their networking

00:35:56.426 --> 00:36:00.662
<v Chris>limitations, their VM limitations, and their interface limitations.

00:36:01.439 --> 00:36:03.756
<v Chris>But if you're just looking for free compute.

00:36:04.426 --> 00:36:08.026
<v Wes>And you kind of, you know, on some of the other products, you might get a little

00:36:08.026 --> 00:36:10.006
<v Wes>more choice, but you don't get full model choice either, right?

00:36:10.006 --> 00:36:11.926
<v Wes>Like with Muse, you just get, what, you just get Muse?

00:36:11.966 --> 00:36:15.569
<v Chris>Spark AI or whatever. I suppose they're going to iterate it pretty quickly.

00:36:15.824 --> 00:36:19.307
<v Wes>But it's not, and you don't, you can actually go look.

00:36:19.510 --> 00:36:23.536
<v Wes>At first, it doesn't show you very obviously the super details about what it's

00:36:23.536 --> 00:36:26.296
<v Wes>doing. But if you go poke, you can actually see a lot of the commands it's running

00:36:26.296 --> 00:36:27.366
<v Wes>and tool calls it's making.

00:36:27.726 --> 00:36:31.736
<v Chris>Yeah, it'll actually expose quite a bit to you. And the other thing that you

00:36:31.736 --> 00:36:34.307
<v Chris>just sort of touched on there made me just again with the Android analogy.

00:36:35.746 --> 00:36:39.358
<v Chris>It really feels like you're just going to have all of these people using this,

00:36:40.002 --> 00:36:41.486
<v Chris>and they're not really thinking about it.

00:36:42.626 --> 00:36:44.756
<v Chris>So not only are they not thinking about the fact that it's a Linux desktop,

00:36:45.151 --> 00:36:50.306
<v Chris>but they're not asking what model it is. People that are signing up for Muse, they're not asking...

00:36:51.303 --> 00:36:55.434
<v Chris>Is it using GPT-6? Is it using Claude? Is it using something meta-built?

00:36:55.812 --> 00:36:59.571
<v Chris>It's not even part of the discussion. Just like when you buy an Android device,

00:36:59.571 --> 00:37:01.291
<v Chris>they're not asking what Linux kernel it's using.

00:37:01.791 --> 00:37:03.611
<v Wes>They might not know that's a whole thing that's on there.

00:37:04.191 --> 00:37:04.851
<v Chris>But for us, it's like...

00:37:04.911 --> 00:37:06.459
<v Wes>They hardly know the version of Android of that.

00:37:07.271 --> 00:37:09.631
<v Chris>If you were to look at all of these, that's one of the key things to evaluate

00:37:09.631 --> 00:37:10.713
<v Chris>is what model is powering them.

00:37:11.126 --> 00:37:17.982
<v Chris>And to that end, their open source model behind this has been pretty damn good. Pretty damn good.

00:37:19.729 --> 00:37:21.841
<v Chris>Surprised me, actually, how good it was.

00:37:21.841 --> 00:37:25.431
<v Wes>And the implementation in Muse, the service has been pretty good.

00:37:25.431 --> 00:37:28.821
<v Wes>It's not perfect. It's not the best I've ever used, but it's quite reliable.

00:37:28.821 --> 00:37:30.851
<v Chris>Of the three I've been trying, I think it's been the fastest.

00:37:31.351 --> 00:37:32.031
<v Wes>It is pretty fast.

00:37:32.631 --> 00:37:36.251
<v Chris>And much more reliable than Dots. I don't know. I don't, I don't,

00:37:36.711 --> 00:37:40.318
<v Chris>I think I could foresee long-term,

00:37:41.155 --> 00:37:44.801
<v Chris>setting something up like Muse to just do a few reoccurring tasks that I want

00:37:44.801 --> 00:37:48.271
<v Chris>to burn tokens on that are maybe bandwidth heavy because it's also in a cloud data center.

00:37:48.471 --> 00:37:49.258
<v Wes>It burns in a data center, yeah.

00:37:50.686 --> 00:37:54.173
<v Chris>It is never going to replace my Hermes. It is never going to replace my open code setup.

00:37:54.253 --> 00:37:54.663
<v Wes>It just can't.

00:37:54.663 --> 00:37:58.970
<v Chris>It can't. It is not the same. And then you add the privacy.

00:37:59.398 --> 00:38:04.003
<v Chris>You know, it's a difference between also building on somebody else's property

00:38:04.003 --> 00:38:08.043
<v Chris>and renting versus, you know, building your own place and owning the foundation

00:38:08.043 --> 00:38:11.241
<v Chris>and owning the home and everything you build with it and all the memories and all the documents.

00:38:11.897 --> 00:38:15.676
<v Chris>So it's never going to replace that for me. But if I had a job that was like

00:38:15.809 --> 00:38:19.963
<v Chris>scan YouTube and cut clips and save them to a drive for me, well,

00:38:19.963 --> 00:38:24.563
<v Chris>why not burn Muse Compute for that? I don't care if they know what YouTube videos I want to watch.

00:38:24.563 --> 00:38:27.563
<v Wes>Yeah. For the jobs that aren't going to say a whole lot about you,

00:38:27.563 --> 00:38:30.243
<v Wes>aren't linking personal info, that is just sort of mechanical work.

00:38:30.243 --> 00:38:32.663
<v Chris>They sure do want you to link it to your bank accounts and everything,

00:38:32.663 --> 00:38:34.033
<v Chris>though. Just connect it right up.

00:38:36.481 --> 00:38:40.583
<v Chris>Not doing that. I'm not doing that. I'm not even doing that to my own bots.

00:38:40.583 --> 00:38:42.506
<v Chris>All right? So I'm not doing it to your bot.

00:38:43.069 --> 00:38:45.303
<v Wes>But yeah, you do have to wonder a little bit about some of the practices.

00:38:45.303 --> 00:38:49.383
<v Wes>It does seem like I tried out connecting mine to Cloudflare just to see what

00:38:49.383 --> 00:38:51.787
<v Wes>that was like so it could sort of manage some things for it.

00:38:52.170 --> 00:38:55.173
<v Wes>And you can revoke the connection really easily. You just put in one sort of

00:38:55.173 --> 00:38:57.691
<v Wes>API key. You can scope the API key like normal.

00:38:57.992 --> 00:39:01.363
<v Wes>I think the connector there mostly is just to keep that key out of the Muse

00:39:01.363 --> 00:39:03.483
<v Wes>environment totally so that it can be a proxy for it.

00:39:03.483 --> 00:39:08.163
<v Chris>Yeah, they have a little vault for your API keys and stuff. So the LLM can't

00:39:08.163 --> 00:39:10.833
<v Chris>see the keys and supposedly they can't see the keys.

00:39:10.833 --> 00:39:15.223
<v Wes>So it's like a mix of good practices with a mix of bad practices by getting

00:39:15.223 --> 00:39:16.973
<v Wes>you to dump all your data in there in the first place.

00:39:16.973 --> 00:39:24.043
<v Chris>Yeah, yeah, exactly. And that is, you know, the new privacy challenge that we

00:39:24.043 --> 00:39:25.293
<v Chris>are entering into is these things.

00:39:25.293 --> 00:39:25.773
<v Brent>Oh, gosh.

00:39:25.773 --> 00:39:27.894
<v Chris>And they...

00:39:31.263 --> 00:39:38.013
<v Chris>They go further than you would expect. I shared the RSS feed with Muse to have

00:39:38.013 --> 00:39:41.890
<v Chris>it find something in the RSS feed for LUP. Or no, I can't remember.

00:39:43.213 --> 00:39:47.711
<v Chris>I never shared it at the Clanker Therapy feed or any of the URLs for that stuff.

00:39:49.643 --> 00:39:52.605
<v Chris>But we had talked about Clanker Therapy because I showed it on the stream.

00:39:53.150 --> 00:39:58.787
<v Chris>And it later just said, hey, by the way, I verified Clanker Therapy published on YouTube.

00:39:59.269 --> 00:40:01.903
<v Chris>it's on extras.show and I see the files are on R2.

00:40:04.743 --> 00:40:06.383
<v Wes>Oh yeah didn't ask it to do.

00:40:06.383 --> 00:40:09.723
<v Chris>That didn't ask it to do that but it knows that that's how TWIB and LUP work

00:40:09.723 --> 00:40:14.977
<v Chris>because it knows about and it knew we were talking and so it just kind of tries to be helpful.

00:40:15.093 --> 00:40:17.823
<v Wes>And they've got some background crons which it seems like you can list so maybe

00:40:17.823 --> 00:40:21.483
<v Wes>you can disable too I haven't actually tried that where it does go do dreaming

00:40:21.483 --> 00:40:24.921
<v Wes>and then goes try to come up with like helpful tips or things it can do for you.

00:40:26.395 --> 00:40:30.493
<v Chris>I guess at the end I'll wrap it with to just answer your question with a button

00:40:30.493 --> 00:40:36.345
<v Chris>is so there was those constraints but what surprised me was is that these platforms let us do this.

00:40:36.989 --> 00:40:41.283
<v Chris>Because a lot of this is happening. I'm having Muse and I'm having Dots and Grok.

00:40:42.562 --> 00:40:45.543
<v Chris>They're the ones that are using the machine. So if I ask Dot to install Nix

00:40:45.543 --> 00:40:48.209
<v Chris>or I ask Muse to install Nix, it's just doing it.

00:40:48.639 --> 00:40:51.753
<v Chris>It's not telling me no, it's doing it and setting it up and it's helping me

00:40:51.753 --> 00:40:54.148
<v Chris>figure out how to make it persist and work with that constraint.

00:40:55.204 --> 00:40:58.473
<v Brent>I I'm really appreciating what's,

00:41:00.719 --> 00:41:05.264
<v Brent>What they've released to the public says about how these specific companies

00:41:05.392 --> 00:41:11.319
<v Brent>understand or use Linux internally, because how they've constructed each of

00:41:11.319 --> 00:41:14.285
<v Brent>these, I don't know, ephemeral computes, or I don't know what we're calling these things,

00:41:16.247 --> 00:41:21.169
<v Brent>whether they've used modern Linux technologies or they just threw an XFCE desktop

00:41:21.169 --> 00:41:24.859
<v Brent>at you says a lot about what we don't get to see on the inside,

00:41:24.859 --> 00:41:29.449
<v Brent>which is some of their technology that they're running probably on the everyday.

00:41:29.449 --> 00:41:31.770
<v Brent>and how sophisticated they are.

00:41:32.792 --> 00:41:35.299
<v Wes>Yeah, that's a great point. I think you can definitely see in particular,

00:41:35.299 --> 00:41:40.499
<v Wes>I've used Muse here the most, you can really see the flavor of meta-engineering.

00:41:40.499 --> 00:41:43.249
<v Wes>And as we know, regardless of if you like their products, they've done a lot

00:41:43.249 --> 00:41:46.799
<v Wes>of really good Linux and SystemD and sort of Linux server work.

00:41:46.799 --> 00:41:47.339
<v Chris>And you see it in there.

00:41:47.339 --> 00:41:48.299
<v Wes>You definitely see it in there.

00:41:48.299 --> 00:41:49.519
<v Chris>And they're using ButterFS.

00:41:49.519 --> 00:41:50.919
<v Wes>Yeah, OverlayFS and all kinds of stuff.

00:41:51.619 --> 00:41:56.139
<v Chris>They're big supporters of ButterFS. And so that stuff, those open-source projects

00:41:56.139 --> 00:41:59.382
<v Chris>they've contributed to are all at work in their VM.

00:41:59.928 --> 00:42:03.580
<v Chris>So that's interesting. I think maybe I found Muse the most technically interesting.

00:42:04.009 --> 00:42:06.799
<v Chris>I think Dots has the most horsepower, and,

00:42:10.267 --> 00:42:13.622
<v Chris>Grok lets you do the most, but it's expensive. You've got to get it from a certified vendor.

00:42:14.619 --> 00:42:17.865
<v Chris>And nothing beats Hermes, even if you've got to use a remote API.

00:42:18.151 --> 00:42:22.459
<v Chris>But I do love free compute, and I do think I'll leave it doing some jobs for

00:42:22.459 --> 00:42:24.809
<v Chris>me, doing just little things that don't really matter.

00:42:25.644 --> 00:42:28.889
<v Wes>You know it could also be something right where like google rolled out the not

00:42:28.889 --> 00:42:31.188
<v Wes>great ai version of google search right but,

00:42:31.739 --> 00:42:34.349
<v Wes>the musebot searches very competently so if it's something you would put into

00:42:34.349 --> 00:42:37.499
<v Wes>a public search engine and you don't mind medicine that you wanted to search

00:42:37.499 --> 00:42:41.149
<v Wes>for it could go you know pull up the economic news of the day no problem.

00:42:41.149 --> 00:42:45.189
<v Chris>That's true that's true and i'll happily keep doing it for you every day and send you a.

00:42:45.189 --> 00:42:48.759
<v Wes>Report they can even make quote-unquote podcasts.

00:42:52.415 --> 00:42:56.120
<v Chris>Hey, I want to say thanks to Connecting Internet. Head on over to their website.

00:42:56.120 --> 00:43:00.234
<v Chris>Check them out at ConnectingInternet.com and use the promo code JUPITER35.

00:43:00.722 --> 00:43:03.670
<v Chris>They don't officially sponsor the show, but they hooked me up with some hardware

00:43:03.670 --> 00:43:07.000
<v Chris>a while ago, and I just, every time I use it, I'm so grateful,

00:43:07.000 --> 00:43:10.730
<v Chris>and I think I should mention it. I checked JUPITER35. JUPITER35 is our promo code.

00:43:11.456 --> 00:43:15.840
<v Chris>And what I love about them is in the U.S. and in Canada, they ride on all of

00:43:15.840 --> 00:43:19.650
<v Chris>the networks, auto-switches between the network that has the strongest signal

00:43:19.650 --> 00:43:21.243
<v Chris>in your area. You don't got a FUTZ.

00:43:21.690 --> 00:43:26.710
<v Chris>so great they have truly unlimited plans which is really really rare in cellular

00:43:26.710 --> 00:43:29.341
<v Chris>which includes you can buy a priority access plan,

00:43:29.834 --> 00:43:32.940
<v Chris>also very rare in cellular and then i think my new favorite thing that they

00:43:32.940 --> 00:43:38.373
<v Chris>have is they have that 39 a month backup plan that comes with an open wrt box

00:43:38.588 --> 00:43:40.787
<v Chris>that does automatic failover and health checks,

00:43:41.756 --> 00:43:45.080
<v Chris>so you can just you know if you got you've got if you need a connectivity just

00:43:45.080 --> 00:43:46.783
<v Chris>add that you're good to go um,

00:43:48.194 --> 00:43:51.456
<v Chris>i like their seven antenna if you're going to just put something in.

00:43:51.996 --> 00:43:56.623
<v Chris>Jeff and Brent, they mounted the seven antenna beast on the top of my barn.

00:43:57.186 --> 00:44:00.030
<v Chris>And every time I look up at there, it's just glorious internet.

00:44:00.414 --> 00:44:01.000
<v Brent>And you think of us.

00:44:01.320 --> 00:44:01.560
<v Chris>Right?

00:44:01.560 --> 00:44:04.750
<v Wes>Now, did the installers come for free with this package or is that extra?

00:44:04.750 --> 00:44:08.860
<v Chris>You got to email Brent on that one. No contract, 14 day money back.

00:44:08.860 --> 00:44:13.740
<v Chris>Go to ConnectInInternet.com and use the promo code Jupiter35 to get $35 off

00:44:13.740 --> 00:44:15.692
<v Chris>your order. And we will put a link in the show notes.

00:44:16.122 --> 00:44:20.058
<v Chris>That is That's connectininternet.com and the promo code JUPITER35.

00:44:22.886 --> 00:44:26.107
<v Brent>Well, this week we found a couple musings in our inbox.

00:44:26.456 --> 00:44:31.263
<v Brent>Abe writes in, hey gents, love your show. You're doing an unreal job walking

00:44:31.263 --> 00:44:33.172
<v Brent>all the lines that need to be walked.

00:44:33.602 --> 00:44:37.993
<v Brent>I can't imagine how hard that can be these days. You've struck a great balance

00:44:37.993 --> 00:44:41.489
<v Brent>with all the things, so here's a message to say, keep it up.

00:44:42.790 --> 00:44:48.740
<v Brent>On another note, I was a self-hosted listener for almost since the beginning

00:44:48.972 --> 00:44:52.873
<v Brent>and reluctantly moved over to Linux Unplugged as I didn't think there'd be much

00:44:52.873 --> 00:44:54.957
<v Brent>content that would be up my alley.

00:44:55.921 --> 00:44:59.753
<v Brent>But I drive so much that I thought I'd give it a try and my, was I wrong?

00:44:59.753 --> 00:45:04.543
<v Brent>Since moving over to Linux Unplugged, I've started hosting my company websites

00:45:04.543 --> 00:45:11.033
<v Brent>at home, moved my Windows server over to Brockmox, and bought a GPU for some

00:45:11.033 --> 00:45:12.623
<v Brent>small machine learning tasks.

00:45:12.623 --> 00:45:13.846
<v Chris>Nicely done.

00:45:14.601 --> 00:45:19.263
<v Brent>After several years of listening, I finally decided to just pull over become

00:45:19.263 --> 00:45:24.290
<v Brent>a member and send out this a boost i have some feedback for you that i hope

00:45:24.458 --> 00:45:26.559
<v Brent>is taken as constructive though,

00:45:27.430 --> 00:45:30.936
<v Brent>the web boost process could have been a bit more obvious,

00:45:31.732 --> 00:45:36.303
<v Brent>yeah i first just googled linux unplugged which came up with your website of

00:45:36.303 --> 00:45:41.273
<v Brent>course but i couldn't find where to send a boost i finally stumbled my way over

00:45:41.273 --> 00:45:43.822
<v Brent>to jupiter hold on there is an irony.

00:45:45.407 --> 00:45:50.173
<v Chris>I have said it on air a few times. I do say boost.jupiterbroadcasting.com a few times.

00:45:50.521 --> 00:45:54.463
<v Chris>And I just want to point out, the reason why I say this stuff multiple times,

00:45:55.003 --> 00:45:57.806
<v Chris>is because we get this kind of feedback all the time where people still don't

00:45:57.806 --> 00:46:02.101
<v Chris>know the URL, even though I say it two or three times an episode, every episode.

00:46:02.358 --> 00:46:06.576
<v Chris>So if you ever wonder why I repeat myself, listeners, this is Exhibit A.

00:46:06.876 --> 00:46:08.296
<v Chris>Okay? In my defense. Continue on.

00:46:08.801 --> 00:46:12.596
<v Brent>Okay, let me continue. I finally stumbled my way over to jupiterbroadcasting.com

00:46:12.596 --> 00:46:14.956
<v Brent>where there is a boost link at the top. Amazing.

00:46:15.316 --> 00:46:18.831
<v Brent>though that page still doesn't have an obvious link to send a web boost.

00:46:19.121 --> 00:46:22.376
<v Brent>So I finally found boost.jupiterbroadcasting.com and realized I've heard you

00:46:22.376 --> 00:46:24.794
<v Brent>say that URL about a hundred times on the show.

00:46:26.343 --> 00:46:29.369
<v Brent>I imagine if I set out to send a boost using my phone,

00:46:31.614 --> 00:46:36.650
<v Brent>like some of the 2000s kids, I would have just followed the link in the show notes.

00:46:37.242 --> 00:46:41.699
<v Brent>But I'm a middle-aged, and sending a boost struck me as a big-screen activity,

00:46:41.699 --> 00:46:43.629
<v Brent>like booking flights or sending email.

00:46:43.629 --> 00:46:44.075
<v Chris>I get that.

00:46:45.260 --> 00:46:49.529
<v Brent>Anyway, in my self-serving interest, if you made this process a bit more streamlined,

00:46:49.529 --> 00:46:54.669
<v Brent>more one-off boosts may come through, and you'll continue making content that we all love so much.

00:46:55.940 --> 00:47:01.089
<v Brent>i'm sending a concurrent boost now but just couldn't put it all into that 300

00:47:01.089 --> 00:47:05.729
<v Brent>characters oh and by the way brent i'm a fellow canadian currently typing this

00:47:05.729 --> 00:47:08.539
<v Brent>from the shoulder of the road on highway 3 in bc.

00:47:08.539 --> 00:47:09.919
<v Chris>Like oh you know.

00:47:09.919 --> 00:47:14.289
<v Brent>Where that is highway 3 yeah yeah yeah major highway actually yeah i mean it's

00:47:14.289 --> 00:47:15.589
<v Brent>uh that was good feedback.

00:47:16.169 --> 00:47:20.699
<v Chris>And we have fixed it right is it on the public site yep all right yeah if you go.

00:47:20.699 --> 00:47:24.139
<v Wes>To uh jupiter broadcasting.com slash boost now it It just goes to the right side.

00:47:24.139 --> 00:47:26.769
<v Chris>Or if you click the boost link at the top of the website, instead of telling

00:47:26.769 --> 00:47:28.869
<v Chris>you what a boost is, it just takes you to the boost website now,

00:47:28.869 --> 00:47:31.169
<v Chris>which we just had to work out.

00:47:31.169 --> 00:47:35.349
<v Chris>But that was good feedback. I'll take hybrid sarcasm. Hybrid sarcasm writes

00:47:35.349 --> 00:47:39.949
<v Chris>in to me, thank you, Chris, for the rant about Google TV and Android set-top boxes.

00:47:40.823 --> 00:47:45.649
<v Chris>This is, I think, in the bootleg, and my short version is the reason why Android

00:47:45.649 --> 00:47:50.599
<v Chris>TV is bad is your fault, because you've bought them, and we've enabled them.

00:47:50.703 --> 00:47:52.851
<v Chris>I just bought a new one, and I cannot believe how bad it is.

00:47:53.298 --> 00:47:56.229
<v Chris>Uh, I'm ashamed that I've paid them any money for anything that's gone towards

00:47:56.229 --> 00:47:58.296
<v Chris>Google TV at all. I can't believe it's such a bad product.

00:47:58.929 --> 00:48:02.534
<v Chris>Uh, hybrid rights. I'm not ashamed of being an Apple ecosystem guy.

00:48:02.847 --> 00:48:06.330
<v Chris>I like my iPhone and my Apple watch. And because that I enjoy the Apple TV.

00:48:06.696 --> 00:48:09.579
<v Chris>When I decided that my commitment to jellyfin was strong enough to warrant a

00:48:09.579 --> 00:48:13.269
<v Chris>proper TV client, I replaced my Apple TV with a Google TV box running Android

00:48:13.269 --> 00:48:15.752
<v Chris>14. Uh, yes, I have been down this route myself.

00:48:17.099 --> 00:48:22.336
<v Chris>I mean, because early on, too, like the Jellyfin apps on Apple TV were not very good.

00:48:22.585 --> 00:48:25.105
<v Chris>And the main Jellyfin app was not nearly as good as the Android Jellyfin app.

00:48:26.443 --> 00:48:30.666
<v Chris>He said, you took greater offense to the Google-filled interface than I did.

00:48:31.135 --> 00:48:34.483
<v Chris>I found the app-only mode to be sufficient for our needs, and it meant I didn't

00:48:34.483 --> 00:48:37.450
<v Chris>have to bother with the launcher that may or may not launch upon reboot.

00:48:39.683 --> 00:48:42.753
<v Chris>And I have to reboot this thing a lot, he says. It randomly wakes up that Google

00:48:42.753 --> 00:48:47.133
<v Chris>TV would have incredibly garbled audio, like Michael Bay Transformers chomping

00:48:47.133 --> 00:48:49.153
<v Chris>on another Michael Bay Transformer kind of audio.

00:48:49.351 --> 00:48:52.143
<v Chris>And the inferior thing is you wouldn't know until you'd already started playing

00:48:52.143 --> 00:48:54.842
<v Chris>your media, a movie, or whatever a YouTube clip it might be.

00:48:55.307 --> 00:48:58.773
<v Chris>The only known solution based on my non-agent searching was to restart the whole

00:48:58.773 --> 00:49:02.663
<v Chris>Google TV unit, and a reboot takes long enough already before navigating the

00:49:02.663 --> 00:49:06.017
<v Chris>various clicks, then selections just to have the system restart option. Oh, I know.

00:49:07.213 --> 00:49:10.707
<v Chris>My wife found it easier to turn the power strip off and back on again,

00:49:11.491 --> 00:49:13.627
<v Chris>and this highlights my frustration with Android in general.

00:49:14.161 --> 00:49:16.823
<v Chris>Blame it on varied hardware support, vague support boundaries,

00:49:16.823 --> 00:49:19.823
<v Chris>etc. The bottom line is that you never really know what you're going to get

00:49:19.823 --> 00:49:21.330
<v Chris>when you pick up an Android-powered device.

00:49:21.679 --> 00:49:25.388
<v Chris>No new Android image was coming to fix this audio bug, so I just had to deal with it.

00:49:26.009 --> 00:49:29.673
<v Chris>I never had an Apple device with such an infuriating bug. That's why I spent

00:49:29.673 --> 00:49:34.135
<v Chris>$150 on a new Apple TV, not $300, and $16 on Infuse.

00:49:34.477 --> 00:49:39.708
<v Chris>My family's media viewing experience is top-notch again thanks to Apple, Jellyfin, and Infuse.

00:49:41.449 --> 00:49:41.698
<v Chris>Yeah.

00:49:42.078 --> 00:49:46.262
<v Wes>I've been very disappointed with the Google TV HLS implementation recently.

00:49:46.430 --> 00:49:48.688
<v Wes>It's been, I have an older one, but it's been mostly fine.

00:49:49.129 --> 00:49:51.748
<v Wes>Not as slow as some of the vendor implementations or anything.

00:49:51.748 --> 00:49:53.675
<v Wes>So for that perspective, it's been fine.

00:49:54.558 --> 00:49:57.418
<v Wes>YouTube works great. Jellyfin works great, which is most of these use cases.

00:49:57.718 --> 00:50:02.168
<v Wes>But boy, it hits some HLS stuff that just the old Chromecast line,

00:50:02.168 --> 00:50:05.028
<v Wes>you know, the Gen 2 stuff had no problem with.

00:50:05.028 --> 00:50:05.488
<v Chris>Oh, really?

00:50:05.488 --> 00:50:05.828
<v Wes>Yeah.

00:50:05.828 --> 00:50:06.518
<v Chris>Oh, that's a bummer.

00:50:06.938 --> 00:50:11.966
<v Wes>It's like, how did you get worse? Or, like, why is HLS.js in my Firefox tab,

00:50:12.494 --> 00:50:15.507
<v Wes>better than a device that's, like, whole job is to play streaming media?

00:50:16.198 --> 00:50:21.469
<v Chris>It's just Google TV is insufferably bad, and it is the weakest link in the media TV setup.

00:50:22.858 --> 00:50:24.298
<v Wes>And the Rokus are getting worse.

00:50:24.298 --> 00:50:28.708
<v Chris>Yeah. Infuse is good. There's a cost to it. Moonfin is getting better.

00:50:28.708 --> 00:50:31.289
<v Chris>I still don't think it's quite as smooth on iOS as I would like,

00:50:31.806 --> 00:50:33.931
<v Chris>but Moonfin's another option to look at as well.

00:50:34.715 --> 00:50:41.088
<v Chris>but uh yeah i don't know what to do because i've got two kid tvs and i've got

00:50:41.088 --> 00:50:43.392
<v Chris>an nvidia shield on one and a yaome,

00:50:44.344 --> 00:50:48.728
<v Chris>google tv on the other and they're both awful and they're really crappy when

00:50:48.728 --> 00:50:51.608
<v Chris>they wake up about reconnecting to the wi-fi and i don't know what that's about

00:50:51.608 --> 00:50:55.708
<v Chris>so then that screws up tail tail scale and that doesn't reconnect jellyfin doesn't

00:50:55.708 --> 00:50:58.998
<v Chris>work even when they get back on the wi-fi and it's real bad.

00:50:58.998 --> 00:51:03.418
<v Brent>Boys it sounds like we are primed for like little tiny computers that are cheap

00:51:03.418 --> 00:51:07.008
<v Brent>that we can just run our own software on that accomplishes this?

00:51:07.008 --> 00:51:08.819
<v Brent>Why do we have to rely on the big guys?

00:51:09.568 --> 00:51:12.614
<v Chris>What we need is like a headless Jellyfin Linux environment.

00:51:13.050 --> 00:51:15.524
<v Brent>On an old phone that you might have around that runs Linux?

00:51:16.121 --> 00:51:21.496
<v Chris>Just Linux boots to Jellyfin, right? It's like a Wayland desktop that's just Jellyfin.

00:51:21.642 --> 00:51:24.258
<v Chris>And you just plug it in, you power it on, and it boots.

00:51:24.258 --> 00:51:25.814
<v Wes>All it is is Jellyfin, ready to go.

00:51:26.272 --> 00:51:29.348
<v Chris>Pipewire for the audio, so the audio just freaking works.

00:51:29.348 --> 00:51:30.231
<v Brent>What more do you need?

00:51:31.386 --> 00:51:32.998
<v Chris>Can anybody build this? Can we

00:51:32.998 --> 00:51:35.549
<v Chris>do this? Is there a decent Jellyfin app for Linux that we could boot to?

00:51:36.315 --> 00:51:39.473
<v Chris>Anyways, let us know. Boost.JubiterBroadcasting.com,

00:51:44.418 --> 00:51:50.797
<v Chris>And Devator, or Dev2R, boosts in as our baller booster. Get ready for this,

00:51:50.797 --> 00:51:52.266
<v Chris>boys. Buckle up. Here we go.

00:51:54.887 --> 00:51:56.267
<v Chris>266,806 Satoshis.

00:51:57.007 --> 00:51:57.618
<v Brent>Wow.

00:52:09.087 --> 00:52:13.565
<v Wes>So, not to take away, but we do, I think, Dev here wanted to be transparent.

00:52:14.093 --> 00:52:21.378
<v Wes>that this is a bit of an inflated number. It's closer probably to like 140 because- Split players? Yeah.

00:52:22.547 --> 00:52:24.607
<v Wes>The first three had four out of five notes fail.

00:52:24.607 --> 00:52:25.187
<v Chris>Dang it.

00:52:25.187 --> 00:52:28.717
<v Wes>But they stuck with it to keep boosting until they all worked.

00:52:28.717 --> 00:52:32.743
<v Wes>And that's why it looks so big. So like, I think the value is definitely there.

00:52:32.964 --> 00:52:37.997
<v Chris>Tess, this is, he says, here is to the Texas brisket fund.

00:52:37.997 --> 00:52:39.077
<v Wes>Which we appreciate.

00:52:39.077 --> 00:52:43.087
<v Chris>Yes. I'm looking forward to that. I'm going to get Brent to eat so much meat.

00:52:44.087 --> 00:52:46.100
<v Brent>Yeah, I'm on a diet right now just in preparation.

00:52:47.006 --> 00:52:49.206
<v Chris>Yep, get ready. You're going to have macaroni and cheese as well.

00:52:51.458 --> 00:52:55.247
<v Wes>Well, hybrid sarcasm comes in with 250,000.

00:52:55.247 --> 00:52:56.108
<v Chris>Sacks. Oh, all right.

00:53:00.346 --> 00:53:01.997
<v Chris>Also fantastic.

00:53:01.997 --> 00:53:06.017
<v Wes>Baller. No message found, but that's okay. We know you, hybrid.

00:53:06.017 --> 00:53:06.487
<v Chris>Okay.

00:53:06.487 --> 00:53:08.417
<v Wes>And we appreciate it. That's a lot of value.

00:53:08.417 --> 00:53:10.377
<v Chris>It is. Thank you, sir. Perfect. True.

00:53:10.824 --> 00:53:15.764
<v Brent>We have here a derivation dingus. with 76,500 sets.

00:53:16.118 --> 00:53:16.756
<v Chris>Oh!

00:53:22.143 --> 00:53:27.357
<v Brent>I loved the Clanker Therapy stream. Personally, I enjoyed it even more this

00:53:27.357 --> 00:53:29.736
<v Brent>time around since it was less beginner focused.

00:53:30.212 --> 00:53:32.766
<v Brent>I would love for them to be a more regular thing.

00:53:33.248 --> 00:53:34.136
<v Chris>Yeah, we are working on that.

00:53:34.432 --> 00:53:37.217
<v Brent>Unfortunately, I only caught some of the live stream this time,

00:53:37.217 --> 00:53:41.177
<v Brent>but I still watch the entire recording and haven't stopped tinkering with Hermes

00:53:41.177 --> 00:53:42.884
<v Brent>and OpenCord ever since.

00:53:43.099 --> 00:53:43.813
<v Chris>Yes.

00:53:44.481 --> 00:53:48.087
<v Brent>Another message here from Dingus. Another fantastic episode,

00:53:48.087 --> 00:53:52.307
<v Brent>gents. This episode was packed with stuff I want to try. I'm definitely going

00:53:52.307 --> 00:53:54.564
<v Brent>to check out Nixar and Nixflex.

00:53:55.510 --> 00:53:59.632
<v Brent>Chris's entire media stack always makes me jealous. Very well done.

00:54:00.746 --> 00:54:05.089
<v Brent>And then there's one last message here for Wes. Hey, Wes, thanks for the Fluxcast

00:54:05.216 --> 00:54:07.550
<v Brent>and OpenCodeFlakes. Both are working great for me.

00:54:08.670 --> 00:54:09.627
<v Chris>You got uses of your Flake.

00:54:09.627 --> 00:54:10.707
<v Wes>Wes. Oh, hey, that's great.

00:54:10.707 --> 00:54:11.907
<v Chris>Wes, you got some Flake users.

00:54:11.907 --> 00:54:16.733
<v Wes>I'm glad it could be useful. That's part of the goal of, you know, the magic Flakes.

00:54:19.183 --> 00:54:22.711
<v Chris>I also am a Wes Flake user. At least on a couple of my systems.

00:54:23.489 --> 00:54:27.094
<v Chris>Tomato comes in with a row of McDucks, 22,222 sats.

00:54:29.880 --> 00:54:34.037
<v Chris>Been busy and still catching up on the show, but I wanted to send some sats to help with Texas.

00:54:34.420 --> 00:54:37.257
<v Chris>Coverage of these community events is a great thing, and I'm looking forward

00:54:37.257 --> 00:54:41.299
<v Chris>to the episode. Thank you, Tomato. We really appreciate that. We feel like it is too.

00:54:42.199 --> 00:54:46.937
<v Chris>We're happy to step up and make it happen if we can do it without bankrupting

00:54:46.937 --> 00:54:48.938
<v Chris>ourselves. Shout out to TechDev.

00:54:49.751 --> 00:54:52.137
<v Wes>Abe comes in with 3,003 sets,

00:54:54.951 --> 00:54:59.497
<v Wes>As promised, we got the follow-up. Came from self-hosted, is like in the loop,

00:54:59.497 --> 00:55:02.077
<v Wes>pulled over on the side of Highway 3 in BC to become a member,

00:55:02.077 --> 00:55:03.334
<v Wes>which we sure appreciate.

00:55:03.734 --> 00:55:05.327
<v Chris>Thank you. Thank you very much.

00:55:05.327 --> 00:55:06.462
<v Brent>Do it safely.

00:55:09.104 --> 00:55:13.707
<v Wes>By the way, did PayPal ever unlock your funds? I sent some sats that way last year.

00:55:14.757 --> 00:55:17.057
<v Chris>We didn't get some of the fiat back, although they still have it.

00:55:18.331 --> 00:55:19.597
<v Chris>They still have it. But it's only

00:55:19.597 --> 00:55:22.157
<v Chris>a couple hundred dollars. I think it's probably about $300, $400 worth.

00:55:22.900 --> 00:55:24.682
<v Chris>So it is something I have to go through.

00:55:24.874 --> 00:55:26.737
<v Brent>They're going to give you interest, right, when you get it unlocked?

00:55:27.109 --> 00:55:30.121
<v Chris>Oh, they want me to fill out 17 documents to prove who I am.

00:55:30.876 --> 00:55:34.037
<v Chris>Never again. You know, I wanted to do it. I thought it'd be easy.

00:55:34.377 --> 00:55:35.697
<v Wes>Try to make it easy for folks. Yeah.

00:55:35.697 --> 00:55:36.507
<v Chris>It was bad.

00:55:38.649 --> 00:55:40.152
<v Chris>It was bad. It was bad.

00:55:42.828 --> 00:55:46.143
<v Chris>Bearded Tech? Bearded Tech comes in with 6,643 Satoshis.

00:55:47.182 --> 00:55:49.777
<v Chris>Thanks again for having me on the pre-show. Great episode. Keep up the great

00:55:49.777 --> 00:55:55.112
<v Chris>work, as always. P.S. This is a zip code boost. if you multiply it by 15.

00:55:55.677 --> 00:55:57.370
<v Wes>That's a math boost.

00:55:59.193 --> 00:56:02.017
<v Chris>All right, here's the, I kept the, here you go. I kept it for you, Wes.

00:56:02.017 --> 00:56:02.547
<v Wes>Oh, thanks.

00:56:02.547 --> 00:56:04.075
<v Brent>Oh, it's been a while. It's a little dusty there, Wes.

00:56:05.346 --> 00:56:09.868
<v Chris>The old bearded tech. So six, six, four, three times 15.

00:56:10.536 --> 00:56:12.357
<v Wes>Yeah, can you do that in your head for me?

00:56:12.857 --> 00:56:16.257
<v Chris>Wes, you're the guy that likes math. I hate it.

00:56:17.177 --> 00:56:18.137
<v Wes>When have you ever said that?

00:56:18.137 --> 00:56:21.007
<v Brent>I feel like the math says northward. That's what I'm feeling.

00:56:21.007 --> 00:56:26.190
<v Wes>Yeah, okay. Okay, so 6-6-4-3 by 15 would be 99,645.

00:56:27.997 --> 00:56:29.567
<v Wes>You got any senses for where that is?

00:56:29.567 --> 00:56:32.942
<v Chris>Smells like Alaska. Smells like Alaska.

00:56:33.447 --> 00:56:38.189
<v Chris>You smell that? Kind of like seawater and fish and a little bit too much bird poop?

00:56:39.194 --> 00:56:41.677
<v Wes>You would be right. Oh, really? That is Palmer, Alaska.

00:56:42.537 --> 00:56:43.097
<v Chris>There you go.

00:56:43.097 --> 00:56:43.652
<v Brent>Nice.

00:56:43.878 --> 00:56:46.282
<v Chris>Thank you, Bearded Tech. Appreciate you.

00:56:47.977 --> 00:56:50.235
<v Wes>We got Gene Bean boosted in with the row of ducks.

00:56:51.873 --> 00:56:56.134
<v Wes>You all have any thoughts about Hindsight as memory for Hermes and coding sessions both?

00:56:56.470 --> 00:57:00.432
<v Wes>I'm trying out the coding agent plugin that makes a bake for each repo I work

00:57:00.432 --> 00:57:05.056
<v Wes>in, plus using a custom skill to promote select things like fleet-wide info to a shared bank.

00:57:05.567 --> 00:57:07.652
<v Wes>I'm using the self-hosted version on my LAN.

00:57:07.652 --> 00:57:11.621
<v Chris>Nice, Gene. Well, I'll tell you what, Gene. Tell you what, Gene.

00:57:12.533 --> 00:57:16.782
<v Chris>I use Hindsight with my Hermes agents, and it seems to be pretty useful. It does.

00:57:17.282 --> 00:57:19.052
<v Chris>And the nice thing I like is depending on the chat interface,

00:57:19.052 --> 00:57:22.162
<v Chris>I can see when they're calling Hindsight too, and I can see that they do use it.

00:57:24.159 --> 00:57:27.502
<v Chris>I don't think it would be as useful in my OpenCode sessions because one of the

00:57:27.502 --> 00:57:32.344
<v Chris>reasons I like to go to OpenCode is kind of a clean, clear, context-focused.

00:57:33.522 --> 00:57:36.988
<v Chris>But, you know, I can see their values as well, I suppose.

00:57:37.348 --> 00:57:40.112
<v Chris>I feel like a lot of things I would do with hindsight in OpenCode I could just

00:57:40.112 --> 00:57:42.082
<v Chris>also probably define in a markdown document.

00:57:43.344 --> 00:57:44.743
<v Chris>Your thoughts on a memory system?

00:57:45.150 --> 00:57:49.372
<v Wes>Yeah, I suppose it depends on how much stuff you have. Do you customize it?

00:57:49.372 --> 00:57:52.532
<v Wes>Is it worth having some sort of index lookup if you're doing it per project?

00:57:52.532 --> 00:57:53.782
<v Wes>I think often open code gets used

00:57:53.782 --> 00:57:57.503
<v Wes>for sort of per project stuff that you intentionally want to restrict.

00:57:57.973 --> 00:58:00.762
<v Wes>But if you do have a fair amount of crosscutting stuff concerning maybe fleet

00:58:00.762 --> 00:58:03.012
<v Wes>deployment information, I could definitely imagine it.

00:58:03.022 --> 00:58:07.382
<v Wes>You just kind of have to decide, are you using it for, how many banks are you

00:58:07.382 --> 00:58:11.362
<v Wes>doing? And then what are you letting, what are you putting into context by default

00:58:11.362 --> 00:58:12.718
<v Wes>is probably mostly what it comes down to.

00:58:13.274 --> 00:58:18.652
<v Wes>But yeah, it's great how easy various memory solutions, like there's a ton of

00:58:18.652 --> 00:58:20.972
<v Wes>them. They're all pretty easy to install in a lot of places.

00:58:20.972 --> 00:58:25.892
<v Wes>They often have sort of MCPs or APIs or CLIs to get access to.

00:58:25.892 --> 00:58:27.782
<v Chris>Now, that could be the way to go.

00:58:28.222 --> 00:58:29.772
<v Wes>Right. There's things like QMD, which is real easy.

00:58:29.802 --> 00:58:33.462
<v Chris>Hindsight with the Hermes agents. And then if you want your open code session,

00:58:34.682 --> 00:58:38.322
<v Chris>maybe you turn on, because you can turn MCPs on and off if you do slash MCPs,

00:58:38.972 --> 00:58:41.232
<v Chris>in open code. You could just turn it on when you need it, turn it off,

00:58:41.232 --> 00:58:42.618
<v Chris>and use Hindsight via the MCP.

00:58:43.454 --> 00:58:43.842
<v Brent>Nice.

00:58:43.922 --> 00:58:44.487
<v Chris>That could work.

00:58:45.242 --> 00:58:48.512
<v Wes>Also, Gene, just appreciate, love it when you send in stuff you're working on.

00:58:48.512 --> 00:58:49.722
<v Wes>because you're usually working on something cool.

00:58:50.322 --> 00:58:50.892
<v Chris>Appreciate you.

00:58:50.892 --> 00:58:52.742
<v Brent>We have a new tool where you can tell us what you're working on.

00:58:55.498 --> 00:58:58.946
<v Brent>Um, Magbot comes in with 2,500 sets.

00:59:01.500 --> 00:59:06.706
<v Brent>I came here to chew fries and surprise the guys and I'm all out of fries.

00:59:06.706 --> 00:59:08.037
<v Chris>You gotta, now you gotta say it like this.

00:59:08.321 --> 00:59:08.623
<v Brent>All right.

00:59:09.506 --> 00:59:14.146
<v Chris>I came here to chew fries and surprise the guys and I'm all out of fries.

00:59:16.534 --> 00:59:18.006
<v Chris>It's Duke Nukem, dude. It's a Duke, well.

00:59:18.006 --> 00:59:19.228
<v Brent>And I missed that.

00:59:19.466 --> 00:59:21.439
<v Chris>It's another, it's a movie reference too, but it's a Duke Nukem reference.

00:59:21.631 --> 00:59:22.066
<v Brent>Yeah.

00:59:22.066 --> 00:59:25.296
<v Chris>I get you, Mayhem. I get you where you're coming from. All right.

00:59:25.296 --> 00:59:30.292
<v Chris>let's go to the fiat boost skookum comes in with thirty dollars of the fiats,

00:59:31.441 --> 00:59:35.400
<v Chris>and he says have a safe trip to texas thank you very much skookum appreciate you.

00:59:36.294 --> 00:59:41.066
<v Wes>Uh quick interruption just you know baller booster hybrid over here says i'm

00:59:41.066 --> 00:59:45.336
<v Wes>really enjoying the new version of jellyfin mpv shim that could be the auto

00:59:45.336 --> 00:59:48.596
<v Wes>start linux app which i think might be a pretty good.

00:59:48.596 --> 00:59:51.799
<v Chris>Idea you know there's probably also i know somebody's gonna probably say you could do it with cody,

00:59:54.075 --> 00:59:56.002
<v Chris>You could probably run Jellyfin inside Kodi.

00:59:56.462 --> 00:59:59.132
<v Wes>Yeah, true. Or it can talk to the library as well.

00:59:59.132 --> 01:00:02.992
<v Chris>And I could probably point Kodi at my dispatcher live TV stuff too,

01:00:03.357 --> 01:00:06.620
<v Chris>right? Kodi probably does that. I don't remember.

01:00:07.008 --> 01:00:08.842
<v Wes>Yeah, I haven't used it for a while.

01:00:08.842 --> 01:00:13.369
<v Chris>But it looks exactly the same almost. So what I should really try is Kodi, but I don't want to.

01:00:13.758 --> 01:00:17.182
<v Chris>Anonymous came in with two free member boosts.

01:00:17.624 --> 01:00:21.342
<v Chris>Your episode triggered some thoughts for me. I don't think that LMs are like

01:00:21.342 --> 01:00:22.993
<v Chris>transitioning to digital photography.

01:00:23.342 --> 01:00:25.739
<v Chris>I think it's more like training your outsourced replacement.

01:00:26.244 --> 01:00:30.842
<v Chris>I also wonder how much banning LLMs is about othering people. 300 isn't enough.

01:00:31.480 --> 01:00:35.542
<v Chris>Oh, 300 notes. I'm a longtime listener since the land days, and your AI coverage

01:00:35.542 --> 01:00:38.372
<v Chris>is fantastic, balanced, and practical. On the flip side, personally,

01:00:38.372 --> 01:00:40.356
<v Chris>I have no interest in Hyperland Omarcha coverage.

01:00:40.571 --> 01:00:43.398
<v Chris>Just a FYI signal. Appreciate what you do. Keep up the great show.

01:00:44.565 --> 01:00:47.562
<v Chris>Well, haven't you heard the good word about Hyperland? No, I get it.

01:00:47.562 --> 01:00:49.766
<v Chris>It's pretty niche, right? It's pretty niche.

01:00:50.039 --> 01:00:51.912
<v Wes>Desktop stuff's already a little niche.

01:00:51.912 --> 01:00:57.173
<v Chris>Although I would say pretty great and worth it, but I, yeah,

01:00:57.353 --> 01:00:57.997
<v Chris>I see what you're saying.

01:00:58.862 --> 01:01:05.167
<v Brent>I'm also noticing this might be, well, not quite a zip code boost, but a postal code boost.

01:01:07.227 --> 01:01:08.812
<v Chris>It's a free member boost. What are you talking about? What do you see?

01:01:08.902 --> 01:01:16.542
<v Brent>Oh yeah, there's a K1B1A1 there, which I recognize as perhaps a Canadian postal

01:01:16.542 --> 01:01:18.782
<v Brent>code, but maybe, I don't know, the UK does the same.

01:01:19.322 --> 01:01:20.912
<v Chris>I thought it was a ham, I thought it was a ham sign.

01:01:20.912 --> 01:01:22.042
<v Wes>That's what I thought it might be, too.

01:01:22.522 --> 01:01:24.850
<v Brent>I think you might just have to pull out the map, Wes. I can help you if you need.

01:01:25.564 --> 01:01:27.050
<v Wes>Yeah, I don't have the Canadian edition.

01:01:27.662 --> 01:01:31.092
<v Chris>Oh. I left that with you when we visited. It does say. I got that in my bag

01:01:31.092 --> 01:01:33.592
<v Chris>here. Gook says it is a Canadian postcode.

01:01:33.592 --> 01:01:34.232
<v Wes>All right, there we go.

01:01:34.342 --> 01:01:37.002
<v Chris>You know what? In Ottawa. In Ottawa.

01:01:37.522 --> 01:01:40.402
<v Brent>It's not. In Ottawa. Oh, yeah, Gloucester. Mmm. Delicious.

01:01:40.402 --> 01:01:41.034
<v Chris>Thank you, Anonymous.

01:01:41.951 --> 01:01:45.147
<v Chris>Good spot there, Brantley. Yeah, good spot. K-Mogged came in.

01:01:45.147 --> 01:01:47.658
<v Chris>My agents could barely escape out of a paper bag.

01:01:48.006 --> 01:01:50.947
<v Chris>What kind of precautions are you guys putting in place? Chris mentions he wants

01:01:50.947 --> 01:01:54.484
<v Chris>his agents to have access to everything. My coworker mentioned not giving them Git.

01:01:54.943 --> 01:01:58.737
<v Chris>So can they just Git clone a random repo that contains an exploit? Thoughts.

01:02:01.397 --> 01:02:06.337
<v Chris>It's funny. It's funny because I fought and fought and fought to get these things.

01:02:07.257 --> 01:02:12.147
<v Chris>They're so cautious now. they clearly have the fear of God instilled them that

01:02:12.147 --> 01:02:15.237
<v Chris>they're going to delete something. Of course, every now and then they do.

01:02:15.257 --> 01:02:15.927
<v Wes>This is true.

01:02:15.927 --> 01:02:17.134
<v Chris>They do every now and then.

01:02:18.357 --> 01:02:19.747
<v Wes>Yeah, I've definitely had them delete some things.

01:02:19.996 --> 01:02:22.794
<v Chris>What kind of precautions, Wes? What kind of precautions?

01:02:22.910 --> 01:02:27.705
<v Wes>Yeah, I mean, a lot of them come with a fair amount of approvals on by default.

01:02:28.001 --> 01:02:31.637
<v Wes>So you might evaluate that. It's useful to ask them to investigate their own

01:02:31.637 --> 01:02:35.317
<v Wes>config sometimes, see what options you have in terms of what all you can flip on.

01:02:35.317 --> 01:02:38.617
<v Wes>And it kind of depends on what environment you layer it on, right?

01:02:38.617 --> 01:02:43.919
<v Wes>So I think we both have Hermes agents that have their own virtual machines or equivalent.

01:02:44.244 --> 01:02:47.497
<v Wes>And so within that, I tend to give them pretty broad permissions because I want

01:02:47.497 --> 01:02:50.559
<v Wes>them maintaining the box, customizing their environment for what they need.

01:02:51.317 --> 01:02:57.167
<v Wes>I do think you want some auditing ability, right? Like you might consider where,

01:02:57.167 --> 01:02:59.087
<v Wes>you know, do you have some sort of proxy?

01:02:59.087 --> 01:03:01.287
<v Wes>Are you keeping track of like what tool calls they're making?

01:03:01.287 --> 01:03:02.407
<v Wes>Do you have ways to check that?

01:03:02.407 --> 01:03:04.807
<v Wes>Do you have ways to control it if you do want to control it?

01:03:04.807 --> 01:03:08.047
<v Wes>But you could also then, like, maybe you run some of your development stuff

01:03:08.047 --> 01:03:11.327
<v Wes>within a container and copy the repos in.

01:03:11.327 --> 01:03:14.747
<v Wes>You can do that pretty easily. So I think it depends on what you're worried

01:03:14.747 --> 01:03:18.427
<v Wes>about. Are you concerned about malicious attacks? Are you concerned about sort

01:03:18.427 --> 01:03:21.336
<v Wes>of accidental overrunning of unrelated data?

01:03:22.056 --> 01:03:23.497
<v Wes>Those can be pretty different to defend from.

01:03:23.497 --> 01:03:27.137
<v Chris>Yeah, and I think the sort of characterization that they're sitting there idle,

01:03:27.137 --> 01:03:30.630
<v Chris>sort of looking for things to do and, like, downloading repos and doing stuff is...

01:03:31.897 --> 01:03:35.907
<v Chris>I don't, you would have to develop a program that drives them to do that, right?

01:03:35.907 --> 01:03:39.497
<v Chris>They're not just going to do that on their own. Even if you put in their sole

01:03:39.497 --> 01:03:43.387
<v Chris>MD and their agents MD and everything and you said, I want you to run and you

01:03:43.387 --> 01:03:45.797
<v Chris>prompted them. You put in their sole MD and you put in their agents MD and you

01:03:45.797 --> 01:03:46.717
<v Chris>prompted them. I want you to

01:03:46.717 --> 01:03:50.113
<v Chris>run all night and download, get stuff and build it. And they would stop.

01:03:50.310 --> 01:03:52.969
<v Chris>They would stop 15, 20 minutes into it and they would stop.

01:03:53.236 --> 01:03:55.813
<v Chris>And they wouldn't proceed until you answered a question or approve something.

01:03:56.150 --> 01:03:59.667
<v Wes>Where they can be as clumsy. And so I think it does, if you are concerned,

01:03:59.667 --> 01:04:03.127
<v Wes>I would, the first thing to protect against is like have backups of the stuff

01:04:03.127 --> 01:04:04.437
<v Wes>on anything that they can touch.

01:04:04.957 --> 01:04:08.667
<v Wes>And then maybe take snapshots. You can do like, I like to do snapshot commits

01:04:08.667 --> 01:04:11.957
<v Wes>in Git where I take lots of frequent, you know, commits on a branch and then

01:04:11.957 --> 01:04:15.797
<v Wes>squash it later after the fact. So I have a fine record of what they're doing

01:04:15.797 --> 01:04:18.010
<v Wes>and you can do the same for your file system. You have that set up.

01:04:19.072 --> 01:04:22.347
<v Wes>That way it's more of like a mutable log of their actions and you don't have

01:04:22.347 --> 01:04:26.584
<v Wes>anything that they accidentally RM because they had too big of a glob or something like that?

01:04:26.972 --> 01:04:32.307
<v Chris>Big plus one to that. I think that's, I agree. And then the last thing is Wes

01:04:32.307 --> 01:04:33.800
<v Chris>made a joke about how he loved wrappers.

01:04:34.857 --> 01:04:38.547
<v Chris>So when my agents, say, for example, communicate with Home Assistant,

01:04:38.547 --> 01:04:41.461
<v Chris>they don't just talk directly to the MCP or the API.

01:04:41.892 --> 01:04:46.107
<v Chris>They do it through a wrapper, and that wrapper only allows them to do certain

01:04:46.107 --> 01:04:47.842
<v Chris>things, which bit me, actually,

01:04:48.717 --> 01:04:53.417
<v Chris>because I wanted to remove a device from my Z-Wave network, but i have implicitly

01:04:53.417 --> 01:04:57.407
<v Chris>disabled deletions through the wrapper so they couldn't when i was first setting

01:04:57.407 --> 01:05:00.247
<v Chris>this up i didn't want them to accidentally delete new devices well now i trust

01:05:00.247 --> 01:05:02.457
<v Chris>them enough that i'm willing to give them that access,

01:05:03.200 --> 01:05:06.507
<v Chris>but i have to go back and add it to my wrapper but that's one way is so they

01:05:06.507 --> 01:05:09.121
<v Chris>don't talk to the api directly which they absolutely could,

01:05:09.997 --> 01:05:14.807
<v Chris>they investigate the api in a read-only way we identify the functions they need

01:05:14.807 --> 01:05:17.787
<v Chris>for their immediate task and then we build a wrapper that only allows those

01:05:17.787 --> 01:05:20.907
<v Chris>particular tasks and then when they go to communicate with Home Assistant,

01:05:20.907 --> 01:05:22.234
<v Chris>they execute that particular wrapper.

01:05:22.403 --> 01:05:26.457
<v Wes>Yeah, that's where something like MCPs, wrappers, ways that you can offload

01:05:26.457 --> 01:05:29.767
<v Wes>the deterministic and perhaps dangerous stuff you want more carefully audited

01:05:29.767 --> 01:05:34.087
<v Wes>out of their direct hands and give them a structured interface that guides them to the right path.

01:05:34.087 --> 01:05:34.390
<v Chris>Yeah.

01:05:35.753 --> 01:05:39.091
<v Chris>That's why there's the hotness around MCPs, too. Senior Smile.

01:05:39.364 --> 01:05:41.638
<v Chris>Senior Smile says, I figured some listeners may be interested.

01:05:41.638 --> 01:05:47.235
<v Chris>Similar to ClipR, one of my favorite projects of all time is Asplayer.

01:05:47.613 --> 01:05:50.695
<v Chris>It allows you to clip sections in YouTube, Jellyfin, and many others.

01:05:51.165 --> 01:05:53.098
<v Chris>And it exports to ANKI.

01:05:53.098 --> 01:05:59.218
<v Wes>Anki? Anki? I used this to, oh, I think that's a note or a flashcard setup.

01:05:59.218 --> 01:06:00.118
<v Chris>Right? Oh.

01:06:00.598 --> 01:06:03.658
<v Wes>I used this to learn several languages. Nice. That's clever.

01:06:03.658 --> 01:06:06.578
<v Chris>It looks like it's on mobile, too. So you could clip this stuff.

01:06:06.578 --> 01:06:09.548
<v Chris>That's maybe the nice thing that, you know, I guess you could use TuneArt absolutely

01:06:09.548 --> 01:06:11.398
<v Chris>in the web browser. But this is a mobile app.

01:06:12.518 --> 01:06:14.208
<v Wes>I like where this is at. I would not have thought of that.

01:06:14.238 --> 01:06:14.648
<v Chris>Yeah.

01:06:14.648 --> 01:06:15.258
<v Wes>That's great.

01:06:15.258 --> 01:06:15.609
<v Chris>Yeah.

01:06:16.738 --> 01:06:21.598
<v Wes>Nefora 92 member boosts in. A long-time listener, now officially a member.

01:06:21.598 --> 01:06:23.078
<v Chris>Hey, thank you.

01:06:23.078 --> 01:06:27.488
<v Wes>Thank you much. Thanks to you two years ago, I finally gave NixOS a try.

01:06:27.488 --> 01:06:30.438
<v Wes>And now I feel like a preacher telling everyone how awesome it is.

01:06:30.458 --> 01:06:31.308
<v Chris>Funny how that happens.

01:06:31.308 --> 01:06:35.438
<v Wes>I'm even hosting a Nix session at work. Wow. Do you have any tips on how to

01:06:35.438 --> 01:06:38.655
<v Wes>approach it for people who have little to no Linux experience?

01:06:40.031 --> 01:06:41.258
<v Chris>Look at the Nixbook project?

01:06:41.798 --> 01:06:44.668
<v Wes>It depends on what their goal is. Are they trying to learn it in depth?

01:06:44.668 --> 01:06:48.438
<v Wes>Are they trying to just have to use a computer that happens to be implemented

01:06:48.438 --> 01:06:50.078
<v Wes>with NixOS? Those can be pretty different.

01:06:50.078 --> 01:06:54.068
<v Chris>Are they already on Linux? Could they use Nix on their existing Linux install

01:06:54.068 --> 01:06:57.258
<v Chris>and start to get familiar with it that way? They don't have to go full NixOS.

01:06:58.280 --> 01:07:02.918
<v Brent>I think TechDev is doing this during the show. Oh, he's trying to get his hands

01:07:02.918 --> 01:07:04.678
<v Brent>on NixOS for the first time.

01:07:05.198 --> 01:07:06.999
<v Brent>I don't know if you're there, TechDev. How's it going?

01:07:07.580 --> 01:07:12.928
<v Mumble>Oh, I'm definitely here. It's not the first time, but I am trying to get this

01:07:12.928 --> 01:07:15.218
<v Mumble>set up for a repeatable build.

01:07:15.798 --> 01:07:18.505
<v Mumble>And there's a base project here that's for another time to talk about.

01:07:19.439 --> 01:07:21.878
<v Mumble>But admittedly, I'm a little outside of the context here.

01:07:21.878 --> 01:07:26.539
<v Chris>Yeah, it's on a very cool device. Yeah, it's a unique Nix project,

01:07:26.696 --> 01:07:28.112
<v Chris>sort of like we've been doing recently.

01:07:29.163 --> 01:07:32.548
<v Chris>That's such a great point too, because there's so many ways to do that.

01:07:32.548 --> 01:07:33.801
<v Chris>I actually think one of the most,

01:07:34.985 --> 01:07:39.320
<v Chris>easiest ways to get started is on your existing desktop even if it's mac os

01:07:39.320 --> 01:07:41.010
<v Chris>or whatever just get started feel.

01:07:41.010 --> 01:07:44.420
<v Wes>For what it's like to try to use uh build stuff and install stuff with.

01:07:44.420 --> 01:07:47.850
<v Chris>It we get really focused on the show with nix os because once you learn the

01:07:47.850 --> 01:07:50.660
<v Chris>next stuff you're like oh crap i want to build my whole machine this way but

01:07:50.660 --> 01:07:51.831
<v Chris>you don't really have to start that way.

01:07:52.081 --> 01:07:57.340
<v Brent>I think my biggest recommendation would be like use your favorite bot to help

01:07:57.340 --> 01:08:04.580
<v Brent>you nix os is really super good at being understood by the clankers and just

01:08:04.580 --> 01:08:06.278
<v Brent>have it explain what it's doing.

01:08:07.350 --> 01:08:09.290
<v Brent>Explain what a Nix config is.

01:08:09.290 --> 01:08:12.870
<v Brent>Explain what the parts are, how you install stuff. It's excellent at that.

01:08:12.890 --> 01:08:16.790
<v Chris>Explain what this Nix error message means because a lot of people struggle with that initially.

01:08:17.023 --> 01:08:18.375
<v Wes>Or how do I do this thing?

01:08:19.055 --> 01:08:24.310
<v Brent>We used to hear a lot about like, ah, the Nix OS documentation isn't very good.

01:08:24.310 --> 01:08:28.230
<v Brent>I'm having a hard time understanding it, etc. etc. We haven't heard that what,

01:08:28.230 --> 01:08:32.260
<v Brent>in a couple years since you could just use your favorite clanker to do it,

01:08:32.260 --> 01:08:33.358
<v Brent>and I think that's a good thing.

01:08:35.425 --> 01:08:37.712
<v Chris>Mm-hmm. Mm-hmm. I mean, it makes quick work of those air messages.

01:08:38.723 --> 01:08:40.666
<v Chris>All right. Rounding us out.

01:08:41.265 --> 01:08:44.260
<v Chris>Adversary 17 comes in with a member boost. Anniversary writes,

01:08:44.260 --> 01:08:46.780
<v Chris>a little behind because life has been busy.

01:08:47.249 --> 01:08:51.488
<v Chris>I'm listening to this episode and this Rust FS thing, and it sounds really cool.

01:08:51.830 --> 01:08:54.847
<v Chris>This boost amount is how many gigabytes my server has doing nothing.

01:08:55.201 --> 01:08:57.320
<v Chris>So if you'd like to use some of it, you know where to find me.

01:08:57.320 --> 01:09:02.180
<v Chris>Oh! Oh, that's, but this is a free member boost. There was no amount. So it has.

01:09:02.180 --> 01:09:02.990
<v Brent>Is this a trick question?

01:09:05.330 --> 01:09:09.970
<v Chris>By the way, just a quick follow up. Rust FS is officially in production here at JB.

01:09:11.646 --> 01:09:12.082
<v Wes>All right.

01:09:12.245 --> 01:09:15.450
<v Chris>Yep. We have put it in production and we talked about it in our clanker therapy

01:09:15.450 --> 01:09:17.045
<v Chris>stream. If you are interested.

01:09:17.725 --> 01:09:20.500
<v Chris>But yeah, I knew when we covered it, I knew it'd be put in production.

01:09:20.500 --> 01:09:21.921
<v Chris>I just didn't know so soon.

01:09:22.670 --> 01:09:26.170
<v Chris>All right. Thank you, everybody. Thank you to those of you who streamed sats as you listened.

01:09:26.403 --> 01:09:32.028
<v Chris>Seven of you did so. And together you stacked a mighty 10,917 Satoshis.

01:09:33.136 --> 01:09:36.986
<v Chris>When you bring it all together, including our fiat boost taken at current market

01:09:36.986 --> 01:09:46.123
<v Chris>value for sats, this episode stacked a Texas-sized 677,232 satoshis.

01:09:50.215 --> 01:09:55.391
<v Chris>Powering up the show to continue for yet another week and getting us ready for Texas.

01:09:56.320 --> 01:09:59.368
<v Chris>Thank you, everyone. Checkpoint has been saved.

01:10:00.082 --> 01:10:03.506
<v Chris>And of course, you can go to boost.jupiterbroadcasting.com to boost and get

01:10:03.506 --> 01:10:05.980
<v Chris>a message on the show and help us get to Texas.

01:10:06.433 --> 01:10:13.724
<v Chris>And you can put your support on autopilot at jupiter.party or linuxunplugged.com slash membership.

01:10:15.552 --> 01:10:17.241
<v Chris>Couple of picks, couple of picks. This one,

01:10:19.430 --> 01:10:22.766
<v Chris>this one is for those of you who like to watch what your system's doing.

01:10:22.766 --> 01:10:29.340
<v Chris>It's called HW Monitor and it's a desktop application designed to guess what? monitor your hardware.

01:10:29.653 --> 01:10:30.726
<v Wes>And look nice doing it.

01:10:30.726 --> 01:10:34.556
<v Chris>Yeah look real nice doing it and it's been a minute since we've mentioned something

01:10:34.556 --> 01:10:37.696
<v Chris>like this so you know it's probably worth it if we're bringing up a tool like

01:10:37.696 --> 01:10:45.245
<v Chris>this on the show and it is licensed under MIT mostly written in TypeScript and your buddy Rust.

01:10:46.266 --> 01:10:47.305
<v Wes>I'm using Tori.

01:10:48.252 --> 01:10:49.942
<v Chris>I think it looks good I think it looks really good,

01:10:52.877 --> 01:10:56.427
<v Chris>And if you've got, you know, temperature sensors on your graphics card,

01:10:56.427 --> 01:11:01.341
<v Chris>on your disk, and on your GPUs and your CPUs and your ICMs and your PCMs,

01:11:01.724 --> 01:11:04.069
<v Chris>it'll support those. It supports your disk sensors.

01:11:04.354 --> 01:11:06.948
<v Chris>It'll also monitor TCP and UDP socket connections.

01:11:07.244 --> 01:11:10.247
<v Chris>It'll read your system info so it knows your distro, your kernel,

01:11:10.247 --> 01:11:12.388
<v Chris>your host name, all of your hardware information.

01:11:12.544 --> 01:11:16.683
<v Wes>And because SystemD does everything, it tells you about your SystemD services.

01:11:17.066 --> 01:11:19.547
<v Chris>Hmm. Boy. Brian, look at that. Doesn't SystemD do a lot?

01:11:19.927 --> 01:11:20.077
<v Brent>Yeah, very comprehensive.

01:11:20.247 --> 01:11:25.087
<v Wes>Including showing you recent logs. You get the system CTL status output right

01:11:25.087 --> 01:11:25.957
<v Wes>there. It's pretty nice.

01:11:25.957 --> 01:11:29.887
<v Chris>It does look good, doesn't it? I mean, you know, it's good. It's clean.

01:11:30.227 --> 01:11:32.697
<v Wes>If, like, for some reason you're just, like, not already in a terminal,

01:11:32.697 --> 01:11:34.987
<v Wes>then you could launch this, you know, until you get a terminal going.

01:11:34.987 --> 01:11:36.240
<v Chris>You are in a terminal, though, right?

01:11:36.847 --> 01:11:37.487
<v Brent>Oh, most of the time.

01:11:37.487 --> 01:11:37.747
<v Wes>It must be.

01:11:38.347 --> 01:11:40.623
<v Chris>Okay, good, because this next pick requires you be in a terminal.

01:11:41.140 --> 01:11:44.187
<v Chris>I was telling the boys before the show started, like, I am in the terminal all

01:11:44.527 --> 01:11:47.868
<v Chris>day long. That and a couple of Electron apps on Firefox. That's it these days.

01:11:48.377 --> 01:11:50.873
<v Chris>And so I need a way to communicate with the boys.

01:11:51.408 --> 01:11:54.477
<v Chris>Back in the day, if we were just boys around the neighborhood,

01:11:54.477 --> 01:11:56.034
<v Chris>we would have had tin cans with string.

01:11:56.696 --> 01:12:01.241
<v Chris>Never got to do that, though. We missed that phase of life, but we can live it again.

01:12:01.636 --> 01:12:07.747
<v Chris>We can relive the glory days we never had with Tin Can CLI, a serverless peer-to-peer

01:12:07.747 --> 01:12:10.387
<v Chris>voice and text chat for the terminal.

01:12:11.824 --> 01:12:14.825
<v Wes>Yeah, Tin Can does what Discord does without needing any one server.

01:12:15.272 --> 01:12:17.997
<v Wes>The first person to open the app creates the room, sends the invite code it

01:12:17.997 --> 01:12:20.867
<v Wes>prints to their friends, and they connect with that code from anywhere in the

01:12:20.867 --> 01:12:23.747
<v Wes>world. No VPN, no portboarding, no accounts.

01:12:23.747 --> 01:12:29.361
<v Chris>I want to be clear. This is a terminal app and it has a really righteous TUI. It's awesome.

01:12:29.539 --> 01:12:30.835
<v Wes>Made with ratatui.

01:12:31.183 --> 01:12:34.388
<v Chris>And it even has like a little string between them. It's cute.

01:12:35.854 --> 01:12:37.364
<v Chris>And the whole thing is just adorable.

01:12:37.364 --> 01:12:38.314
<v Wes>It seems quite well done.

01:12:38.314 --> 01:12:41.324
<v Chris>I think there's like a ton server, right? There is like a proxy at some point.

01:12:41.324 --> 01:12:44.924
<v Chris>So you will hit like a server that they're hosting to help discover the two.

01:12:44.924 --> 01:12:46.964
<v Chris>But then I think the calls are direct peer to peer.

01:12:46.964 --> 01:12:50.284
<v Wes>Yeah. And then even on top of that, there's also like you have a coordinator

01:12:50.284 --> 01:12:53.834
<v Wes>role who kind of sets things up. But then separately, the voice mesh is all

01:12:53.834 --> 01:12:58.228
<v Wes>where any of the actual audio is sent. And that never goes through the control plane.

01:12:58.564 --> 01:13:03.963
<v Chris>How good is that TUI, though? Right? It's worth the install just for the TUI experience.

01:13:04.561 --> 01:13:07.220
<v Chris>And if you're already in there, it's just one of your tabs now on your terminal,

01:13:07.661 --> 01:13:13.396
<v Chris>and it is MIT licensed, and it is, you guessed it, 97.8% rust.

01:13:14.714 --> 01:13:16.964
<v Chris>Not necessarily a requirement at all. It's just what people are releasing these

01:13:16.964 --> 01:13:19.094
<v Chris>things in. And we just happen to have a soundboard.

01:13:19.094 --> 01:13:22.614
<v Wes>I mean, you know, I think part of it is Ratatouille has to become such a nice

01:13:22.614 --> 01:13:26.634
<v Wes>way to make Tui's that if you want to make a Tui, that's a great way to do it.

01:13:26.634 --> 01:13:27.428
<v Chris>Well, look at that thing.

01:13:28.019 --> 01:13:28.646
<v Wes>It is beautiful.

01:13:28.750 --> 01:13:33.384
<v Chris>Tincan-CLI. We'll have a link in the show notes. We got some good links,

01:13:33.384 --> 01:13:38.084
<v Chris>And those are all at linuxunplugged.com slash 687 or in your podcasting app.

01:13:38.084 --> 01:13:39.426
<v Chris>We try to put them in there as well.

01:13:40.853 --> 01:13:44.678
<v Chris>You got any hot tips before we get out of here? Like speaking of like website,

01:13:45.198 --> 01:13:47.179
<v Chris>we got a website that links to an RSS feed.

01:13:47.312 --> 01:13:47.998
<v Wes>Oh, yes, we do.

01:13:47.998 --> 01:13:49.998
<v Chris>That seems like there might be something in there people want to know about.

01:13:51.058 --> 01:13:53.698
<v Wes>Well, like if you have a question, because like maybe we're trying to repeat

01:13:53.698 --> 01:13:57.471
<v Wes>URLs that we're trying to tell you to go to, but we do a bad job of linking to them sometimes.

01:13:58.040 --> 01:14:00.578
<v Wes>Well, that information could be found in the transcript.

01:14:00.578 --> 01:14:01.178
<v Chris>That's true.

01:14:01.178 --> 01:14:04.368
<v Wes>Yeah, there's a VTT file, you download that, you grab in there,

01:14:04.368 --> 01:14:05.678
<v Wes>you get a bot to do it, whatever.

01:14:05.678 --> 01:14:07.248
<v Chris>You can clank your way through it if you want.

01:14:07.248 --> 01:14:07.818
<v Wes>Yes, you can.

01:14:07.818 --> 01:14:11.378
<v Chris>Whatever. Then there's also a sneaky MP4.

01:14:11.378 --> 01:14:12.498
<v Wes>Right. With our faces.

01:14:12.498 --> 01:14:13.118
<v Chris>Sometimes you can.

01:14:13.178 --> 01:14:14.708
<v Wes>And sometimes the Tui apps.

01:14:14.708 --> 01:14:17.440
<v Chris>Sometimes. Sometimes you get to see them in there. I can't say.

01:14:18.590 --> 01:14:22.948
<v Chris>But you can find out. Go to linuxunplugged.com slash RSS and get the RSS feed

01:14:22.948 --> 01:14:24.871
<v Chris>and put in any app or clanker you want.

01:14:25.184 --> 01:14:28.969
<v Chris>But the real pro moves to show up and make it a Tuesday on a Sunday,

01:14:29.346 --> 01:14:32.458
<v Chris>10 a.m. Pacific, 1 p.m. Eastern, over at jblive.tv.

01:14:32.922 --> 01:14:36.724
<v Chris>That's also labeled at jupyterbroadcasting.com slash calendar in your time zone.

01:14:37.107 --> 01:14:39.249
<v Chris>That's also where we'll put the clanker stream when we're doing one.

01:14:39.540 --> 01:14:41.815
<v Chris>And, of course, meetup.com slash jupyterbroadcasting.

01:14:42.198 --> 01:14:45.599
<v Chris>We love your feedback and your support, boost.jupyterbroadcasting.com.

01:14:45.999 --> 01:14:49.778
<v Chris>And we have our Mumble info, our Matrix info, which has recently been updated,

01:14:49.778 --> 01:14:53.087
<v Chris>all of it at jupyterbroadcasting with links along the top of the website.

01:14:53.389 --> 01:14:54.794
<v Chris>It's pretty great. I love those links.

01:14:55.224 --> 01:14:58.074
<v Chris>Thanks so much for joining us on this week's episode. See you back here next week.

