LINUX Unplugged - 626: The Btrfs Blues
Episode Date: August 4, 2025A Btrfs bug that bites is in the wild, and we discover whole home audio that works like a charm.Sponsored By:Managed Nebula: Meet Managed Nebula from Defined Networking. A decentralized VPN built on t...he open-source Nebula platform that we love. 1Password Extended Access Management: 1Password Extended Access Management is a device trust solution for companies with Okta, and they ensure that if a device isn't trusted and secure, it can't log into your cloud apps. Unraid: A powerful, easy operating system for servers and storage. Maximize your hardware with unmatched flexibility. Support LINUX UnpluggedLinks:💥 Gets Sats Quick and Easy with Strike📻 LINUX Unplugged on Fountain.FMHow to recover from BTRFS errors | Support | SUSEbtrfs-zero-log(8) — btrfs-progs — Debian Manpages — This command will clear the filesystem log tree. This may fix a specific set of problem when the filesystem mount fails due to the log replay.2018 PatchGit: Btrfs: fix warning when replaying log after fsync of a tmpfileGit: btrfs: fix fsync of files with no hard links not persisting deletionproblematic patch pulled into 6.16 on May 26thproblematic patch pulled into 6.15.3 on June 19thIncreased reports since 6.15.3 of corruption within the log tree - Peter JungNull deref during attempted replay of corrupt TREE_LOG in newer kernel - Russell HaleySystem failed to boot – Btrfs log tree error / System Administration / Arch Linux ForumsPATCH: btrfs: fix log tree replay failure due to file with 0 links and extents — When attempting to mount the fs, the log replay will fail patch on for-next branch of btrfs treegeneric: test fsync of file with 0 links and extentsMusic Assistant — Music Assistant is a music library manager for your offline and online music sources which can easily stream your favourite music to a wide range of supported players and be combined with the power of Home Assistant!Music Assistant Installation InstructionsInstallation InstructionsMusic Assistant Music ProvidersMusic Assistant Player ProvidersHome Assistant PluginHome Assistant Voice Preview Edition - Home AssistantSYMFONISK Sonos WiFi bookshelf speaker, black smart/gen 2 - IKEA USHomePod - AppleBelkin SoundForm Connect AirPlay 2 Adapter & Airplay 2 ReceiverWiiM Mini AirPlay 2 Wireless Audio StreamerGoogle Chromecast - Streaming Device with HDMI CableGoogle Chromecast Audio Media Streamer - *** 2 PACK *** | eBaydroans/mass_queue — Actions to control player queues for Music Assistantpunxaphil/maxi-media-player — Media card for Home Assistant UI with a focus on managing multiple media players, but not excluding single player setups.NinDTendo/homeassistant_gradual_volume_control — Home Assistant integration providing a service to gradually change the volume of media_players over a given timespan.Chawan: TUI web browser — A text-mode web browser and pager for Unix-like systems, with a focus on implementing modern web standards while remaining self-contained, easy to understand and extensible.SilverBullet — SilverBullet is a tool to develop, organize, and structure your personal knowledge and to make it universally accessible across all your devices.HeliumOS — An atomic desktop operating system for your devices.LINUX Unplugged 620 - Brent Loves Building Things — Off-the-shelf didn’t cut it, so we built what we needed using open hardware and open source.rust-motd — Beautiful, useful, configurable MOTD generation with zero runtime dependenciesrustdress — Self hosted Lightning Address Serverrustdress: init at 0.5.2 by jordan-bravorustdress in nixpkgsPlausible Slop: Generative AI and Open Source CybersecurityPlausible Slop Timecode LinkDeath by a thousand slops | daniel.haxx.sePick: PlexRipper — A cross-platform Plex media downloader that seamlessly adds media from other Plex servers to your own!PlexRipper DocsPick: kde-control-station — A modern configuration center for KDE plasma based on the awesome kde_controlcentre by Prayag2Pick: kAirPods — Native AirPods integration for KDE Plasma 6 with real-time battery monitoring, noise control, and panel widgetAmilieCoding/gnomePods — Native AirPods integration for GNOME with real-time battery monitoring, noise control, and panel widget. Built off of kAirPods
Transcript
Discussion (0)
Hello friends and welcome back to your weekly Linux talk show. My name is Chris. My name
is Wes. And my name is Brent. Hello gentlemen, we're coming up on episode 626 of your Unplugged
program. We're digging into a butterfest bug that
is biting people in the wild right now so we want to get the word out there as
fast as possible. Then over the week I discovered how to actually get whole
home audio that's working and it's working like a charm and there's a
little extra twist in there too so I'll tell you about that. Then we'll round the
show out with some great boos, killer picks, and a lot more. So before we get into all of that, let's say
time of probes to our virtual lug. Hello, MumbleRoom.
Hello, Chris. Hello, Chris.
Hello, Chris.
Hello, everybody in the MumbleRoom. Thank you very much for joining us over there. And
shout out to everybody who's joining us live. And shout out to all the members that make
it possible. And go check out Managed Nebula at define.net slash unplugged.
Decentralized VPN built on open source software that we love,
the Nebula platform, which you've been playing around with Wes.
I have.
Yeah, you're getting to me really jealous.
We'll talk about that more at some other point.
But Nebula is optimized for speed,
simplicity, and it has industry-leading security. And the way this manifests for day-to-day life
Less battery usage on your mobile devices less network traffic and less load on your servers
It's really light. It's really light and unlike traditional VPNs nebula is decentralized design
Means that you can build out your own network as you like and make it as resilient as you need.
So great for a home lab, great for a global enterprise, whether using their managed product or the self-hosted option, which, chef's kiss, is top notch.
One of the reasons why we love it so much. They don't hold back on the self-hosted product.
That's what they build on top of, and that's what's available for all of us. And they're starting to roll out desktop clients.
It's gonna get even easier to use Nebula,
which I'm really excited about,
because anything that just opens us up to more users
is gonna be fantastic.
And Nebula takes advantage of things like
the noise protocol framework for key exchange
and symmetric encryption,
so you know they're using good stuff in there.
And whether you wanna self-host the entire infrastructure or you want to check out
their managed product, which makes it really straightforward, you got an option.
In fact, if you go to define.net slash unplugged, you support the show.
You can also get started with 100 hosts, absolutely free, no credit card required.
Go see why we're really excited about Nebula by playing around with it first
at define.net slash unplugged.
We've got a little bit of exciting housekeeping. This is approaching really fast.
Yes, I'll be giving a talk at Nix Vegas at DEF CON this year. So if you'll be going to, you can find me there.
Come check it out. We'll be talking about mesh side cars for NixOS services.
And then an attempt to find other people in the chaos,
if anyone's interested.
I think I'll try to post up at the Casbar Lounge on Saturday,
around 6.30 for an hour or so,
just for sort of office hours.
Nice, simple meetup right there.
No meetup page required. Just where is it?
The Casbar Lounge in the Sahara Hotel.
At what time?
6.30 on Saturday.
So if you're in the area...
Or you can, I don't know, ping me on Matrix.
You don't even have to be at Def Con if you're just in the Vegas area.
That's true too.
Come say hi to Westpane.
Absolutely.
Brent and I can attest he's a delight to hang out without a bar.
Or at dinner.
Wherever it is.
So do recommend you go check it out.
And where do they go for details?
Is it nix.vegas?
Is that, or is it, do they have a website?
That's right, yeah, nix.vegas. There's, or is it, do they have a website? That's right, yeah, nix.vegas. No, there's a dot, there's a dot Vegas?
Of course there's a dot Vegas.
So we wanted to talk about a file system corruption issue
that is affecting ButterFS users
on more recent kernels like 6.16 and 6.15.3.
And we are now at a point with ButterFS adoption
where there's enough leading edge kernels
and users out there and distributions
that are actually deploying and testing these things
kind of right as they ship.
And thanks to them, we've discovered
there's a bit of a problem going on
that has left some systems unbootable.
Yeah, it turns out there's a lot of root file systems
out there now too, which is a great thing.
We know how much we
like it, except if your root file system won't mount.
That's not good.
No.
Yeah, so the bug itself didn't do any damage to the data, but it did prevent the system
from properly mounting the root device.
Yeah. Okay, so copy and write file system. We're also aware, generally, right, like ext4
is a journaling file system.
And these journals are something like what's known as a write ahead log in like the database
world or the ZFS has the intent log, which is somewhat different, but very similar also.
The idea is for data consistency and crash consistency, you can write the things that
you're doing, especially because like, you know, with Copy and Write, let's say you're updating our show notes, a markdown file.
Well, what happens?
You make a new copy of that so you can do snapshotting
so you have all the features we love.
But there's also this tree structure,
and you have to kind of go update all the tree
to make sure that, like, all the way at the root,
when you go to, like, you know, LS that directory,
it actually points at that updated copy and not the old copy.
But the snapshot version has it. So there's a bunch of bookkeeping and updates when you go to like, you know, LS that directory, it actually points at that updated copy and not the old copy.
But the snapshot version has it.
So there's a bunch of bookkeeping and updates you need to make just for that write.
And what happens if you crash in the middle?
So the idea is you make a note that you're like,
I'm gonna do this update.
And then you flush that to disk.
And then you can move that out of the log.
But if you crash in the middle, you can see from the log,
oh, I hadn't finished that.
And then you can kind of check to see like,
do I need, is it, can I fix it?
Can I just replay that?
Most of the time, if you have an unclean shutdown,
it just automatically replays that journal from the log,
brings your file system back to a clean state.
You don't even really need to know about it.
So a handful of users, like on CacheOS and Fedora,
where they're getting pretty current kernels and they're using Butter FS on the root, they experienced some sort of crash
and then when they reset their system they couldn't boot.
Yep, you just get an error that it can't replay the log which means it sees that there is
data there.
For some reason your file system, whether it was like a total shutdown, forced shutdown
or maybe something just happened on the fly before, as it was shutting down,
you have stuff in that replay log.
And so, of course, it doesn't want to just drop that because you could have basically
the amount of data loss you could have if you didn't replay that is roughly constrained
by how often you're doing these background commits sort of flushing to the disk.
Usually it's like 30 seconds, maybe it could be a couple of minutes if you have some configuration or doing tons of fsync
or lots of disk I.O. or something.
And so what the fix ends up being in terms of just like,
I want to get my stuff going again, is you run butterfs rescue,
which is a whole sub command for rescue commands,
and then zero dash log.
And that pretty much does what it says, clear the tree log.
And you essentially do that from a live environment,
because if you were to say to boot into a live environment,
you wouldn't be able to just mount that file system
because of this problem.
No, anytime you mount it,
it's just gonna complain with the same thing.
I think there is also a mount option you can do
to say like skip replay, but.
And so now this is sort of splitting hairs,
but this is technically not a ButterFS bug,
so much as it is something kind of related
to a series of other patches that kind of led to this issue.
Am I following this right?
No, so it is ButterFS.
It's just, it kind of has an interesting history.
Yeah, okay, that's what I was trying to follow
and that's a piece I wasn't getting.
Yeah, so it all goes back to 2018, actually,
a commit called fix warning when replaying log
After f-sync of a temp file and the thing with temp files is there they generally like they're meant to be discarded at reboot
Right, and so they they don't actually like have any extents on disk
They just sort of have like the I know for tracking and they can live in memory and the cache and all that
But they don't actually make it to the disk, right?
And so they were running into some warnings,
so they went to go patch this up.
And to do that, they made essentially two changes.
Because you basically have two sides of this.
When you're going to do an operation,
you write into the log to say,
I'm about to do X, right?
I'm about to delete this temp file, say.
So before I take the action,
I log that I'm gonna take the action.
Exactly.
And then you have the state where you're booting up and you're mounting the file system and
you're replaying that log if there's stuff in there that hasn't been synced with the
disk yet.
So in this case, what they did was they said, all right, we don't really care about these
temp files in the log anyway, so we'll stop adding new stuff to the log going forward.
And when we're in replay mode, we'll just skip these.
Cause they're gonna end up getting deleted anyway,
we don't care about them.
The problem, which was not apparent at the time,
because basically-
Back in 2018 when they're writing this patch.
There's multiple different stages you can be in replay.
And so there's one called replay inodes,
and that's where they sort of did this skipping.
But there's another one called replay all.
And then it turns out that the way this change was made,
it didn't apply during that stage.
But because they were also making the change at the same time
where they were just not going to add that stuff to the log anymore,
the only way you could trigger it back then was if you were somehow,
like you had upgraded your kernel and had an unclean,
or you were mounting something unclean shut down from an older kernel
Okay, so this is the bit so then later on there was like an additional patch that compounded this problem
Yeah, so just in May it started and got picked up and added to 615 3 and 6 16
Uh-huh, so that's why it's in the most recent kernels. Yeah, so then we noticed a problem that it turns out by not
It just by no longer putting this like these temp files stuff in the log at all, it meant that we could have a problem
where we actually left them undeleted. Like they were still kind of hanging
around in like when you did have an unclean shutdown, the counting kind of
was broken the other way, where instead of like losing stuff, it would keep stuff
you were trying to delete around. So not a huge issue, but it's like incorrect behavior according to how you expect the file system to work.
Kind of crufty over time.
Yeah, exactly.
If we fsync a file that has no more hard links, because while a process had a file descriptor open on it,
the file's last hard link was removed and then the process did an fsync against the file descriptor,
after a power failure or crash, the file still exists after replaying the log.
Okay.
Right, so they'll like fix this by not ignoring
inodes with zero hard links.
So now, we're putting that stuff back into the log again.
Okay.
And that means suddenly this issue,
which had actually technically sort of been there
since 2018, can now be hit again.
Fairly easily, it turns out.
I mean, you still kinda need something to happen weird with the file system when you have stuff to replay in there.
It has to be triggered by some kind of event.
Yeah.
It doesn't just happen if you got Butter FS
and it's running and you have 6.16.
You basically need to be in a state where it finds stuff
in that replay journal when it's booting up
and mounting the file system.
My system upstairs, by the way, is on Linux 6.16
and it is Butter FS on route.
So that's why I was curious if, yeah, that's, it has to be, I'd have to crash or something.
Crash or yeah, maybe, I don't know.
So it could be like something, maybe there's a,
yeah, kernel has a problem and it forces
the file system offline without doing it correctly.
Out of memory kill something, I mean, you never know.
So it gets like, this gets thrown out there
sometime in May in the Linux Butterfess lists
and kind of gets, and then eventually gets pulled in
for 6.16 and then once that kind of gets pushed along,
it also gets backported to 6.15.3 and you can see it's just this one commit from there
that as 6.15.3 started rolling out pretty much by a week later or so, kind of the end
of June 26th, 27th, cache EOS users were some of the first folks who really started running
into these things. And then by July 7th or so, a kernel mailing list thread gets going and people start trying
to...
It's a good collective effort.
The Cache folks, Arch folks, Fedora folks, they're all kind of like...
And Butterfest developers.
Yeah, they're reaching out to the Butterfest devs who are kind of like, well, we really
need dmessage output or more than just the one error.
They had to work out a standard operating procedure to get these systems and these
file systems back up so they could pull logs. Like they had to come up with
procedures and processes they could communicate to people. And then kind of
by proxy right where like the distro folks are talking with the kernel folks
and getting what the kernel folks needs and then reaching out to the users
they're doing end user support for to like tell them how to get this data and
shepherd it around. But eventually enough stuff throughout July
kind of comes together that there's now a fix out there
that correctly does this skipping and replay
of these temp files in all the stages
that are actually necessary.
Okay, so I basically just need to keep an eye out
for a kernel update.
Yeah, but that got proposed to the Linux ButterFS list,
so presumably that will get pulled into 6.17 Yeah, but that got proposed to the Linux ButterFS list,
so presumably that will get pulled into 6.17,
and then probably backcorded as well,
but that's all gonna take time.
And in the meantime, if this were to happen to you,
you could go into a live environment,
run that rescue command, and you'd be all right.
Yeah, the only data loss you should be risking is,
like we were saying, is just whatever had been sort of
not flushed to disk yet
as the unclean shutdown was happening.
Do we have a sense of how many users
have been affected up to now?
And I would imagine because of the fixes,
we're not going to see too many more users being affected
as well?
My sense is it's less than 1,000, but I don't know.
Yeah, I don't know.
Because it's kind of like you have
to have some event that triggers it,
and you have to be on 6.16 or 6 15 3 or newer and with butterfests as root
Yeah, yeah, I mean it could be on a knot
It could affect a non root file system just it wouldn't break your boot
You know who I think it's happening to the most is users that game and then the game crashes their system
There's been multiple reports of that. Yeah, that's the seemingly the most affected because that seems to be what crashes Linux the most
I don't know definitely folks who have self-reported also having sort of known sketchy power supplies or source or situation. That'll do it
Yeah, it is worth calling out here. This has all been
The initial issue as part of fixing a bunch of other stuff have there's all been the same person's work across the years
Felipe Manana from Suce has been
responsible for fixing up all kinds of Butter
FS issues and working on the file system. And it just works out that he was the person
who made the change in 2018 and the one that made it more apparent now and is the person
who figured all of that out and made an excellent explanation and commit in the fix to patch
it all up. So props there for sure.
And it's exactly these kinds of things that make file systems, you know, so hard to debug.
I mean, he's been proposing tests, you know, test cases and stuff as going for all of these
stuff. So it's not like they aren't testing. It's just, especially with situations of power
failure and like there's all kinds of failure points where you can have happen to the file system
And take cases edge cases that are just hard hard to test so it's a community effort to squash those bugs
Thank you for digging into that. I was aware of just bits and pieces of them
I wanted to get that info out at the top of the show because like my system just updated 616 fedora users are obtained
So it's something to be aware of a butter FS is still safe to use. So let us know, does this give you any pause using Butter FS?
Did it bite you maybe? I hope not. But if so, please tell us.
I'm kind of also just generally interested in file system war stories.
It really seems like it hasn't been a problem as much these days,
but maybe I'm wrong or maybe you have one from the past.
Boostin, it's a great way to support the show and we love reading those messages.
It is kind of funny just, you know, course, it's the mechanism in the file system to be robust That is in fact causing the problem
It is and it also just shows you how complicated kernel development is and as things get integrated into the kernel
There's a lot of other second second order effects is what I'm trying to say. It's not just what you change
It's all that changes around you
order effects is what I'm trying to say. It's not just what you change, it's all the changes around you.
OnePassword.com slash unplugged. Take the first step to better security for your
team by securing credentials and protecting every application, even
unmanaged shadow IT. Go learn more at OnePassword.com slash unplugged. This is
number one password dot com slash unplugged all This is number one, password.com slash unplugged,
all lowercase.
Okay, if you're a security IT professional,
you know this problem already.
You have more and more assets to protect as time goes on.
More devices, more identities, and more applications,
and it becomes a mountain of security risks over time.
But fortunately, you can conquer that mountain
of security risks with one password, extended access management.
The reality is that when surveyed,
over half of IT pros say securing their SaaS apps
is actually their biggest challenge now.
And I kind of get it.
You know, you've got SaaS sprawl essentially happening.
And it creates the shadow IT where users sign up to things
and use things because, quote unquote, it makes their job
easier or better.
So it's kind of understandable, but it's a hard problem to fix.
Thankfully, Trellica by One Password can discover and secure access to all your apps, managed
or not.
See, Trellica by One Password inventories every app in use at your company.
Then, pre-populated app profiles assess SAS risks,
letting you manage access, optimize spend,
and enforce security best practices across every app
your employees use.
Yes, even the shadow IT stuff.
You can securely onboard and off-board employees
and meet compliance goals.
Cetrelika by One Password provides a complete solution
for SAS access governance.
And it's just one of the ways extended access management
helps teams strengthen compliance and security.
You know OnePassword and their award-winning password
manager.
Now go check out Extended Access Management and Trellica.
You can take the first steps to better security for your team
by securing credentials and protecting every application,
even the unmanaged ones.
Go find out more and support the show.
You go to onepassword.com slash unplugged.
That is the number one password.com slash unplugged.
Well, Chris, you teased about whole home audio,
and when I've been in Lady Joops,
that has typically been a proprietary system.
But something tells me things have changed.
I am so, so, so ashamed of my love for the HomePods.
And my whole home audio solution has been HomePod audio for years now.
And it's embarrassing.
And...
I mean, you're a big Mac guy.
Yeah, yeah.
Yeah, it's really great because of your ecosystem.
Well, you're a big homebody guy, anyway.
I love the ecosystem, Wes.
It's just, it has been a shame of mine,
and I wanted to solve for this for a while.
I've been looking for a long time
for a whole home audio solution
where I can put speakers anywhere in my house
using whatever device I want,
and then be able to play synchronized audio
across all of them,
and then ideally create subgroups for like the living room and different rooms
where maybe you want different content or you don't want music playing.
Right.
Yeah.
Your wife's having a nap in the back room and you're trying to get some work
done. You wouldn't mind listening to a podcast while you do it.
Actually that is, that is one of the number one use cases, Wes, you'd be
surprised.
And so I have dabbled in a lot of different things.
We have dabbled in a lot of different things. We have dabbled in a lot of different things,
but I've never felt confident enough to come on air and say,
this is the solution that you should implement in your home
because I've wanted something that was really flexible and nothing really matched it.
I finally this week gave music assistant a go,
and it's a library manager for your offline and online music sources. I'll get more to that
here in a second. And then you can stream to a wide range of supported players and you can combine
them and mix them. And then as the name kind of implies, if you want, though it's optional,
you can also integrate it into Home Assistant. And I'll talk about more of that later.
So Music Assistant itself has the Music Assistant server. It
also has what it calls music providers so you can import from various sources. It
has player providers so you can play music on a wide different range of
ecosystem from like DLNA devices, Sonos devices, Chromecast devices, AirPlay
devices, Home Assistant voice preview devices, it goes on and on.
And then they also have plugins,
so you can add additional functionality in there.
And the thing that I think I didn't appreciate
about Music Assistant until I started using it
is how well it integrates local sources with remote sources.
Calling it Plex for your media is way underselling
what this thing is capable of.
Plex wishes it could do this.
So first of all, I have a title account.
It was exceptionally easy to integrate it into title.
Once you're, you know, if you're logged into your title
account, it's just a, would you like to authorize app?
It synchronizes all your playlists.
So this is nice because my wife creates playlists
pretty frequently, and then they are immediately available on the music assistant within,
you know, the next time she goes to use it.
That's great.
It supports the high quality playback, but it also easily integrates my local flax.
And then another source that is exceptionally useful
is it supports audio bookshelf servers directly.
That's killer. So all my audio books are in there.
And I'll get more of that in a moment.
Were you able to just do like a point it at a folder?
How does the, for your flax, like that sort of?
Yes.
So you have a lot of options there.
You can point it at a Samba share directly or just a local.
And in my case, it was just on that local box.
It was just a local file system.
Sure.
That I just brought into the Docker container.
Nice.
So there's lots of options for your speaker endpoints with Music Assistant 2.
And one of them that a lot of us have out there is Chromecast.
And it works really well with Chromecast.
And it can be anything like one of those stupid little Google, you know, assistant display
boxes or it can be a Chromecast hanging off your TV or if you're lucky enough to still
have a Chromecast audio, that works.
Yeah, I got to go to my Google TV.
It took a little bit.
There was some discovery process
I toggled it on and off once but then since then it's been just fine
It does music assistant does rely on a lot of like that, you know DNS discovery stuff
And so you have to make sure that's getting passed through to the application
So we got a firewall or if you're running a container, you have to make sure a lot of that stuff gets passed through
I guess they had to like
Multiple they had like a newer better way that they were doing the casting so like once I at first I tried that and it
wasn't I tried the old one that worked and then the new one works totally fine
so I don't know it probably was all just still booting up because I just got it
going. It does take a minute to discover. I think the other one that works really
well Sonos have not tested that but I guess the Sonos integration is pretty
tight. Fully kiosk browser I thought was an interesting one because this is what
I use on my tablets for my home assistant displays around the house. So I think, you know, you could in theory
have a speaker plugged into the headphone out port on that tablet and then turn that into a player.
Pretty neat. I mean you could just see that for, yeah, I don't know, you have some sort of small
office setup too and those are just on there for displaying calendars already. Now you've got a
PA system. Why not?
Yeah, it does, you know, announcements and stuff like that too.
AirPlay. So any AirPlay target that's not the Apple TV,
the Apple TV is not currently supported because there's like a two-way pairing process,
but you know, anything else that's an AirPlay target.
And this is a really interesting one.
Any supported Home Assistant media player, like the Voice Preview Edition hardware,
which is a little puck with an iPod-like wheel on it
you can use for volume control,
and it has an aux out port.
It's really nice.
So that was the direction I thought I would go.
I thought I would buy a handful of these at a time,
because they're 50 bucks-ish a pop,
so buy a couple, set them up.
I already have two, so I would only need a couple more.
And then I would use these as streaming endpoints for my Music Assistant server.
And while you could definitely do that, and I think it would work really well, because
you know, it's all an open ecosystem, the prices are pretty good.
What I discovered is that the open source community has so successfully reverse engineered
AirPlay that the AirPlay supporting music
assistant is as if it was a native open source protocol. That's so killer. It's
bonkers how good it is and so it sort of was just well I already have these
AirPlay devices and it's... I mean that's best case for you really. It's kind of
unbelievable because I bought these stupid expensive home pods they do sound
good. Just go check the Koder Radio backlog for years on this.
This has been years now, so I think the investment may have,
quote unquote investment, may have paid off.
But you would not think I would have gotten
this much mileage out of some stupid proprietary speakers
that only have a power cord coming out of them.
It really is bonkers.
And it's crazy how good it works with music assistant.
So I just went with the practical route,
and I'm actually, I'm mostly just using AirPlay. But I do have some based on some of the testing
I did I have some quick recommendations if you just want easy speakers that work. I don't
know how you say this but IKEA makes these symphonic speakers.
Oh IKEA speakers huh?
And they're Wi-Fi speakers that actually have a Sonos control board in them. But they're like, you know, $100, $200 cheaper than an equivalent Sonos speaker.
And they also support AirPlay and they support DLNA and they support the Sonos streaming protocol.
And they sound decent.
And the Home Assistant community and the Music Assistant community rave about these.
So they range, depending on where you buy them them between $99 and $120 US dollars.
So these are not super cheap for the sound,
but the functionality people, so my wife is buying
a couple of these for her studio, for her clinic.
And so I'll have kind of a real world report
on these pretty soon.
But these are, you plug them into your network,
you plug them in, hook them up to your network,
and then Music Assistant will automatically
discover them and they just work. And you can play them in, hook them up to your network, and then Music Assistant will automatically discover them
and they just work.
And you can play them in pair synced up, it's really nice.
Obviously the HomePods, those work well,
but you can also buy standalone AirPlay adapters
that just have audio out ports.
Oh, now that is something.
So you can use big speakers or hook it up
to whatever you want and those range from
$90 to 110 US dollars and then of course the chromecast
I found a two-pack of the chromecast audio streamer for $30 on eBay. Nice. Yeah, I
Also noticed that they had snapcast support. Yes, sir
So if you have that or want to build out that infrastructure
you can just sort of target it with the music assistant
And that really seems like something I should look into in the future. I would love the listeners
Feedback on snapcast or if anybody has experimented with this stuff
But I want to tell you how I made this sort of
Spousal approval factor high family approval factor high because having music assistant and having one interface
Which is a progressive web app to all your music and your audiobooks from all your different approval factor high, family approval factor high. Because having Music Assistant and having one interface,
which is a progressive web app,
to all your music and your audio books
from all your different,
you can put Apple Music in there,
you can put Spotify in there,
you can put Tidal in there,
you can put SoundCloud in there,
these are like, there's dozens you can add.
It searches, I think it's the iTunes index,
but it searches that for podcasts,
or you can just put in RSS feeds manually.
Yes, too, so you can do that as well.
So while that is nice to have and then manage all of that
from one interface, what I think it really kicks it up
and improves the family approval factor
is if you can integrate it in with Home Assistant.
And the Home Assistant integration
allows you to create simple dashboard interfaces
to actually play things and queue things up.
So I've designed, we have a media card.
We have a media dashboard.
I'm sorry, in Home Assistant, where we have remote controls for our TVs.
And now I've added another you could call it's like the size of a large badge
or like a large thumbnail image.
It takes up about that much space.
But what it is, it's a media player control with an interface
for selecting our favorite playlists and our favorite audiobooks and selecting which speakers it plays on and I'll have links to these
in the show notes but this is how the family interfaces with this right they're
not loading the music assistant app entirely through they're going to the
tablet they already manage stuff in the home with going to the media tab and
then just selecting the playlist and it's just it plays I'm gonna have to
check that out because so far I did get like the very defaults auto discovered
like it can detect and control the music assistant state in home assistant side I'm gonna have to check that out because so far I did get like the very defaults auto discovered like
It can detect to control the music assistant state in home assistant side, but I hadn't gone past that
So when you install the music assistant integration into home assistant, they find each other
In fact, you can if you have a hasso s music assistant is just an add-on
You can just install from within hasso s and it all just connects up
But I run on a separate machine and they discover each other over the DNS broadcast stuff Music Assistant is just an add-on you can just install from within HasOS and it all just connects up.
But I run it on a separate machine and they discover each other over the DNS broadcast stuff.
And then every speaker that's in Music Assistant shows up as a speaker in Home Assistant and vice versa.
And so now Home Assistant can change the volume, it can do playback and pause, it can cue up new songs.
And then there's lots of community dashboard tools to build easy playback controls,
which is a couple of, you know, you choose a few boxes.
And then, where I took it to the next level,
and I'm very proud of this,
it's that audio bookshelf integration.
Having the audio book integration
that syncs book playback between all my devices
because the audio bookshelf server keeps track of that,
so our mobile devices get synced. the web interface and now music assistant.
And I have added Z-Wave buttons in our bedroom on both sides of the bed.
You push a button and I've labeled it book and you hit that book button.
Yep. And that resumes our current audio book at our last left off position on one speaker in the bedroom
preset to just the right nighttime volume.
It then plays for 25 minutes and then using a new integration that I installed that allows
you to gradually change the music.
It's called gradual volume control.
For the last 25 seconds of that 25 minute period while the book plays, for the last 25 seconds, I have it gradually turn the audio down to 0% over 25 seconds.
So the book fades out quietly and then it stops playback.
That's, that's, wow.
This is bonkers.
I want to take a nap at your house.
It is so nice because it takes something that is rather complicated, right?
And it just automates it with a push of a button because the automation is happening
to Home Assistant.
I've told Home Assistant when this button is pressed, go play that audio book at its
last position.
Audio Bookshelf server is remembering the position.
So when Music Assistant requests that, Audio Bookshelf is handling that aspect of like
the metadata and whatnot.
But what's really neat about it is none of my devices
are in use. So I no longer need to bring the phone to the bedroom to listen to the audiobook.
I can leave the phone out in the charging area. Right? I don't have to interface with any screen.
I don't have to blast light in my face. I don't have any of those. I just push a button and the back-end infrastructure so I can be rebooting my phone, I could be
not using my phone, my phone could be off, whatever. It doesn't matter because
the server system is handling the book playback and then Home Assistant is
handling the time and the fade-out and then it pauses through Music Assistant
and the end experience is so simple and so nice.
I just, I love it for this one feature alone.
But we also now have these, you know, with this dashboard,
we have these buttons for playlists.
And so some of our favorite playlists are one button away,
and then it starts playing on all the speakers
in the home in sync.
And there's just something really fun about that.
When you're doing some chores,
and you didn't have to even open up anything,
you didn't have to go dig through anything,
it's just right there, it's all ready, boom, click, it plays.
You get that dump and tanks playlist.
You sure could.
You know, or like I'm on the way home,
I open up the Home Assistant app on the phone,
I hit the playlist so the wife knows I'm coming home.
It's, you know, there's a lot of fun
you could have with it too.
And then you can also integrate announcements.
So you could have it announce the upcoming track,
but you could also slip in sort of like
house-wide time for dinner or whatever you want.
You can slip in house-wide announcements
because it supports that as well.
It's so much fun playing with this stuff.
It's like tinkering with a system
that builds on top of itself.
So first you get the Home Assistant running,
then you get Z-Wave going,
and then you get buttons figured out,
and then you start stacking this stuff.
So then you get Music Assistant going,
and you add, now I know how buttons work,
and I know how Home Assistant works,
and you can just complete this whole stack of stuff
that works really, really well together.
And while you can completely use Music Assistant on its own,
it's just like a container somewhere,
or whatever you want on a system,
if you connect it to Home Assistant,
it really kicks things up.
And it's so much fun to play around with.
Even if you don't care about turning on lights on and off,
this kind of stuff is really choice.
And the fact that you have this wide range
of hardware it's compatible with,
means you could likely just get started right now.
That's what's so impressive to me,
like the scope and the amount of integrations that already exist and
are just kind of all ready to go.
I was doing it on Nix and so it's a
little more apparent where like I was
looking at some of the packaging for
it right so you can tell some
plugins you know they need some extra
packages to be included in the whole
build as well.
So like if you want the YouTube music
integration which is just such a pain, because you have
to go get some cookie for YouTube DLP.
That's a bummer.
But you need, you know, YouTube DLP as part of the packages.
But it's just neat because like some of them, they just, I think like titles, they don't
even need any extra Python packages or anything.
They're just ready to go.
Yeah.
I think there's a couple of caveats people should be aware of.
I think where music assistants struggles is if you mix protocols.
So if you mix AirPlay and Chromecast or Homecast, Home Assistant Cast and AirPlay or whatever.
Even just trying to mix sometimes like playback in the browser and...
Yeah, or even sometimes if you're combining network speakers that are on different major
versions of their local OS, there can be issues where it loses sync.
And so where it seems to really nail it is if you have the same type of protocol for
the every speaker in that group.
So if you stick to one thing, maybe it's the Home Assistant preview hardware, maybe you're
a Sonos person, or maybe you've already got AirPlay or Chromecast.
If you stick to one streaming technology
for all the speakers you're playing to,
it seems to just really nail synced audio,
especially with AirPlay.
But when you mix and match, you get mixed results.
Now, if you're in a space
where you cannot hear the other speakers,
you just wanna be able to have the same content
like a podcast or streaming radio,
streaming internet radio is also supported.
And, you know, if you have a couple of second overlap when you're in the
garage versus the kitchen, maybe you don't care.
But if you're if you're standing in a space where you can hear all of the
speakers at once, the synchronization really matters then.
And that's where you want to keep it to the same protocol.
And that's where I think it's worth just going with one stack.
And I put the stuff that I feel like works the best in the show notes.
But having probably used Home Assistant in this entire stack for five years or so, somewhere
around there, maybe six, Music Assistant really feels like it's taken it up to the next level
now.
And it's so much fun to be able to just hit a button and set a tone, set a
vibe. And then anybody that has the Homelessness app can also pull it up and pause or change
it or anybody that goes up to a tablet. Or if you use the voice control too, you can
do it that way. It's really, it's, it's, it's really a great experience. It's not the best
podcast player. I will make that disclosure. Yeah, true. So if you add a podcast like ours
or any podcast that has years of back catalog, it sorts it
and wants to play the oldest episode first, which maybe you want to do that.
Or maybe you just imported your favorite podcast in your current and you want to play the current
episode.
Well, if they have hundreds of episodes, you have to manually go through one by one and
mark them listen to.
Unless maybe you're some sort of database hacker and you could go in there and fix it
that way.
But there is no native way to mark a whole bunch
of podcasts listened to.
And that was a real bummer because playing podcasts
around the house is a great use of Music Assistant.
So if you get the time, check it out,
you can use it on its own.
Or if you really like your peanut butter and your jelly
or chocolate or whatever it is, I don't know,
you mix it with Home Assistant.
Unraid.net slash unplugged. Unleash your hardware. I don't know. You mix it with Home Assistant. You can join the 20-day birthday bash packed with 20% off select licenses and 20% off all new merch
No purchase necessary giveaways are throughout the celebration. It's all gonna lead up to the grand finale on August 30th
there will be a live virtual event with unraids founder and
Also several others from unraid where they're gonna look back at 20 years of Unraid and also unveil a new short film and maybe even give a peek at the future of Unraid. So
you can learn more in RSVP now to celebrate two decades of self-hosting
innovation with the Unraid community. Go to unraid.net slash unplugged. 20 years if
you can believe it and Unraid continues to get better and better. Around the corner, not too far out, will be Udraid 7.2.
7.1 is a blow away release, but 7.2 is going to bring things
that people that use the web dashboard or are looking for
a full featured API, no spoilers, but people that might be
interested in those things, or maybe even NTFS support
and extended force support in your pools.
Those things, I don't know, little birdie tells me they might be coming. I mean
Unraid really goes from strength to strength and they've been doing it for
20 years. They have a straightforward model. It's a really simple licensing
structure and if you go to unraid.net slash unplugged you can try it for free
for 30 days. If you like it, you pick it up, you support the development and they
keep going for another 20 years
So don't forget it runs from the 7th to the 26th
You can join the 20-day birthday bash and I have reason to believe you might want to get started at unraid.net slash
unplugged
Well like last week we do have some shoutouts for new members of Jupiter Party
We want to say hi to the party to Kyle Quinn Like last week, we do have some shout-outs for new members of Jupiter Party.
We want to say hi to the party to Kyle, Quinn, Athlon, Linus, John and Scott, who all joined
either the core contributors or Jupiter.party.
Welcome to the party.
Yes, thank you for the support.
Shout-out to our new members.
I hope you take advantage of either the ad- version of the show, a little bit tighter runtime,
but still with all editor Drew's nice touches.
Or get the raw bootleg version that's clocking in usually
around double the length of the regular show,
but lots of content in there.
And also it's a way to support the show directly.
And on top of that, it lets us continue to be extremely
choosy about who we work with.
And it's, I think, 100% why we don't have dynamic ads at this point,
I would say. This week, you might get tired talk.
Yeah, I feel like you did get a little tired talk. That's true.
But we really appreciate you guys.
Thank you for keeping the show going through the bad times.
And thank you for also letting us say no to dynamic advertising or weird
VPNs and weird other kind of,
you know another one that's been really.
I don't even know what kind of mattress you have.
Yeah, that's true.
I'm not even anti-CBDs,
but like we've been getting hit up by a lot of CBD makers.
Oh, I mean not a lot,
but in the last month,
I've heard from three different CBD makers
who wanna sell their product directly.
I don't, I think this is like,
it's like, it's really nice just being in the position
to say no thank you.
So that goes to our members and same with Dynamic Ads
and also to our boosters too.
Thank you everybody.
We really appreciate you.
Another round of applause to those new members.
We've got some emails too Wes.
Sebastian wrote in, long time listener,
writing in with some rare critical feedback.
Zotero deserves way more love.
It's one of the most important open source projects,
especially in the closed world of academic publishing.
Zotero 7 is fantastic.
Citation management, PDF sync via web dev,
annotations across devices,
even figure extraction, all open source.
It's a self-hosted essential in my book. Okay. I'm a cardiologist practicing in Germany
So if there's anything in my field I can do for you over from the ocean
Let me know also if Brent ever ends up in the southern part of Germany wants to check out rock climbing or mountain biking
Also, let me know. Oh, that's so sweet. Thank you, Sebastian. Yes, please. Thanks, Sebastian
I'm assuming that invite for mountain biking is open to these two boys as well.
Who, us?
Maybe, if you make it over there
on the other side of the ocean.
Southern Germany meetup?
Charles also sent us an email.
He says, hi, guys, I enjoyed the Terminal 2E Challenge.
But you missed a browser,
but maybe it hadn't been released
at the time you were trying it.
Anyways, check out Chawan,
the graphical 2E browser with JavaScript support,
C-H-A-W-A-N dot net. you were trying it. Anyways, check out Chawan, the graphical 2-E browser with JavaScript support chawan.net.
It's a text mode web browser and pager for Unix-like systems, with a focus on implementing
modern web standards while remaining self-contained, easy to understand, and extensible. It includes
functionality like CSS, inline images inside the terminal, and JavaScript through a small independent browser engine.
It's written from scratch in the Memory Safe NIM programming
language.
Wow.
Cool.
That's really neat.
It's in Homebrew, NixOS, and the AUR.
And it looks like there's also an app image.
So go check it out.
Neat.
But I thought only Rust was memory safe.
I love, too. He sent us some geeking out about emacs, too. Oh, yeah, okay
It does sixes or the kitty protocol so she'll play nice with kitty too. Well, that's good to hear
Well Matthew sent us a note here, too
Hey regarding the ask for a note taking and to-do list tools like to recommend a silver bullet
It's very customizable if you want it to be has built-in
Queryable database of tasks works on mobile and desktop syncs between everything and is all marked down
I found it suits my brain very well indeed
It allows me to have separate work and personal workflows without causing friction or forcing me to work in a particular way
I highly recommend it. Oh
I'd seen some other folks kind of chatting about this more generally. So I've been on my list to try, but, um, yeah, now with a little feedback from our smart
audience.
Yeah, I appreciate that, Matthew.
Silverbullet.md is the website.
Gotta love a queryable database of tasks.
So I, you know, this isn't quite the same level, but what I decided to do after the
show is I'm giving Obsidian one more go for task management.
It has this concept of a daily note, and then I found some plugins that allow me to pull
tasks forward and render them in kind of like this visual way.
And you kind of create the task with a pretty simple markdown syntax.
So it might work for me, we'll see.
It did work okay for me last week.
I don't think I'm quite in the zone yet though.
But thank you, Matthew.
SilverBullet.md. I may keep that in the zone yet though. But thank you Matthew.
SilverBullet.md.
I may keep that in the back of my mind if the Obsidian stuff doesn't work out.
Joe wrote in, answering the distro choice question in a flat hub flat pack only world,
I would still consider update and upgrade frequencies to be pretty key.
Fedora is six months and normally pretty solid,
but I've seen some issues with lesser used hardware, that kind of thing, and so I might still prefer a longer LTS.
Also, I like flat packs for most desktop apps, but I think they could be a nightmare for server
side services. Apache, Samba, NFS, SFTP, they can be deployed a lot of ways, and even the Docker
files will often need to get updates or get specific packages. File permissions and keyboard input are still edge cases and it'd be sad to lose
all development to traditional package types.
Very true. Yeah, that I don't think can ever really fully go away.
Because some of this is based on all of that.
But to your point about
Fedora being six months and being a pretty solid, but sometimes a little
a little, you know,
edgy with certain hardware.
I wonder if, Joe, you would find Helium OS interesting.
So they just released version 10,
and Helium OS is an atomic distro
that uses CentOS Stream and AlmaLinux,
and kind of combines it together
for a long-term support plasma atomic desktop.
That could be pretty fascinating. I don't know if you get access to DNF still or those types of
things because to your point, Flatpak isn't really a solution for server-side applications.
But containers, snaps, you know, modifying the base, like if this is, for example,
if you had a server that was image-based, you know, that was cloud-native, you know, modifying the base. Like if this is, for example, if you had a server
that was image-based, you know, that was cloud native,
you would probably just modify your base image
to include the Apache Samba, NFS, and SFTP you needed,
and then you would just ship your image
with that stuff baked in.
And for at least as long as we keep building things that way
where we do have these base images built
from individual packages, I imagine we'll have to keep developing on those too. For sure.
Boostergram. And we did get some boosts we wanted to shout out this week. A lot of people supported the show.
But one of them stood out as our baller booster no doubt about it, and that is Blackhost coming in with
100,000 SETS! thousand sets. Hey Rich Lifestyle! You're the best
around
nothing's gonna ever keep you down
You're the best around
nothing's gonna ever
keep you down, you're the best
Thank you Black Hosts is just helping you
help me
help us all because of course
that's the value for value
cycle. Thank you for helping us help you help us all because of course That's the value for value cycle
Thank you for helping us help you help us all that came in live as we are going So thank you black holes for the live boost and being our baller. You're doing very well
We really appreciate that I that's gonna turn around this episode right there
How about that injecting some last-minute energy into the show as we go out?
Thank you black host really. Really appreciate that.
Turd Ferguson comes in with 64,000 cents.
There he is.
Turd Ferguson.
Duxstation Dev is dropping Linux support.
Oh yeah.
The Duxstation Dev is dropping Linux support
and blocking Arch builds.
Fed up with quote, headaches and hacks
for a 2% user base for
something I don't use says to grip the source for Wayland to understand.
Yeah, I saw this.
I also saw something about their they said their license explicitly prohibits Linux packaging.
I looked at that very briefly.
It seems like patching at least.
I don't know if it didn't actually say packaging to my read. Oh I thought they did say packaging maybe I misread that maybe I did you
know it's a they do ship an app image but I'm not an expert on the license but
it just kind of shows you the intent going on here. Well and and maybe a bit
of the friction point that we were getting to last week too as well and this
developer is getting quite fed up you know they're talking about dropping support because it's quote, 2% of the user base. I feel like we should send
people over to DuckStation, get more Linux users using it, bring that number up and maybe
provide some helpful input. They ship a Windows binary, a Mac binary and an app image. And
I think that's probably their way of having you run it. And we have seen other projects
get frustrated by downstream packaging and adding certain patches to it.
A perennial Linux problem, unfortunately.
Yeah, yeah.
But at the end of the day, it's end users
that kind of suffer when these things happen.
So it is unfortunate to see the DuckStation developer do that.
Thank you, Turd.
It is also just, I don't know.
I sympathize with devs having to provide support, but there's also just, you know,
I like free and open source software and the code flows and that means, you know, people are going to ship it in all kinds of ways.
True, true.
Well, A-A-Ron comes in with 50,000 sets.
Where is A-A-Ron right now?
I hoard that which all kind covet. A-A-Ron! On the network, has there been any talk or consideration around small embedded systems
like using ESP32s with Home Assistant or similar niche projects?
I was curious if you all had ever talked about doing a deep dive in this area specifically
for an episode.
Maybe best devices, use cases, gotchas,
soldering techniques, best practices,
all of that, I'd gladly appreciate it.
I bought a kit to build a lightsaber from the Khyber Temple
and it is way more soldering than I realized.
I know a little bit about this area,
but would like to know more.
It's taking me probably 10 times longer
to put it together than I probably should,
but I'm having fun doing it.
A new hobby has been unlocked.
I'm sure my wife won't mind at all.
Well, depending on where you are, we could just send our Roving Brent technician to you.
This is quite true.
You know, that would work, although it may take a little longer than you expect, but
it's going to be done great.
And probably, you know, watch your budget for the food portion of the project.
That's true, that's true.
So as you probably know, we did dive in
to some ESP use cases in Linux Unplugged episode 620.
Yeah, and that episode called Brent Loves Building Things,
because occasionally I do, we did explore,
I think a little bit more of the software side of things
and how to integrate things into Home Assistant
and get your ESP going with some configurations.
But what I hear you saying here more is
kind of the physical part of it as well.
Like soldering, you mentioned quite a bit,
which is, I would say a set of skills
that I have been developing only recently as well.
And we certainly, thanks to our dear producer, Jeff,
have a bunch of collective knowledge
about sort of shortcuts, what to use for connectors,
what to use as a great cheap soldering iron
to get you started.
All these tips and tricks that I think a lot of us
have been interested in as a shared hobby,
and of course we should have expected
that listeners would get interested too so that's a great idea
for another episode in the future. I will say the next one kind of on my radar
Aeron is an ultrasonic sensor that I can use to measure how full a tank is. This
is a great use for an ESP here in a little ultrasonic sensor but yeah this
is an idea we'll kick around some more Because there is so much to this ecosystem
And I think probably just people fully wrapping their heads around it is what's needed to really appreciate the value there
because you can you can buy things today that are built around the esp32 platform and
There it's inside the product. You don't even know it but it can be pretty nice to know what's actually in there
So thank you very much. Appreciate it a Iran nice to hear from you. I hate building PCs. I hope we'll hear from you again. A Aeron! Marcel boosted
in with 20,000 sats.
Way back in Linux Unplugged 4.28, you featured my project R's message of the day in the PIX.
R-U-T-S-M-O-T-D in the PIX.
Well, version 2.0 was just released and it's better than ever.
The new feature that I am the most excited about is showing the status of your Docker Compose stacks.
Not only individual containers, it would be great to have some listeners go and test on it for me.
And feature requests are welcome.
It's available in Nix and it's also in the AUR.
So this is a neat idea.
So you'll log into your box on the terminal and you get, amongst other things now, Docker
compose stats.
Brilliant idea, Marcel.
Good to hear.
Rust message of the day.
Oh, was that a typo?
That's right.
Oh, it was a typo.
Oh, okay.
That's like, that was weird. There you go. Rust message of the day. There we go. There now it's, now
it's official. And it is indeed written in, well, okay. It's 98.8% Rust because 1.2% is
Nix. Dealing with Nix too. I love it. Thank you, Marcel. Appreciate that. Doornail7887 comes in with a row of ducks.
With the slow shift to immutable, I wonder about offline and sensitive networks.
With RHEL packaging and Apple, we get one-shot approvals, easy ingress mirrors, patching, all that kind of stuff.
If Flap Packs are the future, it seems like it will complicate things for this kind of use case, enterprise usage. Another downside might be storage in scientific computing application
packages add up quick. Am I missing an easy answer? Well I think the one thing
that gives me some confidence that this won't be a huge problem to dore nail is
that these technologies could all be pointed at local repositories. So they
don't, so if you use flat packs and you ship it with FlatHub as default,
there's no reason why somebody couldn't,
if they were shipping their own internal image,
they could modify that base image
to point to their own local repository for Flatpaks
and their own local repository for Brew even,
or whatever it might be.
Now your point is well taken that, well,
that eats up a lot of storage.
But you could probably argue that you could probably
whittle it down to
just the applications actually needed and the ones that are standard you would just
bake into the image anyway. So there would be less packages that people probably dynamically
pull down because if it's a standard suite of applications everybody's using, you're
just going to build that into the image anyways and the user won't have to install that.
Well, I mean Flatpak does have some facilities for that, right, in terms of relying on base
images that other things can build on.
Yeah, right.
So if you are building your own and like you can actually take advantage of that.
I do think, you know, to the side where you're not necessarily missing something easy, I
think is the side of just there probably is a fair amount of work in this kind of thing.
Anytime you get new formats that just all the all the extra tooling on top, right, like
the Nexus proxies, the approval systems,
the integrations with other systems,
those may just have to be stuff that people do work on
as there's enough pressure to use these new systems.
But at least a lot of it is built on OCI stuff,
and so there's already some pressure there
in terms of storage and DDoPAL and tools around it. Well, Wine Eagle has a series of boosts here, totaling 9,001 Satoshis.
It's over 9,000!
Well, last week my laptop's battery suddenly died.
When I booted it again, my Butter FS plus LVM Lux partition was totally fried.
Whoa, whoa, I wonder if he hit this bug. Maybe. Although, if totally fried. Whoa. Whoa. I wonder if he hit this bug
Maybe totally fried sounds worse. Yeah, I mean but it does look totally fried because it's unmountable and it won't boot
So you could consider it totally fried. Oh wine eagle. Oh, no, let us know
Eagle eagle continues here
Fearing a repeat I formatted my laptop
gaming PC and
NAS to ZFS on route thanks to NixOS for making it that easy
But I made a huge mistake. I forgot not all my data on the server was in the pool
Many services kept data in slash var slash lib. Whoops lesson learned on that one
Don't forget to set data directories. I almost gave my wife a heart attack regarding
Bitwarden. Thankfully, we were still logged in for the export.
Oh, well, I'm glad to hear this didn't go as poorly as it could have. Oh, and thank you for
telling us about it. I mean, I'm sorry to hear. I should have made this point earlier in the show.
I would like to point out that you are actually more at risk using ZFS with a kernel module that is
developed outside the kernel. Now in this particular case it was ButterFS that
was impacted, but if you think about it a system that is properly integrated with
the kernel had an entire team, you know, I mean dozens and dozens of people that
were able to work on this problem from the kernel side, the file system side, the distribution side, the user side, they
were all able to collectively work together to solve this problem because
it's GPL code and it's integrated into the kernel. If it's an external module
that is getting linked to the kernel, it is actually more likely that internal
changes to the kernel will break it and when it does break, which it is more
likely to do,
there will be less people that can collectively work on it
to solve the problem.
So you're not really safer with root on ZFS.
Now, that said, ZFS is a great file system.
The people that work on the kernel driver and modules
are very, very professional, and they try to do a great job.
And the kernel team does everything
they can to try to prevent breakage.
Same is also true for the Butterfest developers. So just being aware that when it's a
external, if it's a proprietary driver like for NVIDIA or a file system that
has wonky drivers because Oracle, or I mean wonky licenses, you are actually at
more risk of this problem that bit ButterFest recently. It just happens to be
this time ButterFest was unlucky.
To Wynegles point about setting data directories,
that's just a handy thing that tons of
NixOS services have, where you can just define
where do you want to store your data,
and a lot of them default to slash var slash lib.
You can also have that whole directory be
at map point somewhere else if you want to,
lots of good ways to sort of make sure you
put that data where you want. It just sounds like that was a massive hassle.
I mean, you know, scaring the wife. Why, Nego, I like that part I feel for you. I like I said,
just a moment ago, I was picking up and obsidian again. And so I went I opened up obsidian and I
opened up all I opened up the extensions and I said update all. and then I closed the settings window and all my notes were gone and
I had a heart attack like I felt my heart sank and
I and I and I took a I took a beat
And I closed the window and I wrote I suck it
It's it should be marked down on the file system still sorry
I very quickly navigated to the directory and I verified all of the markdown files were there and I very quickly tarred them up
Set it aside and then opened up obsidian again, and I verified all of the markdown files were there and I very quickly tarred them up, set it aside, and then opened up obsidian again and they were all back. But that
feeling, that gut punch of losing data, it, oh I hate that so much. Sorry to hear you went through that, Wineagle. And thank you for the boost. Jordan Bravo comes in with a row of ducks.
Hey guys, I wanted to share that I made my first contribution to Nix packages.
Hey!
Nicely done.
Congratulations.
You can now find that package.
It's called Rust Dress in Nix packages unstable.
It's a lightning address server written in Rust that also provides
Nostr NIP 5 name verification.
Shout out to Natesh, the author of Rust Dress.
Hey, this is exactly what we need.
It does seem like kind of exactly what we need.
This is exactly what you and I were talking about this.
Uh huh. We'll have to check that out.
That's amazing. And now with Jordan's packaged it.
Jordan, thank you. And we would need it in Nix too, because we have Bitcoin Nix nodes.
That's something we're working on the back end this week.
And name verification using Nip5 is that's really the chef's kiss there.
Thank you for letting us know, Jordan,
and thank you for the value.
Appreciate it.
Well, OutdoorGeek boosted in 5,000 sats.
Everything's under control.
From Fosse in Portland, Oregon,
AI-generated reports of non-existent bugs
are clogging up bug bounty programs.
The talk on this plausible AI slop
starts at about 643.00 in the schedule.
Really good layouts of the problem and an abstract. Any links to the recording?
Thank you, Outdoor Geek. I watched this this morning as we were preparing the show. And
I think my takeaway would be is possibly skip this talk and just go read the curl developers
complaints directly.
Because a lot of the talk this gal gives is predicated on the fact that the curl developer
is concerned.
So therefore she is concerned.
She actually says that.
And then I think actually our outdoor geek, she kind of builds a lot of straw man cases.
Well, I read on Reddit or I saw this blog post about one person complaining.
And I think it's not a bad talk and it is a problem, but it feels like one of those things that we're getting really worked up about that will come to a resolution.
And so I don't necessarily love the fear mongering.
I mean, the reality is, is it creates an issue today, but the tools will get better over time and the tools on the other side will get better over time.
And one thing I think we should keep in mind, I'm not saying this is the direction it's
going to go, but I think this is just something to keep in the back of our mind.
In the free software and open source community, we're constantly saying we want to bring in
new people.
We want the new generation to come in, the next generation.
We need more people contributing.
Well, maybe this is how new people contribute.
Because I don't necessarily buy into this sort
of unspoken theory that's being floated
that there's all these bots out there
that are auto-generating patches and bug reports
and then somehow submitting them to projects.
I don't buy the idea that LLMs are spinning up on their own
and then bots are using them autonomously
to generate all of this.
I think it's more likely that it's people that are seeking kind of glory.
They're looking for recognition.
They have a favorite project they want to contribute to.
And this is their—perhaps they don't speak English, these types of things.
And this is their way to now have a tool and an avenue to contribute for the first time.
And they're doing so. And the results—I'm not saying that's all of it.
Some of it probably is bought traffic but that is
costly what I'm saying is we may in our effort to hate everything that's AI
because what that gal proposes is some sort of global ban list where you start
banning people and if I if I ban them then you automatically ban them and we
all ban them together I think before we start getting into some sort
of global ban list, we need to consider
that who we might be banning are the very new contributors
that we want to come join us.
And the reality is, is these tools are likely
going to get better, and when they do get better,
these people may be contributing something of value.
Maybe it's only one out of three, but that's something.
And then if the tools on the other side
get better to manage it,
there actually may be a decent middle ground here.
But if we are getting all worked up about it now,
while these tools are still nascent
and the social issues haven't been worked out yet,
and the culture hasn't been established yet,
but we take these sort of dramatic hyperbolic reactions
with global ban lists and things like that,
I think we may actually be blocking future contributors
to free software in our attempt to reduce spam. global ban list and things like that. I think we may actually be blocking future contributors
to free software in our attempt to reduce spam.
And so it's a very complicated topic
and I don't think it really got the full justice it deserves.
And I think what I would recommend is people just go look up
the curl developers concerned about AI slop.
And keep in mind that it's a evolving problem.
But I really appreciate that
because it was a great video to watch this morning.
Thank you, Outdoor Geek.
Well, look, it's PJ there and he comes in with a big old double I
guess
Duck boosts, which would be an a flat. I fly 4,444 sats Cornish game head boost
Mmm, we gotta get that he just says one thing and says a boldly boost
Thank You PJ appreciate that and I pulled up a Brewer Seth,
just because why not 500 sats to us,
just to say enjoyed the show this week for 625.
Well, thank you.
You make me wanna be a better man.
Appreciate that, thank you everybody who boosts.
We do have a 2000 sat cut off for airtime,
but every now and then we pull a few forward
and we appreciate everybody who boosts
or stream sats as they listen, which is really neat too.
You just streaming those over a peer to peer network
as you listen to the show.
18 of you did that, and we stacked 18,670 sets that way.
Now, thanks to our baller boosters, we stacked a healthy
276,602 sets.
Who Sets? and really just walking through the process of connecting it to like, Strike or Stripe or other fiat systems as well. But of course there's an entire self-hosted stack out there, all open source.
That journey starts at podcastapps.com.
Thank you so much for supporting episode 626 of the Unplugged program.
It means the world to us.
Now we have a few good picks this week.
A few good picks, Wes.
And I bet you're a little surprised by this one.
I don't think we've ever really had one
in this category before.
It's called Plex Ripper,
and it is a cross-platform Plex media downloader
that seamlessly adds media from your friends' Plex servers
to your own.
Okay, so we've gone past the part where we ripped the DVDs into Plex servers to your own. Okay, so we've gone past the part
where we ripped the DVDs into Plex.
Right.
Now we rip out of Plex.
Yeah, buddy.
Or get back into another.
You got a buddy who's been backing up your media for you,
I guess?
It's a neat idea,
because you establish a Plex content network,
which is, I think, the core feature
that Plex still offers over Jellyfin for some people.
And this thing has a really nice interface. You can run it as a container if you like.
And you can even log into multiple Plex accounts.
And it has a backend that's multi-threaded and resumes downloads.
It's ready for some big rips.
Yeah, dude.
I mean, it's a fun idea. I will be honest with you, Plex and I are no longer together.
And I've been happily seeing Jellyfin now for a while. But if I still ran Plex and I are no longer together, and I've been happily seeing Jellyfin now for
a while, but if I still ran Plex, I mean, this is a pretty cool idea.
Oh, there's also guides for Unraid and Synology, so you don't have to have a crazy self-hosted
super setup or anything?
It's GPL3, but they say they prohibit downloading content from servers without proper authorization.
They say if you use a tool to bypass copyright, can't do that.
Or you can't use it to circumvent restrictions.
So it won't download PlexPass stuff.
Yeah, that makes sense.
Yeah.
Written in C sharp, interesting.
Cool.
GPL3.
Then this next one, it's just for us plasma users out there.
But Wes and I came across a couple of handy plasma add-ons
recently.
This first one, I'm a little embarrassed that I'm recommending because it is inspired by
Mac OS a little bit, and I generally don't go that way.
It's KDE Control Station, and it's a widget you can add to your desktop or to your toolbar,
and it gives you a menu to really easily toggle things like do not disturb, Wi-Fi, Bluetooth, display brightness, system volume, night dark mode, night mode,
battery status, log in, log out, all in one little menu.
Where Plasma sort of separates those out into about four different menus right now, this
is all in one spot.
It is using a Mac inspired UI, which I'm not a fan of, but the functionality is good enough
that I'm going to suck that up and I'm going to recommend of, but the functionality is good enough that I'm gonna suck that up
and I'm gonna recommend it to you this week.
So it's KDE Control Station.
If you're already running Plasma,
you can actually just go add a widget
and add the, you know, go where you can search widgets
and just put in KDE Control Station,
it'll come up for you.
Yeah, I just thought that, I mean,
it seemed handy enough for the look.
Okay, do what you will with that,
but it is nice functionality.
And now how about this one?
K AirPods, native AirPod integration
for the Plasma 6 desktop with real-time battery monitoring,
noise control, and a panel widget.
Now, I was always shocked that you could pair AirPods at all
to a Linux desktop, but you missed all these features.
Now with this widget, you can toggle things
like their sound transparency mode,
or you can turn on active noise blocking.
You get individual pod, battery level.
This really is kind of that last piece
that was missing on the Linux desktop.
And I'm bringing this up again,
because I know AirPods are very popular,
and there's probably some of you out there that have this and also this is a GPO
Add-on as well GPO 3 written and rust. Oh it is. Well, there you go. You got one more in there
You know you have a pair of
Sony airpods or pods, right?
Do those pair okay with the Linux desktop? They do especially under pipeline really no issues. I have the pixel pods
That's what I use and they also pair with the Linux desktop? They do, especially under PipeWire. Really no issues. I have the PixelPods, that's what I use, and they also pair with the Linux desktop, but I
don't have any control for the noise stuff. You probably don't with the Sonys
either, I would imagine. No, that's true. That's a nice feature. Sophisticated.
What a weird world. Suddenly, AirPods might be a great option for your Linux desktop.
Yeah, yeah. Well, there you go. Links to all of that in the show notes, which you
will find over at linuxged comm slash six to six
Remember to we also want to know if you've been spooked off of butter FS
Or if you have any file system war stories that you'd like to share with us recent or not
It's funny. I was just saying we haven't heard very many file system issues
Wow, it's crazy, but we love hearing those things, war stories, and your success stories.
That's true.
That's true.
And also, if you're crazy enough to run Butter FS en route.
Of course, over here, Westpans run B-Cash FS.
This is true.
Yeah.
See you next week.
Same bad time, same bad station.
Yeah.
Why not join us live?
Make it a Tuesday on a Sunday.
We start the show at Sunday, 10 a.m. Pacific, 1 p.m. Eastern.
In your local time over at jupiterbroadcasting.com slash calendar.
Anything that supports an audio stream, an ice cast stream.
Just plug in JBlive.fm and tune in or get a podcasting 2.0 app.
Because you also get that's your partner.
Transcripts. I think you do.
Do I have to remind you now?
No.
We gotta remind them.
Well, yeah, we do gotta remind them.
And the livestream.
It's all in there.
Cloud chapters, no less, okay?
No less.
Someone undersell these chapters.
Super fancy.
Both baked into the file and JSON in the cloud.
Boom!
Thank you for joining us.
See you right back here next Sunday. day. Thanks for watching!