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 Brett.
Chris: Hello, gentlemen. Coming up on the show today, we're going to chat with the
Chris: NixOS release manager and get the inside scoop on what is a unique process to
Chris: NixOS that I don't think any other distribution does.
Chris: And then we're going to dig through the 2505 release and really just geek out
Chris: on our favorite new things like applications and services you can run.
Chris: Really, anybody's going to love that stuff. And then we're going to round it
Chris: out with some great boosts, picks, and a lot more. We do not have a mumble room today.
Chris: Oh, God, this is where they'd be right now, too.
Wes: I miss them.
Chris: I miss them, too. But we're pre-recording because we're going to be flying Sunday
Chris: morning off to Boston to cover Red Hat Summit, and we'll come back with the signal from the noise.
Chris: But first, I want to say good morning to our friends at TailScale.
Chris: TailScale.com slash unplugged.
Chris: TailScale is the easiest way to connect your devices and services to each other wherever they are.
Chris: It is modern networking powered by the WireGuard.
Chris: And when you go to tailscale.com slash unplugged, you get it on 100 devices with three users.
Chris: Not a limited time trial, my friend. No, no, no credit card required.
Chris: That is the plan I am on like three years later. I don't know what it has been.
Chris: I love it. It is fast and simple to set up. If you got five machines,
Chris: you can probably get it running like three minutes.
Chris: It's just about packaged for every dang distro. It's literally one line of my
Chris: Nix config to get it working on Nix. And even on my older Linux systems and
Chris: my strange architecture systems and even some of my embedded Linux systems,
Chris: I have tail scale running on them.
Chris: It builds out something truly useful that the Internet needed from the very beginning.
Chris: And that is a private encrypted way for all your machines, regardless of the
Chris: network infrastructure, behind double carrier grade net, on multiple VPSs,
Chris: on a VM, in a Docker container.
Chris: You bridge all of them together onto one flat tail net.
Chris: Wherever you move them, wherever you start them, they still have the same machine IP.
Chris: And now I don't have any inbound ports on any of my firewalls.
Chris: And I've upgraded the Jupyter Broadcasting Network backend to use Tailscale
Chris: for so many different things.
Chris: A lot of the communication happening between services is happening over Tailscale.
Chris: It's great for the business and it's great for individuals. So go get it for
Chris: free on 100 devices for three users and no credit card required at tailscale.com slash unplugged.
Chris: All right, so we have published the TUI Challenge rules. We're going to spend
Chris: seven days in a terminal user interface with seven objectives to complete.
Chris: We have published the early alpha draft of the rules on our GitHub.
Chris: And the community has also created a discussion thread on our GitHub around it.
Chris: And we're really just looking for feedback at this point, because when we get
Chris: done with all our traveling, we want to kick things off.
Chris: And this is the moment for the community to kind of review, suggest changes,
Chris: improvements, and stuff like that.
Wes: I'm loving. So we've got a issue with discussion happening there.
Wes: I'm loving some of these comments already.
Wes: 20 years ago, I was watching Star Trek in the TUI using M player with FBCon
Wes: support while waiting for my Gentoo system to finish building X and KDE.
Chris: Oh my god, he and I may have been building Gen 2 and watching Star Trek at the
Chris: same exact time in two different places in the world.
Brent: Was this you?
Chris: Right.
Wes: This is Ben, and so Ben's conclusion is MPV is therefore cheating.
Chris: Oh, okay.
Wes: Strong argument, you know, it's a pretty strong argument.
Chris: Yeah, no, I mean, you gotta have X, or Weyland, I think it's cheating.
Chris: But you have to have X or Weyland to run the terminal these days.
Chris: Oh man, we really need, this is still a gray area, I think.
Chris: we need people to get in on that conversation we also want to recommend a little
Chris: extra listening for you a little extra dose of podcasting a little extra Chris and Brent like.
Brent: A deep dive Chris and Brent.
Chris: A deep dive yeah Launch 21 really it's the Brent show it was good I really enjoyed
Chris: it you know editor Drew rarely compliments the shows you know good job guys
Chris: but he said what did he say on this one This.
Brent: Was a really, really great episode.
Chris: That's what editor Drew said about, you know, it's good about Bigfoot as a service episode 21.
Chris: Yes, Bigfoot as a service will make sense once you listen to it.
Chris: And also, we want to have a call out here to our completionist in the audience.
Chris: We know some of you are often listening in the past, like we just heard from
Chris: somebody who just got to episode 600.
Chris: So, you know, you can be up to like 15 episodes or more behind,
Chris: and then you kind of catch up over time as a completionist.
Chris: So we want to do a little test here in 615. If you're listening in the past, boost us in the future.
Chris: And we just want to help kind of measure or send us an email,
Chris: let us know where you're at so we can kind of gauge how far back some of you are in the back catalog.
Chris: The completionists of you out there are really something I would just skip right
Chris: to this latest episode myself and then i i might go back i like.
Wes: This it's a little survey of folks who are back in time.
Chris: Yeah exactly that's what we're hoping to hear from i'm.
Brent: Definitely a completionist.
Chris: Yeah it doesn't surprise me at all no no how come what gave it away uh-huh yeah
Chris: i could see that so do you do it for podcasts that you listen to even if they're
Chris: like 600 episodes in yeah.
Brent: I guess i don't necessarily listen to the my particular podcast choices for
Brent: like a current information they're more like story based or something like that uh.
Chris: Evergreen.
Brent: Or i'm just broken maybe.
Chris: Well i actually this is how i do it and again i'd love to just get input from
Chris: the audience on how you do it but i will subscribe to a podcast and if i like it a lot,
Chris: when they haven't released an episode for a bit or like it's the off you know
Chris: whatever i will just go back and like fill in with their previous episodes depending
Chris: on the show i sometimes will do completionist but generally i just sort of cherry
Chris: pick i bet everybody has their own style yeah.
Wes: I think i'm about the same as you kind of go for the ones that seem interesting
Wes: or roll through them depends on how many there are and uh how much time i'm trying to fill.
Chris: While we are traveling to Red Hat Summit and back, we should see Nix OS 2505
Chris: released. And there's a lot.
Wes: Update your flakes.
Chris: Okay. Or your channels. It's okay. It's okay. Channels are okay, too.
Chris: And so this week, we wanted to deep dive into this because it's going to be
Chris: a pretty significant release.
Chris: And there's a lot of things we're looking forward to that anybody's going to find appealing.
Chris: But there's a process when it comes to releasing a distribution.
Chris: And there's probably no one better to speak to about this process than the Nix OS release manager.
Chris: So with a brand new Nix OS just around the corner, 2505, we wanted to talk to
Chris: Tristan Ross, who is a release manager and is working on this fresh release
Chris: right now. We're all very excited.
Chris: I've seen some of your posts online, Tristan. Welcome in to the Unplugged program.
Chris: I've been following this closely, and I'm really glad you can make time early this morning.
Tristin: Thank you for having me here.
Chris: Well, thank you. And before we get into it, I know I read a while back that
Chris: you were using Asahi Linux with NixOS for over a year on your laptop.
Chris: I'm wondering, are you still rocking Asahi or have you switched to something else on there?
Tristin: Oh, I'm using it right now actually to do this podcast.
Chris: Amazing. Hey, bonus points for that.
Wes: We're getting out-nerded here, boys.
Chris: Is it an M1? I don't know the details, but that's what I have,
Chris: and I know that works pretty well. yeah.
Tristin: It's an m1 pro with 16 gigs of ram and a terabyte of storage.
Chris: So you're you're almost on like uh well you're more you're almost on two years
Chris: now then aren't you 1.8 years you got to be almost the two-year mark.
Tristin: Yeah because i got this it was mentioned on my blog somewhere that i got it like,
Tristin: not last year but the prior year so that would have been 2023 in like august
Tristin: from apple's refurbishment site ah.
Chris: Nice that's the way to do it yeah making it work yeah i've had pretty good success
Chris: and look at you doing a call with video and everything we can see your shiny
Chris: face and everything with it.
Wes: I mean that must be mean either you're building a lot or the actual sort of
Wes: build cache and package availability for that system isn't too bad huh.
Tristin: So the way i do things is a little bit different where i just have a 120 core ampere ultra max i.
Chris: Love it oh okay that helps things huh i see so you build on that and then just
Chris: install it on the macbook yeah.
Tristin: Yeah i just all i do is just tell it hey build my config and then i just tell
Tristin: my laptop just pull everything from that and then i reboot and then i use don't
Tristin: have to struggle with 16 gigs of ram versus the 256 in my desktop.
Chris: Heck yeah.
Wes: Yeah, that is a little superpower there. I mean, Nix makes it so easy,
Wes: right? As you said, you just point it at your config, it's all the same,
Wes: and pull the build files later.
Chris: That's great. Okay, so I wanted to kind of pick your brain on how the release manager process works.
Chris: Because I might be wrong, but I don't know if it works like any other distro that I'm familiar with.
Chris: Reading through the wiki, it seemed to me like there's two release managers
Chris: at a time, and then after the release,
Chris: after a manager has managed two releases they step down essentially like it's
Chris: there's a built-in term limit for the release manager could you just kind of
Chris: you know explain it to somebody who doesn't quite understand this because it
Chris: seems pretty fascinating.
Tristin: Yeah so i believe
Tristin: this kind of came about from an rfc from
Tristin: 2021 2022 somewhere around that time uh where the idea was to like i believe
Tristin: it was to get a more like formal process of release managing releases because
Tristin: it was an informal like way as far as i understood i wasn't in the project during that time quite yet,
Tristin: but the current solution is just you have
Tristin: the previous release manager and the coming up release manager and the previous
Tristin: one is the one who picks at the end of the release who out of the people who
Tristin: have commit access to nick's uh packages to determine who's going to be the
Tristin: release manager and we also have release editors and.
Wes: That must help right so in a sense like when you came on to do it for the first
Wes: time that the other person there had at least done it that one other time before
Wes: so there's some sort of knowledge transfer or training or at least just double
Wes: checking on things to help.
Tristin: Yeah that's kind of the general idea it is to kind of essentially be like a
Tristin: mentoring kind of thing where it's like if the,
Tristin: upcoming release manager doesn't like quite understand
Tristin: the previous one can help around and it's
Tristin: just easier with nix as it grows more uh there's a lot of stuff to kind of manage
Tristin: like picking like what packages should be backported or what changes need to
Tristin: be rejected because it could cause some issue with the current release because
Tristin: it could be just too close to the release window to throw in some breaking change.
Wes: I love this i feel like it kind of highlights the unique challenges nix
Wes: os is such sort of a you know distributed online community without necessarily
Wes: i mean it's all being worked on as we're as we've seen but without necessarily
Wes: a lot of structure at first and so you kind of do have to come up with how do
Wes: we get a good process going that can make all those decisions because there's
Wes: there's a lot actually that it turns out goes into a nix os release huh yeah.
Tristin: There's quite a bit i'm not sure how other districts do it because it,
Tristin: from my understanding, it's easier to find information on Nix for the release process.
Tristin: And with just the matrix being out there and just how easy it is to get into
Tristin: the community, it's easy to find like what processes are going on and stuff like that.
Chris: Now, help me understand. So you're a release manager and then there's a release
Chris: editor. What does the editor do?
Tristin: The editor will go around the documentation and the release notes and kind of
Tristin: just make sure things are clean.
Tristin: Like if there's an issue with the previous releases documentation that people
Tristin: found, then they kind of like fix up the process for the upcoming release and
Tristin: manage just like, oh, this is weird wording.
Tristin: Let's just reword this thing a little bit nicer and stuff like that.
Chris: So there's ownership of kind of an important part of the release process at
Chris: these steps is really what it kind of comes down to. Somebody is making sure
Chris: that the process is being managed or that the notes are getting edited.
Chris: That's really great. I mean, I really appreciate that that process probably
Chris: took some time to form, but it seems this formalized.
Chris: What made you want to do it? What made you want to get involved in the release
Chris: process and become a release manager? Why take on the extra work?
Tristin: I thought it would be interesting and that I could use my Ampere desktop to
Tristin: help around with things.
Chris: Right. Yeah, very true, I suppose.
Wes: How generous.
Chris: Has it been? Would you describe it as interesting or did it meet expectations
Chris: so far? I know we're not at the finish line yet, but we're really close.
Tristin: Yeah, I think it's interesting.
Chris: Would you do it again?
Tristin: Maybe in like a few years. Not quite sure.
Chris: Ah, yeah, okay. Has it been a considerable time commitment?
Tristin: It's one of those things where it's not a huge time commitment,
Tristin: But it is There is a certain amount of effort And time that needs to be taken
Tristin: to Put into the releases Right.
Brent: I'm curious what you learned about the Nix and NixOS ecosystem by being a release
Brent: manager versus maybe how you were being involved earlier, maybe just a committer or a user.
Tristin: So we had different channels of how we push PRs through.
Tristin: We have staging, and then we have unstable, and then we have the master branch,
Tristin: and then we have the stable branches, which are for every release.
Tristin: and so when you're a release manager kind of learn how like you set up those stable branches,
Tristin: so that it is possible for people to so that the release is kind of segmented
Tristin: away from the current unstable set of things and.
Wes: Is that where some other processes come in like i know there's the zero hydra
Wes: failure component often of the release cycle which i think can be a little opaque
Wes: to folks who are not familiar maybe even what hydra is.
Tristin: Yeah that kind of comes from there can.
Chris: You explain hydra to me because i'm not familiar with what it is.
Tristin: Hydra is the ci server and
Tristin: build farm for nix it is powered by multiple machines that we have access to
Tristin: that the infrastructure team manages and the general thing is you just push
Tristin: a pr in and then and it just builds whatever, and it puts it into the cache.
Chris: Oh. So it's integrated right into the workflow. So you, from GitHub,
Chris: can essentially have something sent off to this build farm?
Tristin: GitHub doesn't really trigger anything, because it's on an automated set of when to run the job sets.
Tristin: Typically, from the trunk, we have it where it usually takes about eight hours,
Tristin: because Nick's package is so large.
Tristin: But the general way it works is it's configured to push the,
Tristin: like, things in the pipeline 10 minutes after, like, the current set.
Tristin: So if your pipeline was small enough where it's like, oh, there's only a couple
Tristin: packages, what it's going to do is it would build, wait 10 minutes,
Tristin: then build again with the current set of updates.
Chris: I'm curious how close to what you thought it would be when it started,
Chris: now that we're close to the end, like how accurate were projections,
Chris: estimates, plans at the beginning of the release process,
Chris: and now here we are at the end, like how much has changed, how much didn't work
Chris: out, was it pretty smooth, just that kind of overall picture?
Tristin: Yeah, it was pretty smooth. We did have an issue with 2411 that kind of laid
Tristin: it a little bit, But we did add a buffer of time when I was figuring out the
Tristin: schedule to get around that.
Tristin: But as far as I can tell, 2505 is on track.
Chris: That is great to hear. We're going to be traveling when it lands.
Chris: That's why we wanted to get you on a little early. But it doesn't mean we won't
Chris: be upgrading systems just because we're traveling.
Wes: Of course not.
Chris: Tristan, thanks for coming on and explaining some of this because it is a pretty
Chris: unique release process that Nix does.
Chris: And I just think it helps wrap our heads around it a little bit.
Chris: So thanks for coming on early.
Chris: 1password.com slash unplugged. That is the number 1 password slash unplugged, all lowercase.
Chris: Okay, I have a question. Do you have an idea, and I mean a really clear picture
Chris: without any exception, where your users are working, what services they use,
Chris: if they're always using company-owned devices and IT-approved apps? I didn't think so.
Chris: So my next question becomes, how do you keep your company's data safe when it's
Chris: sitting on all these unmanaged apps and devices?
Chris: That's where 1Password has an answer to this very hard question.
Chris: It's extended access management.
Chris: 1Password extended access management. It helps you secure every sign-in for
Chris: every app on every device because it solves problems that traditional IAMs and
Chris: MDMs really were never designed to touch.
Chris: It's the first security solution that brings all your unmanaged devices,
Chris: all your apps, and even identities under your control.
Chris: It ensures that every user's credential is strong and protected.
Chris: Every device is known and healthy, and every app is visible.
Chris: Imagine how that could change the game, bringing it all into one dashboard.
Chris: I really think I could have gotten a few more years out of being in IT if I
Chris: had something like this.
Chris: I mean, we know how password managers have improved the password hygiene game
Chris: out there, which is just a critical first step for security.
Chris: One password extended access management takes it to the app level, the identity level.
Chris: It really is powerful. And it is right now generally available for companies
Chris: with Okta, Microsoft, Entra.
Chris: And it's in beta for Google Workspace customers, too. So you can just get plugged
Chris: in and get started right away.
Chris: That's right. It's 1Password. You know them for their award-winning password manager.
Chris: Now go check out Extended Access Management. Solve problems that those traditional
Chris: IEMs and MDMs were just simply not built to touch.
Chris: Secure every app, every device, and every identity, even those unmanaged ones.
Chris: You just got to go to onepassword.com slash unplugged. That's all lowercase.
Chris: You can support the show that way, too, and check them out. They got a lot of
Chris: great info there. So it is the number one, password.com slash unplugged.
Chris: Onepassword.com slash unplugged.
Wes: All right. Well, now we know how the sausage is made. I think we got to taste
Wes: the sausage. It's not out yet, but people are hard at work compiling the release notes.
Wes: So, you know, we took a little sneak peek.
Chris: There is some really neat things in here. But let's start with the table stakes, boys.
Chris: And of course, that is the Cosmic Desktop. The Alpha 7 is going to be officially
Chris: supported. It's initial, but it's in here in Nix OS 2505.
Wes: Yeah, there's been various ways you can run it and try it out and all that.
Wes: But now it'll be easier than ever.
Chris: So that's pretty neat to see.
Brent: Has any desktop ever gotten this much traction while still being Alpha?
Brent: I think it's super impressive.
Chris: Yeah, you're right. It is getting everywhere fast.
Wes: This is more one of those Gmail-style alphas, you know, where everyone's used it for years.
Brent: Where's the invite code?
Chris: Yeah, right. The invite code is you've got to install 2505, I guess.
Chris: Of course, we're getting GNOME 48 in here, which is a fantastic release.
Chris: We've covered that pretty extensively.
Chris: And Plasma 6.3.5, which is very fresh, very recent.
Chris: So you're getting all the good standard table-stake desktops.
Chris: But, Wes, there's something in 2505 that feels like, you know,
Chris: We've seen Ubuntu get App 3.0. We've seen Fedora working on DNF5.
Chris: Now it's kind of Nix's turn. And NixOS rebuild ng is a full rewrite of the Nix
Chris: rebuild command, which is what is responsible for rebuilding and upgrading your system.
Wes: Yeah, it's a little bit important if you're going to be running the NixOS system.
Wes: It's the thing that helps you actually turn your configuration and the updates
Wes: you made there into an actually updated system.
Chris: Pretty essential. And there is a litany of reasons.
Chris: I suppose the code for Nix OS rebuild right now is written in Bash and not necessarily
Chris: awful itself. It does mean it's just sort of difficult to refactor.
Chris: It's kind of difficult to parse and get through. It's a big slog.
Chris: It's also a bit of a hacky mess, the developer notes. It also doesn't have proper testing.
Chris: There are some integration tests, but no unit tests and coverage is probably
Chris: a little less than it should be.
Chris: and the code itself predates some of the improvements in nix that have just
Chris: happened over the years and so you give it you bring all that together and instead
Chris: of just fixing up the version written in bash it kind of makes sense to just rewrite nix os rebuild.
Wes: Yeah and that's where we get nix os rebuild ng written
Wes: in python yeah why python well you
Wes: know there's a bunch of reasons but a lot of it has to do with
Wes: it's very flexible dynamic it's a scripting language so you
Wes: can like easily update or change it and you don't
Wes: have to do a whole compile cycle it's also
Wes: well supported in nix right there's lots of
Wes: pythons available there's also python libraries packaged in nix
Wes: if you want to use those and it has a pretty good size standard library
Wes: out of the gate as well so there's lots of stuff you don't even have to rely
Wes: on a package for and at the end of the day it's also got you know it's got good
Wes: linting tools you can now have optional type hints and there's robust support
Wes: for doing unit and integration tests for python So if you look at the PR for this,
Wes: you'll see there's now a bunch more tests added as part of this new version,
Wes: which is always nice to see.
Wes: I would also say, and lots of languages have this, but, you know,
Wes: Python, unlike Bash, you have to actually say what the arguments to your functions
Wes: are. And now you can include types as well.
Wes: Plus, Python has doc strings, which are inline descriptions of what the function
Wes: does, what it takes, what it returns.
Chris: Before you go, explain why, between Bash and Python, why it's for maintainability
Chris: and other developers coming along, why it's superior.
Wes: Yeah, so like in Bash, if you're trying to take a bunch of arguments to a function,
Wes: they're just like the numbered, you know, dollar sign one and two and three.
Wes: And for small things, that works. But if you're trying to write a robust program
Wes: where maybe you're having a lot of peer functions, so they just like take in
Wes: whatever data they need and then transmute it and return you whatever their
Wes: actual logic is supposed to be.
Wes: that can be unwieldy and it's hard to know and then you have to kind of do all
Wes: the documentation yourself whereas just setting it up in Python already gets
Wes: you some of that documentation plus it has more facilities in an organized way
Wes: to add even more if you want to,
Wes: It makes for a good, nice starting point.
Chris: And it's something that's probably easier to maintain by a group of people, too.
Wes: Yeah, exactly. And, you know, Python is simple enough, like for small enough
Wes: things, Bash can be easier.
Wes: Right. But once you've got like logic where you have actual conditionals and
Wes: like multiple paths and you want to have error handling and that's where it's
Wes: kind of it's not everyone's forte and not everyone is like that,
Wes: you know, experience with writing that level of Bash.
Wes: It's one thing to write a simple script that doesn't fork at all.
Wes: And then it's another thing to maintain a complicated program that needs to
Wes: handle flakes and channels and a bunch of other options. All that at once.
Chris: Indeed, it does get complex pretty fast. So something else that we saw land
Chris: in here is NixOS rebuild build image subcommand has been added.
Chris: Now, I know already that I could produce a container image. In fact,
Chris: this is kind of nice because I was looking at Nifty or Notify.
Chris: I talked about that in self-hosted that came out on Friday.
Chris: And in there, they have pretty clear documentation for the Nix configuration syntax.
Chris: And you can really get it working in Nix with probably four or five lines of configuration.
Chris: And from that, you could then generate a Docker container.
Chris: Because I was in a position where I wanted to specify some of this stuff,
Chris: and I don't want to use their environment variable file and all that stuff.
Chris: And in the documentation, I'm like, or just build your own image.
Chris: I could have an image, I could have a container image as the output,
Chris: and I could still run it as a container, but with all the configuration I needed.
Chris: So I love this functionality, but this is something different.
Chris: This is, I believe, correct me if I'm wrong, is this more about,
Chris: like, disk images that you could boot?
Wes: Yeah. So now you can do NixOS rebuild and use build image, new subcommand,
Wes: and it allows you to build a platform-specific disk image from a NixOS configuration.
Chris: Hoo-wee boys!
Wes: So you could then run that as a container or as a virtual machine or as a whole
Wes: machine, depending on what you put in the config.
Chris: Well, and just think about the potential here for testing. You know,
Chris: before you deploy it, you could build a VM, power that up inside QMU and run
Chris: through an entire test process before you actually commit it.
Wes: Yeah. And there has already been some tooling around just building a VM to test out.
Wes: But I think that probably was customized a bit to like be a VM to run on your
Wes: architecture there for that purpose. So I'm imagining that build image may be
Wes: a bit more flexible in terms of exposing this.
Wes: You could already include the
Wes: right modules and then build the right build output and do it yourself.
Wes: But as always, the more neat Nix functionality gets exposed at the surface,
Wes: the more people actually get to use it.
Wes: One last bit here on the other side of the install cycle. When you're setting
Wes: up a new machine, you know, often these days I'm doing that flakes first without any channels.
Wes: But you need an initial flake. and for
Wes: a long time NixOS generate config it would make you your hardware config and
Wes: your sort of starter config template but that was it you had to make your own
Wes: Flake well now there's a dash dash Flake option and it will generate the whole
Wes: thing so you get the original two files plus a Flake.nix so your Etsy NixOS
Wes: out of the box is Flake friendly.
Brent: I think for onboarding new people to Flakes this is going to be such a great tool yeah.
Chris: But they're still not officially supported but yeah you can do this all right all right I'll take it.
Brent: Officially unofficial Yeah.
Chris: Really. Of course, the user statistics say otherwise, they say rather official.
Chris: But one of the things that when we talk about a distro release,
Chris: we don't usually talk about is how much easier it is to do new fun stuff like
Chris: run services or applications and with an XOS release.
Chris: you get new modules. And a module is like a full set of configuration.
Chris: It's isolated for like a particular application. A lot of it's reusable.
Chris: So like I could share a module with the boys, the boys could share a module
Chris: with me and they could get it up and running.
Chris: And it declares options that you
Chris: can define in there for the services and applications you're going to run.
Chris: Maybe even like backups and things like that, that all can be defined in this
Chris: module. Help me here, Wes. Am I doing a decent job?
Wes: Yeah, you can sort of think of it as a function where you put in all these options
Wes: that you say like, oh, I want it to listen on this port, and I want it to support
Wes: these features, or, you know, whatever else.
Chris: Right, open this port in the firewall.
Wes: Yeah, exactly. It generates an updated Nix config for you that sets all those
Wes: options and creates the right systemd services to run whatever it is that it runs.
Wes: And then once you rebuild and start, all that happens.
Chris: Yeah, like I have Nix Cloud on my system as a module, and, oh, it's great.
Chris: So we get a whole bunch of new ones that land in 2505.
Brent: I counted them for you.
Chris: Oh, you did?
Brent: Yeah.
Chris: Okay.
Brent: Uh, 95.
Chris: Ah, yeah. So we'll link to the full list, but we're going to go through like
Chris: our top three, four, five that we think are really awesome and fun.
Chris: And let's start with yours, Wes, because you have a, you have a really good one.
Wes: Yeah, this one I was just scrolling through and it stood out because it seemed fun.
Wes: It's called Mary TTS, an open source multilingual text to speech synthesis system
Wes: written in pure Java and it has a web UI.
Chris: So to get this working, was it just name enable? Yes.
Wes: Yeah, I didn't quite have the module on my system yet. So I was able to just
Wes: run the main executable from Nix packages. It's already in unstable.
Chris: Once you have the module, then you just go into your configuration and you say
Chris: like service name, enable. And you could probably just get off to the races
Chris: from there. And sometimes, yeah.
Chris: All right, so let's try it out. This is the Mary web client.
Chris: For, uh, is it, it's Mary TTS. Okay. All right. All right.
Clips: Hello to the unplugged audience. Please excuse my nervousness.
Clips: This is my world debut after all.
Clips: Boost in if you want me to replace Brent.
Chris: Oh, whoa. It got, it chose violence.
Chris: Um, there are some fun effects you can do. Jet pilot is one of them.
Chris: How does, has anybody tried jet pilot?
Brent: I read about it, but it was too scared to.
Clips: Hello to the unplugged audience. Please excuse my nervousness.
Clips: This is my world debut after all.
Chris: Yeah, you could put in there like, hello, everybody, and it would kind of sound like a pilot.
Wes: Or, you know, you really want to get better at hearing and be able to understand
Wes: all that pilot chat over the radio, which is impossible to understand.
Chris: Apparently, you can also sound like you're in a stadium, so it can generate, and it gives you a...
Clips: Hello to the in-plug audience. Please excuse my nervousness.
Chris: That's kind of fun, and it gives you different output options,
Chris: like a WAV file or an AIF file or an AU file. The AU file is kind of neat.
Chris: And you could also output just words. There's like all kinds of different output
Chris: options in this one simple website here.
Chris: And you have different input types as well.
Chris: Look at this. There's all kinds of different things you can feed into it to have it generate.
Chris: So it gives you a really kind of silly web page to play around with.
Chris: But the engine itself is actually quite capable.
Wes: Yeah. And obviously, you know, we're just using the default voice model it comes
Wes: with. So I'm curious to see. It does sound like, yeah, it does.
Wes: So I'm curious to see how far you can take this with other voice models.
Chris: I saw that you also picked out a handy Postgres tool.
Wes: Ah, yes. This one, I'm surprised it didn't exist already because it's been around
Wes: for a while, but great to have it as easy to run with a module.
Wes: It's called Postgresed.
Wes: So you put a little G in there. Because what it takes is Postgres and adds an
Wes: automatic REST server on top.
Wes: So you get like a nice swagger open API dock and page for it.
Wes: And basically all of your tables and views get exposed via an HTTP API.
Chris: Oh, that's cool.
Wes: So there's tons of stuff where you want to connect and use like an actual SQL connection. But.
Chris: Yeah, not always.
Wes: Yeah, if you have a lot of views you're using or like stored procedures you
Wes: want to call. or just as like a quick way to expose data for backups or for automation.
Chris: For sure.
Wes: Super handy. Okay, and this one I haven't tried but I'm curious about because
Wes: we've discussed several of
Wes: these over the years, as have you guys on self-hosted. It's called Omnom.
Chris: Okay, I love the name, Omnom.
Wes: It's a webpage bookmarking and snapshotting service. Access and share previously
Wes: visited pages without worrying about modifications or availability,
Wes: which I thought could be great too for us.
Wes: It's just ways to like make sure we still have access to sources we're using for a show.
Chris: I've been using Kara Keep for a while, and this looks like it could be another
Chris: one to check out. Om Nom is a great name.
Wes: And then this is maybe a bit self-serving, but check this out.
Wes: It's called YouMurmur, or maybe MicroMurmur.
Wes: It's a minimalistic Mumble server primarily targeted to run on embedded computers
Wes: like routers with an open OS like OpenWRT.
Chris: Whoa.
Wes: So maybe you're running NixOS on like a tiny device. You don't have a ton of
Wes: resources, but you still want Mumble running. You want to be able to host Mumble.
Chris: Or you're like, Brent and I, you've got a couple of low-power machines,
Chris: and you can throw a mumble. Whoa, that's crazy. It's a mumble server?
Wes: Yeah.
Chris: That's so neat. That'd be great for a little family or a little LAN party.
Chris: That's pretty neat. Nice finds. All right, what did you dig out over there, Brent?
Brent: I pulled out a few. They're maybe of a different flavor, but there's one here
Brent: that caught my attention.
Brent: I think it's Gawk API or GoCappy or any way you want to say it.
Brent: The reason it caught my attention is that it's a lightweight self-posted Firefox
Brent: Send alternative without public uploads.
Brent: Which I thought was interesting. So if you want to share some files,
Brent: I don't know, with friends, family, that kind of thing, you can throw them up on this thing.
Brent: I think partly this stood out for me because I used and loved Firefox and I
Brent: thought it was a great service.
Brent: I would imagine it got misused quite a bit when they had it,
Brent: but as a public service, it's just awesome for everybody.
Chris: Well, what's neat too is it looks like if you wanted to slap AWS or any S3 compatible
Chris: storage as the backend, it supports that.
Chris: So you don't have to host the files, but you could still have a private Firefox-like
Chris: send with S3 kind of, if you want, to call it unlimited backend storage support,
Chris: I suppose. I mean, that's kind of a nice feature.
Wes: Yeah, and you just maybe add to this, but if not, right, just set up something
Wes: that goes through and deletes things in there every once in a while.
Wes: Or some of these services offer that built in.
Chris: Be a good feature.
Brent: Yeah, that's one of the main features here is things just disappear whenever you decide to.
Wes: Oh, perfect.
Chris: Oh, okay. GoK API, and as you would probably guess, it's mostly written in Go,
Chris: which probably makes it pretty easy to get up and going.
Wes: Also, most Go things tend to be really easy to build with Nix, which is great.
Chris: I know you got one more, though.
Brent: Oh, I got two more.
Chris: Oh, you do? Okay.
Brent: One of them that stood out for me is actual budget.
Chris: Uh-huh. Yeah, I saw this one.
Brent: I've been looking for something to improve my, let's say, perspectives on my
Brent: finances, and actual budget kept coming up, and I never had an easy way to deploy
Brent: it. And as a NixOS module, sounds like I should dive into this one.
Wes: You want something that will tell you how much money you're spending on Thai food, basically?
Brent: Yeah.
Chris: I mean, probably good to at least know.
Brent: How much money we spent on mediocre food in California is really what I wanted to know.
Chris: No, you don't want to know that.
Brent: Oh, you're right. Okay.
Wes: And you don't want to see the van category.
Chris: No. If you're going to do budgeting and financing, it's nice to have something
Chris: that's local first and run it on your own machine.
Wes: You don't want a third party to have access to all of your banking details?
Chris: Well, they already do.
Brent: It's a strange concept.
Chris: You know. All right. You ready to hear my finds? Oh, no, you had one more.
Brent: One last one I thought more I chose for the audience than for myself.
Brent: It's Cursor, which is a VS Code-based editor that uses AI to help you do coding and stuff.
Brent: I think some of our audience, at least a subsection, would be interested in
Brent: that. And as a module, it might be nice and fast to get going.
Chris: I agree. Now, get ready for the ones I found because these are going to knock your socks off.
Chris: The first one has been a bit of a bear to manage via Docker because you've got
Chris: to build it every time, and then it builds the container, and then it produces
Chris: a Docker Compose, and then you run that.
Chris: So every update, it's quite the process.
Wes: And it's a great app, but yeah, a bit.
Chris: Yep. And I am talking about Pinchflat.
Chris: I love this application. You know, we were joking about taking your stuff offline.
Chris: This really is, it's YouTube offline for me. And it is a media manager for YouTube.
Chris: And it's a self-hosted app that in the background, when your favorite YouTube
Chris: channels publish new content, it pulls it down gently in the background.
Chris: It'll also do playlists.
Chris: And it'll capture the information necessary for, say, like Jellyfin to then
Chris: index it and display it like all of your other TV shows and movies in your home entertainment system.
Chris: It has an easy-to-use web interface, so you go in and you can add the URLs to
Chris: the channels you want, set things like don't download their tinies.
Chris: You know, some channels, like, they post a video a week, and then during the
Chris: week, they'll post, like, three or four tinies that are clips of the video you
Chris: already watched. I don't need those.
Chris: And I don't want to watch a tiny on my television anyways. so don't download
Chris: the tinies it's just a checkbox boom right there no tinies but also you can
Chris: have an age out content so you're not filling up your hard drive with youtube content.
Chris: So you know i have mindset after 30 days it deletes
Chris: the videos even if i've watched them or not and i can have a different setting
Chris: for the ones i have watched and there's one youtube channel where the guy he
Chris: always gets embarrassed by his videos so he deletes them well i don't have that
Chris: problem anymore it'll also download audio only content from youtube so nice
Chris: if you're doing your podcast that way. You can grab them with this.
Chris: It's basically, it's handling YouTube DLP, but then it has advanced options
Chris: to link it to an API to your account.
Chris: And that gives it the ability via the YouTube API to crawl new releases.
Chris: And so it can do it even faster than the traditional manual scan method.
Wes: And probably maybe have a better time with the right limiting.
Chris: Yes. So pinch flat. And then it has a UI that lets you know this is all the
Chris: latest downloads. These are how many videos you downloaded. This is how much space it's taken up.
Chris: And for me, it means that I'm not watching these videos over my LTE or Starlink connection.
Chris: Because the server is downloading them for me in the background.
Chris: and then I just go into Jellyfin and I have a YouTube library and this has added
Chris: all the NFO information that Plex or Jellyfin or Cody needs.
Chris: And so they all just show up there and I just watch them like a regular TV show
Chris: over my LAN with no buffering, high quality.
Chris: So that's pinch flat. And now it's simple to enable and I no longer have to
Chris: go through this entire process of downloading it manually, building it manually,
Chris: producing the Docker Compose and then running it.
Wes: Nerdy detail that really doesn't matter But we don't yet have a soundboard clip
Wes: for this, but it's written in Elixir, which I just like to see.
Chris: Oh, yeah. It's been really nice.
Chris: Could somebody just do a little work to that? Maybe give it some effects and
Chris: that could be it. That could be our Elixir. So that's really,
Chris: really, really happy to see Pinchflat in there.
Chris: Tracker, which we've talked recently about the Big D Witch and tracking ourselves
Chris: with that. This is another GPS tracking platform that's self-hosted and lets
Chris: you use things like own tracks to get location information.
Chris: And then you can plug it into other front-end applications.
Chris: Nextcloud offers one and others to actually visualize all of your tracking.
Chris: So that's nice to see. How about this one, boys? Crabhole.
Chris: Crabhole. It's a cross-platform piehole clone written in Rust using Hickory
Chris: DNS and TrustDNS. and now it's available as services.crab-hole and you can enable it.
Wes: Yeah, send all that tracking stuff right to the crab hole.
Chris: Yeah. And then just a couple of quick hits, if you will, because I was just
Chris: really happy to see this.
Chris: There are three different Nostre packages landing. Really happy.
Chris: Nostre RS Relay is a Nostre Relay written in Rust.
Chris: There's also Haven, which is a high availability vault for events on Nostre to store Nostre events.
Chris: And there's now, I don't know how you pronounce it, but it's s-t-r-f-r-y stir
Chris: fry i was thinking stir fry i like that a relay for the nostril protocol i just
Chris: mentioned this because nix is going to would make such a solid oh this is.
Wes: Great well i mean especially too there's more things you can do with the nostril
Wes: wallet connect stuff if you're doing lightning things.
Chris: So maybe you.
Wes: Want to host your own nostril relay for that.
Chris: No kidding and now it's going to make that a little bit easier a lot easier
Chris: actually and then And last but not least, because I just love the Image Project,
Chris: which is IMMICH, and it is essentially a self-hosted Google Photos replacement,
Chris: It has an ecosystem of applications around it now. It's getting very popular.
Chris: And so there are apps that make it possible to publicly share your images, lots of other things.
Chris: I have one that's called like Image Kiosk.
Chris: And all it does is takes URL parameters and then creates pretty slideshows for
Chris: all the tablets that I have Home Assistant.
Chris: And so all my tablets, when they're not being used, are running through my favorite
Chris: photos being powered by Image Kiosk.
Chris: Well, another app now that is easily installable is going to be ImagePublicProxy,
Chris: which is a proxy for sharing image albums without exposing the actual image
Chris: API to the public internet.
Wes: Oh, that's great.
Chris: Mm-hmm. And again, it's just services.image-public-proxy, you know,
Chris: enable. And you've got it, assuming you've got the module.
Chris: And it's going to make a, you know, it kind of rounds out the image hosting,
Chris: and makes it really straightforward for people that want to get started with
Chris: a Google Photos alternative, but don't know all of these intricacies.
Chris: Now they can go read these plain, practically plain text modules and services,
Chris: figure out what the options are and get up and going.
Chris: And Image is one of those where you truly feel a sense of freedom when you break free of Google Photos.
Chris: And the search is fantastic. The face recognition has been getting really great.
Chris: The geolocation stuff has always
Chris: been solid since they've added it and it does the map overlay stuff.
Chris: We talked about it last week. We pulled it into the Big D Witch to overlay location
Chris: information from Image. it's a very very powerful application with a broader
Chris: and broader ecosystems of apps around it and it's getting simpler and simpler
Chris: to self-host now with this stuff.
Wes: Just with this release you get a sweet little box you know um get it on nyx
Wes: put it on tail scale you get next cloud going you put tracker on there you get
Wes: image going you get a proxy going then you have.
Brent: A stir fry for dinner.
Wes: Yeah and then right and then you can connect all that stuff from your your mobile
Wes: device over tail scale and you're off to the races that's basically you build
Wes: yourself a custom boot disk image with the new build image thing and then deploy it on a server oh.
Chris: My gosh it's the golden setup it really is there you go westpain just figured it out,
Chris: This show is looking for another sponsor. If you want to support independent
Chris: Linux content that is focused on its audience, drop me a line,
Chris: chris at jupiterbroadcasting.com.
Chris: I'll make a great deal for a listener out there that wants to advertise their
Chris: product, service, or business on the show.
Chris: Reach the world's largest best Linux audience. Let's chat, chris at jupiterbroadcasting.com.
Chris: Now, if you're not in a position to become a sponsor, but you still want to
Chris: support the show and keep us going, linuxunplugged.com slash membership,
Chris: the bootleg really is something special we have a lot of extra content on weeks like this.
Chris: We're really just kind of cutting loose and just chatting
Chris: with our members the bootleg offers a lot more but we also for those of you
Chris: that are time constrained have a slightly shorter version of the show that's
Chris: available for our members you get two options the bootleg or the ad free version
Chris: you also get that when you become a jupiter party member that way you support
Chris: all the shows you get access to all of the features and we do have some special
Chris: content after the travel that we are,
Chris: stewing up i'm not saying it's cooking yet but we're like you know
Chris: we're we got it simmering in a crock pot for the base and we
Chris: have some neat ideas some real cool keen ideas for our jupyter party members
Chris: some exclusive things so jupyter.party for the entire network or linuxunplugged.com
Chris: slash membership for this humble show and you can give each production a little
Chris: boost when you use Fountain or any of the apps out there that are listed at podcastapps.com.
Chris: And then we also get to read your message. And it's a signal for the show about
Chris: your feelings towards the content, positive or negative.
Chris: And it's a signal for the value as well. So there's a lot of ways to support
Chris: an independent production like this.
Chris: Each one of them just takes a little bit of effort on your time,
Chris: but that's why we call it a value for value production.
Chris: We put the show out there for free. We put, you know, God knows how many hours
Chris: into the show every single week.
Chris: we do that and then if you get a little value from the show you send some back
Chris: our way either through becoming a sponsor becoming a member or by boosting that's
Chris: it it's pretty simple i know sounds complicated but when you think about it
Chris: it's really not that hard right you got to figure it out right yeah you got
Chris: it did you did you catch all that i think so okay all right i'm.
Wes: Gonna just i'm just gonna rely on brent i'm gonna he's gonna.
Chris: Yeah did you take notes uh.
Brent: I opened my.
Chris: Note application i'm gonna have to do it again now i'll.
Brent: Listen next week,
Brent: Well, we got a whole bunch of boosts here and one baller from the Wine Eagle.
Chris: It is 26,666 sets.
Chris: I feel like there might be a message in there. And he says, I hate going to
Chris: the Nick's option search site for options.
Chris: So check out Nick's search TV and you won't have to leave the terminal. Okay.
Brent: This is just setting us up for when we don't have access to a browser.
Chris: Oh, he does have a Tui challenge tip for us. games and GUI work programs should they be allowed?
Chris: Well, GUI work programs I mean you gotta do your work.
Chris: So the idea is to do as much of your work in the terminal as possible I think.
Chris: And then if you look at the challenge rules we have like specific things to
Chris: accomplish in the terminal.
Chris: And I think that leaves room for like okay I gotta go do XYZ in this like web
Chris: app that work requires or something. So what are you gonna do, right?
Wes: Yeah, we're not gonna have a Microsoft Teams calls one of our checklist items.
Chris: He says, I was having problems boosting from Breeze. I didn't see the JB node in the split.
Chris: That does happen sometimes. The Lightning network is a peer-to-peer network.
Chris: And the way Breeze works, which is very awesome, is it's a node in your pocket.
Chris: And so I think sometimes when it starts up, it needs, you know,
Chris: a minute, I don't know, 30 seconds to kind of like discover the network possibly. What do you think?
Wes: It may also help to send, like just send a low SAT test boost or something.
Chris: Yeah, yeah, yeah.
Wes: We can always skip reading those or, you know, they'll still get counted as your contribution.
Chris: Send like a 50 sat boost or 500 sat, something small and make sure it gets to
Chris: them and then send your, send your boost that you want read on the show.
Chris: That's probably, I know that's a little wonky and we'll probably have better
Chris: answers for you very soon.
Chris: So keep listening, but appreciate that baller boost, Wine Eagle. Thank you very much.
Wes: Mr. Nick 86 boosts in with a row of duck.
Wes: Uh, merch goes to crunch bang bus crunch bang slash bus.
Chris: Yeah. We're trying to come up with good names for the bus.
Wes: I do like crunch bang bus.
Chris: Crunch bang bus isn't bad. Uh, we've had so many. Do any really stick out to
Chris: you so far, brand of ones that are real winners.
Brent: I have a note here. Someone, uh, suggested the into penguin.
Chris: Right? Cause it's a road track independent. Yeah.
Wes: Okay.
Chris: Yeah.
Brent: Or the USS Brenter prize.
Wes: I liked soyager, but yeah, Brenter prize is better.
Chris: Soyager was really good.
Brent: There's also the Maple Meanderer.
Chris: That's pretty fitting. Which ones for you, though, have really stuck out?
Brent: Probably Poutine Wagon.
Chris: Oh, that's my least favorite.
Brent: Oh, okay.
Chris: Because it doesn't really rhyme.
Brent: We should open up some voting.
Chris: Well, we'll have to get there. We have to get some good names.
Wes: And remember, it has to look good on a whole van ramp.
Chris: And maybe a shirt and a hat. You know, as a car guy, Brett needs a hat.
Brent: Well, Tomato boosted in 13,369 sets.
Chris: All right.
Brent: Actually, in a couple boosts, and one of these is 1, 2, 3, 4, 5 sets.
Brent: The headsets sound good to me. And for the TUI challenge, I think sixles should
Brent: be allowed, since it's something that real deck terminals did.
Brent: Otherwise, I vote no for external graphics.
Chris: Whoa.
Brent: Whoa.
Chris: Okay.
Chris: I was really loving the idea of getting a Mac Plus off of eBay that still works
Chris: and then just getting some sort of terminal app.
Brent: Like literally your terminal?
Chris: So if I had to go to a GUI, I'd have to only could run on the Mac Plus. Probably not viable.
Chris: We'll see. So, you know, we've been getting pretty good feedback on the headsets, I think.
Chris: I am extremely grateful for the audience's support there and then also the feedback.
Chris: it makes me feel immensely more comfortable traveling with them and it sounds
Chris: silly but you got to agree it made life so much easier on the road brent oh
Chris: yeah not it's really the mic stands that are the problem because our studio
Chris: mics need a stand in even small portable table stands well you.
Brent: Need the right table i've run into this several times where the table is incompatible
Brent: and then what do you do we've had to figure out all sorts of different ways.
Chris: So it meant having a range of movement, which is always an issue when we're live.
Brent: And I think you have been sort of perfecting your own use of the microphone.
Brent: You were trying it in studio last week, so you're happy with that.
Brent: I'm still trying to get used to drinking with the thing, but we'll get there.
Chris: I did have a couple of times where I bumped it trying to drink,
Chris: but I think Drew just cleaned that up. Thank you, Drew. Appreciate you.
Brent: They do continue here. Also, what about another bonus challenge to do social
Brent: media from the two-y. Maybe a toot for Mastodon is a great example.
Chris: I was considering social media, but I don't like social media,
Chris: so I didn't put it on the challenge.
Wes: Well, we could try.
Chris: That might be a nice bonus, though. Somebody should submit that as a PR.
Wes: Send your two-y to it.
Chris: Yeah, maybe a suggestion, too. Gene Bean comes in with 4,444 sats.
Chris: You know what? I'm going to give that some strange odds.
Chris: I don't know. He also might have been going for a McDuck.
Chris: He says, I actually really like the sound of the headset you're using in studio.
Chris: And he has a question for you, Wes.
Chris: Why not check out TSD proxy? It was mentioned on self-hosted last week.
Chris: So this could be like an alternative to the tail scale module that you created
Chris: and announced last week.
Wes: Yeah, and it's a great option. There's lots of great little this.
Wes: There's a few other, I think, competing projects, various methods to proxy things
Wes: to tail scale with or without their own tail scale host entry.
Wes: This one does that, right? so you can basically tell it to proxy things it can
Wes: access and for each thing it proxies, make it show up on Tailscale, which is super great.
Wes: So I think this would be a good alternative if you don't want to go the full sidecar route.
Wes: I was interested in the network isolation factor as well.
Wes: So it sort of gives you full, that app can do multiple things on its own,
Wes: listen, configure however you want because that's full access to the interface.
Wes: So I think it'd probably be a little more flexible, especially given whatever
Wes: this proxy might support although it might support everything practically that
Wes: you need I also think TSD proxy would be a great candidate especially since
Wes: you can just configure it with a YAML file for a NixOS module right?
Wes: So that could be another way to get very equivalent functionality Mentat boosts in with 2048 sats,
Wes: I'd like to recommend LandVan for Brent's new ride Oh.
Chris: LandVan does slide right off the tongue land van. I kind of like that.
Wes: It'd have some, you know, being a good lineage here.
Wes: A friend of mine had a minivan we dubbed the land van back in the day,
Wes: which was often used during our regular land parties. Up until the engine got fired.
Chris: Oh, do we want that bad juju? Oh, nobody got hurt.
Wes: Nobody got hurt. It would be a story, but let's hope not.
Chris: You know, because you could really simplify the logo to just like an Ethernet plug.
Chris: You know, the land van. Maybe with like a hat or like an ethernet plug with wheels on the road.
Chris: Right. And like a windy road in Utah. You know what I'm saying?
Brent: I feel like maybe you've got a crush on this van. Maybe you're falling in love with this.
Chris: I might love another man's van.
Brent: I might.
Chris: That's a good one. Land van should go on the night. I don't know if it's a winner,
Chris: especially with that bad juju there at the end, but I think it's worth consideration.
Brent: Well, our van hasn't caught on fire yet, but it does smell like waffles.
Chris: That's true.
Brent: While Oppie 1984 boosted in 4000 sets.
Brent: Note to self here, don't use the auto-suggestions for names.
Brent: Sorry, Brent, for calling you Brett last episode.
Chris: Hold on. No apology necessary at all, Opi1984.
Chris: We have been riffing on that idea all week.
Brent: Yeah, behind the scenes.
Chris: Yeah, I got a whole new podcast lined up for Brett Johnson, so don't worry about
Chris: it at all. I think you may have inspired my best podcast idea yet.
Brent: That's a cute dog, too. As for why truckers have migrated to GMRS,
Brent: The stated reason is better audio quality, being FM rather than the CB's AM.
Brent: And antennas are generally pre-tuned and slightly better range.
Chris: Oh, so that was going to be my question. I thought maybe the AM would be like
Chris: on the lower hertz spectrum. Lower.
Chris: Maybe you would transmit fervor. But sounds like GMRS actually has better range.
Chris: Well, that settles it right there.
Brent: Obby continues here. The unstated reason, though, is since the late 70s,
Brent: four-wheelers were getting on the CB's and messing things up for drivers.
Brent: So they switched to get away from them.
Brent: And, well, those reasons stated above as well. Besides, a license is just $35 and there is no test.
Chris: Well, isn't that funny how if you just put a $35 license in front of it,
Chris: you get all the guys that are just sitting there slack-jawing off.
Brent: No more riff-raff.
Chris: We use, you know, the consumer radios that you just...
Brent: Family radios, they're sometimes called.
Chris: Yeah, family radios. Yeah. And the wife and I were on a road trip one time.
Chris: And for, I don't know, eight minutes, as we were driving along, we heard two buddies.
Chris: And the first one, where are you at? Oh, yeah, I'm just getting back in range.
Chris: Sorry about that. I had to stop and use the bathroom.
Chris: I had. And then he goes on to describe what was a significant BM for this guy
Chris: over the radio on the channel the wife and I are on.
Brent: Quite the movement.
Chris: And we don't want to, like, jump in because we're listening.
Chris: And they don't know we're listening. So, like, we had to wait until we were,
Chris: like, way out of range. And then we're like, did you hear that?
Chris: So, yeah, there's people on there just, I don't know, talking about anything, I guess.
Wes: I got slow-brained today. So one last piece of follow-up for Gene there.
Chris: Oh, yeah, sure.
Wes: It does also work with Netbird, and I think it should work with something like
Wes: Nebula or other services to the module.
Wes: Yeah, so that'd be another reason if you wanted something that wasn't Tailscale-specific support.
Chris: But could, or, you know, it could swap out, too. Outdoor Geek's back with 10,000 SATs.
Chris: the van name should be good on a t-shirt. I know it should look good on a t-shirt. I agree.
Chris: Like disco or cosmic. I came up with Vamoose.
Chris: That's pretty good.
Brent: That's pretty good.
Chris: Vamoose looks even slightly better. That's V-A-M-O-O-S with no E at the end.
Chris: I'm imagining a t-shirt art and van also being moose.
Chris: Like, oh my God, this is so good. Like the cat bus in my neighborhood, Toronto.
Chris: The moose is so obviously the branding to lean into for the van. Oh, I love this idea.
Wes: If you think about it, even the E they're deleting there, you know.
Wes: And E is sort of just like antlers.
Chris: Yeah, that's true. The E could be antlers.
Wes: It could be like a little moose thing, you know, a little moose logo.
Chris: The moose has to be on the list. I really like that, Outdoor Geek.
Brent: Adding it to the list.
Chris: All right. Thank you. That's a good one. That's a good one.
Wes: Bologna 9,000 moose in with 6,000 sets.
Wes: Hey guys, I'm behind a couple months, but here's 6,000 for 600.
Chris: Hey!
Wes: Keep up the good work.
Chris: I love it when we get the...
Chris: All right. You get some plaid, too. I love it when we get the people in the
Chris: back catalog catching up and letting us know. We want more of that. Thanks, Belagna.
Brent: How long ago does episode 600 feel to you guys?
Chris: Two years ago.
Brent: Yeah, I would say about the same.
Chris: Yeah, it's about two years ago.
Brent: Well, Raving Rob sent in 13,345 sets.
Brent: Y'all are trying to rename the Bang Bus when the only choice in your minds should be the Shebang Bus.
Chris: Maybe that would change the perspective people get when they hear the name.
Chris: I think the problem is when you take the name and you combine it with the look
Chris: of the vehicle, the two things take you to the wrong direction.
Chris: You know, Shebang Bus might be better. but Vamoose with Vamoose branding.
Brent: Send in your boost to vote for what do you think it should be?
Chris: So good. It's so good. Maybe we're missing something but yeah I'd like to know.
Brent: Oh there's a PS here. I messed it up already. It says PS. It's pronounced raving grub.
Brent: I just dropped the extra G so sorry about that.
Chris: Alright well thank you everybody who boosted it. We had Shy Fox come in too
Chris: with some comments on the headset just under the 2000s at cutoff.
Chris: We also had wartime boost in he misunderstood, he thought Darwich or the Big
Chris: D Witch as I call it was iOS only,
Chris: no, you can use OwnTracks and lots of other applications including just Home Assistant,
Chris: to feed into the Big D Witch they do have an iOS only app that just connects
Chris: directly only to it, but you do not need that Brent and Wes used OwnTracks on
Chris: their Paizels just fine if.
Wes: You're real crazy, you just make sure you take a new picture every time you
Wes: make a significant movement and then you let it suck that up.
Chris: Yeah then use image as your location thing and yeah i would actually not be
Chris: a half bad solution for just partial tracking as long as you're really good
Chris: about taking pictures one.
Brent: Thing we didn't mention last week too that came up was that you can import a ton of.
Chris: Different services.
Brent: Into devar including.
Chris: Just gpx files so like a garmin something
Chris: like that you could actually pull into it and then visualize on there so
Chris: thank you everybody who sends in feedback and supports the
Chris: show with a boost it's one of our absolute favorite segments of
Chris: the show and it brings up conversations we never would have
Chris: thought to include we had 22 of
Chris: you stream sats as you listened and collectively you all stacked 43 270 sats
Chris: by just streaming them to us and we appreciate that a lot and then when you
Chris: combine that with our boosters we stacked a humble but appreciative 128 572 sats.
Chris: Now, we are recording a little early, so if we missed your boost,
Chris: we'll catch it in the next episode.
Chris: And please do consider supporting the show with the boost. It is an open-source,
Chris: peer-to-peer network with no middleman.
Chris: Nobody takes a cut, and we don't have to ask anybody for those funds.
Chris: And they go directly to our wallets via the splits.
Chris: It is a value-for-value system that is pretty awesome.
Chris: And, of course, a shout-out to our members. You also pretty darn awesome.
Chris: We appreciate everybody who supports any production of the show and everybody
Chris: who supported episode 615 of your Unplugged podcast.
Chris: Two picks. Two picks. I was on fire this week.
Chris: Actually, what it was is one of my tools I use just very helpfully on the back
Chris: end, like doubled the image size that it generates, which is great.
Chris: It's nice and high resolution, but now it means I'm going from like a 1.2 megabyte
Chris: downloaded file to like four to six megabytes, depending on the image.
Chris: And then like I want to slap that in our matrix chat room.
Chris: Well, every time I do that, I'm tossing like a six meg file on our matrix server
Chris: and then everybody has to pull down a six meg file to view. It's crazy.
Chris: So I've been using something for a little while to solve this problem.
Chris: And I realized time for a make good got to talk about on the show.
Chris: It's called switcheroo or switcheroo.
Chris: I guess the same. And it is a very simple desktop application that converts
Chris: between different image file types and also resizes them very easily.
Chris: It's fired up, add the image, resize, done. Love that.
Wes: That sounds pretty convenient, especially if you don't, you know,
Wes: want to have to remember image magic convert command lines.
Chris: Now, what if you need to solve this problem for more than just yourself?
Chris: Friends, family, significant others. Or maybe, maybe you don't want to have it just on one computer.
Chris: Well, that's where Muzanook comes in, a self-hosted local image optimizer that runs in your browser.
Chris: So it is a very easily well-designed, easy-to-use application that is a browser
Chris: app that will work offline, actually.
Chris: And it strips out all of the stuff you don't want to share when you're sharing
Chris: an image. So it pulls out, like, the location information and the camera information
Chris: that can be stored in the image.
Chris: It lets you adjust the image quality size. You can set a target file size and
Chris: then have it figure out all the stuff.
Chris: You can move between JPEG, PNG, and WebP, and they're adding more file formats.
Chris: It is a progressive web app that's really well designed. And all the image processing
Chris: happens offline in your browser.
Chris: So you don't have to have it running on a super nice server. So I have it on my Odroid.
Chris: And everything stays on your device. And both of these are GPL3.
Chris: So you can go real easy and just a simple little desktop app,
Chris: or you can go the Manzanuk route, which is actually very simple to get running as well.
Chris: Pretty straightforward Docker Compose if you want to go that route.
Wes: I'm happy to report Switcheroo is packaged already in Nix.
Wes: And then I was able to just quickly
Wes: find here someone is working on a derivation in Flake for Manzanuk.
Chris: Can I just have you look at this UI for a second? I know this is an audio podcast,
Chris: but both of you pull it up there in your browser for just a sec.
Chris: How clean and simple is that?
Wes: Oh, I like it.
Chris: Super spousal approval factor here, boys.
Wes: Yep. I think anyone could use this.
Chris: My wife, for her patients, writes a newsletter, and she's often putting images in there.
Chris: And I'm like, you know, we could take out all the privacy and all the private
Chris: info. You could resize it and make it really, really efficient for the email client to load.
Wes: It looks like it has a nice mobile, you know, looks good on mobile, too.
Brent: You know, I wish these functions were built into just our mobile operating systems
Brent: from, just natively because well we all need to resize stuff and we all need
Brent: to keep ourselves more private and that should just be built in I think.
Chris: I don't think most people that take pictures are even aware,
Chris: well I'm sure our listeners are but I don't think most folks know that there's
Chris: XF data in there that has location, date, camera type,
Chris: you can tell a lot from that stuff and then you go post that online or share
Chris: it in like a Telegram or a Discord or a Matrix, you could be giving away information
Chris: you don't intend to And also, you're probably uploading a file larger than you need to.
Chris: Or if you're on iOS, you're getting those HEIC files.
Chris: You know, you can run it through this thing and make a JPEG or a PNG out of
Chris: it and then send it to somebody that can actually render that.
Chris: So these are just a couple of great apps. But I think Mazinuk is really the
Chris: one to go for if you've got the time to get it running.
Chris: And then you can just share it with your friends and family.
Chris: You don't think that's how it's pronounced?
Brent: No, I just love the way you're pronouncing it. Can you do it one last time?
Chris: Mazinuk. How do you say it, Wes?
Wes: Mazinuk.
Chris: Oh, okay.
Brent: I was going to go with Mazinuk.
Chris: I was hoping you would.
Wes: Oh, yeah, there we go.
Chris: I was hoping one of you would because I thought that was a possible pronunciation.
Brent: But you prefer...
Wes: They are capitalizing it, so I think we have to yell it.
Chris: Yeah, that's why I was.
Wes: It's... Mazanoke!
Chris: Thank you. I am just going with what the developers clearly intended. Yeah.
Wes: That's all we ask.
Chris: All right, as we wrap up, remember, we're looking for all of you that are on
Chris: the tail end back catalog completionist trajectory. Tell us where you're at.
Chris: Say hi to us into the future. Of course, we want your feedback on our TUI challenge.
Chris: We'll have that linked in the show notes, so you can go over to our GitHub there.
Chris: We're also soliciting names for Brent's van. And I think we've got to figure that out pretty soon.
Chris: And last couple of weeks to get your TUI apps in. So anything we could use in
Chris: the terminal to survive and then share with the audience, please.
Chris: Let's make this actually something that might stick. And I think the best way
Chris: for some people to stick using TUI applications would be to actually give them
Chris: a good set to choose from, a real shot. So please boost those in as well.
Chris: Now, we will have sort of a weird live schedule coming up for the next few weeks
Chris: as we're traveling for different events and whatnot.
Chris: so the best source of information is always going to be jupiterbroadcasting.com
Chris: slash calendar or even better and more up to date will be a podcasting 2.0 app
Chris: where we will be able to set a pending and actual lifetime that'll show up in your app of choice.
Wes: You can also just do mpv jblive.fm and periodically check.
Chris: Yeah yeah or just pop it in a browser tab jblive.fm are they live oh nope that's
Chris: an old one if you hear music and farting around it's probably live That's how you know.
Chris: Links to what we talked about today at linuxunplugged.com slash 615.
Chris: Matrix info. Membership info. Mumble info.
Chris: How to contact us. It's all over there. Hyperlinks on a website at linuxunplugged.com.
Chris: And then we mentioned it earlier. But go. If you're ready, go get some more
Chris: Brent. Go get some more me and hear the full story of the van rescue.
Chris: The complete story since we left off last week.
Chris: Weekly launch.rocks. Episode 21. Editor Drew says it's a banger,
Chris: which means you're probably going to love it.
Chris: Thanks so much for tuning in this week's episode of the Unplugged program.
Chris: And we'll see you next Tuesday, as in Sunday, which, who knows, might be a Monday.