WEBVTT

00:00:00.005 --> 00:00:05.025
<v Chris>So I was woken up this morning at 5 a.m. by birds screaming over what was inside.

00:00:05.025 --> 00:00:07.505
<v Chris>A barbecue, which, by the way, once I got in there, they weren't going to be

00:00:07.505 --> 00:00:08.805
<v Chris>all that – they weren't going to be that happy.

00:00:08.845 --> 00:00:12.785
<v Chris>But we just moved a bunch of gear into this space, and the birds came down and

00:00:12.785 --> 00:00:13.925
<v Chris>were fighting over it this morning.

00:00:15.005 --> 00:00:18.865
<v Chris>And I could go out there and lift one of them and put them under my arm and

00:00:18.865 --> 00:00:22.285
<v Chris>carry them around like a small dog. They're just these huge creatures.

00:00:23.725 --> 00:00:28.025
<v Chris>And, man, oh, man, I want one as a pet so bad. Train it. Have it go collect things for me.

00:00:28.145 --> 00:00:30.865
<v Wes>Levi's going to get a little jealous, though. You know, watch out.

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

00:00:48.005 --> 00:00:48.645
<v Wes>My name is Wes.

00:00:48.885 --> 00:00:49.725
<v Brent>And my name is Brent.

00:00:50.225 --> 00:00:55.285
<v Chris>Hello, gentlemen. Well, coming up on the show, I tried to build a Linux desktop

00:00:55.285 --> 00:00:58.225
<v Chris>using nothing but AI text editors.

00:00:58.865 --> 00:01:02.345
<v Chris>I never touched a single config file. I just vibed it all the way.

00:01:02.585 --> 00:01:06.185
<v Chris>But did it work or did the bots break it? I'll tell you about that.

00:01:06.385 --> 00:01:09.905
<v Chris>And then Wes is sharing his tales from DEF CON and Nix Vegas.

00:01:10.165 --> 00:01:12.245
<v Chris>Then we're going to round the show out with some great emails,

00:01:12.445 --> 00:01:15.165
<v Chris>some boosts, some tremendous picks, and a lot more.

00:01:15.285 --> 00:01:18.505
<v Chris>So before I get any further, let's say time-appropriate greetings to that virtual

00:01:18.505 --> 00:01:19.565
<v Chris>lug. Hello, Mumble room.

00:01:20.145 --> 00:01:22.145
<v Chris>Hey, Chris. Hey, Wes. And hello, Brent.

00:01:22.885 --> 00:01:27.985
<v Chris>Hello, hello, hello. Hello. We have a small team in Mumble today.

00:01:28.225 --> 00:01:32.505
<v Chris>I think it's maybe this is the live stream summer doldrums, I suppose.

00:01:32.765 --> 00:01:35.485
<v Chris>We're grateful for everybody that can make it. We're also grateful for the chat room.

00:01:36.145 --> 00:01:39.125
<v Chris>And we're grateful for the friends over at Define Networking.

00:01:39.225 --> 00:01:43.005
<v Chris>Go check out Manage Nebula, define.net slash unplugged.

00:01:43.265 --> 00:01:49.425
<v Chris>It's a decentralized VPN built on an open source platform that we love. It's called Nebula.

00:01:49.625 --> 00:01:53.365
<v Chris>And the entire thing, top to bottom, is open source.

00:01:53.525 --> 00:01:58.125
<v Chris>So you can self-host all of it, or you can have the blissful piece of Manage Nebula.

00:01:58.225 --> 00:02:02.945
<v Chris>And it is optimized for speed, simplicity, and they're using industry-leading security.

00:02:03.385 --> 00:02:06.525
<v Chris>Nebula has a decentralized design that keeps your network resilient.

00:02:06.685 --> 00:02:10.865
<v Chris>If you want to manage it for your home lab or for an enterprise of tens of thousands

00:02:10.865 --> 00:02:13.325
<v Chris>of systems, Nebula is already doing it.

00:02:13.605 --> 00:02:17.885
<v Chris>In fact, Nebula was doing some heavy lifting when you're down there at DEF CON

00:02:17.885 --> 00:02:19.185
<v Chris>slash Nix Vegas, Mr. Payne.

00:02:19.405 --> 00:02:23.085
<v Wes>Yeah, that's right. I mean, what happens when you're trying to host,

00:02:23.365 --> 00:02:27.645
<v Wes>you know, you need to go get Nix packages even when you're doing a proxy or a build cache.

00:02:27.645 --> 00:02:31.105
<v Wes>And you're trying to fight, I mean, not only just conference Wi-Fi in general,

00:02:31.325 --> 00:02:36.125
<v Wes>but a whole bunch of hackers on said Wi-Fi, well, you bond as much as you can,

00:02:36.245 --> 00:02:39.865
<v Wes>and then you use Nebula to tunnel all of that,

00:02:41.073 --> 00:02:46.453
<v Wes>dedicated VPS upstream to just protect things and to make sure you have the

00:02:46.453 --> 00:02:50.553
<v Wes>best possible routing out of there so you don't get stuck in a big Vegas mess.

00:02:52.033 --> 00:02:55.133
<v Chris>That's really cool. And then they could just stand it up like that too.

00:02:55.573 --> 00:03:00.213
<v Chris>Nothing else offers Nebula's resilience, its speed, or scalability.

00:03:00.313 --> 00:03:04.213
<v Chris>And that stuff, it comes in just the network traffic usage. It comes in the

00:03:04.213 --> 00:03:08.093
<v Chris>uptime and the battery usage for mobile devices. It's really fantastic.

00:03:08.113 --> 00:03:11.953
<v Chris>It's why we're switching our infrastructure over to it and also the team behind

00:03:11.953 --> 00:03:15.973
<v Chris>it are friends of the show so go get started with up to 100 hosts absolutely

00:03:15.973 --> 00:03:22.233
<v Chris>free no credit card required just go to defined.net slash unplugged support

00:03:22.233 --> 00:03:26.333
<v Chris>the show and visit them at defined.net slash unplugged,

00:03:28.533 --> 00:03:34.353
<v Chris>all right so just a few housekeeping items before we dig into this uh the boys are remote this week.

00:03:35.093 --> 00:03:42.113
<v Chris>Brent's off in Eastern Canada and taking over a parent's cottage and has a little spot over there.

00:03:42.253 --> 00:03:44.993
<v Chris>Are the kitties with you right now, Brent, or did you leave them somewhere else

00:03:44.993 --> 00:03:45.573
<v Chris>while you're recording?

00:03:45.813 --> 00:03:49.273
<v Brent>I left them somewhere after last week when they had to just sit around while

00:03:49.273 --> 00:03:52.273
<v Brent>I was doing the show. They asked to not be a part of it this week for some reason.

00:03:52.493 --> 00:03:55.913
<v Chris>I understand. And Wes, you're in your hotel in Vegas right now.

00:03:56.033 --> 00:03:58.173
<v Chris>Can you, do you have any kind of view? Do you see anything?

00:03:59.093 --> 00:04:03.233
<v Wes>Well, you know, I do, I do have, I can see the strip. I can see the monorail,

00:04:03.413 --> 00:04:06.893
<v Wes>except I turned off the AC to do this here show.

00:04:07.213 --> 00:04:13.153
<v Wes>So I also closed the blinds to, you know, fight, fight that horrible sky death globe.

00:04:13.573 --> 00:04:18.293
<v Chris>Yeah. So I'm just chilling here. No, I'm not going to complain at all then about the weather.

00:04:18.333 --> 00:04:20.753
<v Chris>It's a little warm today, but I'm not going to complain at all.

00:04:20.833 --> 00:04:21.593
<v Chris>It's nothing like Vegas.

00:04:22.273 --> 00:04:25.953
<v Chris>I also wanted to give a shout out to a project that we love here at the show.

00:04:26.233 --> 00:04:28.593
<v Chris>It's the Podverse Podcast Catcher.

00:04:28.973 --> 00:04:34.453
<v Chris>It's a GPL open source podcasting 2.0 player. You see we also integrated into our website.

00:04:35.733 --> 00:04:39.793
<v Chris>And they're undergoing a big rework. And it's going really well.

00:04:39.893 --> 00:04:43.433
<v Chris>And they're looking for some help with a web app, perhaps their mobile app as well.

00:04:43.733 --> 00:04:48.353
<v Chris>And they let me know that now is the time to engage. Mitch wrote,

00:04:48.433 --> 00:04:50.953
<v Chris>I believe the new infrastructure is powerful and will hopefully be the best

00:04:50.953 --> 00:04:53.153
<v Chris>podcasting 2.0 compatible software available.

00:04:53.233 --> 00:04:57.453
<v Chris>And the backend components are mostly finished and the front-end website is in progress.

00:04:57.653 --> 00:05:00.373
<v Chris>So if you know anybody that could help us, please send them our way.

00:05:00.793 --> 00:05:05.133
<v Chris>So go find Podverse on GitHub. If you would like to help out what I think is

00:05:05.133 --> 00:05:09.173
<v Chris>an absolutely critical project, we need more open-source podcasting apps.

00:05:09.173 --> 00:05:12.633
<v Chris>It's not much of a thing. It really should be.

00:05:14.166 --> 00:05:18.526
<v Chris>Also, call out for a sponsor that wants to work with us to get us to Texas Linux Fest.

00:05:18.746 --> 00:05:23.706
<v Chris>The Linux Unplugged show is looking for someone to help us attend and cover

00:05:23.706 --> 00:05:27.346
<v Chris>Texas Linux Festival, which is October 3rd through the 1st.

00:05:27.726 --> 00:05:31.146
<v Chris>If you would like to help us get there and do some co-coverage with us or something

00:05:31.146 --> 00:05:34.626
<v Chris>like that, email me, chris at jupiterbroadcasting.com.

00:05:34.966 --> 00:05:37.666
<v Chris>And if you want to get there and do a talk or something like that,

00:05:37.746 --> 00:05:42.566
<v Chris>sometimes that helps the old boss, grease the wheels, get a talk in.

00:05:42.566 --> 00:05:44.726
<v Chris>Their call for papers has been extended.

00:05:45.026 --> 00:05:48.446
<v Chris>So you do have a little bit of time still. And it's October,

00:05:48.906 --> 00:05:50.486
<v Chris>Austin, Texas Linux Festival.

00:05:50.826 --> 00:05:57.906
<v Chris>It's one of the high signal, smaller events in terms of like scale or Linux Fest Northwest.

00:05:58.546 --> 00:06:02.486
<v Chris>It's still a good amount. And the signal to noise ratio is really good.

00:06:02.986 --> 00:06:05.146
<v Chris>We've always really enjoyed Texas Linux Festival.

00:06:05.326 --> 00:06:09.326
<v Wes>Oh yeah, we had a great time last time we went. I'm getting excited already.

00:06:09.326 --> 00:06:15.506
<v Wes>And, yeah, you know, I think there's a certain smoky flavor to those Texas-style

00:06:15.506 --> 00:06:17.526
<v Wes>Linux hackers that you just don't get anywhere else.

00:06:21.346 --> 00:06:28.746
<v Chris>Okay, Wes, so you are there in Vegas right now, and I'm just curious about how

00:06:28.746 --> 00:06:32.026
<v Chris>the whole thing went, really. I know you had a talk, I think it was on Saturday,

00:06:32.026 --> 00:06:36.326
<v Chris>and I think you had a chance to meet some folks. Tell us, give us a little flavor.

00:06:36.846 --> 00:06:41.726
<v Wes>Oh yeah okay so like first time at defcon first time in vegas actually somehow

00:06:41.726 --> 00:06:43.906
<v Wes>i've yet to yet to be here um you.

00:06:43.906 --> 00:06:44.906
<v Chris>Are kidding me.

00:06:44.906 --> 00:06:45.566
<v Wes>No wow.

00:06:45.566 --> 00:06:46.746
<v Chris>Did not know that.

00:06:46.746 --> 00:06:49.986
<v Wes>Um but you know overall i gotta say very impressed excellent

00:06:49.986 --> 00:06:52.966
<v Wes>conference and just like super super friendly

00:06:52.966 --> 00:06:57.486
<v Wes>folks i mean i ended up having a neighbor at the hotel in the room with me you

00:06:57.486 --> 00:07:00.346
<v Wes>know we were able to just like walk over together we became friends for the

00:07:00.346 --> 00:07:05.686
<v Wes>the whole conference and of let me uh tell him way too much info about nix so

00:07:05.686 --> 00:07:10.226
<v Wes>first of all just like you know i'm no i'm no pen tester i'm not a reverse engineer

00:07:10.646 --> 00:07:14.366
<v Wes>so i wasn't sure i was coming for the nix subconference we'll get more into

00:07:14.366 --> 00:07:17.386
<v Wes>that but just overall i would say like if you if you are interested if you have

00:07:17.386 --> 00:07:21.566
<v Wes>a budget to come to this kind of thing um much like the vibe at like a at a

00:07:21.566 --> 00:07:23.786
<v Wes>linux fest but at a whole different scale like,

00:07:24.466 --> 00:07:27.906
<v Wes>it's just super friendly and welcoming and so many people are here either their

00:07:27.906 --> 00:07:32.246
<v Wes>first time or their 17th time but uh it doesn't really matter people are looking

00:07:32.246 --> 00:07:35.266
<v Wes>to be friendly and welcoming and make new friends.

00:07:36.503 --> 00:07:39.803
<v Wes>I was really here, of course, for Nix Vegas, which is, I guess,

00:07:39.863 --> 00:07:41.323
<v Wes>the first time they're doing this.

00:07:41.463 --> 00:07:45.643
<v Wes>And it's a community sort of sub-conference inside the larger DEF CON.

00:07:46.143 --> 00:07:48.443
<v Wes>It's a common thing, right? They've got whole different villages,

00:07:48.623 --> 00:07:51.823
<v Wes>they've got sub-treks, and they've got these communities.

00:07:52.243 --> 00:07:55.683
<v Wes>And man, I just, like, huge shout-out to the folks behind all this.

00:07:56.423 --> 00:08:01.803
<v Wes>Many, many of them, but in particular, Morgan Jones, our buddy Tristan Ross,

00:08:01.903 --> 00:08:05.883
<v Wes>who was on the show and was a release manager recently for the most recent NixOS release.

00:08:05.883 --> 00:08:08.783
<v Wes>Also Tom Barrick from Phlox and a

00:08:08.783 --> 00:08:12.323
<v Wes>shout out to Dan Baker who also really helped organize this

00:08:12.323 --> 00:08:15.083
<v Wes>whole thing who sadly got the flu and was not

00:08:15.083 --> 00:08:17.983
<v Wes>able to make it to the conference but still so much

00:08:17.983 --> 00:08:20.723
<v Wes>hard work you know going there and of course Phlox and

00:08:20.723 --> 00:08:24.683
<v Wes>Determinant Systems were sponsoring to help make that possible and because

00:08:24.683 --> 00:08:27.563
<v Wes>these Nix folks are just crazy they also

00:08:27.563 --> 00:08:30.803
<v Wes>got some hardware support from System76 and Ampere

00:08:30.803 --> 00:08:34.263
<v Wes>and Protectly and Next Computing because the amount

00:08:34.263 --> 00:08:37.563
<v Wes>of infrastructure they stood up they weren't just like gonna be at

00:08:37.563 --> 00:08:40.463
<v Wes>defcon they stood up like whole domains they had

00:08:40.463 --> 00:08:43.383
<v Wes>this this impressive nebula infrastructure they

00:08:43.383 --> 00:08:46.723
<v Wes>had powerline networking going they ran a pixie server

00:08:46.723 --> 00:08:51.343
<v Wes>they basically rebuilt all of nix packages and pulled down all of nix packages

00:08:51.343 --> 00:08:55.083
<v Wes>to build a binary cache running on their network that you could get to over

00:08:55.083 --> 00:08:59.483
<v Wes>the powerline or the wi-fi that they were broadcasting and all of that is powered

00:08:59.483 --> 00:09:02.863
<v Wes>by nix and reproducible And they're pushing as much as they can upstream to

00:09:02.863 --> 00:09:04.923
<v Wes>a GitHub repo called NixVegas,

00:09:05.103 --> 00:09:08.423
<v Wes>or the GitHub org called NixVegas that we'll definitely have a link to.

00:09:09.083 --> 00:09:11.843
<v Chris>So they're doing Nebula over Powerline networking?

00:09:13.103 --> 00:09:18.103
<v Wes>Well, I don't know that Powerline was in the path out, but Powerline was a feature that was attacked.

00:09:18.183 --> 00:09:18.563
<v Chris>Love it.

00:09:18.763 --> 00:09:21.723
<v Wes>Yeah, so they could go elsewhere in the convention center, plug in,

00:09:21.783 --> 00:09:24.163
<v Wes>and then Pixie boot, because they were also running a Pixie server, of course.

00:09:24.942 --> 00:09:29.662
<v Chris>Oh, my gosh, that's so cool. So I'm guessing pretty good vibes.

00:09:30.042 --> 00:09:33.622
<v Chris>When we go to these kind of events, especially these more sub-conferences,

00:09:33.622 --> 00:09:37.482
<v Chris>it's a pretty tight crew. Like you say, everybody wants to chat and learn.

00:09:38.162 --> 00:09:42.582
<v Wes>Yeah, absolutely. And also just shout out to them because I got a little sneak

00:09:42.582 --> 00:09:46.742
<v Wes>peek behind the scenes at the first night as they were getting everything set up.

00:09:46.742 --> 00:09:53.002
<v Wes>And I can tell you that, like, they did not have a projector or a screen until,

00:09:53.202 --> 00:09:57.602
<v Wes>like, 1030 or 11 the night before things were supposed to get going.

00:09:57.802 --> 00:09:59.442
<v Wes>So, they were, like, improvising a backup.

00:10:00.062 --> 00:10:04.722
<v Wes>Shout out to Andrew and Anna, who came up with, like, a sheet-based backup and

00:10:04.722 --> 00:10:08.042
<v Wes>went and got a backup projector to try to make that work.

00:10:08.042 --> 00:10:12.062
<v Wes>People like you know chris and rj there's just this whole crew of folks behind

00:10:12.062 --> 00:10:18.662
<v Wes>the scenes making whatever needed to happen happen up to and including at the last minute and then,

00:10:19.442 --> 00:10:23.582
<v Wes>morgan sitting there running everything not only sort of like looking at bgp

00:10:23.582 --> 00:10:26.682
<v Wes>looking glass to make sure that the peering they have on the vps that's doing

00:10:26.682 --> 00:10:30.702
<v Wes>all the nebula streaming has is like optimized but also running an own cast

00:10:30.702 --> 00:10:34.122
<v Wes>server and obs and like doing all the stuff we do all at the same Yeah.

00:10:34.602 --> 00:10:37.222
<v Chris>Right. Because as we know, although at a smaller scale, it's there,

00:10:37.262 --> 00:10:39.302
<v Chris>you have the, you have the networking you have to solve.

00:10:39.482 --> 00:10:42.442
<v Chris>You have the production technology you have to solve them. The audio,

00:10:42.582 --> 00:10:47.162
<v Chris>I mean, there's so much, and I can so, so picture one of us doing like a backup

00:10:47.162 --> 00:10:50.582
<v Chris>run for another solution while we're trying to fix the primary solution. Like,

00:10:51.257 --> 00:10:53.377
<v Chris>You can really appreciate the hustle.

00:10:53.757 --> 00:10:57.757
<v Wes>Exactly. It definitely had our kind of last minute, just figure it out energy

00:10:57.757 --> 00:10:59.777
<v Wes>going on. So I naturally like that.

00:11:00.057 --> 00:11:04.097
<v Wes>Also very cool is Morgan and Tristan worked on an incredible badge.

00:11:04.257 --> 00:11:08.397
<v Wes>You know, like cool, hacky, embedded, styled badges are a big thing at DEFCON.

00:11:08.577 --> 00:11:12.897
<v Wes>And the Knicks team showed up for Knicks Vegas and DEFCON.

00:11:13.157 --> 00:11:17.157
<v Wes>Not only were they able to get the official SVG of the Knicks and Knicks OS logo,

00:11:17.157 --> 00:11:20.277
<v Wes>though um but like you know they got this sent over

00:11:20.277 --> 00:11:23.377
<v Wes>to a lab in um a fab in china

00:11:23.377 --> 00:11:26.397
<v Wes>you know they got it all ordered uh it's powered

00:11:26.397 --> 00:11:29.097
<v Wes>and built by nix i mean there's like key morgan gave a

00:11:29.097 --> 00:11:31.757
<v Wes>great talk uh but like keycads in there they had

00:11:31.757 --> 00:11:35.637
<v Wes>to use something called sv svg to shenzhen all

00:11:35.637 --> 00:11:38.377
<v Wes>kinds of like hacky scripts and adapters to make this thing as

00:11:38.377 --> 00:11:41.097
<v Wes>reproducible as possible so you can actually just go up

00:11:41.097 --> 00:11:44.177
<v Wes>to github and like go get this awesome badge it's

00:11:44.177 --> 00:11:47.037
<v Wes>running um some expressive like risk 5

00:11:47.037 --> 00:11:50.257
<v Wes>chip on there the badges also have

00:11:50.257 --> 00:11:54.337
<v Wes>wi-fi they join a wi-fi mesh and sadly

00:11:54.337 --> 00:11:57.997
<v Wes>there was like a little bug in some of the routing so the sd card doesn't work

00:11:57.997 --> 00:12:03.657
<v Wes>but it was going to be a full nix cache but it can also just be a nix cache

00:12:03.657 --> 00:12:07.897
<v Wes>proxy so you can you can be cloning down nix packages and you can point to your

00:12:07.897 --> 00:12:12.677
<v Wes>badge as a substituter and have it go over the conference like their,

00:12:13.277 --> 00:12:17.517
<v Wes>sub-conference Wi-Fi to get your Nix packages, which is just incredible.

00:12:18.957 --> 00:12:22.357
<v Chris>Holy. You had me at reproducible badge, but that's next level.

00:12:23.617 --> 00:12:26.577
<v Wes>Yeah. And there's a bunch of Easter eggs on there. I haven't even gotten,

00:12:26.857 --> 00:12:29.637
<v Wes>I'm excited to go, I'll bring it up and so you guys can check it out.

00:12:29.717 --> 00:12:32.017
<v Wes>We'll have to plug it in and see what we can do with it.

00:12:32.137 --> 00:12:33.937
<v Chris>I imagine this thing draws attention.

00:12:34.357 --> 00:12:37.757
<v Wes>Yes. So that was what worked out. I was super glad. Next time,

00:12:38.525 --> 00:12:43.885
<v Wes>A, I need more JB swag I can be given out, but then also Nick stuff,

00:12:43.885 --> 00:12:48.685
<v Wes>because once I had that badge, suddenly I found myself being an impromptu Nick's

00:12:48.685 --> 00:12:51.725
<v Wes>ambassador, which it turns out is a role I'm very happy to play.

00:12:51.865 --> 00:12:55.205
<v Wes>So whether it was just hanging out while talks were going on at the edge of

00:12:55.205 --> 00:12:58.725
<v Wes>the subconf area and talking to people wandering by, asking about it,

00:12:58.785 --> 00:13:02.085
<v Wes>or as I'm wandering around at night, at parties, at meetups,

00:13:02.185 --> 00:13:05.545
<v Wes>at events, folks are all like, oh, cool badge, so that's one line.

00:13:05.545 --> 00:13:08.905
<v Wes>But a lot of folks would just be like, oh, NixOS, or I've been curious about Nix.

00:13:09.025 --> 00:13:12.705
<v Wes>Oh, I've really been meaning to learn Nix, especially met a ton of Arch users

00:13:12.705 --> 00:13:16.945
<v Wes>in that camp, where it's like, they just needed a little bit more of a push,

00:13:17.085 --> 00:13:19.105
<v Wes>a little bit more of like, is it okay?

00:13:19.265 --> 00:13:21.445
<v Wes>Is it going to be horrible to try to onboard?

00:13:21.805 --> 00:13:24.705
<v Wes>So the badge was a huge win for me, because I just got to have a lot of great

00:13:24.705 --> 00:13:27.505
<v Wes>conversations, chatting with random people, trying to spread the good word.

00:13:27.765 --> 00:13:31.605
<v Chris>So is this how you ended up getting pulled into a 2 a.m. rescue session?

00:13:31.965 --> 00:13:37.265
<v Wes>Yes, absolutely. So I was, you know, trying to pace myself, trying not to stay

00:13:37.265 --> 00:13:41.225
<v Wes>up too late, but winding down, working on heading back from the convention center

00:13:41.225 --> 00:13:43.345
<v Wes>to the hotel I was staying at.

00:13:43.545 --> 00:13:47.865
<v Wes>And I ran to the gentleman I met that first day, Paul, and he was with some

00:13:47.865 --> 00:13:50.245
<v Wes>of his friends and they were working on a CTF.

00:13:50.605 --> 00:13:54.465
<v Wes>And when I walked over, they'd said something, what really made me stick around

00:13:54.465 --> 00:13:59.385
<v Wes>rather than just saying hi was the combination of WebAssembly and DOS.

00:13:59.525 --> 00:14:04.045
<v Wes>I was like, what are you doing with WebAssembly and DOS? And it turns out that

00:14:04.045 --> 00:14:05.505
<v Wes>this CTF they were doing,

00:14:05.785 --> 00:14:11.265
<v Wes>what they gave you to start was just a Z5 file, which is a game data file used

00:14:11.265 --> 00:14:14.685
<v Wes>by the Z machine, which is a virtual machine for running interactive fiction

00:14:14.685 --> 00:14:17.725
<v Wes>games, like from the DOS era.

00:14:18.405 --> 00:14:18.845
<v Chris>Amazing.

00:14:19.165 --> 00:14:22.225
<v Wes>So you could just play the game, right? So that was one way to try to go through

00:14:22.225 --> 00:14:23.305
<v Wes>the capture the flag event.

00:14:23.725 --> 00:14:27.085
<v Wes>But, and of course, probably I'm sure the folks behind this knew,

00:14:27.365 --> 00:14:32.545
<v Wes>there's a debugger for these game files called Z tools. And so,

00:14:32.865 --> 00:14:35.785
<v Wes>unfortunately, these folks had only brought a Mac with them.

00:14:35.885 --> 00:14:38.145
<v Wes>I think their other laptops were back at the hotel at this point because it

00:14:38.145 --> 00:14:40.665
<v Wes>was, you know, 2 a.m. And they'd been partying.

00:14:41.645 --> 00:14:44.965
<v Wes>So they had a Mac. This thing would not run on a Mac. It would run on Windows.

00:14:45.205 --> 00:14:47.645
<v Wes>You know, you could probably get it running. You could compile it for Linux.

00:14:48.005 --> 00:14:51.985
<v Wes>So they were going down the path of trying to get WebAssembly and DOS so that

00:14:51.985 --> 00:14:54.965
<v Wes>they could upload this debugger and the game file to that, which,

00:14:55.025 --> 00:14:56.725
<v Wes>of course, was just going terribly.

00:14:57.045 --> 00:15:00.505
<v Wes>So I started, like, I don't know, just trying to help. I was like,

00:15:00.565 --> 00:15:03.705
<v Wes>okay, what about FreeDOS? Maybe like we spin up, you know, ultimately UTM,

00:15:03.925 --> 00:15:06.705
<v Wes>which is QEMU, trying to run free DOS.

00:15:06.865 --> 00:15:11.005
<v Wes>And then, of course, then we had to figure out how to actually get the files in there.

00:15:11.165 --> 00:15:16.525
<v Chris>And are you using UTM x86 emulation for this, which is slow as hell on a Mac?

00:15:16.785 --> 00:15:20.205
<v Wes>Yeah, I think so. I don't know which era of Mac it was, but yes,

00:15:20.365 --> 00:15:21.485
<v Wes>presumably that must be it.

00:15:21.665 --> 00:15:22.665
<v Chris>Oh, my God. All right.

00:15:22.865 --> 00:15:25.745
<v Wes>Yeah. So they were finally able to get free DOS to download.

00:15:25.825 --> 00:15:28.725
<v Wes>You know, you still have to somehow they have a free DOS live CD,

00:15:28.865 --> 00:15:32.845
<v Wes>which is almost a thing that doesn't quite compute for me. But it is a thing. It does work.

00:15:33.005 --> 00:15:36.805
<v Wes>And then it turns out there is a QEMU flag that you can just pass through like a fat...

00:15:38.839 --> 00:15:41.679
<v Wes>Format it'll treat it like a fat device to attach but it has

00:15:41.679 --> 00:15:44.519
<v Wes>some weird limitations around like being read only maybe and like

00:15:44.519 --> 00:15:48.099
<v Wes>only 512 bytes and how do you then you have to make sure you can pass extra

00:15:48.099 --> 00:15:51.959
<v Wes>arbitrary flags through utm so while that was like we were debating that i was

00:15:51.959 --> 00:15:55.559
<v Wes>like okay well let me pull out my laptop uh i know i could at least like make

00:15:55.559 --> 00:16:00.919
<v Wes>a like a loopback raw device that we could format like fat 16 and mbr and like

00:16:00.919 --> 00:16:03.779
<v Wes>try to stuff the files and then maybe mount that as a second drive.

00:16:04.519 --> 00:16:07.199
<v Wes>But that's when I finally, because I was kind of getting, you know,

00:16:07.319 --> 00:16:10.259
<v Wes>trying to figure out the whole path they had gone down to get where they were

00:16:10.259 --> 00:16:13.419
<v Wes>in terms of like actually what the problem up the tree was they were trying to solve.

00:16:14.039 --> 00:16:17.139
<v Wes>And then I realized that the whole problem was really just trying to get those,

00:16:17.999 --> 00:16:19.139
<v Wes>ZTools debugger working.

00:16:20.779 --> 00:16:26.059
<v Wes>And yeah, that was just packaged in Nix packages. So I could just literally clone that down.

00:16:26.239 --> 00:16:29.259
<v Wes>It took, you know, two seconds. And then I was able to immediately dump all

00:16:29.259 --> 00:16:33.299
<v Wes>of the game data and share that with the team. and then they could start like

00:16:33.299 --> 00:16:34.959
<v Wes>grepping through it, trying to find clues.

00:16:35.239 --> 00:16:37.859
<v Wes>Of course, if you just grep for the word flag, there's like a,

00:16:38.039 --> 00:16:40.679
<v Wes>there's an F you in there from the people behind it. Like, of course we wouldn't

00:16:40.679 --> 00:16:42.579
<v Wes>just put this in here like that. What are you doing?

00:16:43.079 --> 00:16:46.679
<v Wes>So I don't know how far they eventually got, but I was able to like give them

00:16:46.679 --> 00:16:51.159
<v Wes>those text file dumps and at least felt like I was participating and helping

00:16:51.159 --> 00:16:53.299
<v Wes>out. And hey, the power of Nix.

00:16:53.679 --> 00:16:56.959
<v Chris>I have one question though. Were you out and about at 2 a.m.

00:16:57.219 --> 00:17:00.739
<v Chris>With your laptop or did you discover them, come across them,

00:17:00.739 --> 00:17:05.679
<v Chris>realize their plight go back to your hotel room get your laptop come back and do this.

00:17:06.499 --> 00:17:09.259
<v Wes>No you know so that day not only did I not manage to

00:17:09.259 --> 00:17:12.819
<v Wes>actually have dinner but I did not manage to escape the conference at all so

00:17:12.819 --> 00:17:15.759
<v Wes>I had my laptop from being there during the day and I just never had a chance

00:17:15.759 --> 00:17:19.779
<v Wes>to go back to the hotel so I was bopping around having having a couple of drinks

00:17:19.779 --> 00:17:26.739
<v Wes>dancing all with my laptop so oh my gosh that's amazing think that it is uh it is a trooper.

00:17:27.645 --> 00:17:31.985
<v Chris>Yeah, really? Wow. Well, also, before the show started, you kind of teased us

00:17:31.985 --> 00:17:36.265
<v Chris>that you may have heard about a new feature coming to Nix that you are particularly nerded out about.

00:17:36.545 --> 00:17:41.165
<v Wes>Yeah, right. I'm a functional programming guy. I like Clojure and other functional

00:17:41.165 --> 00:17:43.065
<v Wes>programming. And Nix is a functional programming language.

00:17:43.365 --> 00:17:47.205
<v Wes>And one of the things with functional programming languages is you're doing function calls.

00:17:47.345 --> 00:17:50.625
<v Wes>And often you might need to chain some data through a couple of functions,

00:17:50.745 --> 00:17:52.325
<v Wes>right? You call one thing to get your initial data.

00:17:52.405 --> 00:17:55.585
<v Wes>You call another function on that to maybe modify it a little bit.

00:17:55.585 --> 00:17:58.705
<v Wes>And then you finally pass it off to like the final thing that needs that data.

00:17:59.125 --> 00:18:03.805
<v Wes>And with Nix, right now, and in a lot of functional programming languages without

00:18:03.805 --> 00:18:07.185
<v Wes>these tricks, you kind of have to read it backwards, right?

00:18:07.245 --> 00:18:11.105
<v Wes>So it's like it's nested with the last thing, you read it first,

00:18:11.145 --> 00:18:13.785
<v Wes>and the first thing is all the way inside the nesting.

00:18:14.365 --> 00:18:17.485
<v Wes>That can be confusing. If you do a lot of functional programming language,

00:18:17.665 --> 00:18:19.925
<v Wes>you kind of get used to it. But no one really likes it.

00:18:20.165 --> 00:18:23.385
<v Wes>Often you then have to kind of leave more comments in the code to try to explain

00:18:23.385 --> 00:18:27.165
<v Wes>exactly what's going on with the flow. So I had no idea that this was already

00:18:27.165 --> 00:18:32.085
<v Wes>a shipping experimental feature in Nix, and there's an open RFC going for it.

00:18:32.765 --> 00:18:36.705
<v Wes>They're introducing a pipe operator, which just lets you do exactly that,

00:18:36.765 --> 00:18:37.805
<v Wes>except it flips the order.

00:18:38.025 --> 00:18:42.745
<v Wes>So you run, you produce your first data, and then you can just pipe it just

00:18:42.745 --> 00:18:47.705
<v Wes>like you're used to in a good old Unix shell to build a pipeline that looks

00:18:47.705 --> 00:18:50.945
<v Wes>in the proper readable order right out of the gate.

00:18:50.945 --> 00:18:54.165
<v Wes>So it's like a small change on the language, but because this pattern is so

00:18:54.165 --> 00:18:57.645
<v Wes>prevalent basically everywhere, it could be one that would be a huge win for

00:18:57.645 --> 00:19:01.525
<v Wes>readability and hopefully something that makes it easier for folks not only

00:19:01.525 --> 00:19:03.085
<v Wes>coming from other functional programming languages,

00:19:03.305 --> 00:19:08.565
<v Wes>but actually the person who's the steward of the RFC was not a functional programmer before Nix at all.

00:19:08.565 --> 00:19:11.985
<v Wes>And so they were actually doing this just because it made it so much easier for them.

00:19:12.105 --> 00:19:16.425
<v Wes>So I had no idea. Some of the other folks I was chatting with who were definitely

00:19:16.425 --> 00:19:18.425
<v Wes>Nix nerds in the audience also had no idea.

00:19:18.625 --> 00:19:22.345
<v Wes>So yeah, they were also asking for explicitly support.

00:19:22.525 --> 00:19:26.625
<v Wes>Well, I'll link to the RFC in the show notes. And go chime in.

00:19:26.725 --> 00:19:30.385
<v Wes>Go try it out. You can enable it now if you have a new enough Nix with an experimental feature.

00:19:30.605 --> 00:19:33.385
<v Wes>Then they need users to go test it and break it and figure out if it's going

00:19:33.385 --> 00:19:38.385
<v Wes>to work so they can get it across the finish line and shipping and actually ready to go.

00:19:38.565 --> 00:19:42.565
<v Brent>By default well Wes I got to know how was the Vegas experience given it was

00:19:42.565 --> 00:19:46.825
<v Brent>your first time there but also we've heard some things that Vegas has changed

00:19:46.825 --> 00:19:48.985
<v Brent>in a little bit so how was Vegas.

00:19:50.390 --> 00:19:55.470
<v Wes>You know, I have not yet had to get to see as much of it as I would like. It's definitely hot.

00:19:56.150 --> 00:20:02.710
<v Wes>It definitely doesn't sleep. But I like it, you know? There's entertainment wherever you'd like.

00:20:02.890 --> 00:20:04.950
<v Chris>Always something going on. I know that's your style.

00:20:05.550 --> 00:20:09.490
<v Wes>Yes, absolutely, right? There's no problem. I was able to go pick up some good

00:20:09.490 --> 00:20:13.070
<v Wes>show supplies at like 3 in the morning last night when I was getting back to the hotel.

00:20:13.630 --> 00:20:17.490
<v Wes>It is giant, though. So thankfully, the hotel I'm at is attached to their monorail

00:20:17.490 --> 00:20:21.210
<v Wes>system on the Strip. So that helps out a lot because otherwise you really don't

00:20:21.210 --> 00:20:24.250
<v Wes>want to walk, you know, 30 minutes and 106 degrees.

00:20:26.650 --> 00:20:29.270
<v Wes>But I'm excited after the show today. I'm hoping I can, well,

00:20:29.350 --> 00:20:33.630
<v Wes>maybe take a nap, but then go get off the strip, go explore some more of,

00:20:33.710 --> 00:20:36.790
<v Wes>you know, the rest of Vegas. So hopefully I'll have something fun.

00:20:36.910 --> 00:20:39.510
<v Chris>You know, maybe that vitamin D will keep you from getting sick.

00:20:39.810 --> 00:20:45.610
<v Chris>Did you get to bump into any listeners or anybody that maybe you've known from other conferences?

00:20:46.050 --> 00:20:49.690
<v Wes>Yes, I definitely saw our buddy Rob, who we had on the show,

00:20:49.790 --> 00:20:52.990
<v Wes>who helps organize scale. He was here. That was great to see him.

00:20:53.290 --> 00:20:57.070
<v Wes>And I ran into a few folks who've seen other conferences kind of all around.

00:20:57.190 --> 00:21:00.730
<v Wes>But in particular, shout out to Britton, who gave a great talk about Klan,

00:21:01.010 --> 00:21:03.610
<v Wes>which is a cool system we might have to talk more about.

00:21:03.730 --> 00:21:07.910
<v Wes>He's also working on a pretty great looking, like based on his talk and based

00:21:07.910 --> 00:21:11.130
<v Wes>on looking at his Hyperland setup, a very nice Hyperland setup,

00:21:11.250 --> 00:21:15.610
<v Wes>sort of Omarchi style, but on top of Nix, powered by Klan. And I don't know

00:21:15.610 --> 00:21:18.270
<v Wes>that any of that's ready or anything, but something I'm looking forward to.

00:21:18.550 --> 00:21:24.010
<v Wes>And then also a big shout out to listener Lucas, who heard about Nick's Vegas

00:21:24.010 --> 00:21:28.870
<v Wes>on the show and then flew out from Missouri just to come and check it out.

00:21:29.070 --> 00:21:32.410
<v Wes>So super great. Had a lovely time talking with Lucas.

00:21:32.630 --> 00:21:36.790
<v Wes>And he's actually in between jobs right now. So if you're looking for a sharp

00:21:36.790 --> 00:21:42.210
<v Wes>person who can run your infra and knows Nick's, we'll have a link to lucasr.com,

00:21:42.290 --> 00:21:43.190
<v Wes>which is his LinkedIn profile.

00:21:46.650 --> 00:21:51.230
<v Chris>1Password.com slash unplugged. Take the first step to better security for your

00:21:51.230 --> 00:21:54.270
<v Chris>team by securing credentials and protecting every application,

00:21:54.570 --> 00:21:56.830
<v Chris>even unmanaged shadow IT.

00:21:57.110 --> 00:22:03.630
<v Chris>That's 1Password, the number 1Password.com slash unplugged. And it's all lowercase.

00:22:03.870 --> 00:22:07.930
<v Chris>Go learn more at 1Password.com slash unplugged and support the show.

00:22:08.190 --> 00:22:10.050
<v Chris>Here's something I can really connect with.

00:22:10.550 --> 00:22:14.350
<v Chris>And if you're in IT or if you're in security specifically, you probably can too.

00:22:14.950 --> 00:22:18.650
<v Chris>The reality is there's a mountain of devices out there and more and more SaaS

00:22:18.650 --> 00:22:20.170
<v Chris>applications all the time.

00:22:20.290 --> 00:22:23.030
<v Chris>And that creates a mountain of security risk.

00:22:23.290 --> 00:22:26.410
<v Chris>The reality is that's getting harder and harder to deal with.

00:22:27.450 --> 00:22:32.190
<v Chris>Unless you check out 1Password Extended Access Management. That can help you

00:22:32.190 --> 00:22:35.190
<v Chris>conquer the mountain of security risks that are coming at us all the time.

00:22:35.970 --> 00:22:39.990
<v Chris>When surveyed, over a half of IT pros say that securing their SaaS apps is the

00:22:39.990 --> 00:22:42.750
<v Chris>biggest challenge, specifically for the reasons I just outlined.

00:22:43.430 --> 00:22:49.930
<v Chris>Well, Trellica by 1Password can discover and secure access to your apps, managed or not.

00:22:50.090 --> 00:22:55.150
<v Chris>It inventories every app in use at your company. It has pre-populated app profiles

00:22:55.150 --> 00:22:57.790
<v Chris>that know where to assess and what to look at for different SaaS risks.

00:22:57.930 --> 00:23:03.350
<v Chris>And it lets you manage access, optimize spend, and even enforce best practices

00:23:03.350 --> 00:23:05.790
<v Chris>across every app your employees use.

00:23:05.890 --> 00:23:10.050
<v Chris>So you can manage the shadow IT stuff, which is something I used to struggle with so much.

00:23:10.150 --> 00:23:15.570
<v Chris>You can securely onboard and off-board employees, have a real process for that,

00:23:15.670 --> 00:23:17.090
<v Chris>and meet compliance goals.

00:23:17.410 --> 00:23:22.530
<v Chris>That's what Trellica by OnePass provides, a complete solution for SaaS access governance.

00:23:23.030 --> 00:23:26.510
<v Chris>It's just one of the ways that extended access management helps teams strengthen

00:23:26.510 --> 00:23:28.330
<v Chris>compliance and security.

00:23:28.870 --> 00:23:34.050
<v Chris>I had so many clients over the years that I'd show up and they'd have passwords under their keyboard.

00:23:34.650 --> 00:23:39.730
<v Chris>And this was a big battle for many years, was helping users understand the risks

00:23:39.730 --> 00:23:42.770
<v Chris>of that and then getting them tooling to solve that problem.

00:23:42.990 --> 00:23:45.970
<v Chris>And of course, one password came in and beautifully provided that tooling.

00:23:46.250 --> 00:23:50.470
<v Chris>Well, we're in a new era now, and that's where Trelica and extended access management

00:23:50.470 --> 00:23:54.530
<v Chris>come in. So go take the first step to better security for your team by securing

00:23:54.530 --> 00:23:59.050
<v Chris>credentials and protecting every application, even the unmanaged shadow IT.

00:23:59.550 --> 00:24:05.010
<v Chris>Learn more at 1password.com slash unplugged. That's the number 1password.com

00:24:05.010 --> 00:24:06.930
<v Chris>slash unplugged, all lowercase.

00:24:07.170 --> 00:24:09.550
<v Chris>You check it out, they have more information, and it's a great way to support

00:24:09.550 --> 00:24:12.930
<v Chris>the show. Just go to 1password.com slash unplugged.

00:24:16.330 --> 00:24:22.450
<v Wes>Well after the show last week kind of just on a whim um i decided to show you,

00:24:23.010 --> 00:24:25.930
<v Wes>a little tool i'd been trying out for vibe

00:24:25.930 --> 00:24:29.690
<v Wes>coding i i thought you know mostly it was just look at how nice the interface

00:24:29.690 --> 00:24:33.530
<v Wes>is it's really pretty i think chris will like it and hey it's packaged in nix

00:24:33.530 --> 00:24:36.430
<v Wes>so we could just give it a try but like we were sitting around you know finishing

00:24:36.430 --> 00:24:40.770
<v Wes>out the show notes i didn't think too much of it but it turns out that little

00:24:40.770 --> 00:24:43.870
<v Wes>event seems to have totally reshaped your week.

00:24:44.710 --> 00:24:48.470
<v Chris>Yeah, I kept playing with it. You know, the first thing when you showed it to

00:24:48.470 --> 00:24:52.070
<v Chris>me is like, oh, this would have been cool while we had the TUI challenge. This is a fun toy.

00:24:53.470 --> 00:24:57.090
<v Chris>And then I just decided to see how far I could push it. And I kind of created

00:24:57.090 --> 00:24:59.970
<v Chris>myself a little mini challenge over the last few days.

00:25:00.150 --> 00:25:08.670
<v Chris>Could I could I vibe code a riced up Hyperland desktop from essentially a base headless Nick system?

00:25:09.290 --> 00:25:12.410
<v Chris>But before I get into all that, I do want to set the tone for a moment.

00:25:13.290 --> 00:25:19.230
<v Chris>Because I realized, you know, we kind of touch on these types of topics once

00:25:19.230 --> 00:25:25.630
<v Chris>or twice a year, but we first started talking about this with no hype in like around 2022. And,

00:25:26.899 --> 00:25:30.259
<v Chris>I couldn't believe it when I went back and looked at our back catalog when we

00:25:30.259 --> 00:25:32.399
<v Chris>started talking about LLMs and this type of stuff.

00:25:32.959 --> 00:25:36.919
<v Chris>And I think we've consistently been really good about separating the practical from the hype.

00:25:39.019 --> 00:25:44.919
<v Chris>And I think it's one of these things where we have very high expectations and

00:25:44.919 --> 00:25:48.659
<v Chris>we kind of miss the trees in the forest, as they say, or whatever.

00:25:49.739 --> 00:25:53.779
<v Chris>And I think because part of it is some of the things we ask these LLMs to do,

00:25:53.999 --> 00:25:55.719
<v Chris>humans are pretty good at already.

00:25:56.579 --> 00:26:00.139
<v Chris>And so we kind of are judging it with a high bar. And so one of the things that's

00:26:00.139 --> 00:26:06.199
<v Chris>in the discussion right now around these LLM tools is can they code? Can you vibe code?

00:26:06.399 --> 00:26:09.219
<v Chris>Can you build application using these tools? And then, of course,

00:26:09.299 --> 00:26:12.259
<v Chris>people build these applications and they're pretty much universally mocked.

00:26:13.239 --> 00:26:16.079
<v Chris>But that's a pretty high bar, you know, because even humans aren't very good

00:26:16.079 --> 00:26:16.879
<v Chris>at developing software.

00:26:17.839 --> 00:26:22.139
<v Chris>And there aren't a ton of great examples online. So if you index the Internet,

00:26:22.479 --> 00:26:23.699
<v Chris>the average is pretty low.

00:26:25.279 --> 00:26:30.399
<v Chris>But I had this theory, and I thought, well, what if I lowered the bar a little bit?

00:26:30.779 --> 00:26:35.719
<v Chris>And maybe instead of trying to build a complex application, what if I just try

00:26:35.719 --> 00:26:37.179
<v Chris>to build some configuration files?

00:26:37.799 --> 00:26:42.559
<v Chris>You know, what if I try to just generate some YAML, or a Docker Compose file, or Nix, and so on.

00:26:42.839 --> 00:26:46.319
<v Chris>And so that's where I started with Crush. It's like, well, I don't need to create

00:26:46.319 --> 00:26:49.259
<v Chris>an app. I just, I want like a config template to start with.

00:26:50.178 --> 00:26:53.878
<v Chris>And I started building on that idea. And what I realized, and I'm curious what

00:26:53.878 --> 00:26:56.458
<v Chris>your thoughts are, Wes, is I have a theory.

00:26:57.058 --> 00:27:00.238
<v Chris>And that theory goes that this stuff is a little bit easier.

00:27:00.238 --> 00:27:01.938
<v Chris>It's a little bit simpler of a language.

00:27:02.218 --> 00:27:06.958
<v Chris>And there's probably more examples of it online that are better on average than,

00:27:07.058 --> 00:27:11.958
<v Chris>say, maybe code that these models have been trained on. So it's like it's indexing text.

00:27:12.438 --> 00:27:16.018
<v Chris>And this stuff is just a little more straightforward. So maybe these LLMs are

00:27:16.018 --> 00:27:20.538
<v Chris>just perhaps a little bit better at generating config files than application code?

00:27:20.918 --> 00:27:24.158
<v Wes>Yeah, I mean, I think the limited scope definitely helps, right?

00:27:24.298 --> 00:27:29.738
<v Wes>You're not trying to create a sketchy dating app so people will upload all their

00:27:29.738 --> 00:27:33.938
<v Wes>ID pictures that you leak out on the internet or whatever. You kind of have some nice bounds.

00:27:34.378 --> 00:27:39.458
<v Wes>There is a schema. When you go to try to rebuild or build whatever, it can shout at you.

00:27:39.578 --> 00:27:42.498
<v Wes>It can tell you what's wrong. not always with the best error messages,

00:27:42.518 --> 00:27:45.338
<v Wes>but often with a good error message or at least good enough,

00:27:45.438 --> 00:27:49.038
<v Wes>you can pipe that back in and get some suggestions on what to do next.

00:27:49.158 --> 00:27:52.618
<v Wes>Because, yeah, you're not trying to architect a giant distributed system with,

00:27:52.618 --> 00:27:56.598
<v Wes>you know, a Rails application and JavaScript and how do you figure out the right

00:27:56.598 --> 00:27:58.918
<v Wes>security and protocols and database and caching.

00:27:59.138 --> 00:28:01.978
<v Wes>Like, it's a better scoped problem.

00:28:02.458 --> 00:28:06.958
<v Chris>Yeah. And so, gentlemen, this was my hypothesize, is that perhaps this would

00:28:06.958 --> 00:28:10.218
<v Chris>be something these things would be better at. And I sort of got to this after

00:28:10.218 --> 00:28:11.238
<v Chris>playing with this crush tool.

00:28:11.498 --> 00:28:14.018
<v Chris>But I wanted to know how good.

00:28:14.618 --> 00:28:18.198
<v Chris>And I thought, well, how can I figure out how far somebody could take this?

00:28:18.558 --> 00:28:22.158
<v Chris>Somebody who's looking at this as a system administrator or somebody building

00:28:22.158 --> 00:28:25.618
<v Chris>a Linux box, not somebody trying to develop an application, not somebody that's

00:28:25.618 --> 00:28:28.998
<v Chris>trying to create, you know, some sort of wild out there AI app.

00:28:29.238 --> 00:28:32.098
<v Chris>I'm just trying to manage a dozen config files on my box.

00:28:32.418 --> 00:28:35.998
<v Chris>And so I took my existing Nix OS system that I have at home.

00:28:36.995 --> 00:28:42.115
<v Chris>And I essentially commented out everything but just the really base boot to

00:28:42.115 --> 00:28:45.275
<v Chris>a terminal, hardware setup, you know, left the file systems in place,

00:28:45.315 --> 00:28:48.595
<v Chris>but essentially just stripped it all the way down.

00:28:48.935 --> 00:28:53.035
<v Chris>Which, by the way, is so great to build a load into a previous version when

00:28:53.035 --> 00:28:56.875
<v Chris>you screwed something up, fix it, and then try it again and try it again.

00:28:57.015 --> 00:28:58.455
<v Chris>Like, I cannot tell you how great that is.

00:28:59.035 --> 00:29:01.415
<v Wes>Yeah, it's like, oh, I deleted too much in that build.

00:29:01.595 --> 00:29:08.075
<v Chris>Nope, nope, nope. So I stripped it down, got it essentially headless,

00:29:08.255 --> 00:29:13.775
<v Chris>and then proceeded to vibe code, at least attempt,

00:29:14.055 --> 00:29:19.095
<v Chris>a complete Hyperland desktop with riced out way bar and settings,

00:29:19.295 --> 00:29:21.895
<v Chris>custom key binds, theming, and more.

00:29:22.055 --> 00:29:26.235
<v Chris>And I quickly discovered I needed to SSH into this thing because I have this

00:29:26.235 --> 00:29:31.155
<v Chris>wide, ultra wide screen and Crush was horrible on there because it's on the terminal.

00:29:32.155 --> 00:29:35.195
<v Chris>But using it i was able to build a real basic config

00:29:35.195 --> 00:29:37.975
<v Chris>through through an ssh session running crush on that

00:29:37.975 --> 00:29:40.935
<v Chris>local box i was able to build out a basic

00:29:40.935 --> 00:29:44.595
<v Chris>config that i never wrote myself and what it really did is it i told it what

00:29:44.595 --> 00:29:48.115
<v Chris>i wanted and it went through and it walked my config and said well okay i'll

00:29:48.115 --> 00:29:51.775
<v Chris>re-enable this i'll re i'll re-enable this and i'll add this package and i'll

00:29:51.775 --> 00:29:54.815
<v Chris>re-enable this and so it was really intelligent about well if i already had

00:29:54.815 --> 00:29:58.235
<v Chris>it in there it would just uncomment it for me oh you already need you you already

00:29:58.235 --> 00:30:00.235
<v Chris>have this and it's fun, right?

00:30:00.335 --> 00:30:04.295
<v Chris>Because you pointed a directory, it scans that directory, it indexes everything

00:30:04.295 --> 00:30:06.235
<v Chris>and it has kind of a cool look to it.

00:30:06.555 --> 00:30:09.635
<v Chris>I mean, I thought it looked really neat. Brent, maybe you thought it looked,

00:30:10.715 --> 00:30:14.215
<v Chris>I don't know, like it was trying too hard, like an 80s retro computer interface.

00:30:14.375 --> 00:30:15.655
<v Chris>I know you had a chance to play with it.

00:30:16.555 --> 00:30:19.735
<v Brent>I actually appreciated how it was kind of active.

00:30:20.055 --> 00:30:22.255
<v Brent>You know, you were doing something, if you were waiting for it,

00:30:22.315 --> 00:30:27.535
<v Brent>it had this sort of, I don't know, animation, but it wasn't over the top or it was super annoying.

00:30:27.695 --> 00:30:31.815
<v Brent>It was just like, things are happening so surprisingly i liked it.

00:30:31.815 --> 00:30:37.415
<v Chris>And it lets you switch between multiple models it supports open router as well

00:30:37.415 --> 00:30:42.875
<v Chris>which is what i was using um so that's kind of nice did you accomplish anything when you tried crush.

00:30:42.875 --> 00:30:45.835
<v Brent>I attempted something a different

00:30:45.835 --> 00:30:52.735
<v Brent>direction than you i attempted to um pull the irc feature out of our jb website

00:30:52.735 --> 00:30:56.075
<v Brent>because it's a thing that i've wanted to do for a while but I haven't sat down

00:30:56.075 --> 00:31:00.155
<v Brent>and actually did it it didn't go so well for me but this is the first time I

00:31:00.155 --> 00:31:04.055
<v Brent>try to you know vibe vibe so maybe that's on me sometimes.

00:31:04.055 --> 00:31:04.715
<v Chris>The vibe isn't.

00:31:06.104 --> 00:31:11.664
<v Wes>I do want to call out that the folks behind this, the Charm slash Charm Bracelet

00:31:11.664 --> 00:31:13.884
<v Wes>team project, I don't know the full details.

00:31:14.324 --> 00:31:18.184
<v Wes>But I mean, not only did they make it super easy to try with all kinds of Nick's

00:31:18.184 --> 00:31:23.484
<v Wes>instructions and other distributions on Crush here, but it's all powered by

00:31:23.484 --> 00:31:27.404
<v Wes>Bubble T, which is a powerful TUI framework written in Go that they make.

00:31:27.504 --> 00:31:31.464
<v Wes>And then it powers other stuff like Gum, which is a tool to,

00:31:31.604 --> 00:31:35.824
<v Wes>you can call out to Gum from shell scripts to like make fancy looking interfaces.

00:31:36.344 --> 00:31:41.064
<v Wes>They've also got VHS, which is a CLI home video recorder for your terminal.

00:31:41.284 --> 00:31:44.204
<v Wes>And they've got Glow, which is a tool I've used all the time because it renders

00:31:44.204 --> 00:31:46.304
<v Wes>markdown on the command line that looks really nice.

00:31:46.464 --> 00:31:50.184
<v Wes>So like, it's very cool to see them continue to advance and Crush is a very

00:31:50.184 --> 00:31:53.304
<v Wes>impressive tool powered by some really good primitives.

00:31:53.604 --> 00:31:57.564
<v Chris>And it is slick looking. It really is. And what's neat is, of course,

00:31:57.624 --> 00:32:00.424
<v Chris>this is designed to look at a project directory for software,

00:32:00.544 --> 00:32:05.684
<v Chris>but it treats the configuration directory like a project. And And then it understands my system.

00:32:05.724 --> 00:32:08.404
<v Chris>It understands my sub configuration files, my includes it.

00:32:08.544 --> 00:32:13.144
<v Chris>It knows I'm on a flake based system. Like it gets my box. And then so everything

00:32:13.144 --> 00:32:15.624
<v Chris>it's doing is with that context and that understanding.

00:32:16.903 --> 00:32:20.143
<v Chris>That's powerful. That's really, really powerful. And I'll come back to that later.

00:32:20.343 --> 00:32:24.123
<v Wes>I do wonder, just because you mentioned, which you said you were using Open

00:32:24.123 --> 00:32:28.163
<v Wes>Router. Were you using a variety of models or did you just stick with one model for this?

00:32:28.563 --> 00:32:32.183
<v Chris>I did end up changing it. So I'll mention the model I use later,

00:32:32.403 --> 00:32:34.843
<v Chris>the second model. But I started with Claude, which seemed pretty good.

00:32:34.983 --> 00:32:39.163
<v Chris>And it's nice because with Open Router, as you probably could explain better

00:32:39.163 --> 00:32:42.943
<v Chris>than me, Wes, is I've just put the credits in one place and then it kind of

00:32:42.943 --> 00:32:46.063
<v Chris>divvies it out depending on which model I select on the tooling I'm using.

00:32:46.063 --> 00:32:49.643
<v Chris>And you've been telling me to do this for months so I finally went and funded

00:32:49.643 --> 00:32:54.983
<v Chris>an Open Router account and then yeah I selected Claude through that and I think

00:32:54.983 --> 00:32:57.383
<v Chris>it's one of their later ones that's available.

00:32:57.743 --> 00:33:00.523
<v Chris>I have a hard time differentiating all the model names to be honest with you

00:33:00.523 --> 00:33:01.703
<v Chris>it's kind of ridiculous the branding.

00:33:01.983 --> 00:33:05.543
<v Wes>Yeah it's getting confusing but you're totally right Open Router is just a nice

00:33:05.543 --> 00:33:08.823
<v Wes>little service that sits in the middle so you pay them instead of having to

00:33:08.823 --> 00:33:14.303
<v Wes>pay like six different folks and then they basically proxy to all the various

00:33:14.303 --> 00:33:15.563
<v Wes>different LLM providers.

00:33:15.803 --> 00:33:19.243
<v Wes>If you spend enough on credits, you get some free stuff. You can choose Claude

00:33:19.243 --> 00:33:23.323
<v Wes>or GPT or Gemini or DeepSeq or open source ones.

00:33:23.883 --> 00:33:29.523
<v Wes>And then it implements like an open AI style API. So it's super compatible with a lot of stuff.

00:33:29.783 --> 00:33:35.503
<v Chris>So I was surprised how simple it was to get a basic desktop without ever writing

00:33:35.503 --> 00:33:36.843
<v Chris>or touching a config file.

00:33:37.223 --> 00:33:41.323
<v Chris>But it was really basic. It's like, you know, all the little,

00:33:41.483 --> 00:33:45.923
<v Chris>because Hyperland is what you make of it. It's very, very simple by default.

00:33:46.163 --> 00:33:48.523
<v Chris>And so, you know, you got to rice it up, as they say in that community.

00:33:48.803 --> 00:33:51.723
<v Chris>And there's lots of little iterative changes that you want to make,

00:33:51.803 --> 00:33:54.123
<v Chris>and you want to make them quickly. Because one of Hyperland's cool features

00:33:54.123 --> 00:33:56.623
<v Chris>is that it auto-reloads when you change the config.

00:33:56.883 --> 00:33:59.923
<v Chris>And that's, you know, when you're making little tweaks to your bar or this or

00:33:59.923 --> 00:34:01.403
<v Chris>that, super great feature.

00:34:01.823 --> 00:34:05.603
<v Chris>And you can move quickly if you have the right tooling.

00:34:05.903 --> 00:34:09.863
<v Chris>And so this is where I decided to step it up. For the first time ever,

00:34:10.123 --> 00:34:14.403
<v Chris>I tried out the Cursor AI Code Editor, which is a fork of VS Code.

00:34:14.763 --> 00:34:17.943
<v Chris>I know there's others out there like Void, although I think development is paused for the moment.

00:34:18.857 --> 00:34:22.877
<v Chris>Similar to Crush, you know, in VS Code, you point it at a directory.

00:34:23.677 --> 00:34:27.217
<v Chris>So I could point it at my Hyperland, my Waybar, my style sheets,

00:34:27.377 --> 00:34:30.197
<v Chris>everything that makes up a Hyperland desktop configuration.

00:34:31.157 --> 00:34:34.917
<v Chris>And then I could ask questions against that configuration. So I could say,

00:34:34.997 --> 00:34:37.197
<v Chris>for example, what key got, did I bind to Firefox?

00:34:37.417 --> 00:34:40.237
<v Chris>And it would, it would tell me, but I, I could also ask it, what can I do?

00:34:40.637 --> 00:34:43.097
<v Chris>What, what, what, what software is missing in order to accomplish this?

00:34:43.757 --> 00:34:46.397
<v Chris>And as I started to use it, I started to

00:34:46.397 --> 00:34:50.017
<v Chris>realize that you can kind of build a plan with this thing and then they'll go

00:34:50.017 --> 00:34:54.377
<v Chris>and it'll execute through all of them and you can even let them run on their

00:34:54.377 --> 00:34:58.397
<v Chris>own on the command line with your user privileges including running the build

00:34:58.397 --> 00:35:04.057
<v Chris>tests checking the output when the when the build fails resolving those problems

00:35:04.057 --> 00:35:06.057
<v Chris>and then building again until it works.

00:35:06.057 --> 00:35:09.897
<v Wes>It's kind of wild right like i mean don't maybe don't give it access to your

00:35:09.897 --> 00:35:13.877
<v Wes>production database just yet but like yeah i mean that's where i think the kind

00:35:13.877 --> 00:35:17.557
<v Wes>of the agent side of stuff right like you not only does the lm generate the

00:35:17.557 --> 00:35:21.357
<v Wes>plan but then like it will actually step through and execute all that and then

00:35:21.357 --> 00:35:23.997
<v Wes>collect more data to keep this the feedback cycle going.

00:35:23.997 --> 00:35:29.397
<v Chris>And then gives me a summary of what it did formatted a markdown which is great.

00:35:29.397 --> 00:35:33.157
<v Wes>Right yes of course right turns out these lms they are good at summarizing so.

00:35:33.157 --> 00:35:38.117
<v Chris>And and because all of this is just text files it's really pretty simple but

00:35:38.117 --> 00:35:43.177
<v Chris>also the way cursor works is as it's going it's showing me a diff of what it's

00:35:43.177 --> 00:35:47.737
<v Chris>adding and removing and I can approve each step or I can deny a step or I can stop it.

00:35:47.917 --> 00:35:51.137
<v Wes>Right. That kind of critical human in the loop step, you're still in control,

00:35:51.377 --> 00:35:55.197
<v Wes>especially because, you know, despite how much Brent and I try to lecture you,

00:35:55.357 --> 00:35:57.257
<v Wes>you know, you don't always put all of your stuff in Git.

00:35:57.417 --> 00:36:00.117
<v Wes>So it's kind of nice that you get that extra diffing that you,

00:36:00.337 --> 00:36:01.937
<v Wes>you know, so you don't have to go full tool.

00:36:02.197 --> 00:36:05.957
<v Chris>You guys were ringing in the back of my head, though. So what I did is I took

00:36:05.957 --> 00:36:11.657
<v Chris>all my config from like my Etsy Nix OS and I staged it in a config folder in

00:36:11.657 --> 00:36:16.297
<v Chris>my home directory so i had this working against that and then when i was done

00:36:16.297 --> 00:36:21.197
<v Chris>and i was satisfied i would just like a monkey on the back end cp all the files over and then build,

00:36:21.997 --> 00:36:26.997
<v Chris>so you know it was so i wasn't letting it just run wild on the bear system i

00:36:26.997 --> 00:36:29.657
<v Chris>did move them over and then i would kind of like check it and then deploy it

00:36:29.657 --> 00:36:32.437
<v Chris>and cursor because the time i was using it which was uh.

00:36:33.737 --> 00:36:36.537
<v Chris>August 7th 9th 8th whatever they had

00:36:36.537 --> 00:36:39.197
<v Chris>free gpt5 integration and it's funny because i've seen

00:36:39.197 --> 00:36:43.837
<v Chris>a lot of people crapping on gpt5 this weekend but i definitely noticed a step

00:36:43.837 --> 00:36:51.277
<v Chris>up in the thoroughness because they can research so if you have a model that

00:36:51.277 --> 00:36:55.277
<v Chris>can can do a lot of things and that's one of the things gpt5 can do is it can

00:36:55.277 --> 00:36:58.437
<v Chris>do research and the other type of stuff whatever so i could tell it,

00:36:58.637 --> 00:37:03.777
<v Chris>I want a super riced out Hyperland theme that has my current IP address up in

00:37:03.777 --> 00:37:05.417
<v Chris>the Waybar, my CPU, my GPU.

00:37:05.557 --> 00:37:08.417
<v Chris>I want my network stats up there. I want the current weather.

00:37:08.517 --> 00:37:09.937
<v Chris>I want a clock with a calendar.

00:37:10.357 --> 00:37:13.437
<v Chris>Also, I want you to make sure that all of this works with a dark background.

00:37:13.617 --> 00:37:17.157
<v Chris>And by the way, I don't have an NVIDIA GPU. I have an AMD GPU.

00:37:17.557 --> 00:37:21.457
<v Chris>And keep in mind, I'm also on NixOS. So we have to work within these limitations.

00:37:22.357 --> 00:37:26.217
<v Chris>It then kicks off a research job. It cites 16 different sources.

00:37:26.677 --> 00:37:31.057
<v Chris>It reviews them against my current configuration. It then proceeds to modify

00:37:31.057 --> 00:37:33.017
<v Chris>those configs to enable them.

00:37:33.137 --> 00:37:37.197
<v Chris>And then if I need to install a package, it updates my configuration.nix.

00:37:37.837 --> 00:37:43.397
<v Chris>It runs a build test for me, make sure that works, and then also gives me an

00:37:43.397 --> 00:37:45.277
<v Chris>output of any additional software I need to install.

00:37:45.337 --> 00:37:47.837
<v Chris>And I can either have it do it or I can do that. I just had it do it.

00:37:48.477 --> 00:37:53.117
<v Chris>I mean, you can really get moving here because I don't know anything about Hyperland.

00:37:53.697 --> 00:37:56.737
<v Chris>I don't know the names of these tools, these modules that you can put up,

00:37:56.837 --> 00:37:59.117
<v Chris>and there's scripts that you can write. I don't know any of this stuff.

00:37:59.217 --> 00:38:01.997
<v Chris>I don't know what launcher people like because there's multiple launchers.

00:38:02.237 --> 00:38:05.597
<v Wes>Right. That's really sticking out to me. I mean, just like, right,

00:38:05.637 --> 00:38:07.977
<v Wes>you were able to say, like, I want a RICED configuration.

00:38:08.057 --> 00:38:11.817
<v Wes>I want something that's going to look nice like the folks over on Unix Porn Share, right?

00:38:11.937 --> 00:38:14.697
<v Wes>Like, without having to have a super concrete list.

00:38:14.717 --> 00:38:18.017
<v Chris>I linked Unix Porn. I linked some GitHub's in there for it to go check.

00:38:18.617 --> 00:38:21.957
<v Wes>But that's, you know, it's one thing to know exactly what you want and then

00:38:21.957 --> 00:38:23.277
<v Wes>try to get these tools to do it.

00:38:23.377 --> 00:38:27.097
<v Wes>And it's kind of the next level up when you can just be like, I have a high level goal.

00:38:27.257 --> 00:38:31.037
<v Wes>I'll know it when I see it. But otherwise, like I need you to suss out what

00:38:31.037 --> 00:38:33.617
<v Wes>the even the possible steps are to try and get there.

00:38:34.393 --> 00:38:38.533
<v Chris>Well, here's, and tell me if you think this is true. Here's why I think I was

00:38:38.533 --> 00:38:42.193
<v Chris>having kind of a success after success for a while. It was going really well

00:38:42.193 --> 00:38:46.113
<v Chris>because everything Nix configuration is text-based.

00:38:46.373 --> 00:38:50.193
<v Chris>Everything for configuring Hyperland is text-based. And most of the stuff that

00:38:50.193 --> 00:38:53.033
<v Chris>makes like the Waybar modules work is just bash scripting.

00:38:53.373 --> 00:38:53.573
<v Wes>Yeah.

00:38:53.853 --> 00:38:55.853
<v Chris>So this is like, this is its power zone.

00:38:55.993 --> 00:38:59.653
<v Wes>It totally is. Yeah, you're able to turn so much of this stuff into,

00:39:00.033 --> 00:39:02.893
<v Wes>you know, it's captured, it's declarative, it's right there.

00:39:02.893 --> 00:39:05.793
<v Wes>And lots of people are pushing and sharing it on the internet.

00:39:05.813 --> 00:39:10.173
<v Wes>So you have a good training base and you have the native medium for these tools.

00:39:10.353 --> 00:39:12.473
<v Wes>So they don't have to go that far to be able to affect these changes.

00:39:13.133 --> 00:39:17.273
<v Chris>I mean, I'm not kidding. I'm saying like this first initial success I was having,

00:39:18.133 --> 00:39:20.433
<v Chris>happened in like the span of maybe two, two and a half hours.

00:39:20.593 --> 00:39:22.613
<v Chris>I probably started around 8.30 a.m.

00:39:22.793 --> 00:39:26.913
<v Chris>And by 10 a.m., I'm like, I can't believe how well this is going.

00:39:27.693 --> 00:39:31.953
<v Chris>And I started, I was actually, I got back to work. I had things humming by 1.30

00:39:31.953 --> 00:39:35.933
<v Chris>p.m. I had things humming to the point of where I was getting like that,

00:39:36.093 --> 00:39:38.253
<v Chris>oh, no, I think I'm falling in love with this.

00:39:38.373 --> 00:39:41.713
<v Chris>I think I'm going to have to change all my systems feeling. You know that how I get, right?

00:39:41.873 --> 00:39:47.213
<v Chris>Like, we got to change the studio out. We got to change my workstations out. Like, I got to switch.

00:39:47.433 --> 00:39:52.113
<v Chris>I mean, I was really quickly beginning to even develop muscle memory for my hotkeys that I set up.

00:39:53.233 --> 00:39:58.353
<v Wes>So it took an LLM to get you finally, after years and years of the audience,

00:39:58.553 --> 00:40:00.693
<v Wes>trying to get you to a toiling window manager.

00:40:01.413 --> 00:40:01.673
<v Chris>Yeah.

00:40:01.893 --> 00:40:02.073
<v Wes>Huh.

00:40:02.653 --> 00:40:09.973
<v Chris>That is that is true that was 1 30 by about 2 p.m. it was literally all gone,

00:41:46.311 --> 00:41:50.391
<v Chris>This is when it really hit me, like, I didn't know how I had built this, right?

00:41:50.571 --> 00:41:54.871
<v Chris>And not only that, but my documentation at best was a couple of the prompts that I had saved.

00:41:56.291 --> 00:41:59.351
<v Wes>Right, you had some intent, you had whatever the diffs were,

00:41:59.351 --> 00:42:02.871
<v Wes>and how much you could remember of your vibe high.

00:42:03.251 --> 00:42:06.731
<v Wes>Yeah, and this is right where it's like, suddenly, do you have the tools to keep going?

00:42:06.851 --> 00:42:10.151
<v Wes>Can you get yourself to a state where you're like, well, I've made myself a

00:42:10.151 --> 00:42:14.771
<v Wes>mess here, and it's almost there, but I don't know the right levers to push to keep going.

00:42:15.131 --> 00:42:15.451
<v Chris>Yeah.

00:42:15.731 --> 00:42:18.511
<v Brent>You had this all committed in your Git repo though, right?

00:42:18.771 --> 00:42:21.911
<v Chris>Okay, I admit, I should have. That would have helped the situation.

00:42:21.911 --> 00:42:25.151
<v Chris>I at least would have, you know, had a sense of like, okay, I could go check

00:42:25.151 --> 00:42:26.591
<v Chris>what happened over there and roll back.

00:42:26.711 --> 00:42:30.671
<v Chris>But no, and I started thinking like, am I going to, am I going to like try to

00:42:30.671 --> 00:42:31.551
<v Chris>figure out the differences?

00:42:31.771 --> 00:42:34.511
<v Chris>Am I going to swap the files? Is there some, but then I started thinking,

00:42:34.611 --> 00:42:35.531
<v Chris>well, maybe there's something broken.

00:42:35.911 --> 00:42:40.611
<v Chris>Do I try to rebuild this prompt by prompt? And then like, will I get a different

00:42:40.611 --> 00:42:42.111
<v Chris>result? which, by the way, I did test.

00:42:42.271 --> 00:42:46.251
<v Chris>And yes, I do get different results sometimes, like when I'm ricing out the

00:42:46.251 --> 00:42:48.491
<v Chris>way bar. It depends on what I emphasize.

00:42:49.331 --> 00:42:54.251
<v Chris>If I emphasize large text or certain style things, it's interesting what kind

00:42:54.251 --> 00:42:55.091
<v Chris>of differences I can get.

00:42:55.471 --> 00:42:59.131
<v Chris>So I wasn't sure what direction I was going to take. So I fired up cursor.

00:42:59.531 --> 00:43:02.471
<v Chris>I explained what had happened, that I'd done a NixOS rebuild,

00:43:02.491 --> 00:43:05.931
<v Chris>and I came back and I was essentially at a stock Hyperland desktop with like

00:43:05.931 --> 00:43:07.751
<v Chris>the Omnicube background.

00:43:08.151 --> 00:43:12.591
<v Chris>And I'm sitting there looking at my screen, I've been realizing I have been

00:43:12.591 --> 00:43:15.791
<v Chris>working at this since about 8 a.m. It's now two something.

00:43:17.151 --> 00:43:19.331
<v Chris>I need to just get up and get some air.

00:43:56.123 --> 00:44:03.163
<v Chris>Yeah. So one of the things that we did, the LM and I, is we converted this into a multi-host setup.

00:44:03.383 --> 00:44:09.283
<v Chris>And so each individual host of mine has a subfolder with its own config.

00:44:11.083 --> 00:44:13.643
<v Chris>I forgot. I forgot we did that.

00:44:14.303 --> 00:44:15.383
<v Wes>Oh my gosh.

00:44:15.383 --> 00:44:17.103
<v Chris>Yeah so i.

00:44:17.103 --> 00:44:18.163
<v Brent>Love this journey.

00:44:18.163 --> 00:44:21.403
<v Chris>I know so but what's great is the

00:44:21.403 --> 00:44:25.523
<v Chris>machine didn't and it explained to me what's going on and it's like would you

00:44:25.523 --> 00:44:29.263
<v Chris>like me to just take care of the deploying and staging and then building and

00:44:29.263 --> 00:44:33.463
<v Chris>i could just do that if you would like i'm not kidding you and i'm like yeah

00:44:33.463 --> 00:44:39.383
<v Chris>why don't you go ahead and and just handle this for me uh because i'm clearly going to screw.

00:44:39.443 --> 00:44:42.423
<v Chris>Up and from that point forward it did all

00:44:42.423 --> 00:44:45.303
<v Chris>of it it i let it i let it do

00:44:45.303 --> 00:44:48.323
<v Chris>the config changes i let it copy over.

00:44:48.323 --> 00:44:50.963
<v Chris>My configs once i you know did a quick review and then

00:44:50.963 --> 00:44:54.143
<v Chris>i let it do the the rebuild and i.

00:44:54.143 --> 00:44:58.063
<v Chris>Let it determine when it should just do a nix os rebuild switch or when it should

00:44:58.063 --> 00:45:01.563
<v Chris>do a nix os rebuild boot depending on the significance of the change and how

00:45:01.563 --> 00:45:07.523
<v Chris>fast it wanted to test its considerations yeah it's crazy so this was i i recorded

00:45:07.523 --> 00:45:11.703
<v Chris>one more clip sort of later on in the evening just sort of capturing my reflections on the moment.

00:46:22.421 --> 00:46:26.701
<v Chris>It was sort of blowing my mind. I even had a hard time sleeping that night because

00:46:26.701 --> 00:46:33.041
<v Chris>I was just running through how I just built a full desktop system.

00:46:33.261 --> 00:46:35.081
<v Chris>And yeah, it took me a while, but I was playing around, right?

00:46:35.241 --> 00:46:39.341
<v Chris>I mean, it actually worked. There was a moment where everything went sideways,

00:46:39.341 --> 00:46:41.841
<v Chris>but that was kind of because I was trying new stuff too.

00:46:42.901 --> 00:46:46.121
<v Chris>I was shocked that I got this far. Now, there is stuff that's not great.

00:46:46.941 --> 00:46:49.421
<v Chris>I went through this morning. I was looking at the config files.

00:46:49.541 --> 00:46:53.161
<v Chris>There's some areas where I was trying different things, and it's kind of sloppy

00:46:53.161 --> 00:46:56.281
<v Chris>about how it commented a few things out. So it's messy.

00:46:56.961 --> 00:46:57.241
<v Wes>Yeah.

00:46:57.341 --> 00:47:00.321
<v Chris>Yeah. I mean, it's not bad. I think you could clean it up pretty quickly.

00:47:00.521 --> 00:47:02.981
<v Chris>But I looked at it and I was like, oh, that's not how I would do it.

00:47:03.101 --> 00:47:07.181
<v Wes>I am kind of curious in that regard. Like, did you hit, because what I'm picking

00:47:07.181 --> 00:47:10.841
<v Wes>up, and I found this when I started kind of trying vibe shelling and stuff,

00:47:10.981 --> 00:47:15.901
<v Wes>like, I mean, the vibes are good, the vibes are bad, but it is really like the vibe.

00:47:16.361 --> 00:47:19.181
<v Wes>It's not just that you're riding the vibes. Like, it gives you vibes, right? you were

00:47:19.181 --> 00:47:22.661
<v Wes>feeling super empowered and a little down at one point i'm

00:47:22.661 --> 00:47:25.401
<v Wes>curious though like did you run because we're not just trying to sell

00:47:25.401 --> 00:47:28.741
<v Wes>cursor subscriptions of course no i don't uh you know unless they want to reach

00:47:28.741 --> 00:47:32.361
<v Wes>out um uh but like did you run into any points where like you just were hitting

00:47:32.361 --> 00:47:34.841
<v Wes>your head against the wall or it was hitting its head against the wall because

00:47:34.841 --> 00:47:38.361
<v Wes>sometimes you can get down loops where like the ai is confusing it and if you

00:47:38.361 --> 00:47:41.581
<v Wes>don't have enough context or your own like escape hatches to tell it like no

00:47:41.581 --> 00:47:44.521
<v Wes>you've gone down the wrong path here that isn't going to work.

00:47:44.521 --> 00:47:49.041
<v Chris>Ah yeah i'm glad you asked this yeah one time only one time but one time.

00:47:50.286 --> 00:47:53.186
<v Chris>It just got in this crazy loop of like, okay, I have to figure this out,

00:47:53.246 --> 00:47:54.626
<v Chris>but then I'll figure this out, but then I'll figure this out,

00:47:54.666 --> 00:47:56.206
<v Chris>but then I have to figure this out, and then I'll figure this out.

00:47:56.366 --> 00:47:59.306
<v Chris>And it was like these three things, and it went, and it went,

00:47:59.346 --> 00:48:01.486
<v Chris>and it went, and it went, and it went, and I just eventually had to abort,

00:48:01.546 --> 00:48:02.626
<v Chris>and I just kind of restarted.

00:48:02.786 --> 00:48:03.526
<v Wes>Yeah, that makes sense.

00:48:04.046 --> 00:48:06.986
<v Chris>Again, I'm not trying to sell any particular product, and I would love to know

00:48:06.986 --> 00:48:08.066
<v Chris>of free software alternatives.

00:48:08.586 --> 00:48:11.746
<v Chris>But one of the things that's handy about Cursor is you can give it particular

00:48:11.746 --> 00:48:14.726
<v Chris>config files as context, GitHub repo links as context.

00:48:15.246 --> 00:48:19.206
<v Chris>So you can get back up and running pretty quickly after something like that happens.

00:48:19.206 --> 00:48:21.926
<v Wes>I'm also curious because i was

00:48:21.926 --> 00:48:25.526
<v Wes>running into this where it's like especially with those like when that's happening uh

00:48:25.526 --> 00:48:28.266
<v Wes>suddenly i was like becoming more keenly aware that

00:48:28.266 --> 00:48:31.786
<v Wes>like right i'm every time it's doing this i'm paying

00:48:31.786 --> 00:48:36.026
<v Wes>for that unless i mean either in power and you know the gpus you've bought if

00:48:36.026 --> 00:48:39.746
<v Wes>you're doing it self-hosted style or in credits or you know whatever so i'm

00:48:39.746 --> 00:48:43.806
<v Wes>curious did you get any kind of rough spend because it's you know if it if it's

00:48:43.806 --> 00:48:48.326
<v Wes>three or five or ten dollars that's different than if it takes you know 30 to get.

00:48:48.326 --> 00:48:51.126
<v Chris>Yourself a desktop no no it was like eight bucks uh when

00:48:51.126 --> 00:48:54.306
<v Chris>i used open router is all i spent when using crush plus i

00:48:54.306 --> 00:48:57.686
<v Chris>did a couple on yours so i think i spent like 10 cents on your account right

00:48:57.686 --> 00:49:00.346
<v Chris>but uh when i switched over to cursor and this was

00:49:00.346 --> 00:49:03.866
<v Chris>kind of a cheat and i'm really glad you brought this up cursor was

00:49:03.866 --> 00:49:08.466
<v Chris>giving away gpt5 access for the weekend they might still be doing it oh yeah

00:49:08.466 --> 00:49:14.366
<v Chris>so i essentially just went for it i just went for it i mean hours i was like

00:49:14.366 --> 00:49:19.446
<v Chris>i'm not going to stop because it's basically unlimited and so yeah that was

00:49:19.446 --> 00:49:21.626
<v Chris>i love that you're essentially you're.

00:49:21.626 --> 00:49:26.166
<v Wes>You're sucking up that vc money to build uh free and open source desktops keep doing it.

00:49:26.166 --> 00:49:29.346
<v Chris>It does make me think how great would it be if you could accomplish this with

00:49:29.346 --> 00:49:32.026
<v Chris>a local llm like that imagine if you could have a local llm that could help

00:49:32.026 --> 00:49:35.906
<v Chris>you build these setups right because we're we're dealing with you know nix and

00:49:35.906 --> 00:49:40.566
<v Chris>yaml and hyperland configurations and css files and bash script that's the entirety

00:49:40.566 --> 00:49:41.806
<v Chris>of it it's really approachable i.

00:49:41.806 --> 00:49:44.426
<v Wes>Mean and they're getting better and better. I think that's the future.

00:49:44.686 --> 00:49:49.406
<v Chris>And I wanted to try this because Oma Archie impressed me a lot,

00:49:49.426 --> 00:49:50.806
<v Chris>but I'd like to have my own take on it.

00:49:52.469 --> 00:49:56.049
<v Chris>Here's what I ended up with that I like. You know, the cons were I think some

00:49:56.049 --> 00:49:57.489
<v Chris>of the configs could be cleaned up a little bit.

00:49:58.129 --> 00:50:02.769
<v Chris>But what I liked is, one, I could generate reports against my configs.

00:50:03.329 --> 00:50:07.449
<v Chris>So I had to generate me markdown tables of all my custom keybinds so I can do

00:50:07.449 --> 00:50:08.729
<v Chris>a little printout of that.

00:50:09.329 --> 00:50:12.509
<v Chris>And you can just ask it things about that, which I found to be really fascinating.

00:50:12.749 --> 00:50:18.229
<v Chris>And at the end result, I got a rolling flake-enabled NixOS system using the

00:50:18.229 --> 00:50:24.049
<v Chris>Zen kernel with all its optimizations, ButterFS-based file systems with auto-scrub enabled.

00:50:24.649 --> 00:50:28.789
<v Chris>Nick Store is auto-optimized, and it also does auto-garbage collection.

00:50:29.469 --> 00:50:34.349
<v Chris>ZRAM is set up. I have auto-BPF tune enabled, auto-tuning the system on demand.

00:50:34.829 --> 00:50:38.269
<v Chris>And it's a collection of what I think are some of the best-in-class Linux desktop

00:50:38.269 --> 00:50:46.189
<v Chris>applications, riding on a totally rad Hyperland setup that I am very, very into right now.

00:50:46.289 --> 00:50:49.729
<v Chris>I mean, really love this setup so much. I think this is my new setup.

00:50:50.569 --> 00:50:55.829
<v Chris>And in hindsight, I wouldn't start with a naked MVP system, especially if you're

00:50:55.829 --> 00:50:59.189
<v Chris>doing it on a declarative system and you have a high-res screen.

00:51:00.849 --> 00:51:04.949
<v Chris>Just, you don't need to. I was doing it as an experiment and looking back at

00:51:04.949 --> 00:51:09.129
<v Chris>it, I should have just started with the desktop I had on there and then just done this.

00:51:09.329 --> 00:51:13.249
<v Wes>Ah, you like overly stripped it back thinking like that would make a cleaner,

00:51:13.489 --> 00:51:14.589
<v Wes>easier experience probably.

00:51:14.729 --> 00:51:17.489
<v Wes>But it turned out to be a little counterproductive. I suppose especially,

00:51:17.669 --> 00:51:21.829
<v Wes>maybe that is true in other systems, but with Nix, I guess it's like it matters less.

00:51:21.989 --> 00:51:24.409
<v Chris>So if anybody out there is running Hyperland or has done this type of stuff,

00:51:24.749 --> 00:51:27.929
<v Chris>I'd love some advice from you. What to do, what not to do, what I should look

00:51:27.929 --> 00:51:29.349
<v Chris>into, because I'm a total noob.

00:51:30.369 --> 00:51:33.789
<v Chris>But Rofi is such a cool launcher because it's also a file browser,

00:51:33.789 --> 00:51:38.209
<v Chris>and it can also give you a dictionary of all your keybinds, but it's also a

00:51:38.209 --> 00:51:39.789
<v Chris>very fast application launcher.

00:51:40.209 --> 00:51:43.149
<v Chris>And because Hyperland doesn't really choose anything for you,

00:51:43.289 --> 00:51:48.289
<v Chris>I'm kind of picking and choosing. So I have Kate and Dolphin from Plasma,

00:51:48.289 --> 00:51:51.909
<v Chris>and then some of the apps I'm using are GTK apps from Gnome,

00:51:51.989 --> 00:51:55.149
<v Chris>but it's all running so smoothly on Hyperland.

00:51:55.389 --> 00:51:59.669
<v Chris>It is what I've always wanted in terms of performance from the Linux desktop.

00:51:59.669 --> 00:52:05.029
<v Chris>That smoothness and responsiveness with a hint of modern animation that isn't gaudy,

00:52:05.129 --> 00:52:10.649
<v Chris>but a level of customization where I can do things that take extensions in Gnome

00:52:10.649 --> 00:52:15.569
<v Chris>that are really straightforward like Waybar modules in Hyperland that aren't

00:52:15.569 --> 00:52:16.949
<v Chris>going to break every time I update.

00:52:16.949 --> 00:52:20.569
<v Chris>And so it's this it's this combination of

00:52:20.569 --> 00:52:26.129
<v Chris>really practical key binds and navigation with really good tiling that's working

00:52:26.129 --> 00:52:31.369
<v Chris>for me way better than I ever expected with this curated setup kind of going

00:52:31.369 --> 00:52:34.669
<v Chris>out there and asking the internet like what are some of the most popular things

00:52:34.669 --> 00:52:39.529
<v Chris>what are in vogue right now in hyperland and bring it into my setup for me and.

00:52:40.849 --> 00:52:46.089
<v Chris>I think my biggest takeaway from this is, say what you will about these LLM tools.

00:52:46.809 --> 00:52:51.609
<v Chris>I never wrote a single line of any config file of any of this.

00:52:51.749 --> 00:52:55.109
<v Chris>I never touched a CSS file. I never touched my Waybar config.

00:52:55.329 --> 00:52:56.869
<v Chris>I never touched my Nix config.

00:52:57.149 --> 00:53:01.129
<v Chris>I didn't make the changes to make each machine have their own subconfiguration.

00:53:01.509 --> 00:53:04.289
<v Chris>I didn't make the changes to have a declarative Hyperlin setup.

00:53:04.509 --> 00:53:07.689
<v Chris>At one point during it, I realized I could do that, and it did all the refactoring

00:53:07.689 --> 00:53:10.669
<v Chris>for me to make Hyperlin declarative on my Nix system.

00:53:10.849 --> 00:53:11.549
<v Wes>That's awesome.

00:53:12.009 --> 00:53:14.709
<v Chris>Yeah. And I didn't, I just told the machine to do it.

00:53:15.049 --> 00:53:17.569
<v Chris>I mean, there was literally a point where I was just like sitting there sipping,

00:53:17.709 --> 00:53:20.649
<v Chris>sipping on a drink and just watching the machine go and doing little checks

00:53:20.649 --> 00:53:23.989
<v Chris>on it and approving things and okay, go for it or asking other questions.

00:53:24.789 --> 00:53:29.369
<v Chris>That part was really powerful. As far as like these companies go and the resources

00:53:29.369 --> 00:53:32.129
<v Chris>they use, those are all things we're going to have to sort out.

00:53:32.229 --> 00:53:36.069
<v Chris>But I think we have to not discount their capabilities when you lower the bar

00:53:36.069 --> 00:53:39.349
<v Chris>of the task a little bit to something that's a little bit easier for it to handle.

00:53:39.349 --> 00:53:43.469
<v Chris>So if you wanted to create the next mobile app, like Wes is saying, that's a big ask.

00:53:43.549 --> 00:53:46.149
<v Chris>But if you wanted to generate a riced out Hyperland desktop,

00:53:46.509 --> 00:53:48.269
<v Chris>that's actually within its capabilities today.

00:53:48.889 --> 00:53:52.989
<v Chris>And because it's all just written in text, I can just go through it and learn what it did.

00:53:53.169 --> 00:53:56.329
<v Chris>I read my next config, I read the Hyperland config, the Waybar config,

00:53:56.389 --> 00:53:58.489
<v Chris>and I'm done. And I understand what it did.

00:53:58.729 --> 00:54:01.429
<v Wes>I think this is kind of the similar scale, like when we were at the Red Hat

00:54:01.429 --> 00:54:04.669
<v Wes>Summit this year, right? We saw Lightspeed really being talked about as like

00:54:04.669 --> 00:54:06.509
<v Wes>a command line tool you can use.

00:54:06.649 --> 00:54:10.709
<v Wes>I think it's that same kind of idea, right? Like maybe it's not architecting

00:54:10.709 --> 00:54:14.369
<v Wes>your entire OpenShift cluster, but it can definitely help you troubleshoot,

00:54:14.729 --> 00:54:16.669
<v Wes>work with text files, modify them.

00:54:16.789 --> 00:54:20.169
<v Wes>And then, you know, you layer on more declarative stuff and it just gets better.

00:54:20.469 --> 00:54:24.109
<v Wes>But I think you knew I was going to ask this, but you didn't know the full reason.

00:54:24.209 --> 00:54:28.309
<v Wes>While I was playing Nix Ambassador this week, I was actually,

00:54:28.409 --> 00:54:31.329
<v Wes>because you had already like, you'd been teasing Brett and I in our private

00:54:31.329 --> 00:54:34.329
<v Wes>chat, just sort of about what you were working on, how excited you were.

00:54:34.529 --> 00:54:38.449
<v Wes>So I was actually using that as a selling point to Nix. I was like, yeah, well, I'm here.

00:54:38.649 --> 00:54:43.049
<v Wes>My buddy back home, he's got himself a vibe-coded, super shiny desktop.

00:54:43.329 --> 00:54:46.969
<v Wes>And I know at the end of the week, if he just pushes that up to GitHub,

00:54:47.269 --> 00:54:50.549
<v Wes>I'm going to be able to just totally clone and copy it. And that's one of the

00:54:50.549 --> 00:54:52.109
<v Wes>reasons I was telling people they should try Nix.

00:54:52.549 --> 00:54:53.749
<v Chris>Oh, the pressure's on.

00:54:53.969 --> 00:54:55.189
<v Wes>Are you willing to share?

00:54:56.129 --> 00:55:01.929
<v Chris>Totally. Yeah, let's do that after the show because I would also like a set of eyes on these.

00:55:02.169 --> 00:55:05.029
<v Chris>I mean, who knows? Maybe there's something in here that's awful.

00:55:05.029 --> 00:55:08.469
<v Chris>I would like people to review it and boost in some suggestions for improvements

00:55:08.469 --> 00:55:12.589
<v Chris>or fixes or additions or things to make Hyperland even more enjoyable.

00:55:13.629 --> 00:55:16.069
<v Chris>So, yeah, I'd love to get it up there. I might put it on my GitHub,

00:55:16.129 --> 00:55:17.609
<v Chris>I guess, and we'll put a link in the show notes.

00:55:17.949 --> 00:55:18.269
<v Wes>Perfect.

00:55:18.669 --> 00:55:20.269
<v Chris>All right. You talked me into it, Wes Payne.

00:55:24.404 --> 00:55:29.004
<v Chris>Unraid.net slash Unplugged. Go unleash your hardware, check out Unraid,

00:55:29.124 --> 00:55:34.104
<v Chris>support the show, and celebrate Unraid OS turning 20 years old.

00:55:34.344 --> 00:55:39.724
<v Chris>Can you believe it? What a testament to them. And it's also the 20 days of the Unraid summer sale.

00:55:39.824 --> 00:55:44.584
<v Chris>It's really just begun, so it runs now through August 26th, and you'll get 20%

00:55:44.584 --> 00:55:47.404
<v Chris>off the starter, Unleash licenses, and upgrades.

00:55:47.804 --> 00:55:51.644
<v Chris>Also, every item in the brand new merch store, also 20% off.

00:55:51.644 --> 00:55:55.444
<v Chris>And they're also doing daily giveaways, free licenses, merch bundles,

00:55:55.464 --> 00:55:57.984
<v Chris>and even a link station NAS is up for grabs.

00:55:58.384 --> 00:56:03.204
<v Chris>So if you have a unique Unraid setup, you can enter their Show Us Your System

00:56:03.204 --> 00:56:05.904
<v Chris>competition. That's Show Us Your System competition.

00:56:06.284 --> 00:56:09.044
<v Chris>And you get a chance to win prizes or at least bragging rights.

00:56:09.064 --> 00:56:10.024
<v Chris>And I want to know about it, too.

00:56:10.224 --> 00:56:13.184
<v Chris>So on August 30th, they're going to have a big bash. Their founder is going

00:56:13.184 --> 00:56:17.264
<v Chris>to get together. Some friends are going to get together for Unraid's 20th birthday bash livestream.

00:56:17.544 --> 00:56:20.684
<v Chris>And they're going to reveal the Show Us Your System winners at that time.

00:56:21.644 --> 00:56:24.804
<v Chris>I think it's going to be pretty neat. They're also going to premiere their first

00:56:24.804 --> 00:56:27.784
<v Chris>ever film and much more. Can you believe it?

00:56:28.564 --> 00:56:33.384
<v Chris>Unraid.net slash unplugged where you get started. So it is happening right now.

00:56:33.504 --> 00:56:37.544
<v Chris>The 20 days of Unraid summer sale where you can get 20% off the starter,

00:56:37.924 --> 00:56:40.064
<v Chris>the Unleashed licenses, upgrades, merch.

00:56:40.244 --> 00:56:44.144
<v Chris>And of course, they have the show us your unique competition going on right

00:56:44.144 --> 00:56:48.104
<v Chris>now where you can send them deets about your setup and maybe get some swag.

00:56:48.304 --> 00:56:51.244
<v Chris>I don't know. Maybe you get some bragging rights. I don't know.

00:56:51.644 --> 00:56:54.284
<v Chris>You know, maybe there's even a little bit of LinkStation hardware in there up

00:56:54.284 --> 00:56:59.344
<v Chris>for grabs. You just never know. You get started at unraid.net slash unplugged.

00:57:02.124 --> 00:57:06.044
<v Brent>Well, again, this week we have a few new member shoutouts.

00:57:06.344 --> 00:57:11.784
<v Brent>Dan is now a new core contributor and Jacob as well, which means we ran out

00:57:11.784 --> 00:57:13.544
<v Brent>of slots for that bootleg promo.

00:57:16.144 --> 00:57:20.524
<v Chris>Amazing. Thank you, everybody. We did, and then I got a couple of requests to

00:57:20.524 --> 00:57:23.464
<v Chris>add some more slots, And I thought on it and I thought, why not?

00:57:23.524 --> 00:57:26.364
<v Chris>If we get a few more people checking out the bootleg, I think they'd stay members forever.

00:57:26.564 --> 00:57:29.404
<v Chris>So the 15% off deal, it's a great deal.

00:57:29.924 --> 00:57:34.124
<v Chris>People love the deal. Best deal. It's back. And I added a few more slots and

00:57:34.124 --> 00:57:35.104
<v Chris>then people jumped on it already.

00:57:35.244 --> 00:57:38.144
<v Chris>So now as of this episode, there are seven redemption slots left.

00:57:38.564 --> 00:57:43.144
<v Chris>If you use the promo code bootleg, either as a core contributor or for the Jupiter.party membership.

00:57:43.804 --> 00:57:47.004
<v Chris>The Jupiter.party gives you all the shows and extra bonus content.

00:57:47.944 --> 00:57:51.444
<v Chris>And including what you get with the core contributor, which would be the bootleg

00:57:51.444 --> 00:57:55.524
<v Chris>version, the ad-free version, of course, and the direct support of the show.

00:57:55.724 --> 00:58:01.404
<v Chris>So all of that is available with a big old 15% discount, which is a number that

00:58:01.404 --> 00:58:03.504
<v Chris>hurts a little bit, but I love you guys.

00:58:03.864 --> 00:58:06.564
<v Chris>You can get signed up, use the promo code bootleg, and thank you to Dan and

00:58:06.564 --> 00:58:08.204
<v Chris>Jacob for signing up. Appreciate you.

00:58:09.755 --> 00:58:15.275
<v Chris>Well, Brent, we had a listener, Aaron, write in, and he says,

00:58:15.475 --> 00:58:19.515
<v Chris>Brent and I were trying to get a flake going where one config file has multiple

00:58:19.515 --> 00:58:23.775
<v Chris>host names in it so we could have one file for all the store computers.

00:58:23.935 --> 00:58:26.235
<v Chris>If any of you have any examples of this, we'd appreciate it.

00:58:26.275 --> 00:58:31.355
<v Chris>The goal is to have a different hardware config automatically detected to automatically

00:58:31.355 --> 00:58:34.895
<v Chris>format the disk, also have different host names for each computer they want set.

00:58:35.055 --> 00:58:38.595
<v Chris>We're trying to manage these machines from a distance using SSH over tail scale

00:58:38.595 --> 00:58:42.515
<v Chris>for updates, installing printers, and simple troubleshooting when employees have issues.

00:58:42.775 --> 00:58:46.575
<v Chris>So you want to essentially have a system that figures out its host name and

00:58:46.575 --> 00:58:47.915
<v Chris>all of that and configs itself, right?

00:58:48.135 --> 00:58:51.015
<v Brent>Yeah, I thought, what the heck, anything is possible with NixOS.

00:58:51.275 --> 00:58:56.795
<v Brent>So this is actually a little ask for my brother here, who has a few stores with

00:58:56.795 --> 00:59:01.955
<v Brent>a few simple computers. They're just being hosts for employees who are just trying to use a POS.

00:59:02.975 --> 00:59:08.295
<v Brent>And I thought maybe, well, it was over the Christmas holidays when I was feeling

00:59:08.295 --> 00:59:12.595
<v Brent>all jazzy, about Nix OS that all these computers can just kind of be the same

00:59:12.595 --> 00:59:14.035
<v Brent>and have really the same config.

00:59:14.035 --> 00:59:20.195
<v Brent>That's a huge benefit and just be deployed from the comfort of the couch at home.

00:59:20.475 --> 00:59:23.975
<v Brent>Yeah, I need to go into the stores to, you know, update these things.

00:59:24.215 --> 00:59:30.315
<v Brent>So I was trying to help him get a nice little Nix OS config ready for these.

00:59:30.495 --> 00:59:33.735
<v Brent>But I have to say, I hit the edge of my

00:59:33.735 --> 00:59:38.515
<v Brent>knowledge in nixos and i'm learning a ton so we use disco to try to get all

00:59:38.515 --> 00:59:43.715
<v Brent>the disks identical which worked amazingly we use nixos anywhere with nixos

00:59:43.715 --> 00:59:48.155
<v Brent>factor to get things automatically detected and deployed and so we learned a

00:59:48.155 --> 00:59:51.615
<v Brent>ton over that christmas break when we deployed all this stuff why.

00:59:51.615 --> 00:59:54.475
<v Wes>Are we just hearing about this now what is going anyway go on.

00:59:54.475 --> 01:00:01.175
<v Brent>I know right but we hit a bit of a brick wall in trying to make all of these

01:00:01.175 --> 01:00:05.095
<v Brent>configs into one that we could just deploy by calling a host name.

01:00:05.515 --> 01:00:10.615
<v Brent>So that's where both my brother Aaron and I are saying, hey, dear community,

01:00:11.697 --> 01:00:16.417
<v Brent>Where do we go now? How do we do this? How do we deploy this in a way that is,

01:00:16.417 --> 01:00:19.557
<v Brent>you know, future intelligent and also best practice?

01:00:19.777 --> 01:00:22.157
<v Chris>Yeah, I'd be curious, too, because I've got plenty of machines myself.

01:00:22.377 --> 01:00:26.197
<v Wes>I'm just wondering if there's a, do you have any code anywhere folks could look at?

01:00:26.297 --> 01:00:29.317
<v Wes>Because sometimes that can be helpful to get an idea of exactly like the state

01:00:29.317 --> 01:00:31.637
<v Wes>you're at now and then like where you're trying to go.

01:00:31.637 --> 01:00:34.517
<v Chris>Boy, this guy, this guy with the put it up on GitHub.

01:00:34.897 --> 01:00:38.977
<v Brent>Please put all of your things on. That's actually a great idea,

01:00:39.177 --> 01:00:44.177
<v Brent>Wes. I have been scared up to this point to deploy any of my configs to GitHub

01:00:44.177 --> 01:00:46.637
<v Brent>because I don't trust myself to keep myself private.

01:00:46.797 --> 01:00:50.137
<v Brent>But maybe you can have a look at it and we can deploy something up there just

01:00:50.137 --> 01:00:55.277
<v Brent>so that folks can have a look, see what kind of mess we've created and try to help us clean it up.

01:00:55.677 --> 01:00:57.957
<v Wes>Yeah, exactly. You know, we could do some filtering or whatever.

01:00:58.037 --> 01:01:00.297
<v Wes>You don't have to share all the private details, but just to give it a rough

01:01:00.297 --> 01:01:01.557
<v Wes>idea of like where you're at

01:01:01.557 --> 01:01:05.197
<v Wes>so that we don't waste time suggesting stuff that might not be relevant.

01:01:05.397 --> 01:01:09.557
<v Wes>Though I am curious, maybe you'll have to try after the show uh i wonder how

01:01:09.557 --> 01:01:12.997
<v Wes>our friends the uh so-called thinking machines might do with this one.

01:01:12.997 --> 01:01:19.377
<v Brent>That is a great question i had not considered trying that but it's worth a try,

01:01:20.597 --> 01:01:24.777
<v Brent>so if anybody has any suggestions we'll have a link to that and uh please help

01:01:24.777 --> 01:01:27.317
<v Brent>us we're deep deep in it now.

01:01:27.317 --> 01:01:33.477
<v Wes>Well it looks like we got another email this week this is cool because apparently

01:01:33.477 --> 01:01:38.157
<v Wes>there's someone taking our podcast around the world as they adventure.

01:01:38.157 --> 01:01:41.037
<v Brent>There's a little note here hey there just wanted to say thanks

01:01:41.037 --> 01:01:44.097
<v Brent>for making such an awesome linux podcast i'm

01:01:44.097 --> 01:01:47.017
<v Brent>currently cycling around the world right now in china headed

01:01:47.017 --> 01:01:52.197
<v Brent>towards mongolia and your show makes the long hours on the road so much more

01:01:52.197 --> 01:01:57.437
<v Brent>enjoyable you probably already know this but your podcast is truly global i've

01:01:57.437 --> 01:02:01.617
<v Brent>been listening to it across many countries in central asia already keep up the

01:02:01.617 --> 01:02:06.237
<v Brent>great work and thanks again cheers from javier that.

01:02:06.237 --> 01:02:07.737
<v Chris>Is so cool thank.

01:02:07.737 --> 01:02:10.757
<v Wes>You so much for writing in um amazing.

01:02:11.557 --> 01:02:16.077
<v Chris>Yeah keep us posted and keep spreading the word too that's great thank you everybody

01:02:16.077 --> 01:02:18.157
<v Chris>who wrote in linuxunplugged.com contact,

01:02:23.158 --> 01:02:27.278
<v Chris>And, of course, you can send a message into the show and support this here show.

01:02:27.558 --> 01:02:29.938
<v Chris>And we don't have a baller this week.

01:02:30.238 --> 01:02:34.718
<v Chris>You know it's going to be a rough week when our top boost is WH-2250,

01:02:34.958 --> 01:02:38.678
<v Chris>easy for me to say, with 5,000 sats.

01:02:40.378 --> 01:02:43.418
<v Chris>He says, Chris, now that you have Music Assistant connected to Home Assistant,

01:02:43.558 --> 01:02:48.018
<v Chris>the next step is to trigger albums, playlists, and books with NFC tags.

01:02:48.258 --> 01:02:50.138
<v Chris>Oh, I'm going to pause right here, WH.

01:02:50.918 --> 01:02:53.758
<v Chris>After the episode, I was thinking the same thing. I've got a bag of them.

01:02:53.918 --> 01:02:55.958
<v Chris>And I do that now for certain lights.

01:02:56.478 --> 01:03:02.698
<v Chris>So at night I can just like swipe an NFC tag. But this is a great idea for albums specifically.

01:03:02.958 --> 01:03:05.798
<v Chris>And I think it's actually pretty spouse approval factor high.

01:03:06.038 --> 01:03:09.618
<v Chris>I wouldn't say extreme, wouldn't say best, but it's high to medium.

01:03:10.018 --> 01:03:13.958
<v Chris>He goes on to say, I printed a one-fourth scale milk crate to hold my LPs and

01:03:13.958 --> 01:03:17.758
<v Chris>scan what I want to listen to. Oh, that's so cool.

01:03:18.158 --> 01:03:18.598
<v Wes>Brilliant.

01:03:19.038 --> 01:03:22.458
<v Chris>You could create a miniature bookshelf of your audio books and set up a physical

01:03:22.458 --> 01:03:24.758
<v Chris>digital library. Oh, my gosh.

01:03:25.538 --> 01:03:29.858
<v Chris>If I had the space. That's a really neat idea. I have been very successfully

01:03:29.858 --> 01:03:31.998
<v Chris>enjoying Music Assistant.

01:03:32.398 --> 01:03:35.258
<v Chris>Last night, thankfully, there were no kids in the rig.

01:03:35.398 --> 01:03:38.918
<v Chris>I hit the book button, and for the first time, and I had been playing music

01:03:38.918 --> 01:03:41.278
<v Chris>a couple hours earlier on all the speakers, for the first time,

01:03:41.518 --> 01:03:44.498
<v Chris>even though my automation system played specifically on one speaker,

01:03:44.718 --> 01:03:46.858
<v Chris>it played on all the speakers in the house.

01:03:47.178 --> 01:03:47.618
<v Wes>Ooh.

01:03:47.618 --> 01:03:50.718
<v Chris>Which if you know the kids are trying to sleep at that particular time would

01:03:50.718 --> 01:03:55.698
<v Chris>have been that would have been an automation faux pas it was no big deal for

01:03:55.698 --> 01:03:58.798
<v Chris>us because we were the only ones in there but oh man i was embarrassed for a

01:03:58.798 --> 01:04:00.618
<v Chris>second so i gotta track that down.

01:04:00.618 --> 01:04:13.498
<v Wes>Mjvc boosts in with 4021 sats and um yeah uh across uh four boosts here regard

01:04:13.498 --> 01:04:17.158
<v Wes>first one regarding manuals and generally tracking of assets,

01:04:17.418 --> 01:04:20.118
<v Wes>I highly recommend Homebox.

01:04:20.398 --> 01:04:24.098
<v Wes>I use it to track where things are, where they should be. You can also associate

01:04:24.098 --> 01:04:28.898
<v Wes>manuals, price, warranty, info, maintenance, all that stuff. Wow.

01:04:29.538 --> 01:04:32.398
<v Chris>Yeah, it looks good. All right. Taking a look at that. Thank you.

01:04:32.898 --> 01:04:40.358
<v Wes>Re-Homebox continuing here. Also, a system I've developed is to use a random base 36 ID, e.g.

01:04:41.218 --> 01:04:44.958
<v Wes>X2GS as an example here, to refer to boxes, bins, etc.

01:04:45.538 --> 01:04:48.438
<v Wes>This frees me from trying to pre-sort things e.g.

01:04:48.498 --> 01:04:52.878
<v Wes>All cables should go into this box when i want to find the cable or random accessory

01:04:52.878 --> 01:04:57.798
<v Wes>i just look up which bin it's in so you can stop caring about having perfectly

01:04:57.798 --> 01:05:02.398
<v Wes>sorted labels for stuff and just let the computer do it wow that is clever that.

01:05:02.398 --> 01:05:06.878
<v Chris>Is and also smart because i use my label maker so infrequently that between

01:05:06.878 --> 01:05:12.098
<v Chris>times like the batteries are almost dead so it's always like just on the edge yes i go to.

01:05:12.098 --> 01:05:12.878
<v Wes>Use it this.

01:05:12.878 --> 01:05:13.498
<v Chris>To be a lot better.

01:05:14.358 --> 01:05:21.798
<v Wes>They've also sent in for our binary boost, and they did send a binary sub boost here, a 1-0-1-0-sats,

01:05:23.520 --> 01:05:27.660
<v Wes>I wanted to browse using parts of the binary solo from Flight of the Concords.

01:05:27.840 --> 01:05:30.480
<v Wes>So we've got a link there. Maybe we can go check that out after the show.

01:05:30.620 --> 01:05:35.440
<v Wes>Thank you. We always love links and ideas for that. And Flight of the Concords are just great.

01:05:36.440 --> 01:05:40.520
<v Wes>And then one last boost here. Finally, regarding note-taking.

01:05:40.780 --> 01:05:48.540
<v Wes>A few months back, I switched to ForresterNotes.org. It generates static websites that is, to me,

01:05:48.860 --> 01:05:52.980
<v Wes>kind of like Obsidian if it were to embrace hypermedia and designed by formal

01:05:52.980 --> 01:05:55.800
<v Wes>methods and programming language people.

01:05:56.380 --> 01:05:59.620
<v Wes>And then, yeah, we've got a link here we'll include in the show notes. Fascinating.

01:06:00.040 --> 01:06:04.620
<v Chris>That is interesting because often I would like to just share a really basic

01:06:04.620 --> 01:06:08.740
<v Chris>website with the wife or a note if she just needs to review something for working

01:06:08.740 --> 01:06:09.600
<v Chris>on something with the RV.

01:06:09.940 --> 01:06:12.740
<v Chris>That's an interesting idea. Thank you. So that's fosternotes.org.

01:06:12.840 --> 01:06:14.520
<v Chris>We'll put a link to that in the show notes.

01:06:15.320 --> 01:06:18.840
<v Brent>Well, we have a boost here from Wine Eagle, 6,000 sets.

01:06:22.000 --> 01:06:26.400
<v Brent>It's across a couple of boosts first starting i understand that zfs being out

01:06:26.400 --> 01:06:31.100
<v Brent>of the kernel is more risky to my boot process but not to my data integrity

01:06:31.100 --> 01:06:34.400
<v Brent>and that's why zfs replication exists,

01:06:35.120 --> 01:06:39.940
<v Brent>that guarantees zfs provides our light years ahead of butterfs butterfest send

01:06:39.940 --> 01:06:46.960
<v Brent>is a week compared to the sanoid stack unlike my arch dkms days nixos also provides

01:06:46.960 --> 01:06:51.580
<v Brent>some nice guarantees I like Butterfess running on a fresh kernel and getting

01:06:51.580 --> 01:06:54.860
<v Brent>bit was probably not a great idea.

01:06:55.100 --> 01:07:00.080
<v Brent>Combus got me to triple boot my MacBook back in 2007 in seventh grade,

01:07:00.260 --> 01:07:02.500
<v Brent>but ZFS got me into self-hosting.

01:07:03.100 --> 01:07:08.380
<v Brent>It's home for me now, and I suggest Nix OS users make three separate datasets,

01:07:08.840 --> 01:07:13.100
<v Brent>one for slash Nix, slash home, and of course, the root.

01:07:13.260 --> 01:07:18.220
<v Brent>So backups avoid the Nix store. also shout out to breeze for not even needing

01:07:18.220 --> 01:07:23.000
<v Brent>an email super duper no kyc and go podcasting.

01:07:23.740 --> 01:07:25.960
<v Chris>Oh i don't have the podfather clip but uh,

01:07:29.752 --> 01:07:32.552
<v Chris>I think that recommendation of three separate datasets for Nix,

01:07:32.672 --> 01:07:34.352
<v Chris>Home, and Root is clever.

01:07:35.012 --> 01:07:38.772
<v Chris>So all my home systems are ButterFS for the data and the root.

01:07:39.172 --> 01:07:45.212
<v Chris>But here at the studio, we're running Arch with the LTS kernel and ButterFS

01:07:45.212 --> 01:07:47.692
<v Chris>on the root and then ZFS for the dataset.

01:07:48.092 --> 01:07:51.632
<v Chris>And that's a really great combination too. And then you don't really have to

01:07:51.632 --> 01:07:55.712
<v Chris>worry about, you know, some sort of regression hitting the most recent kernels

01:07:55.712 --> 01:07:57.052
<v Chris>because you're on an LTS kernel.

01:07:57.612 --> 01:08:01.952
<v Chris>So you can have both. It can be peanut butter and jelly, and that's just delicious.

01:08:02.472 --> 01:08:06.592
<v Chris>Yeah, also, big shout-out to Breeze, B-R-E-E-Z, a great way to boost the show

01:08:06.592 --> 01:08:09.032
<v Chris>without having to switch podcast apps and no KYC.

01:08:10.032 --> 01:08:13.432
<v Wes>I'd also just point out that for folks, Wine Eagle here mentioned Sanoid,

01:08:13.552 --> 01:08:16.112
<v Wes>but on the Butterf side, there's also projects like Butterback,

01:08:16.152 --> 01:08:17.692
<v Wes>which add some of the same functionality.

01:08:17.812 --> 01:08:20.812
<v Wes>I'm not going to say they're equivalent or anything, but there are some options

01:08:20.812 --> 01:08:24.672
<v Wes>there, some improvements around the sound receive stuff, and just more automation

01:08:24.672 --> 01:08:27.372
<v Wes>on top of the tooling that exists for Butterfess natively.

01:08:27.912 --> 01:08:32.952
<v Chris>Mentad's back with a row of decks. I think I was also hit by that Butterfest bug.

01:08:33.092 --> 01:08:38.312
<v Chris>I had hard powered off my Steam Deck running Bazite, then it wouldn't boot or even mount afterwards.

01:08:38.652 --> 01:08:41.152
<v Chris>Fortunately, standard Butterfest file system fixes brought it back.

01:08:41.372 --> 01:08:45.052
<v Chris>I don't think this will change my use of Butterfest, but it was definitely a shock.

01:08:45.652 --> 01:08:50.192
<v Chris>That's a great in-the-field report. Thank you so much for sending that in.

01:08:50.592 --> 01:08:51.772
<v Chris>Sorry you had to go through that.

01:08:53.152 --> 01:08:57.692
<v Chris>If you feel like sharing, I would be curious to know how you rescued a Steam

01:08:57.692 --> 01:09:00.492
<v Chris>Deck. Did you plug it into like an external monitoring keyboard?

01:09:00.932 --> 01:09:05.612
<v Chris>Did you boot it somehow? Did you have like a dock to share that USB-C port?

01:09:06.272 --> 01:09:09.592
<v Chris>That just seems like that's sort of a worst case scenario. Like I was picturing

01:09:09.592 --> 01:09:14.472
<v Chris>my desktop or laptop where it's pretty easy to pop in a thumb drive and,

01:09:14.532 --> 01:09:15.632
<v Chris>you know, I have a keyboard hooked up.

01:09:15.792 --> 01:09:19.192
<v Chris>So Steam Deck is a little more challenging. Good job. Well done on getting that

01:09:19.192 --> 01:09:20.292
<v Chris>fixed. Thank you for the boost.

01:09:20.492 --> 01:09:24.492
<v Wes>Yeah, how much of the Steam Deck, you know, controls interface work when you're

01:09:24.492 --> 01:09:30.292
<v Wes>in an emergency rescue in it ramfs i don't know fuzzy mistborn comes in with a row of ducks,

01:09:31.839 --> 01:09:37.179
<v Wes>Regarding those Ikea speakers, unfortunately, Ikea and Sonos have now ended

01:09:37.179 --> 01:09:39.879
<v Wes>their partnership and the speakers are discontinued.

01:09:40.139 --> 01:09:43.019
<v Wes>Given Sonos' good history of device support, I'm sure the speakers will continue

01:09:43.019 --> 01:09:47.619
<v Wes>to work for a while, but you'll probably need to buy used ones going forward, just an FYI.

01:09:47.919 --> 01:09:52.659
<v Wes>Also, for podcasts and music assistant, check out G Potter Sync.

01:09:52.759 --> 01:09:54.199
<v Wes>It can even run in Nextcloud.

01:09:54.619 --> 01:09:57.959
<v Chris>Yeah, how about that stack? So you get Nextcloud going, then you get G Potter

01:09:57.959 --> 01:10:00.219
<v Chris>server going, and you connect that to music assistant.

01:10:01.919 --> 01:10:06.159
<v Chris>So regarding those Ikea speakers, which we linked last week, you can still get them.

01:10:06.439 --> 01:10:11.579
<v Chris>So yes, Ikea low-key announced in May that they are discontinuing that partnership.

01:10:12.059 --> 01:10:16.139
<v Chris>And it's sort of a bummer because these speakers are essentially,

01:10:16.399 --> 01:10:17.959
<v Chris>the Sonos equivalent is $300.

01:10:18.419 --> 01:10:22.559
<v Chris>And these speakers are under $200, but they have the Sonos guts in them.

01:10:22.659 --> 01:10:26.539
<v Chris>And the nice thing about that is, is it's all local APIs. So Home Assistant

01:10:26.539 --> 01:10:31.959
<v Chris>should still be able to continue to control it unless there's some massive iteration that I don't foresee.

01:10:32.279 --> 01:10:36.499
<v Chris>But because those speakers don't require the cloud service, they don't even

01:10:36.499 --> 01:10:39.219
<v Chris>require the app, probably beyond initial setup. I'm not sure.

01:10:39.859 --> 01:10:42.999
<v Chris>So I had my wife buy two of them. So she bought two for her clinic.

01:10:43.499 --> 01:10:48.039
<v Chris>And she's liked it so much at home that she's asked for a music assistant setup for her clinic.

01:10:48.219 --> 01:10:53.419
<v Chris>And we're going to put a couple of these speakers in. And this is how long she's had a clinic.

01:10:54.359 --> 01:10:59.199
<v Chris>She's going to finally retire her CD player It's like one of those little portable CD player boomboxes,

01:11:00.442 --> 01:11:04.422
<v Chris>And that's how she's done like the lobby kind of like, you know,

01:11:04.522 --> 01:11:07.162
<v Chris>the music for a decade plus.

01:11:07.442 --> 01:11:09.342
<v Chris>And so we're transitioning her to a music assistant.

01:11:10.182 --> 01:11:13.042
<v Chris>I'm going to give her a couple of buttons to press to, you know,

01:11:13.102 --> 01:11:14.462
<v Chris>play different types of music.

01:11:14.882 --> 01:11:19.862
<v Chris>And then I'm also going to experiment with a Zigbee based. I couldn't find a

01:11:19.862 --> 01:11:22.002
<v Chris>Z-Wave version. A Zigbee based volume knob.

01:11:22.402 --> 01:11:25.982
<v Chris>So a physical knob that she can turn to increase and decrease the volume.

01:11:26.202 --> 01:11:27.182
<v Wes>That seems killer.

01:11:27.662 --> 01:11:32.782
<v Chris>Yeah. Yeah. So, yeah. My advice, Fuzzy, is if you can find those IKEA speakers,

01:11:32.882 --> 01:11:36.742
<v Chris>which we have linked in episode 626, get them while you can.

01:11:36.962 --> 01:11:40.502
<v Chris>You can find them used on eBay, but they're not much cheaper.

01:11:40.842 --> 01:11:43.242
<v Wes>And who knows what people played through them in the past?

01:11:46.302 --> 01:11:52.122
<v Brent>Well, Gene Bean boosted in a row of ducks. He's replying to a question we asked

01:11:52.122 --> 01:11:57.242
<v Brent>in Linux Unplugged 624, the one we talked about tiny PCs. He says,

01:11:57.322 --> 01:12:01.062
<v Brent>hey, I don't use the Etsy's directory for my Nix configs at all.

01:12:01.242 --> 01:12:05.682
<v Brent>I have my Flate cloned under my home directory and include a shell alias for

01:12:05.682 --> 01:12:09.182
<v Brent>updating in my config that references where I checked it out.

01:12:09.802 --> 01:12:14.342
<v Brent>Here's the alias I use on NixOS and a little variant for macOS.

01:12:14.342 --> 01:12:17.782
<v Brent>Any links to a GitHub blob that you can have a look at?

01:12:17.942 --> 01:12:21.682
<v Chris>I would like Gene's eyes on mine because I'm doing that now,

01:12:21.682 --> 01:12:27.422
<v Chris>too, as of, you know, this weekend. but maybe i'm not doing it right so if you

01:12:27.422 --> 01:12:29.922
<v Chris>have a chance gene to look at and let me know i'd appreciate it.

01:12:29.922 --> 01:12:34.382
<v Wes>Yeah and gene's using here um you can specify a dash dash flake argument when

01:12:34.382 --> 01:12:38.802
<v Wes>you do your rebuild and then you can just tell it you know whatever directory you store your flake in.

01:12:38.802 --> 01:12:43.902
<v Chris>Thank you gene nice to hear from you brewer seth is here with 4 242 syats,

01:12:45.962 --> 01:12:50.342
<v Chris>ice is longtime linux and homelab tinker but a new listener hey welcome aboard

01:12:50.342 --> 01:12:54.202
<v Chris>and thank you for boosting you got me into bitcoin and lightning through your

01:12:54.202 --> 01:12:59.742
<v Chris>value for value agus advocacy never had a reason to explore crypto bitcoin before

01:12:59.742 --> 01:13:04.182
<v Chris>this week's project is a self-hosted albihub deployment yes yes,

01:13:07.619 --> 01:13:11.359
<v Chris>Uh, next zap will come from my own lightning node. Thanks for inspiring a new

01:13:11.359 --> 01:13:13.939
<v Chris>project. Isn't it fun? It is a lot of fun.

01:13:14.379 --> 01:13:17.579
<v Chris>That is a great boost to end on. That really cheers me up. Thank you,

01:13:18.199 --> 01:13:19.779
<v Chris>Brewer Seth, for updating us on that.

01:13:19.919 --> 01:13:22.559
<v Chris>It's, it's such an interesting world to explore.

01:13:23.079 --> 01:13:27.479
<v Chris>Um, you know, we, uh, just crossed the three and a half years of boosts on the

01:13:27.479 --> 01:13:28.519
<v Chris>show, if you can believe it.

01:13:30.059 --> 01:13:34.659
<v Chris>And Bitcoin is up 187% since we started doing boosts on the show.

01:13:35.439 --> 01:13:39.679
<v Chris>The BlackRock and some of the other ETFs are now the most successful ETFs that

01:13:39.679 --> 01:13:41.379
<v Chris>are based on Bitcoin in the history.

01:13:42.179 --> 01:13:46.239
<v Chris>And that's open source software. In the three and a half years,

01:13:46.559 --> 01:13:49.779
<v Chris>the shift is unbelievable.

01:13:50.139 --> 01:13:54.759
<v Chris>As of last week, it's now included in 401k plans, if you want.

01:13:55.079 --> 01:13:59.419
<v Chris>The level has really shifted and the Lightning Network has grown significantly.

01:14:00.339 --> 01:14:05.859
<v Chris>Uh so if if you've been you know kind of on the fence i don't think it's going away also.

01:14:05.859 --> 01:14:09.779
<v Wes>Albi hub just keeps getting better and better and better and easier to set up

01:14:09.779 --> 01:14:12.399
<v Wes>and work with too so it's easier to onboard now too i think.

01:14:12.399 --> 01:14:15.499
<v Chris>You know it was really it was it was out there on a ledge three

01:14:15.499 --> 01:14:18.179
<v Chris>and a half years ago uh but it's really it's really gone

01:14:18.179 --> 01:14:20.999
<v Chris>very mainstream speaking of albi hub this week in

01:14:20.999 --> 01:14:24.019
<v Chris>bitcoin we'll have an interview with the co-founder of

01:14:24.019 --> 01:14:26.719
<v Chris>albi coming out on monday and it is

01:14:26.719 --> 01:14:29.699
<v Chris>fascinating what's going on over there there's a lot to talk

01:14:29.699 --> 01:14:32.999
<v Chris>about so go check out thisweekinbitcoin.show on

01:14:32.999 --> 01:14:37.299
<v Chris>monday for a new episode thank you everybody who did boost we didn't have a

01:14:37.299 --> 01:14:43.259
<v Chris>huge episode a huge amount of support for this episode we had 19 of you stream

01:14:43.259 --> 01:14:49.739
<v Chris>and we stacked 21,199 sats and when we bring that together with our boosters who we do appreciate,

01:14:50.739 --> 01:14:56.359
<v Chris>We stacked 50,448 sets Of course that is split between the three of us Editor

01:14:56.359 --> 01:14:58.579
<v Chris>Drew and your podcast app of choice,

01:15:04.928 --> 01:15:13.348
<v Chris>I think maybe, maybe our worst week ever in three and a half years.

01:15:14.008 --> 01:15:17.248
<v Wes>Yeah, the total stack wasn't great. The quality was high. We learned a lot.

01:15:17.328 --> 01:15:19.428
<v Wes>We got some great tips, some things to follow up on.

01:15:19.768 --> 01:15:22.948
<v Chris>And we did get some new members on board. So maybe some folks who transitioned

01:15:22.948 --> 01:15:25.648
<v Chris>to membership, which we always really appreciate too.

01:15:26.008 --> 01:15:28.568
<v Chris>But the systems are just getting better and better over time.

01:15:28.768 --> 01:15:31.888
<v Chris>Fountain FM is getting easier to use. They self-host it for you.

01:15:32.048 --> 01:15:36.048
<v Chris>The Fiat on-ramping is getting easier. apps like striker and more countries

01:15:36.048 --> 01:15:40.908
<v Chris>and you know so bitcoin like i mentioned earlier is up somewhere between 182

01:15:40.908 --> 01:15:46.048
<v Chris>187 percent since we started three and a half years ago the most generous,

01:15:47.048 --> 01:15:49.948
<v Chris>generous version is the u.s dollar is down 10

01:15:49.948 --> 01:15:52.588
<v Chris>percent in that time but it's likely down a lot more and we

01:15:52.588 --> 01:15:56.128
<v Chris>could not have afforded a 10 percent loss that would have things

01:15:56.128 --> 01:15:59.388
<v Chris>things are so expensive for us these days that would have been right

01:15:59.388 --> 01:16:04.368
<v Chris>on the razor thin margin so the boosters they're still continuing to support

01:16:04.368 --> 01:16:07.748
<v Chris>us so even if even if you're not boosting every episode your boost do continue

01:16:07.748 --> 01:16:10.948
<v Chris>to work for us and if you would like to get into this fountain fm is an easy

01:16:10.948 --> 01:16:14.428
<v Chris>and straightforward way to do it and it continues to go to work for us and we

01:16:14.428 --> 01:16:17.428
<v Chris>really appreciate it i also appreciate those members i.

01:16:17.428 --> 01:16:21.688
<v Wes>Do want to add uh just shout out to hybrid sarcasm and everyone helping out

01:16:21.688 --> 01:16:24.588
<v Wes>in our matrix i mean even just this morning folks were asking about like how

01:16:24.588 --> 01:16:27.528
<v Wes>do i get started with boosting and so if you are.

01:16:27.528 --> 01:16:28.308
<v Chris>Curious about that kind.

01:16:28.308 --> 01:16:31.748
<v Wes>Of thing definitely go hop in the matrix we can link there's an unofficial boost

01:16:31.748 --> 01:16:35.708
<v Wes>support room or just chat in any of the rooms and we'll try to help you out

01:16:35.708 --> 01:16:37.028
<v Wes>and or other folks will help you out.

01:16:40.310 --> 01:16:42.990
<v Chris>But sincerely, too, thank you to everybody who is supporting us through our

01:16:42.990 --> 01:16:46.930
<v Chris>membership. We hope you enjoy the perks and that Autopilot support. That's our foundation.

01:16:49.410 --> 01:16:54.110
<v Chris>Now, we got a couple of picks for you this week. The first one is called FF Share.

01:16:54.390 --> 01:16:58.970
<v Chris>It's an Android app that, as you can probably guess, is using FFmpeg on the

01:16:58.970 --> 01:17:02.910
<v Chris>back end to compress your images, your videos, or your audio files before you

01:17:02.910 --> 01:17:05.270
<v Chris>share them, which is kind of nice.

01:17:05.410 --> 01:17:09.170
<v Chris>But you can also, I thought this was cool, for compatibility reasons,

01:17:09.330 --> 01:17:13.170
<v Chris>just tell it every single video format i throw at you just make it a simple

01:17:13.170 --> 01:17:15.150
<v Chris>mp4 that any stupid player can play.

01:17:15.150 --> 01:17:18.710
<v Wes>Yes right exactly it doesn't have to matter about optimizations you don't have

01:17:18.710 --> 01:17:22.050
<v Wes>to matter how much they know about web m just like just translate it please.

01:17:22.050 --> 01:17:23.870
<v Chris>We have that problem in our group chats.

01:17:23.870 --> 01:17:25.290
<v Wes>Yeah absolutely i mean like.

01:17:25.290 --> 01:17:27.450
<v Chris>Pj drops a web m and nobody can play it.

01:17:27.450 --> 01:17:32.190
<v Wes>I've been the guy who then downloads it on my laptop re-encodes mp4 re-uploads

01:17:32.190 --> 01:17:35.730
<v Wes>it just because it's like ah it's bothering me but i'm just doing it on my phone

01:17:35.730 --> 01:17:40.330
<v Wes>i mean come on yeah right i was just gonna say uh right there at the top of

01:17:40.330 --> 01:17:44.710
<v Wes>their readme get it on fdroid get it on obtainium who needs the play store that's.

01:17:44.710 --> 01:17:45.630
<v Chris>Right i'd love to see that.

01:17:45.630 --> 01:17:48.930
<v Brent>I will say the fdroid version is quite hefty out

01:17:48.930 --> 01:17:51.850
<v Brent>of 54 megs and my very first question was what is

01:17:51.850 --> 01:17:56.470
<v Brent>going on here but thankfully they've written a little explainer says the apk

01:17:56.470 --> 01:18:01.030
<v Brent>downloaded from fdroid is the app full versions with all the features and abi

01:18:01.030 --> 01:18:06.770
<v Brent>compatibility included you can find a choice of smaller apks at the github link

01:18:06.770 --> 01:18:08.970
<v Brent>which you can download using something like Obtainium.

01:18:09.450 --> 01:18:13.910
<v Chris>Ah. Yeah, I would bet, though, they must be bundling FFmpeg, which is no slouch.

01:18:14.210 --> 01:18:14.610
<v Wes>Yeah.

01:18:14.890 --> 01:18:19.590
<v Chris>So they also have a little, just a little checkbox, remove all of your XF metadata

01:18:19.590 --> 01:18:23.210
<v Chris>with, like, you know, your camera and location. You can include that or not.

01:18:23.550 --> 01:18:27.590
<v Chris>I wish every OS had that in the share sheet by default, but this adds that.

01:18:27.770 --> 01:18:31.110
<v Chris>And then for the geekiness factor, you can actually see the CLI output of the

01:18:31.110 --> 01:18:33.590
<v Chris>FFmpeg command it's using right there in the Android app.

01:18:34.410 --> 01:18:37.070
<v Chris>And then when the job's finished, it just brings up a share sheet.

01:18:39.115 --> 01:18:43.615
<v Chris>It's pretty cool. Nice find. FF share link in the show notes for that.

01:18:43.795 --> 01:18:48.935
<v Chris>And then we have, I don't know, maybe the second ever listener submitted pick on the show.

01:18:49.315 --> 01:18:53.215
<v Chris>Alex Gates writes in, the podcasting 2.0 consultant. Hey, fellas,

01:18:53.355 --> 01:18:54.655
<v Chris>I got a pick for you this week.

01:18:55.055 --> 01:19:00.275
<v Chris>I've been a big fan of envelope style online budgeting made popular by YNAB,

01:19:00.435 --> 01:19:02.055
<v Chris>which stands for You Need a Budget.

01:19:03.095 --> 01:19:07.315
<v Chris>I recently decided to migrate to an open source, self-hosted alternative,

01:19:07.315 --> 01:19:08.815
<v Chris>and I've been really happy.

01:19:09.115 --> 01:19:14.215
<v Chris>It's called Actual Budget. It can be used with or without a server if you just

01:19:14.215 --> 01:19:17.575
<v Chris>want to play around or if you don't need syncing across devices.

01:19:17.815 --> 01:19:19.995
<v Chris>And of course, it has a desktop and web apps.

01:19:20.575 --> 01:19:24.635
<v Chris>Recently, they added integration with a service for bank syncing called Simplefin.

01:19:24.915 --> 01:19:29.075
<v Chris>I think it's worth checking out. And budgeting like this has really changed my life.

01:19:29.135 --> 01:19:33.175
<v Chris>And he links us to the Actual Budget documentation, the Simplefin website,

01:19:33.375 --> 01:19:35.495
<v Chris>and their bridge where you can connect your bank.

01:19:35.615 --> 01:19:40.095
<v Chris>He says, with regards, your podcasting to know consultant alex gates oh.

01:19:40.095 --> 01:19:45.415
<v Wes>This looks like some good stuff i've not heard of simple fin before but uh stands

01:19:45.415 --> 01:19:49.075
<v Wes>for simple financial interchange and makes read-only financial interchange simple

01:19:49.075 --> 01:19:55.255
<v Wes>it's like rss for financial information so hey you can see why yes our pod sage was interested huh.

01:19:55.255 --> 01:20:00.495
<v Chris>I would very much very much like to get something like this running and i would

01:20:00.495 --> 01:20:04.315
<v Chris>for me need to be self-hosted it would need to be something i run on my own

01:20:04.315 --> 01:20:07.335
<v Chris>infrastructure so i i'm going to take a look at this after the show thank you alex.

01:20:07.335 --> 01:20:11.995
<v Brent>I've heard repeatedly good reviews of actual budget this is maybe the fifth

01:20:11.995 --> 01:20:14.955
<v Brent>time i hear this so i think i'm going to dive in as well.

01:20:14.955 --> 01:20:17.875
<v Chris>I always just thought people are saying you need to actually budget man

01:20:17.875 --> 01:20:23.715
<v Chris>you need to actually budget i didn't realize it was a thing um so also i'm going

01:20:23.715 --> 01:20:26.495
<v Chris>to put myself out there boosting tell me how much you hate me now for playing

01:20:26.495 --> 01:20:30.035
<v Chris>around with ai and how i boiled the oceans i'd be willing to hear those arguments

01:20:30.035 --> 01:20:34.375
<v Chris>or if you've had any success like this i'd also like to hear those you know

01:20:34.375 --> 01:20:37.655
<v Chris>boys i think the real like ultimate place for this to go is,

01:20:38.467 --> 01:20:41.747
<v Chris>Is something you would run on your own LAN,

01:20:42.047 --> 01:20:46.227
<v Chris>hopefully that doesn't consume a lot of resources that could help you with this

01:20:46.227 --> 01:20:50.167
<v Chris>kind of stuff that maybe maybe isn't a model that tells me how to deal with

01:20:50.167 --> 01:20:54.627
<v Chris>a foot rash or can tell and can tell me what temperature I need to boil eggs at.

01:20:54.827 --> 01:20:58.447
<v Chris>But maybe it's a model that can tell me how a hyperland config works.

01:20:58.587 --> 01:21:01.447
<v Chris>So it doesn't need to be huge. And it's something maybe I even run on my own

01:21:01.447 --> 01:21:06.607
<v Chris>machine or I run on a local network server or on a Nebula network.

01:21:06.987 --> 01:21:10.387
<v Chris>And I just point these editors at that, right? That to me is where this needs

01:21:10.387 --> 01:21:13.547
<v Chris>to go next for probably folks like us to use this kind of stuff long-term.

01:21:13.987 --> 01:21:16.627
<v Chris>Like, I don't think this is going to be a habit for me. I think this is sort

01:21:16.627 --> 01:21:19.987
<v Chris>of a once and done sort of thing to see if it was possible.

01:21:20.747 --> 01:21:24.067
<v Wes>Yeah, explore the edge of technology, see what you can do with it.

01:21:24.187 --> 01:21:27.147
<v Wes>But you're right, like, you could, you know, you could have all kinds of different variants.

01:21:27.287 --> 01:21:31.627
<v Wes>You could have them, you know, trained per operating system or the tools that you want.

01:21:31.727 --> 01:21:34.487
<v Wes>You could probably also, like, you know, down the future, you could customize

01:21:34.487 --> 01:21:37.447
<v Wes>it. You could retrain it. You could fine-tune it for the stuff that you've actually

01:21:37.447 --> 01:21:39.647
<v Wes>been doing over time. There's so many possibilities.

01:21:40.447 --> 01:21:46.527
<v Brent>And hearing about your adventure, Chris, I caught little glimpses of what customizing

01:21:46.527 --> 01:21:50.887
<v Brent>a desktop might be like in the next, you know, let's call it five years.

01:21:51.307 --> 01:21:54.567
<v Brent>Felt like there were some strengths here that we can't ignore,

01:21:54.567 --> 01:21:58.387
<v Brent>and I want to rice my stuff.

01:21:59.087 --> 01:22:05.067
<v Chris>Yeah, I mean, it was pretty wild. I kind of hope somebody over in the sort of

01:22:05.067 --> 01:22:10.387
<v Chris>bluefin Aurora type distributions or silver blue, somebody does a really,

01:22:10.687 --> 01:22:12.507
<v Chris>really nice opinionated Hyperland,

01:22:13.067 --> 01:22:18.387
<v Chris>like an Oma Archie, or somebody releases a Nix OS based one that is really,

01:22:18.407 --> 01:22:21.267
<v Chris>really opinionated. Maybe people know of some out there also boost that in.

01:22:21.427 --> 01:22:24.647
<v Wes>Did I just hear Brent say he hates rising PCs?

01:22:26.447 --> 01:22:28.487
<v Brent>I hate rising PCs.

01:22:30.247 --> 01:22:32.387
<v Chris>Somebody give me a clip of that I want that,

01:22:33.235 --> 01:22:37.515
<v Chris>All right. So that's it. That's just, you know, as we're kind of wrapping up,

01:22:37.595 --> 01:22:41.695
<v Chris>that's on the back of my mind is this felt more like like an incredible technology

01:22:41.695 --> 01:22:43.375
<v Chris>demonstration, but probably not

01:22:43.375 --> 01:22:47.635
<v Chris>something I'm going to use every day until it's maybe under my control.

01:22:47.635 --> 01:22:50.675
<v Chris>And if it can be limited to my systems or just the things I need to use,

01:22:50.935 --> 01:22:53.455
<v Chris>maybe it's approachable. But let me know what you think out there.

01:22:53.675 --> 01:22:57.995
<v Chris>And of course, we would love it if you joined us live. It just gives it a certain vibe.

01:22:58.155 --> 01:23:01.835
<v Chris>We have that mumble room with those low latency open streams right off the mixer.

01:23:01.835 --> 01:23:04.595
<v Chris>We do it right here every single Sunday.

01:23:08.435 --> 01:23:12.375
<v Chris>Yeah, make it a Tuesday on a Sunday. We start at 10 a.m. Pacific, 1 p.m. Eastern.

01:23:12.635 --> 01:23:16.735
<v Chris>You can get it clack-related in your local time at jupiterbroadcasting.com slash calendar.

01:23:17.035 --> 01:23:21.155
<v Chris>And if you've got an app that supports it, Wes, what do we have in store for them?

01:23:21.795 --> 01:23:26.695
<v Wes>Oh, buddy. Not only do we have chapters, which let you skip right to the content

01:23:26.695 --> 01:23:31.275
<v Wes>that you want, But if you want to dive even deeper, we've got transcripts so

01:23:31.275 --> 01:23:35.695
<v Wes>you can read along, throw it into an LLM, whatever you like.

01:23:35.875 --> 01:23:39.155
<v Wes>So check the feed or a podcasting 2.0 app for that.

01:23:39.915 --> 01:23:44.715
<v Chris>Yep. Have fun. Thanks so much for joining us on this week's episode of Your Unplugged Program.

01:23:44.895 --> 01:23:48.255
<v Chris>And we'll see you right back here next Tuesday, as in Sunday!

