Chris: Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
Wes: My name is Wes.
Brent: And my name is Brent.
Chris: Well, hello there, gentlemen. Here we are getting ready to head out.
Chris: But before we go, we're going to tell you how KDE Linux surprised us after we
Chris: gave it a little recent run.
Chris: And then a friend's going to
Chris: stop by the show and tell us about his really handy new open source tool.
Chris: And we'll round out the show with some great boosts, some picks, and a heck of a lot more.
Chris: It's a big show. So before we get there, let's say time-appropriate greetings
Chris: to our virtual lug. Hello, Mumble Room.
Mumble: Hello, folks. Hello, folks. A real great way in North Alaska.
Chris: Hello, everybody. Hello. We don't know for sure if we'll have a mumble room
Chris: next week because we will be in our Airbnb or on the floor of scale or something
Chris: like that, so you just never really know because we don't know.
Brent: Can we do it in the car?
Chris: Maybe. Maybe. I'm thinking about bringing some mobile connected internet with
Chris: us. I was thinking about it. It's just big. But that could be handy for going down the road.
Wes: Yes.
Chris: And you know what we would do?
Chris: Hook up our Nebula network. We'll talk more about that later.
Chris: But go check out Nebula, define.net slash unplugged. Go meet managed Nebula
Chris: from Define Networking.
Chris: It's a decentralized VPN built on the open source, bulletproof Nebula platform that we love.
Chris: Optimized for speed. And this is a quick way of saying it's going to use less
Chris: battery and less network resources than the other mesh network tools you use. It's really simple.
Chris: I love how simple it can be when you just want a couple of nodes.
Chris: But it's engineered for serious security and a global mesh network.
Chris: originally built for Slack's infrastructure and had to scale to their worldwide
Chris: data center immediately, just systems all over the place, you can imagine,
Chris: and how important Slack's data is.
Chris: They got all of the company's data in the world, basically, and there has to be bulletproof.
Chris: But unlike traditional VPNs, Nebula has a decentralized design,
Chris: so there's no fragile control plane or a hub-and-spoke choke point.
Chris: And your network always stays resilient. You can be in complete control of that,
Chris: or you can use Manage Nebula and let them manage it for you.
Chris: It's a kind of control and flexibility that I think our audience expects from their infrastructure.
Chris: Originally built for something that's massive but can scale down to just a couple
Chris: of nodes, it's really great. And you can get started for free and support the show.
Chris: You just go to define.net slash unplugged.
Chris: Sign up. 100 machines. Absolutely free. No credit card required.
Chris: And gentlemen, they just added always on VPN mode for Nebula on Android and iOS.
Wes: Oh, nice.
Brent: Boom.
Chris: Defined.net slash unplugged. Big thank you to Defined for being our sponsor
Chris: of the unplugged program.
Chris: Well, we're just one day away from hitting the road to go to scale 23x. It's happening.
Chris: The largest Linux and open source event in Northern America,
Chris: I'd say. Maybe not in the world, but definitely in our neck of the woods.
Wes: For sure. And long running.
Chris: Yeah.
Wes: Great mix of communities.
Chris: Yeah. And you can get 40% off registration when you use the promo code UNPLG. Unpludged.
Chris: We'll be at Planet Nix, too, which is bringing all kinds of engineers and builders
Chris: from around the world. Microsoft, Anthropic, Shopify.
Chris: I mean, the list is crazy.
Wes: Way more companies than you think using Nix, it turns out.
Chris: Yeah.
Wes: Planet Nix is a great way to find that out.
Chris: Yeah. Phlox is making it possible. They're making reproducible dev environments
Chris: actually usable. So they're just in the right place at the right moment.
Chris: And they're helping us get down there. And to that end, and this is the last
Chris: housekeeping update you guys have to listen on any of this, we are making a
Chris: meetup super combo deal.
Chris: We have decided since our meetup was on the same day and the same time as the
Chris: Planet Nix after party, it was silly to split the crowd.
Chris: Instead, we're going to do one giant Planet Nix after party meetup.
Chris: So Phlox and JB are hosting happy hour for the community.
Chris: I'll have the details now. It's all updated at meetup.com slash Jupiter Broadcasting.
Chris: It's going to be Friday, March 6, 6 p.m. to 8 p.m.
Chris: Instead of two events at separate times, we're going to do one awesome event
Chris: on Friday night. combining our powers into one giant meetup. So come hang out.
Chris: We also in this got roped into appetizers. So if you're listening and you would
Chris: like to help your other listeners have a good time, we would love some some
Chris: boost support for appetizers.
Chris: We're going to be probably feeding over 100 mouths and it's in California.
Chris: So you can imagine that's going to be expensive.
Chris: But I think it's the right thing to do. People are going to come out.
Chris: It's our way to contribute to the Knicks after party.
Chris: And we'd love some support. We'll be on the road, but you could send a boost
Chris: our way and we'll add it to the boost to bite pipeline, if you will.
Chris: Thank you, everybody, who's going to meetup.com slash Jupiter Broadcasting 2
Chris: and signaling their intention.
Chris: We really appreciate that. It helps us plan. And we're really looking forward
Chris: to the Planet Nix after party and seeing everybody down there. It's getting close.
Brent: Well, this year, KD is having quite a moment. Plasma 6.6 just dropped with HDR
Brent: support, better Wayland performance, and is finally stable enough to daily drive.
Brent: The desktop Linux market, as you know, last year hit 5% desktop chair and,
Brent: well, KD has been right at the center of that.
Brent: KDE Linux, as you remember, is not Plasma, but its own thing. Not Neon either.
Chris: Right.
Brent: It's definitely not Neon. It's a new project by the KDE crew that we've been
Brent: super excited about because, well, it's brand new. It's throwing in some super
Brent: modern technology and is very actively under development right now.
Brent: It aims to be one of the best ways to get the front row seat to KDE and Plasma.
Brent: and well it's just it's code name project banana so what is there not to like.
Chris: I see this is very much a brent pick.
Wes: Right plasma bananas i mean did he force us to do this maybe.
Chris: You know also it's it's a
Chris: great time to check out because plasma is
Chris: in such a great space yeah it's oh
Chris: man you know being on hyperland for a little while now and then coming back
Chris: to absolutely modern plasma it is looking so so good uh and it is a bit of an
Chris: adjustment we've talked about this before and we're going to get more into this
Chris: some of the weeds here with this episode there's no package manager traditionally
Chris: here right you got flat pack you got app images,
Chris: this is an image-based immutable whole os idea they have built it on arch but
Chris: pac-man is not on this thing it is a self-contained single 4.8 gigabyte uh is it erofs image yeah.
Wes: Erofs erofs yeah um i'll let you come up with your own pronunciation but.
Chris: I'm just going to say E-R-O-F-S.
Brent: E-R-O-F-S.
Chris: Yeah. So that's the image layer. And that's like these are the image.
Chris: And that's like almost five gigs on its own.
Chris: And then you layer on the flat packs you want up to that. It's really meant for user space.
Chris: And KDE's goal here is to create what they say is, quote, a bulletproof OS that
Chris: showcases the best of KDE.
Chris: And we've also talked about Gnome's creating Gnome OS.
Chris: And what you get to see is something, if you're a Plasma fan,
Chris: that is really, really nice. It's very lean, mean, and focused.
Chris: The beta is coming along, right? This is still very early. They're about 65% complete right now.
Chris: They're in some refinement areas. I know they've been working on Whalen stuff.
Chris: I couldn't say exactly where they're at with that, but it looks like multi-monitor
Chris: stability was a priority and high refresh rate, which I love to see.
Chris: But the technical details, Wes, are... I mean, that's what I think is maybe
Chris: most appealing to KDE Linux to us, is some of the practical decisions they've
Chris: made, because they could have gone off in the weeds and done some really crazy stuff,
Chris: But I think part of what's making this distribution so solid this early is they
Chris: made some really sound, practical, technical decisions.
Wes: Yeah. You know, it sounds a lot kind of similar to maybe like the uBlue type immutable service.
Wes: We've talked a lot of different shades of immutable Linux versions.
Wes: But this one is very lean and it feels conceptually simple because it really
Wes: is relying a lot on a bunch of stuff that has been developed in a lot,
Wes: mostly the systemd, but a slightly wider community than that.
Wes: especially after if you remember um leonard had a blog post in
Wes: 2021 uh putting things together i think it was called yeah
Wes: it was kind of like a lot of modern ideas that's where we got maybe like the
Wes: ideas behind systemd home d and like a lot of stuff we've seen develop over
Wes: the years including um unified kernel kernel images you can't ukis which kd
Wes: linux does use and so as part of that you get um what's called mkosi or mcosi
Wes: i don't know what do you like there i.
Chris: Like mcosi So M-K-O-S-I.
Wes: Yeah. So this is a tool to make operating system images.
Chris: Ah.
Wes: And the core philosophy is building an OS image should be reproducible,
Wes: declarative, and unprivileged, right?
Wes: Because often when you think about this, you think about like,
Wes: oh, loop devices and like F disk and formatting and like making new file systems,
Wes: all of which sounds like root permission.
Chris: All needs root. Yeah.
Wes: Yeah. So what's great here is instead you run this, you give it a single config file.
Chris: Okay.
Wes: And it uses systemd repart under the hood and it's got some clever stuff.
Wes: There's also, of course, because of systemd, cgroups and namespaces and unshare
Wes: and basically it's able to look like it has root inside of a specially crafted
Wes: namespace that has the permissions it needs to do.
Wes: a whole bunch of clever, modern Linux plumbing engineering under the hood so
Wes: that at the end of the day, you can create stuff like raw GPT disk images,
Wes: EROFS images, squash FS, container directories, UKIs, tarballs,
Wes: all from just something that can run without crazy permissions,
Wes: run in CI, or run right in your terminal.
Wes: And then, of course, there's a bunch of other stuff that layers in there.
Wes: So you do get EROFS, which we'll go more into, but...
Wes: Okay, you use MKOSI to make yourself like a disk image, maybe an EROFS,
Wes: but what do you do with that?
Wes: Well, there's more tools. There's systemd sysupdate.
Chris: Okay.
Wes: And this is the thing that actually handles the cool rollback and like slot
Wes: sort of A-B functionality that's going on.
Wes: So when you want to do an update, you're not pulling down app packages.
Wes: You're not, you know, there's no DNF. There's no Pac-Man involved.
Wes: You download a whole big new disk image.
Chris: Right.
Wes: We'll get to the Delta update story later. But you download a new image.
Wes: Systemd puts that in the right spot and hooks up all the bootloader stuff for
Wes: you so that automatically you can boot into the new version.
Wes: If it doesn't go well, it can boot back to the old one.
Wes: And it understands that all at the Systemd layer.
Chris: Well, and to the point earlier, they didn't invent that tool.
Wes: Nope. They didn't have to roll that. They didn't have to iron out all the logic
Wes: to make sure it was robust and reliable.
Chris: That's an example of a practical technology choice where, yeah,
Chris: they could have invented their own system and maybe even have like a nice little
Chris: plasma integration and all of that.
Chris: But instead they chose to go with something that's already been built and in production.
Chris: So it's already stable, that aspect of it.
Wes: And then, you know, you get to layer on stuff too. So then there's systemd system
Wes: extensions because in this model you have slash user that is hermetically sealed,
Wes: that is this EROFS that you can't touch, that has a bunch of nice cryptographic properties.
Wes: So maybe that's your base system. And then on top of that, like in the testing
Wes: edition we've been playing with, you can layer in all the plasma stuff as its
Wes: own systemd system extension that you can update, that you can swap in and out,
Wes: and you don't have to mess with all of the Arch packages underneath necessarily.
Chris: Do you want to talk about system extensions more later, or could we expand on that right now?
Chris: Because systemd sysextent seemed like at the announcement of the project,
Chris: well, this is the way I'm going to layer in my mesh networking,
Chris: or this is the way I'm going to modify this otherwise immutable distro to have
Chris: this particular customization I want.
Wes: And it does work for that, but it's a little heavyweight. It's still getting
Wes: kind of ironed out sometimes, especially like services that are served in there
Wes: can be a little bit flaky, which is...
Wes: a little unexpected considering the origins
Wes: of all this stuff um but what it works really well for is something like plasma
Wes: or libraries frameworks where you don't just have a single file like if you're
Wes: just trying to install something like a you know that's like a single binary
Wes: download from some rust or go project or whatever you can do it but it's more
Wes: work than you need right there's already places to just stick that like opt
Wes: or user local or whatever or what about like the.
Chris: Case of nebular tail scale.
Wes: Yeah so those are too easy to distribute basically but if
Wes: you're trying to add something that needs libraries it needs png assets it has
Wes: all this stuff that is expected to be under those normal slash usr like stuff
Wes: that a linux operating system expects that's where system extensions really
Wes: shine so it's really for the core system extension and not as much of the story
Wes: necessarily you can do it right but for like user apps but.
Chris: If yeah if you could get a user app that's a go binary you just go that route.
Wes: Yeah i.
Chris: Got you so let's talk more about this er ofs which stands for enhanced read-only
Chris: file system it came out of huawei for Android.
Chris: We've had it in Linux since Linux 5.4. So again, it's been around since 2019.
Chris: It's a technology that is stable. It's in use in Chrome OS.
Wes: It's actually required for Android now. All the system partitions are using it.
Chris: And they're using it in KDE Linux. So I think the obvious question,
Chris: because if you're going to ask a Linux user, how would you do this?
Chris: They'd say, well, I would use SquashFS.
Chris: It's been around forever. SquashFS has been in Linux since kernel 2.6.29.
Wes: Wow.
Chris: Yeah. Yeah. But there's a difference and it matters here.
Chris: So SquashFS takes a fixed chunk of uncompressed data, like, say,
Chris: 128 kilobytes of data, and it compresses it to a variable-size output.
Chris: And the blocks land arbitrarily and offsets, and reading one random byte means
Chris: loading and decompressing that entire 120-kilobyte.
Wes: So the whole point for SquashFS is maximizing the compression,
Wes: which is great, right? Especially when it was made and the internet was super slow.
Chris: Back in the two six days when you're squashing.
Wes: Yeah, right. But it kind of means that the output is variable,
Wes: which means you can't easily, like, you have to unpack kind of everything or at least big chunks.
Wes: If you want just one file, you can't get that.
Chris: Right. So this is where the enhanced rate only file system flips it.
Chris: It has fixed output for compression. Like, you know what you're going to get.
Chris: the compressor is told give me exactly four kilobytes every block
Chris: is page size block aligned and indexed and then so i guess to your point much
Chris: easier to extract the exact piece that you need memory overhead per block drops
Chris: in this example from say 128 kilobytes with the squash fs to just four kilobytes
Chris: with the enhanced read-only file system.
Wes: And it kind of just directly maps to memory because it's meant to match the
Wes: page size and so instead of having to like unpack stuff and copy stuff you can
Wes: kind of just go mount it into memory and.
Chris: Get reading and you can imagine that matters a lot
Chris: like at boot time you've got a train you've got a chain of
Chris: trust you're trying to get everything from secure boot signing to the UKI embeds
Chris: all this crap that I barely even understand to actual like kernel loading and
Chris: you want it all done as fast as absolutely possible and you're using these images
Chris: this is the exact kind of scenario where you need a solution where you know
Chris: the predictable size of the compression and where it's going to be at.
Wes: And it's just a really neat technical idea that's worked really well.
Wes: It's also kind of neat because SquashFS has been hard to work with cryptographically
Wes: and work with DM Verity and kind of all the nice stuff that people want when
Wes: you are taking the time to use Secure Boot and to use signed UKIs and all that
Wes: kind of stuff that you might want for enterprise trust at scale, right?
Wes: and EROFS works really well with that which means you can have nice cryptographic
Wes: checksums and actual DMV protection so that if someone does try to mess with
Wes: your root file system, the kernel can detect it immediately.
Chris: That's great.
Wes: It's not all roses though.
Chris: No?
Wes: Well, I bet you're feeling this one right? One of the bigger friction points
Wes: is it's not a scientific limitation, it's more like an engineering problem that is being worked on.
Chris: It is a problem though.
Wes: But there are no delta updates.
Chris: It sucks man.
Wes: So you go change a couple little bits. That's a whole new five gigabyte download.
Chris: They'll get there, though, right? I mean, that's on the roadmap.
Wes: And, right, you do have this layered ability. And especially,
Wes: right, where with, like, EROFS and other things, you can keep all the nice cryptographic
Wes: signing for the bottom, even if you add some system extension that isn't itself
Wes: signed. So you don't have to go, like, break the whole trust of the system just
Wes: to add on some stuff at the top.
Chris: That's elegant. I like that.
Wes: Composable things. So there's some hope that, like, maybe you don't have to
Wes: update the core tiny layers, like, all the time for that rebuild.
Wes: and there there are things in progress upstream i think even there's been some
Wes: work from like various parts of the community i think leonard had one at one
Wes: point so i expect this will get solved it's just it's just early days.
Chris: So we all had a little chance to kick the tires and um i thought let's start
Chris: with brent's observations because i'm brett you're probably the most act well
Chris: actually wes you're on plasma all the time too but when we think of our biggest
Chris: plasma fan i think of brent so i'm curious what your observations of kde linux were.
Brent: Well i was fully expecting like the reference kd
Brent: implementation i've used many spins and
Brent: such over the years and it
Brent: always feels like there's of course opinions thrown into spins which is the
Brent: whole purpose but it never quite felt like unless you were running neon that
Brent: you had the reference that the kd software developers were building plasma to
Brent: work perfectly with and to see you know the future of plasma.
Brent: So as soon as I installed and booted KD Linux,
Brent: that's the feeling I got was like, Oh wait, I'm learning like even the tour
Brent: for the first boot up tour that you get, which I, you know, over the years have
Brent: seen them and don't really click on them now.
Brent: I was like, wait, this is teaching me new ways that the developers intended
Brent: for me to use plasma that I haven't been doing. And it made me realize like,
Brent: Even though I'm a huge Plasma fan, I don't know that I understand how they want me to use it.
Brent: And I'm learning new ways to use it just through booting for the first time
Brent: KDE Linux, which was a nice feeling to have.
Brent: Because I felt like, well, I'm a big fan, but I could become even more of a
Brent: fan if I understand all of the different paradigms that they're building into
Brent: Plasma that I don't even know about.
Brent: Did you get that feeling too, Chris? Because I think I saw you mention something about that.
Chris: I think my takeaway was more like, it's just so well done. It felt smooth,
Chris: clean, professional, polished.
Chris: I don't know how you strike that tone with an introductory wizard, but it got there.
Chris: Like, I was like... I made a note in my... Like, this is a great introductory wizard.
Chris: I've seen versions of this with other distros, but this one felt particularly polished.
Chris: Wes, what did you think? We all went through it.
Wes: Well, and...
Wes: It was just so light and clean and solid and fast.
Wes: I mean, the install was super fast. I did only try it in a VM this time,
Wes: but it was a great virtualization.
Chris: Oh, super great.
Wes: Like, less than five minutes, had it installed, rebooted.
Chris: Snappy the entire time.
Wes: It had all the virtio drivers and, like, graphics support. So it almost just
Wes: felt like using my native Plasma.
Chris: And it was visually consistent in a way that feels like some of the stuff in
Chris: Plasma maybe hasn't been visually consistent, too. I think maybe that was...
Wes: This was the first time I didn't turn off the light theme. I'm a big dark theme guy.
Wes: Part of it was like, I'm running plasma and plasma here, so it's a little less
Wes: confusing if one of them's a different theme.
Wes: But it was also like, the light theme just looked really good.
Wes: I instinctively went to Switch. I was like, wait, this looks great. I don't need to.
Chris: I know. I feel like with the latest plasma and the stuff they're doing with
Chris: Breeze, I'm a light theme guy again.
Chris: It just looks, the light theme looks better than the dark theme.
Wes: It does.
Brent: As you guys are mentioning this, I'm realizing I didn't even realize I was in
Brent: a light theme and I never changed it. And that is like the first time that ever happens.
Chris: It looks good. It really does.
Brent: I'm redefining my identity all of a sudden.
Chris: Brent finds himself in KD Linux.
Brent: You think by now I would have figured that out?
Chris: I think that was a very good first impression, right? When that comes up, it's good. It was good.
Chris: Clearly made an impression on all of us.
Brent: I found the installer too was just simple and straightforward.
Brent: I, of course, did my usual test of trying out the encryption,
Brent: which worked perfectly fine, except for on first boot, I forgot the password that I put in.
Wes: No.
Brent: More because I've adopted our JB Studio temporary password in my own home lab now.
Wes: We don't have one of those.
Chris: No, no, we never do that.
Wes: We're OWASP certified.
Chris: We always generate unique passwords for every temporary thing.
Brent: I usually put Cosmo as a password, to be honest. But anyway,
Brent: so I like briefly, you know, I was having breakfast and it was early.
Brent: So I put the wrong password in at the encryption screen when you first boot just to unlock the disk.
Brent: And I was like, oh, no, OK. All right, right. I put the wrong one in.
Brent: So I'm going to get to try again. Right.
Brent: And it just dropped to a rescue shell, which I hadn't.
Brent: That's not the usual flow. Usually it lets you at least try three times.
Brent: So that was interesting. But once I, you know, put in the right password,
Brent: everything worked just fine. And so that was nice.
Brent: But what surprised me the most was, I think, what we talked about earlier.
Brent: And what I would like to bring even more attention to is the underlying technologies
Brent: that are making this image-based distribution work for the KDE team.
Brent: And I discovered some software under the hood in their docs,
Brent: actually, which are pretty light, but answer all of the most important questions
Brent: when you're first booting into KD Linux.
Brent: One of them was like, well, how do I get other software on here?
Brent: Of course, Flatpak was built in to discover, which was nice.
Brent: But they list a bunch of other options for geeks and nerds like us because,
Brent: well, that's who they're building it for.
Brent: So I discovered, of course, Nix is a first-class citizen for how to get additional
Brent: software on your KD Linux.
Chris: Now, hold on. Let's pause here for a second. Because I know some of the audience
Chris: is going to roll their eyes.
Brent: Sure.
Chris: But I actually think this is a very notable differentiation between the Bluefin
Chris: crowd and maybe KDE Linux here.
Chris: What KDE Linux has done is just made sensible steps to make it possible to sideload Nix.
Chris: What that does is that gives you the world's largest package repository on an
Chris: immutable distribution that doesn't have a package manager.
Wes: In Ubulu's defense, they do have some more difficulties because they're doing
Wes: a composeFS thing that sort of makes an EROFS, and that's for the whole root.
Chris: The root of the file system.
Wes: Right. Whereas here, it's just slash user right now, mostly, that's like...
Chris: So you can create a new root directory, which in this case is slash Nix.
Wes: But it did stand out because, like, right away, there is a fair amount of stuff.
Wes: Actually, I was kind of looking at it, and you get, by default,
Wes: like, a bunch of development utilities and a fair amount of common file system
Wes: stuff. So it's not totally Spartan, but it doesn't have everything.
Wes: And if Flatpaks are your primary way to get, like, user apps,
Wes: that doesn't really get me Netcat very well, which I need on every system I have, apparently.
Wes: And Nix kind of, especially if you have this whole, like, I want an immutable
Wes: rock solid, the way Nix works, then you can just sort of ephemerally summon
Wes: a tool, and then you don't have to worry about it and it didn't pollute your
Wes: system, and it's not going to get in the way of future updates.
Wes: It really makes a lot of sense.
Brent: And they list a few different options. I know we were looking for Nix as one
Brent: of the options, so certainly it's nice to see it there in the official docs.
Brent: But they do list other options for software that might not be packaged in a
Brent: flatback. So DistroBox, of course, is an option, which I think we would expect to see.
Brent: But I did discover a project called Capsule, which KD is working on as well.
Brent: And its description here is Incus-based container management with native KD
Brent: and Plasma integration.
Brent: So it's a DistroBox-like tool using Incus as the container or VM backend,
Brent: and it's designed specifically for KD Linux.
Chris: I love the name Capsule, of course, with a K.
Wes: It's cute, yeah.
Chris: But it perfectly describes what it does. It's one of those good names where
Chris: it's got branding and it describes what it does. Capsule with a K.
Wes: Yeah, the use of Incas is interesting. I'm curious. That one especially seems
Wes: very early, but I'm curious to see where they take it.
Chris: This is exciting. I mean, I think the takeaway I'm having...
Chris: When I tried it, and it sounds like when you guys tried it, is there's more
Chris: here, there's more meat on this
Chris: bone than we thought. And there's a real contender in this distribution.
Chris: Because they've managed to strike customizability and flexibility with that
Chris: image-based immutability for some of the sections of the system that matter.
Chris: And if you're a Plasma user, you're getting super fresh Plasma.
Chris: we decided to try to set up nebula between our kde linux instances just because
Chris: how easy it is to just set up a mesh vpn and some of these basic services on
Chris: an immutable distro is actually a decent baseline test because it turns out
Chris: that's often one of the first couple of things end users want to do i.
Wes: Need to get it connected to the rest of my stuff.
Chris: And so like the ublue folks have done have made this really easy to get tail
Chris: scale going but what if you wanted to get nebula going And could you get Nebula going on KDE Linux?
Chris: And I think you and I both took a different approach to solving this.
Wes: Yeah, true.
Chris: Because I was going to experiment with Nix anyways...
Chris: I installed Nix just using the, you know, like the curl command from the NixOS
Chris: website, then proceeded to use Nix to set up Nebula, which I found to be very
Chris: straightforward and worked flawlessly.
Chris: You went more like blasting binaries and setting up configs and stuff like that.
Chris: But I liked it. It was like you could do either approach.
Wes: Yeah. You know, Nebula provides just regular releases. You can go download and
Wes: you basically just need the two binaries that they ship.
Wes: One's Nebula that actually runs like the VPN service and the other is Nebula cert,
Wes: which handles dealing with all the certificates and handling your
Wes: ca if you need to do that so you might not even need that one necessarily but
Wes: they come in the same little uh tarball so yeah i just had um an lm buddy whip
Wes: up a little install script to go download the latest release and go drop it
Wes: i think i did var it looked like the like var lib area was um writable and opt
Wes: was writable and etsy's right etsy.
Chris: As well which i didn't know at first i wasn't sure when i was yeah.
Wes: So i was able to have it like just stick the binaries in a reasonable location
Wes: yeah i think it went with var lib nebula bin in this case and then set stuff
Wes: up with like a default config under etsy nebula and then also add in a systemd
Wes: service to start it and then after that it worked pretty well and.
Chris: This is what i'm saying like it's the balance of it's immutable but wes can
Chris: write systemd units and to etsy and when he updates and reboots it persists,
Chris: So you can do that kind of customization you need to actually make it a functional workstation.
Chris: And I like that. I think that's very approachable for most Linux users today.
Chris: They got something real nice here. What was your experience overall?
Wes: I found it surprisingly workable and refreshing in the simplicity.
Wes: Like, I really like what Ublue is doing, and they're cooking on some good stuff over there.
Chris: Yeah, yeah. I mean, I'm running it right here in front of me.
Wes: But it was cool to see sort of like, Like, you know, Yubo's come out a lot of
Wes: the Bootsy and Upstream Red Hat and Fedora work, which is excellent,
Wes: but has its own heritage.
Wes: And this being sort of a fresh attempt, which uses Arch, but like not at all
Wes: at runtime, entirely just as like a base for the software to put together like
Wes: the core part of a distribution.
Wes: And then is otherwise sort of embracing a lot of the Lenart and SystemD ideas.
Wes: It's just, it's neat from a technical standpoint, and it's cool to see it working pretty darn well.
Chris: We should try to dig up that original blog post because it really did inspire
Chris: a lot of this from Lenart.
Chris: And it's a lot of great ideas there combined with a lot of technologies that
Chris: already exist and work today.
Chris: And so while they are very much still in the testing and building phase,
Chris: this isn't a daily driver yet. This isn't production ready yet.
Chris: The fundamentals are pretty solid. And I think early adopters,
Chris: it's probably getting there. I think it's probably getting there for early adopters.
Wes: It is kind of funny they mention, right? Like it is a terrible place right now, mostly.
Wes: You kind of use DistroBox or containers if you want to actually develop on Plasma.
Wes: But if you just want to use it, it's great.
Chris: Well, we have no sponsor for this slot, but we would very much appreciate if
Chris: you wanted to become a member or send us a boost to help support the appetite
Chris: budget, the appetizer budget. I am hungry, though.
Chris: We would very much appreciate it. We've been running lean these days,
Chris: and so every little bit of support absolutely matters.
Chris: And Fountain FM makes it really easy to boost. And, of course,
Chris: we have the meetup that is coming up in just a couple of days.
Chris: So if you can support us, that'd be great. And a membership is also very much appreciated.
Chris: LinuxUnplugged.com slash membership for just this show. You get the bootleg
Chris: or you can get the totally ad-free version that still has all of Drew's edits,
Chris: which is always a great option.
Chris: And jupyter.party if you want to support the entire network and get the launch
Chris: bootleg and all of that. Thank you, everybody who supports us.
Chris: Appreciate it very much.
Chris: Well, Mr. Bearded Tech joins us from the sunny state of Alaska to talk about
Chris: his project that he's been working on called Nebula Commander.
Chris: Mr. Tech, welcome to the show, sir.
Mumble: Well, thank you, Chris. Glad to be here.
Chris: So tell us a little bit about Nebula Commander. I know it's self-hosted control
Chris: panel to get Nebula going, but that's kind of where my knowledge ends.
Chris: and I'm just kind of looking for an overview of what the project is and what
Chris: it can do and kind of like, you know, an elevator pitch for it, if you will.
Mumble: Well, a little background to start off. This all goes back to when you made
Mumble: call-outs for NixOS configs to be made fun of on air.
Chris: Yeah, the config confessions, of course, yeah.
Mumble: So uh i i started that nix os router project because of that prior to the complete
Mumble: confessions uh and you guys roasted the fact that there was no way to configure
Mumble: nebula or tail scale so i uh i created nebula commander.
Chris: Oh my goodness that's a bit of a response man that's a bit of a response wow
Chris: that's incredible yeah because this is uh this is really turned into i mean
Chris: possibly it It could be something people want to go grab and deploy right now
Chris: because it's a way to manage a fleet of a nebula overlay.
Chris: Explain what it's doing. It's more than just like what Wes and I are playing
Chris: around with, which is like kicking keys around.
Mumble: So not to uh go against your sponsor or anything like that but to find.net,
Mumble: i love it i think it's a great way to uh to to start building out your nebula
Mumble: network but there's a bunch of features that were important to me that weren't
Mumble: quite available yet so i started,
Mumble: seeing if i can make something work and instead of it only being able to use the,
Mumble: client that's provided, you can actually use this just to manage your Nebula setup by itself.
Mumble: You go and create a network. You can create groups which are similar to their
Mumble: roles and create firewall rules for inbound and outbound traffic between different groups you have.
Mumble: And each node, you can actually download the config directly and just run it
Mumble: on nebula raw and i'm actually still working on the client uh it's extremely
Mumble: experimental there's a lot of things i.
Chris: Want to keep going i.
Wes: Like your phrasing reliable.
Chris: Okay so the stack that i understand it right is what it's doing essentially
Chris: is it creates networks it's managing mesh nodes and ip allocation right and
Chris: certifications and it has a web ui which is like a react dashboard front-end.
Chris: And you are also integrating with
Chris: authentication. Can you talk about the authentication piece for a second?
Mumble: Yeah, I'm using KeyCloak in the back-end for authentication, which is nice.
Mumble: You can do everything from enabling email verification and registering your
Mumble: users, and that's how it's set up,
Mumble: When you first go on to Nebula Commander, there are no users set up.
Mumble: You go in, register your first user, and that user eventually will become the admin.
Mumble: Right now, I ran through a little roadblock and tried to work through that.
Mumble: And each user independently can have their own networks, their own nodes,
Mumble: their own group rules, and it is completely separate from any other user.
Mumble: So you could potentially go in and have five users for yourself for five different
Mumble: network setups, and they don't step on each other.
Chris: Oh, that is really, that's a clever idea. Okay, so if I want to run this,
Chris: I'm looking at like probably deploying a Docker container, I assume?
Mumble: Yeah, that's the preferred method right now is with Docker.
Mumble: And if you go on to the nebula-cdr.com, I have full documentation on how to get it up using Docker.
Mumble: There's also a Nix OS flake and modules up there as well to integrate as you guys like.
Wes: Yeah you've really clearly spent some time on the on the docs there's there's
Wes: a lot here at the website nicely done.
Mumble: You know cursor is a wonderful thing you know people you know in the pre-show
Mumble: you guys were talking about ai and ai agentic things and i've used cursor extensively
Mumble: in this project and it's been a godsend trying to get everything online and
Mumble: going working the right way as long as you use it the way it should be used.
Chris: Yeah i've noticed i was reviewing your commits and i saw that you're like actively
Chris: finding some security things and patching those and finding little issues like that too.
Chris: So you're taking some kind of audits and security passes at this project as well, it looked like.
Mumble: Yeah, I've used a couple different tools along with the code QL up on GitHub.
Mumble: I've also used Semgrep and I can't remember the name of the other one for Python that I was using.
Mumble: But yeah, I've done as many security scans as I can to make sure that I have
Mumble: no critical bugs in this thing.
Mumble: Because I mean, that's the biggest problem with a lot of these Vibe-coded projects is that they,
Mumble: have so many security holes, everything's just slapped together and there's
Mumble: no project management involved.
Chris: Yeah.
Wes: Are you using this to manage your own networks yet or not quite at that stage?
Mumble: At this point, yeah. I've got my own personal Nebula network and I'm hoping
Mumble: within the next month or so, I'm going to roll all my clients onto it as well.
Mumble: I run a small IT consulting business up here.
Chris: That's what I was thinking. This would be perfect for an IT consulting firm.
Chris: That's where my head went.
Chris: I could see a little network management for your clients. You're using
Chris: this to back up their data it's completely private no big tech
Chris: involved at all and you know just to
Chris: circle back to your vibe coded comment bearded tech because i think too this is
Chris: an example where i think there's nuance because your application is sitting
Chris: on top of nebula and you know python a bunch of stuff that are primitives that
Chris: are good and sound that are working and secure right you didn't invent the encryption
Chris: here you know you didn't invent the nebula aspect of this you're You're orchestrating
Chris: the Nebula mesh network,
Chris: but the actual security is, you know, is solid. It's Nebula.
Chris: So that's where I think there's a nuance and vibe coded stuff.
Wes: I think actually running it too, right? Like having something,
Wes: doing testing on the other side to make sure it does fit together.
Wes: And like there aren't weird holes in the project, that kind of stuff adds a lot too.
Chris: The scope of this is pretty ambitious. Like I don't think we're really communicating
Chris: to the audience the scope of this thing.
Chris: Like that's what impresses me, Bearded Tech, is how you managed with kids running
Chris: around and two hours of daylight in the winter there, how you managed to create
Chris: something this already comprehensive.
Mumble: Well, you know, it's just I ended up spending way too much time on it than I
Mumble: should. Dishes pile up when they probably shouldn't and, you know.
Chris: I understand that, but I did see somewhere on your page some ideas for things
Chris: that you have in the future, like some DNS stuff and exit node stuff.
Chris: Can you tell me a little bit about that?
Mumble: Yeah, and that was kind of the one big feature that Define.net didn't really
Mumble: do for me, was being able to put in my own DNS server.
Mumble: Right now, with my clients, I'm using Tailscale, and I have split DNS set up
Mumble: to be able to reach all the machines inside my Tailscale network.
Mumble: And I'm trying to integrate that into this so you can actually run your own DNS node, essentially.
Chris: That'd be great.
Mumble: Do like a magic DNS type setup for Nebula.
Chris: That you control. Oh, that's so cool. It's under your own control.
Chris: So we should also mention the front end is licensed in MIT. The back end also
Chris: licensed in MIT. And the client is GPL version 3.
Chris: So the entire stack is free software. if somebody else out there would like to take a look or help.
Wes: And then I think you've started a Matrix community if people are interested
Wes: maybe in checking it out or discussing too, right?
Mumble: I did. I'll leave the link in the chat here.
Mumble: And also I've got a documentation site up at nebulacdr.com.
Mumble: And I've got a node live right now that people can go and bang on and try out
Mumble: and test out the actual software itself at nebulacdr.net.
Mumble: And I'll leave that in the chat as well.
Wes: Oh, fun.
Chris: It's up right now. You're not going to leave it up for too long.
Chris: So it depends where you're listening to this.
Chris: But nebulascdr.net if you want to see a live demo of it. Isn't that great? Isn't that?
Wes: This is so cool.
Chris: Weirded Tech, thank you for taking some time on your Sunday with the family
Chris: running around and all of that to tell us about this. We just think this is
Chris: such a cool project. Well done, sir.
Mumble: Thank you very much. I appreciate it, Chris. You guys have a great day.
Chris: Yeah, thank you. Thank you very much. And we'll put a link to all that in the
Chris: show notes. And if you're working on a project like this, drop us a note.
Chris: Tell us about it. Or come in the Matrix room. You know, that's West Spotted
Chris: Bearded Tech was talking about this in our Matrix chat room.
Chris: And then we decided to pull it
Chris: forward because we just love seeing the community build tools like this.
Wes: Y'all are so smart and you build awesome stuff.
Brent: Well, we got a little bit of feedback this week about an ad that was playing at the start of the show.
Chris: Did you do that? Was that you?
Wes: That was not me.
Chris: It was me.
Wes: Well, I might have been involved in some of the pieces, but not that part.
Chris: Yeah, our bad. So that was intentional, but not yet, I guess is the way to put
Chris: that. I was going to let you know about I have made a decision behind the scenes
Chris: to change the approach to ads.
Chris: I guess in full disclosure, like this, the situation is, is that I fought this
Chris: as long as I possibly could.
Chris: I have not been paid for last month. I'm not going to get paid this month and
Chris: I might not get paid next month.
Chris: So I may be going three months of the year so far without getting paid, which is okay.
Chris: It's like, I didn't do this to get rich and the members are keeping the infrastructure
Chris: paid for and the boosters are, you know, sometimes I get a sandwich.
Chris: So it's good and it's okay, but I have to make some changes.
Chris: And so what I've decided to do is work with a group that is fairly aligned with the way I look at ads.
Chris: It has to be an ad that – for a product that I like, I get right of first refusal.
Chris: And they really work hard to make sure that if it's a company that I'm going
Chris: to do sponsorship with, that I get a chance to try the product first before
Chris: it goes on air and all of that.
Chris: So I like where we're going. And part of that, because we are in a very bad
Chris: situation, the reality is, is I've just fought the change in the ad market for
Chris: as long as I possibly can.
Chris: And since COVID really, it's not really anything to do with COVID,
Chris: but the way the market dynamics changed with the increase in rates is that it
Chris: became more expensive to do direct marketing.
Chris: It just, it was, it was an area that companies needed efficiency.
Chris: And I went on about this for years when it happened, so I don't need to recap all of that.
Chris: But the structural changes in the market are such that companies no longer have
Chris: time to engage in a three-month conversation with a single podcaster to do a
Chris: bespoke ad agreement for one quarter.
Wes: They're used to the YouTube model, right, where they can just do ad buys that
Wes: are targeted or Facebook or –.
Chris: They want to buy –,
Chris: large markets at a time and so there are now companies that sit between the
Chris: ad buyers and the podcasters and i i've been working to try to find a good one
Chris: and i have at great personal expense walked this line for as long as i possibly
Chris: could to make sure it's gone right
Chris: and because we have no uh ads beyond defined networking right now who is the
Chris: only sponsor we have at the moment because they were you know by my model the
Chris: only ones i was willing to have on and i know that you have an expectation and
Chris: one of the reasons we've gone value for value is so i could say no.
Chris: And I have been saying no for a very long time.
Chris: And so I think we have found a middle ground here, but essentially I'm going
Chris: to, I'm going to let them cook.
Chris: And one of the things that we're going to do, why we have no other sponsors
Chris: on board to try to get some survival money is we will play an ad at the beginning
Chris: for some locations at some times.
Chris: I expected to roll that out over the next couple of weeks, but we need to move
Chris: quick because we're going to scale.
Chris: And they communicated the expectation to me. I just, I missed it. It was my bad.
Chris: So I will own that because i wanted to communicate it to you beforehand but
Chris: we're busy and uh that slipped,
Chris: so uh the plan is is to have them find
Chris: some good sponsors that can bring on you know some good reoccurring revenue
Chris: to make the show sustainable so i can get paid again so we can keep going and
Chris: invest in more production and uh hopefully over time they will do that but it
Chris: will take a little while even with uh working with a group that specializes
Chris: in this it still takes time to find the right sponsor if you have standards
Chris: it just takes time and so the dynamic ad's running and And that's now that that seal is broken,
Chris: I'm likely to leave it for a while just because we have such a gap and it's
Chris: not, I don't really have any of the details on that in terms of.
Chris: What I should expect or how it's going to perform or anything like that because
Chris: I've never done anything like this before.
Chris: But that's where we're at now. And I'm hopeful that if people seem to have an
Chris: allergic reaction to it, they'll consider becoming a member at linuxunplugged.com slash membership.
Chris: We'd often do discounts and we have a fantastic ad-free version of the show,
Chris: that editor Drew puts together, uh, or you get access to the bootleg.
Chris: And if you don't mind the ads, well, then you can help monetize just by listening to it and, um,
Chris: support the show that way and i think a lot of you don't mind because um ironically
Chris: when we were purchased by linux academy and we dropped all ads from all shows
Chris: we never got a single comment about it nobody said anything the wildest thing
Chris: like it was the biggest issue for us we thought it was this massive unlock,
Chris: we thought it was this huge thing we were going ad free and.
Wes: Behind the scenes i mean it helped a lot with some of.
Chris: Our production stuff yeah oh yeah massive time saver,
Chris: nobody cared really so that was a big lesson
Chris: um and uh i think also we'll we'll
Chris: still we'll still do a better job than uh than the
Chris: average bear out there it's a wild world and video
Chris: and all that is also eating at it so that uh i'm
Chris: sorry that wasn't communicated ahead of time that was my intention and um
Chris: we definitely still need the support more than ever because
Chris: all these things take time and uh it
Chris: was really your support that made it possible to survive
Chris: this long without having to compromise two years
Chris: ago really because this is this has been something
Chris: developing since 2019 since 2020
Chris: something we talk about frequently behind the scenes something
Chris: i've you know i've talked a lot about on the launch i've talked about it on
Chris: office hours we've talked about it and um so this is where we're at but we will
Chris: continue on we've got another you know we've got another 12 20 years in us or
Chris: so but we just got to make sure we adapt and this is the state of the internet as it were.
Chris: But I do hope that those of you who like I say have a problem with it will consider
Chris: a membership because the show quality remains high.
Chris: In fact, hopefully this continues. Helps us keep going.
Chris: But I'm sorry we didn't communicate it differently. That's my regret.
Wes: It was not supposed to be a surprise.
Chris: Yeah, it wasn't meant to surprise you. It was, I was also surprised. But that was on me.
Chris: It was communicated to me correctly. I just am a busy guy. And emails are easy to miss sometimes.
Chris: I gotta get something on that that's watching that inbox. But I'm not ready
Chris: to do it just yet. Just, not just yet but one of these days,
Chris: but gentlemen we do have some great support this week and this,
Chris: this is the wild thing about the value for value system is it's such a swinger
Chris: well we went from like oh boy this is kind of going to be a rough one to like
Chris: one of the best weeks in the shows it's in the year so far for the show so let's
Chris: kick it off with our baller booster,
Chris: Because that is the one, the only hybrid sarcasm, and he comes in with one million Satoshis!
Chris: Yeah, I said one million Satoshis!
Brent: Are you sure that's not a typo?
Wes: Hey, my script doesn't make typos.
Chris: That's got to be almost the entire appetizer budget right there,
Chris: I think. thank you hybrid sarcasm I don't think.
Wes: Baller quite covers it.
Chris: Yeah he says enjoy California boys well we will boy I tell you what like,
Chris: this boost came in this morning while we were in our group chat and I was having a mild panic attack,
Chris: about expenses and this landed it changed your mood completely it totally did
Chris: it totally did it really was something thank you hybrid sarcasm thank you very
Chris: very much appreciate you. You are a good guy.
Wes: Not the one comes in with 68,000 says.
Chris: Alright!
Chris: Also, not bad. Not bad at all.
Wes: Keep up the good work. A little something to help with the trip.
Chris: He gets it. Thank you very much. Right? We're going to turn that right around
Chris: and spend it on your fellow listeners. So thank you very much for this one. It's great.
Brent: Well, the dude is abiding with 22,222 sets.
Brent: I've never used an agent locally. The first I want to try is the Home Assistant MCP.
Brent: I've always used the web-based versions of ChatGepity, Claude,
Brent: or Gemini, and I'm feeling kind of left behind. So here's a little something for that trip.
Chris: Thank you, sir. Appreciate that very much. You know, this is a great question
Chris: because you can tell he's locked in to the change.
Chris: The change is like they've gone from novelty chat bot that does theatric typing
Chris: to like actual useful open source agent that's using the LLM to leverage intelligence.
Wes: I just set this MCP up over the weekend.
Chris: It's so good.
Wes: It's so good.
Chris: It's so good.
Wes: It doesn't quite do everything, so I think I also had it do some direct API
Wes: access, but it has a lot of stuff.
Chris: It's great for working with automations. The MCP is the way you want to go if
Chris: you're working and troubleshooting your automations. Two quick examples.
Chris: So I used the API with an agent because there was electrical work being done
Chris: down the street from me, and I expected the power to be cut,
Chris: but I needed to go to the studio. So I had my agent check in every two minutes.
Chris: And if the power went out, I had the agent cut all the electric heat off and
Chris: then send me a telegram message.
Chris: And then if the then I had if the power remained off for an hour,
Chris: turn off the remaining systems. Right. Like I had like this cascade system.
Chris: I could have built an automation for that in Home Assistant,
Chris: but I did it in 30 seconds with one prompt as I was going out the door realizing
Chris: this is going to be an issue.
Chris: So that's one way you can use it. I also, just using the MCP,
Chris: so that was using the API.
Chris: Using the MCP is really great because I have automations that have probably
Chris: been sitting around for three, four, five years at this point.
Chris: I built them a long, long time ago and things have changed.
Chris: So I had my agent go in and audit the top five most frequently fired automations
Chris: and review them for logic or improvements.
Chris: And with each one, it found something small to major that I could do to improve them.
Chris: And it's just because I haven't looked at them in so long. and that was done
Chris: via the mcp and it's really nice i didn't you know i didn't didn't and then
Chris: then you know i just wrote okay do this do this all right go fix that and boop boop goes off and
Chris: fixes it all up it's really it really is a great unlock for home assistant because
Chris: home assistant is essentially an api for your entire home.
Wes: I will also say uh the fomo feeling can be very real,
Wes: don't don't feel too bad about that but also don't let it you know it's good
Wes: to try and be curious but don't you don't have to go too crazy because things
Wes: are moving fast and like you can over invest in it and waste a lot of time on
Wes: stuff that's just going to change out from under YouTube.
Chris: I mean, Home Assistant API and MCP is pretty solid.
Wes: Yeah, that's one of the more solid parts of the whole thing, really.
Chris: But that is good advice. That is good advice. Tomato comes in with another row
Chris: of McDucks, 22,222 sats.
Chris: Looking forward to scale in Planet Nix coverage. Here's some sats to help with the Travel Boys.
Chris: If you see any of the Nix or BSD people down there, I'd love to hear about it.
Chris: I find that particular combination to be rather intriguing.
Wes: Yeah, the idea of using Nix on top of a BSD, okay, yeah.
Chris: Might sound insane, but then again, but I have done that exact thing in the
Chris: past with a Perl script. Oh.
Wes: Yeah, right, I mean, FreeBSD, I mean, all these Bs, they're nice,
Wes: tight systems, right, clean, so if you get a declarative interface on top, it could be very nice.
Chris: Yeah. Oh. I mean, I would definitely play with that.
Chris: I mean, it makes immutable distros, got all these packages available for you.
Chris: It'd really probably be now down to what could you actually install.
Wes: Well, Distro Stew comes in with 13,149 SADs.
Wes: See you at scale. Here's some juice to get you there.
Chris: Oh, thank you.
Wes: I'm bummed to miss the meetup for the third year in a row.
Wes: Since I'll be giving an upscale talk on pen testing. Nick's the world.
Wes: Well, that's a great excuse.
Chris: That is a good reason, though.
Wes: I'm sure we'll bump into each other some other time, though.
Chris: I hope so. Yeah, I hope so.
Wes: Because it was great seeing you before.
Chris: I want to see you again. And I always love it when people, like,
Chris: they remember, like, oh, I should introduce with my handle. Right?
Chris: Oh, no, I'm Distro Stew. Like, oh, Distro Stew!
Chris: All right, looking forward to that.
Brent: I believe we have a new booster here, the facial hair with 4,000 sets.
Chris: That's good. I like that.
Brent: Apologies for the delay in response. These sats are freshly mined, hence the delay.
Brent: I wanted to follow up on the D&D and open source question.
Brent: It works because open source removes barriers to entry, whether it's physical,
Brent: financial, or otherwise.
Brent: It allows anyone to join us at the table.
Brent: This is also my bump for JB D&D special sometime.
Wes: That does sound like a lot of fun.
Chris: I kind of like that idea. I could see doing a member special.
Chris: Maybe or something, because I don't know if anybody would actually want to listen to that.
Wes: Find an audience member who's an experienced DM, perhaps a volunteer here.
Chris: It'd be great on a trip. It'd be great on a trip to do like a little D&D meetup
Chris: where somebody teaches me how to play, because I've never played before.
Chris: Maybe I could play like a game, a video game version to learn up.
Chris: I don't know. But that's a great idea. Thanks, Facial Hair.
Chris: Thanks if that's your first boost, too. Really do appreciate you so much time.
Chris: And mine and them sats directly.
Wes: Fresh.
Chris: Well done. Well, TR Belly comes in. That's not how you say it at all,
Chris: but I like it. 15,000 sats.
Chris: I'm going to say it's TRSLB. No? What do you think?
Wes: TRSLB.
Chris: There you go. 15,000 sats. Point your car south to the sun, away from the atmospheric
Chris: river and the polar vortex. Yeah, looking forward to that.
Brent: No lobes down there.
Chris: It's going to be like 75 degrees and sunny in Pasadena.
Wes: That sounds impossible.
Chris: That sounds so wonderful.
Wes: Well, WH-20250 comes in with 2,000 sats.
Wes: Oh, this one is for Brent. Hey, Brent, I'm curious as to why you didn't try
Wes: Unraid since you tried TrueNAS Scale.
Chris: I was wondering that, too.
Wes: I haven't tried it yet, but Unraid does have an OpenClaw container template
Wes: in the community apps ready to go.
Wes: One install, and you can have your agent do the rest of the server setup for you.
Wes: You know, we didn't solicit this boost.
Brent: This is a very good question.
Chris: Very, very good question.
Brent: The main reason is that for years now, I've had some close friends tell me, you have to do TrueNAS.
Brent: you have to do hey can i back up my stuff to yours across the ocean using trunas
Brent: etc so that's partly why i leaned that direction and also i mean i probably
Brent: should but i have didn't haven't had time to try every single offering but unraid
Brent: is certainly at the top of the list for the round two since everybody has been asked in this question.
Chris: I think out of the two and they were a former sponsor no longer sponsor i would
Chris: i would strongly consider unraid because they've done a lot of improvements
Chris: in the last version with the UI.
Chris: They have a really nice API now, which has all kinds of advantages,
Chris: more than ever, I realize now.
Chris: And they have a massive up-to-date application library that makes it super easy to deploy stuff.
Chris: And I like all those things. And it's Linux-based, which I also like.
Chris: So I say plus one here to WH is boost. I think Unraid is worth a consideration too.
Chris: I don't want to speak up because everybody thought I'd be shilling,
Chris: but that's my honest opinion. I just gave away the milk for free.
Brent: Well, Spooky Satcom came in with 2,000 sats.
Brent: There's no message on this one, just a little bit of value. So thank you very much.
Chris: That's always appreciated very much. Thank you much, Buki. Good to hear from
Chris: you. Hey, there's Gene Bean coming in with 2,666 sats.
Chris: It sure will. He says, I'm sad that advertising is so lean right now that you've
Chris: had to start using pre- and post-roll ads.
Chris: But I'm also glad that you've got the option to get you through.
Chris: Here's to doing what you need to get things running.
Chris: My seven-year-old son wanted to tell you that he really likes the sound effects,
Chris: especially the Tetris one. All right.
Wes: Thanks for sharing.
Chris: Do you all have any suggestions for local models that work well with open code
Chris: that I can run, that can run tools? That's a great question, Gene.
Wes: That is, yeah.
Chris: That's the key question you need to be asking, buddy. Can they run tools?
Chris: I have a Mac with an M3 Pro and 18 gigs of RAM and a several-year-old Lenovo P52 with an M3.
Wes: Ooh, fun. One of the P series.
Chris: I wonder how far he could get with MiniMac's 2.5.
Chris: Probably needs to look more at Quell, right? Quen or whatever it is.
Wes: Yeah, that might be.
Chris: I think Quen's probably, because they have a couple of versions of Quen that are.
Wes: Yeah, it's less, can you fit it in whatever.
Chris: 18 gigs of RAM is very tight, but it might be possible with Quen.
Chris: So Gene, I think right now, you might be a little tight for really good reasoning,
Chris: but you have a lot of room for like vector memory embedding and things like that.
Chris: So if you wanted to have LLMs take care of local transcription,
Chris: like with Whisper, and you wanted to have all of your memory managed with an
Chris: LM that does embedded memory with vectorizing, you could do all of that with
Chris: that hardware very successfully.
Chris: And then you could punt some of the more challenging stuff to a larger frontier
Chris: model through something like Open Router or a direct API subscription.
Wes: Yeah, because there's oftentimes stuff where you might be able to run a model,
Wes: say, that can do work on individual coding tests pretty well,
Wes: but isn't quite up to complicated tool call and orchestrating other agents.
Wes: So sometimes it's a mixture of models that fill the whole thing out.
Chris: And so another way to put that, right, is you could have the frontier model
Chris: running the orchestration agent who is watching the quality of the output,
Chris: monitoring the sub-agent.
Chris: And the sub-agent could be using like a Quinn-optimized coding smaller model.
Wes: Or a DeepSeq or something.
Chris: Yeah, or a DeepSeq. Maybe DeepSeq 4. It could come out any day now.
Chris: And that maybe isn't quite as comprehensive with tool calls and all of that,
Chris: but could do that specific job. And then your higher-end model is actually watching
Chris: the output and managing it. And that actually is a pretty token efficient way to go about it.
Chris: But hopefully we'll have more options, especially as we get more hardware built
Chris: for this and as models get down smaller and smaller and smaller.
Wes: Let us know what you tried, how it works.
Chris: Thanks for the boost. Yeah, keep us posted. That's a good one.
Wes: Antoine comes in with 2,468 sets.
Wes: In case you have not seen this yet, someone came up with a home assistant voice
Wes: control that is a Star Trek comms badge.
Chris: Want?
Wes: There's an instructable for it. And we get a link. Did you like this?
Wes: That's double the value. I have not yet. I'm pulling it up right now.
Chris: So I think what they're doing that's pretty clever with this is it looks like the comm badge from TNG.
Chris: Ooh, yes it does. And I think the front part of the comm badge,
Chris: I don't know how much is actually happening there.
Chris: Because there's a little computer that I think you put under your shirt on the
Chris: back end. And then they maybe, I think, magnetically clip together through the
Chris: shirt. That could totally work. And so you have.
Wes: A- Like a tiny little ESP or something?
Chris: Yeah, exactly. Yeah, a little Arduino kind of thing with Wi-Fi.
Chris: And, you know, the little tiny ability to essentially run a home assistant assistant,
Chris: and use the home assistant conversational pipeline through your Star Trek comm badge.
Chris: Now, obviously, the use case here, gentlemen, I don't think I need to say it.
Chris: But in case you're listening, you're like, why the hell would you use this?
Chris: So that way you can walk around your house, slap your comm badge and order the
Chris: lights to turn on or whatever.
Chris: Right. That's that's the end state here. Slap in your chest.
Wes: And see, this could work with some models. Gene beans running.
Chris: I want I want. Thanks, Antoine. Appreciate that. And.
Chris: All right. Well, Bobby pins here with 10,000 sets.
Chris: Well, I'm just about ready to finally dive into Nix. My question for you nerds,
Chris: Nix nerds, should I start with a general use PC and Hypervibe or an appliance
Chris: level media server or the coveted Nix Bitcoin node?
Wes: I probably wouldn't start with that one. I mean, it might depend on how familiar
Wes: you are with the Bitcoin stuff. If you've run Bitcoin nodes before,
Wes: then it might be totally doable.
Wes: If you're learning both running a node and using Nix to do so,
Wes: that's a lot to do at once.
Wes: So maybe the media server is a pretty attractive one.
Chris: I was leaning that way.
Brent: Too.
Chris: Yeah? Why?
Brent: Well, because it's something that you can build up slowly.
Brent: You can build one service, build another one, build another one, and it can just iterate.
Brent: Whereas if you're trying to get a desktop system that you need everything to
Brent: work right away, there can be a large learning curve.
Brent: So just having a little computer set up as a media server where you can just
Brent: poke at it whenever you have time. And if it's not completely online 100% of
Brent: the time, well, maybe it's not at the end of the world. That would be a good
Brent: way to try some things and break some things.
Chris: I also think the expectation is different there, right? When you're using it
Chris: on the desktop, you have certain expectations, if you've used Linux before,
Chris: about the way package installation works.
Chris: And what, I have to update this file in order to make this change persist?
Chris: It's a bit of a gear shift. But when you're using a headless server,
Chris: all these things that kind of seem confusing on the desktop are actually strengths
Chris: on the server and really are great.
Chris: And you start, I think, since you're coming with a different set of expectations,
Chris: I think you can appreciate, especially in a server context, Nix a lot more.
Chris: And then once you learn to use it in a headless environment with a couple of
Chris: services, you're going to be just absolutely itching to deploy it on your desktop.
Chris: But you'll have a greater appreciation and understanding at that point.
Chris: I think, you know, the desktop thing could be fun, but...
Chris: high probability it goes sideways, you know?
Wes: Yeah, and then just longer debug cycles and maybe break the thing you're trying
Wes: to work on. If you have a bunch of spare laptops or desktops or whatever,
Wes: then go for it or your comfy dual booting and all that.
Wes: But whatever you can find the lowest friction way where you're not going to
Wes: get frustrated because you don't know how to do it in Nix yet is usually the best.
Brent: Also, your question specifically said, I'm just ready to finally dive into Nix.
Brent: We are assuming you mean Nix OS.
Brent: Of course, the rest of your question suggested that. But it's an important realization,
Brent: that Nix OS and Nix are distinct.
Brent: And it's even more fun when you realize you can run Nix on any operating system
Brent: and get some of the benefits.
Brent: So that's like, I don't know, level three when you get to do that.
Chris: Peanut butter and jelly right there. That is what that is. Your favorite distro
Chris: with Nix is better and better.
Chris: All right, thank you everybody who boosted. We have the boost below the 2,000
Chris: set cutoff. We'll keep them in the dock for prosperity. And we read them, we appreciate them too.
Chris: And thank you to everybody who streams those sets. 22 of you streamed collectively, 31,000.
Chris: 237 sats not too bad at all it's a nice little boost in itself now of course,
Chris: mr hybrid sarcasm he brought it in and uh
Chris: he brought the power and the strength so when you bring it all together this
Chris: week gentlemen for episode uh 600 656 that's right we hit the road to scale
Chris: before we go by the appetizers and all that this episode stacked 1 million 195 353 saturnies.
Chris: Thank you to our members, to everybody who supports the show from,
Chris: you know, just a few sats or a few fiats to, you know, a million.
Chris: It makes a difference, especially right now.
Chris: If you would like to make this episode or next episode a winner,
Chris: you can boost with Fountain FM.
Chris: They make it real easy. They have a hosted option or a self-hosted option.
Chris: There's a whole plethora of applications over at new podcast apps that bring
Chris: new features and the ability to boost.
Chris: If you want to just stick with the simple autopilot, linuxunplugged.com slash
Chris: membership. Thank you, everybody who supports this here episode.
Chris: You gosh darn mean a lot to us.
Chris: And we do have some picks for you, and there are some good ones,
Chris: so let's get to those before we get out of here.
Chris: First up is one that Wes found that I could see being very useful for folks
Chris: out there that are trying out Hetzner.
Chris: I think Hetzner's getting a little tick up in usage with all the open-claw stuff going on.
Wes: Do watch out. They have a price increase coming in April, so just be warned.
Wes: They still have reasonable rates in the industry for sure.
Wes: But it's coming. Yeah, and you can maybe understand why, given what all is happening
Wes: and what it costs to run a computer these days.
Chris: But tell us about Hcloud Upload Image. You found this this week.
Wes: Yeah, so the backstory is Hetzner already provides an MIT-licensed CLI to interface with them.
Wes: So it's just Hcloud, which is great. But one thing they don't make especially
Wes: easy is dealing with disk images, especially if you just want to be able to
Wes: take a disk image that you build locally, upload it to Hetzner and then use
Wes: that to spin up new VPSs from.
Wes: You can do a lot of other stuff with the CLI, but not really that exactly in one step or something.
Wes: So Hcloud Upload Image is a little Go app that does exactly that.
Wes: So it creates a server with the right type.
Wes: It enables the rescue system. It boots into the server. Then it downloads the
Wes: disk image that you're trying to upload to it into the rescue system,
Wes: which then lets it just drop that and overwrite the existing disk,
Wes: right? So it just takes your image and overwrites the disk via the rescue system.
Chris: Right, okay.
Wes: So it's destructive.
Chris: It's quite destructive.
Wes: Yeah, this is for spinning up a new one. It spins up its own little...
Chris: Okay.
Wes: So then it shuts down the server, and then it takes a snapshot of that.
Wes: So it's silly, like, spins up a new server, puts it in rescue,
Wes: overwrites it, snapshots it, and then deletes the actual server,
Wes: and all you're left with is the snapshot.
Wes: And then you can take that snapshot with the Hcloud CLI itself and stamp out VPSs.
Chris: That's great.
Chris: So you could essentially have, from your machine, you could upload a custom
Chris: cloud image that you can then use as a template.
Wes: Yep. And so I was doing that, and I was running something as a local VM,
Wes: but it was getting to take up
Wes: more resources than I could allocate on the machine I was running it on.
Wes: And so for the moment, I thought, okay, I'll spin up a VPS and offload it there.
Wes: And so I was able to, it's a NixOS system, so I was able to add a new build
Wes: output that built with the stuff ready, which it's really just like a KVM virtual machine.
Wes: So there's not a lot of crazy Hetzner-specific stuff you need to do,
Wes: and then have NixOS output a raw disk image,
Wes: and Hetzner even supports ZStandard and GZip and BZip and similar,
Wes: so then you can just compress it and upload it, and away you go.
Chris: So you just built it from the package manager and sent it up to Hetzner.
Chris: Stupid easy.
Wes: I did hit some confusion because you need to look out, apparently,
Wes: depending on which data center you use and if you use one of their dedicated
Wes: performance or the sort of standard shared CPU ones.
Chris: Right.
Wes: The shared ones seem to be MBR legacy booting.
Chris: And you need to be EFI, I assume.
Wes: Well, I can do whatever.
Chris: Oh, but the image needs to be ready.
Wes: Versus if you're on the dedicated ones, those are using EFI.
Chris: I got you.
Wes: And I don't know how universal that is, so maybe do spin up a test one and check
Wes: out what the default Hetzner image does for that, whatever VPS model you choose.
Wes: And this is MIT licensed.
Chris: Hcloud upload image. We'll have it linked in the show notes.
Chris: All right. So my pick is Launcher Studio.
Chris: If you find yourself downloading the Go binaries as Wes suggested or whatever
Chris: they might be, so that way you can run them on your mutes distribution.
Chris: Well, it is kind of a bummer that you don't get a icon in your menu or if you
Chris: use an application launcher, you can't just easily type the name.
Chris: Launcher Studio is a GTK4 open source desktop application that lets you create
Chris: application launchers, .desktop files, on modern Linux desktop environments.
Chris: So if you've got a custom app you've written or a download or something like
Chris: that that didn't get a proper menu entry for your launcher or your menu,
Chris: you can use Launcher Studio, which is the latest and greatest in what has been
Chris: kind of an ongoing series of applications that do this kind of functionality
Chris: that have kind of come and gone over the years.
Chris: It's MIT licensed and it is Rust-based.
Wes: I mean,
Wes: Despite being GTK4, it does sound like it could be maybe handy on something
Wes: like KDE Linux for your random side-loaded stuff, and you want a nice .desktop.
Chris: No, it works. That's what I used it for. You just install it via Flatpak.
Chris: It's available on Flathub.
Chris: But it also works on Hyperland because it's creating .desktop launchers in your
Chris: .local share applications folder.
Wes: It's already a standard.
Chris: It's already a standard. So any desktop environment that looks at that for .desktop
Chris: files will support this, which, as far as I know, is like all of them today.
Chris: And so that is Launcher Studio.
Chris: Now, Wes, you've got a couple of handy little proxy picks, if you will.
Wes: Yeah, well, as I offloaded this VM, now it was on a Hetzner IP address.
Wes: And there's some stuff like, you know, I like using YTDLP to pull down some
Wes: things, and it can get fussy about IPs sometimes.
Wes: And so I thought, well, I have a residential IP. I'm not trying to do anything crazy.
Wes: What about just a proxy? Of course, they're already on a mesh network,
Wes: but I didn't really need to route the whole thing, and I could do,
Wes: like, forwarding individual stuff.
Wes: But for the use case I was doing, it made a little more sense to just set up
Wes: a proxy because I really didn't need everything to go through it.
Wes: It was just some specific requests.
Wes: So first I found TinyProxy, which is a lightweight HTTP and HTTPS proxy daemon
Wes: for POSIX operating systems, written in C.
Wes: It's a classic GPL2 license, but still seemingly actively developed and it has a NixOS module.
Wes: So it was super easy to set up. Enable equals true, of course.
Wes: And then for the settings, you can pick the port.
Wes: You can pick what address you want it to listen on, timeout options.
Wes: And then what's really nice is they let you configure, like,
Wes: in CIDR format, what networks you want to allow requests from.
Wes: So I could say, like, only allow my local LAN and my mesh network,
Wes: you know, and local host to, or whatever you want.
Wes: But you can have it listen globally and then further segment it if you want.
Wes: So it's quite flexible for whatever security strategy you might want.
Chris: Okay.
Wes: So that's one option. That's just if you can just work with a regular HTTP proxy.
Chris: But wait, there's more.
Wes: There is more. This one doesn't have a license, so beware on that.
Wes: Maybe we should get an issue going for that. There might already be one, but it is Rust.
Chris: Okay, all right.
Wes: And it's SOX2HTTPProxy, an executable to convert SOX5Proxy into an HTTP proxy.
Chris: What are we using this for, Wes?
Wes: Well, maybe you need an HTTP proxy. Something doesn't support SOX, right?
Chris: Uh-huh, I do. I often need an HTTP proxy.
Wes: But maybe you don't want to go stand up a whole proxy infrastructure.
Chris: I do not, Wes.
Wes: Right? But everyone has SSH. And SSH has dash D, which can run a SOX proxy.
Chris: Yes, it can.
Wes: So, if you combine this project with that, now you have an HTTP proxy.
Wes: so now you can go use SSH to funnel your HTTP requests without having to have
Wes: specific SOX support easily over maybe your mesh network.
Chris: Alright you got me that's pretty cool so I take it you're using this.
Wes: No well I just set up tiny proxy so I did try this out I.
Chris: Was trying to guess which one you stuck.
Wes: With but for me I was like building something I was just going to leave as infrastructure
Wes: for ad hoc stuff this seems like it'd be very handy because you already have SSH.
Chris: Yeah very much SSH is my, you know, it's with me everywhere.
Chris: KD Linux, turn it on. Turned on SSHD. In fact, we were SSHing into each other's
Chris: KD Linux boxes. That was fun. That was great.
Wes: Powered by Nebula.
Chris: KD Linux is really coming a long ways, and I can't wait to their future releases.
Chris: And I think if you're a Plasma fan, it is worth your time to dip back in and try it.
Chris: Like Wes said, it is an excellent VM citizen, too.
Chris: Snappy, smooth. Resize the VM window, you know, my Spice window,
Chris: whatever. It resizes inside there perfectly. no complaints at all.
Chris: That kind of stuff used to crash these things. You know, it's come along so far.
Wes: It's also a nice place to check out some of the latest in thinking about ways
Wes: to put together Linux systems if you like that kind of thing.
Chris: And Plasma.
Chris: All right. Well, if you're going to be in Pasadena around March 5th to the 7th,
Chris: come say hi to us. We do have meetup.com slash Jupiter Broadcasting.
Chris: We'd love to say hi to you. Of course, you can send us a virtual message with
Chris: a boost and be there in spirit as well.
Chris: And then if everything goes as planned, we'll have an episode for you next week
Chris: from Pasadena, either from the scale floor or from our Airbnb,
Chris: something like that, with all kinds of fresh takes from Planet Nix and from
Chris: Southern California's Linux Expo,
Chris: the largest in the Northern American area. Wes, one last pro tip before we go.
Chris: Tell people where they can get more metadata around the show.
Wes: Yeah, well, if you want chapters.
Chris: Sure.
Wes: You know.
Chris: But what if I want them in a really good, consumable way that a machine might like?
Wes: Oh, well, then you want JSON cloud chapters.
Chris: I've been having like two, three years we've had those now.
Wes: Yeah, that's right. Just a JSON file. Well, you got to read the XML file that
Wes: is the feed and then you get a JSON file.
Chris: Then you get the JSON file.
Wes: Don't let that bother you too much. Don't think about it too much.
Wes: Just read the chapters and enjoy them and skip around the file as you like.
Wes: or if you want the full complete story for whatever reason, we have transcripts,
Wes: ETT and SRT and we attempt to diarize them so that you can actually tell which
Wes: of us said the silly stuff.
Chris: We give it a shot at least. We hopefully will be live next week.
Chris: No promises. We never really know.
Chris: Sometimes we do have to pre-record but if you have a podcasting 2.0 app,
Chris: we'll try to make it pending in there and I hope to see you next week.
Chris: Links to what we talked about today are over at linuxunplugged.com slash 654.
Chris: LinuxUnplugged.com or all the great shows at jupiterbroadcasting.com.
Chris: And if you'd like even more show, you have the membership options or the Mumble
Chris: Room. You can show up like lots of people have.
Chris: Dozens of people have shown up right here in our Mumble Room this week to listen
Chris: to a low latency opus stream.
Chris: And we love it. It makes it a live vibe. It's great.
Chris: Details at LinuxUnplugged.com. You never would have guessed.
Chris: Thank you so much for joining us on this week's episode of Your Unplugged Program.
Chris: And we'll see you right back here next Tuesday As in sun.