Android Verification, The Nividia NDA, & Completely Crazy Rust
Loading summary
Sponsor Announcer
25 years ago, a small group of business and government leaders met in Washington, D.C. they envisioned the creation of an independent nonprofit organization with a mission to help people, businesses and government mitigate the growing threat of cyber attacks. Today, the center for Internet Security embodies that vision. For 25 years, it's worked with a global community of IT and cybersecurity experts to develop the CIS benchmarks and CIS critical security controls. These proven security best practices defend against common cyber threats and streamline compliance with industry frameworks, regulations and standards. Today, CIS provides cybersecurity services, threat intelligence, and critical resources to help public and private sector organizations alike strengthen their Cyber defenses. Visit cisecurity.org today. That's the letters cisecurity.org to find out how CIS can help your organization as we create confidence in the connected world.
Leo Laporte
This episode is brought to you by Cohesity. For security and IT professionals, resilience is not just a feature, it's a movement. Cohesity makes sure you're ready for the midnight alerts and morning reviews. With Cohesity, you can secure and protect your company's entire data estate with a single platform, reduce your risk from threat actors, and quickly respond and recover from destructive cyber attacks, strengthening your company's resilience. That's why Cohesity is trusted by 70% of the Global 500. Learn more@cohesity.com Resilience everywhere Hey folks, this.
Jonathan
Week Torvalds rants over the completely crazy Rust format checking and we're talking about bcachefs and its life outside of the kernel. Google has backed up slightly on the developer verification for upcoming Google Android releases. Wine finally supports NTSync. Alpine is doing a user merged file system. Stay tuned to find out with that and more. Even means you don't want to miss it.
Jeff
Podcasts you love from people you trust.
Jonathan
This is Twit. This is the Untitled Linux show, episode 223, recorded Saturday, October 4, doing what Windows never could. Hey folks, it is Saturday and you know what that means. It is time for the Untitled Linux Show. We're going to get geeky with hardware and software. We're going to talk Linux and Open Source. Probably some gaming, some other stuff. It's going to be fun. So let's dive into it. It is not just me, of course. I've got the guys, we've got Jeff, and we've got Ken. We've got stories to talk about. But first off, how are you guys doing?
Ken
All right. Definitely interested in that Raspberry PI 500.
Jonathan
It's right over there. We'll talk about it here in just a minute.
Jeff
No, I'm doing pretty good. And things. Things have been going good. Cash is still going good. Yeah, it's. I've been one, you know. Okay. It's not.
Ken
How's your relationship with Firefox?
Jeff
Well, it's a little hit or miss. So before the show here I was playing with it and I was telling people I'm on Chromium right now for restream because I can't get Firefox working with the loopback camera and it has before, so I don't know what's going on. I started Firefox first, I've started OBS first, I've rebooted, I've, you know, done a bunch of things and once in.
Ken
A while, when you get a chance, go into Firefox and clear your camera settings for all your websites.
Jeff
Okay.
Jonathan
It's worth a try.
Jeff
I even thought about what I need to try is it didn't work before, but it's been about a couple of months. Is the loop back with the pipe wire? So then I could maybe even get in there and directly just. No, let me unplug this and put it in here.
Jonathan
OBS has an open. I think there is a pull request even that is essentially the pipewire virtual camera. Yeah, well, there's multiple pull requests, pipewire related pull requests in obs, but the one that I've been following is a pipewire virtual camera and it kind of stalled for the longest time and it's got activity on it once again in the last week and the.
Jeff
Sort of.
Jonathan
The latest semi official word is that they are waiting for things in the XDG desktop portal to happen to be able to support. So the XDG desktop portal, that is the thing that basically pops up and says this app is asking for permissions to do something. That's what pops up when you go to do screen sharing in Linux under Wayland. And so they are waiting for this feature to land there and once that happens then it's going to be much easier to land the pipewire virtual camera in OBS because they want to make that work from within, like Flatpak or within Snap. And so you've got to have this permissions bit of it worked out. So I'm still hopeful that sooner or later we will get this because it would be extremely nice to be able to dump the old video for Linux 2 loopback that is a, you know, a kernel driver and an out of tree kernel driver. By the way, the Whole thing is a little janky. So being able to do it with Piper, it would be really quite nice.
Jeff
So this show really is literally held together with duct tape and a little bit of masking tape and positive thinking.
Jonathan
Yeah. Not quite as bad as Floss is, because that one, I literally do the entire thing from obs, whereas here we use restream to help out. But yeah, it's lots of pipewire, lots of ffmpeg, lots of obs. I think that's what holds the entire streaming world together. Those three technologies.
Ken
Well, and the underlying one being FFmpeg.
Jonathan
FFmpeg does everything.
Jeff
Yeah. I actually though, could do this without obs. It's just the chroma key in Restream isn't very good.
Ken
Right.
Jonathan
Yeah, There's a lot of things like that that work better with your hosting it yourself.
Jeff
But my youngest son did move out, so I'm going to be probably in couple months moving my studio into making an office. And then I might not even have a background. I might just have a night or a chroma. I just have a nice background. Kind of like Jonathan, where. Yeah, doesn't have to worry about green screens and chroma keying and any of that.
Jonathan
Share Share pictures of the studio build as you do it. That'll be fun.
Jeff
All right, I will.
Ken
Or set them up behind so they do a slideshow behind you during the show.
Jonathan
Please don't. All right. So I've got a new gizmo that finally came in. I am excited about it. I've already started playing with it. I've got the Raspberry PI 500 Plus. It's over there on the desk. It's actually in use. That's why I'm not dragging it over here to actually show it to you. Look. No, I've been trying to do a compilation of meshtasticd from Source on it today. That's one of the things I've been poking at because we've had some people that have complained about problems on Trixie. So that's the other thing I'm testing out. I figured I would come and give you a quick review of meshtasticd. Excuse me. Now, a quick review of Trixie and a quick review of the PI 500 plus and what my experience has been and the one thing that I wish they would change. So the 500 Plus, I've had a great experience with it so far. The keyboard is really nice, the 16 gigs of RAM is really nice, and the NVME is really pretty good. The NVME it comes with is 256 gigs. And so that is the one thing that I wish they would change is I wish there was an option to have it with, to ship with no NVMe so you could bring your own storage and you know, they could knock a good $35 off the price, I think. And then, you know, I could put a one terabyte micron or whatever in there and be good to go with that. But other than that, I have no complaints about it. I've really had a good experience now. It came out of box with The Raspberry PI OS 12 installed on it and that was fine. But then like the day after it came, they announced or the day before, very, very soon, around the same time, they announced the availability of 13 of Trixie, the Trixie based Raspberry PI OS. And so I said, well, people are having trouble with this, I need to go test it. Let's see what it's like on there. It'd be great to be able to talk about it on this show as well. And so I did the install. We're going to talk at the end of the show about that install, by the way, because I learned a very cool trick, but I threw Raspberry PI OS Trixie on there, booted it up, everything just works. I don't know if it's confirmation bias or not, but like the whole system felt just a little bit more responsive, like it was just a little bit better. It pretty much looks the same. You know, they've got a couple of new features in there, like the ability to add printers more easily. There's some other things have been touched up, but so far, I mean, it's been kind of a boring experience going to the Divian 13 base, which is what you want. Yeah, I don't really have any. I don't have any complaints about it. Wizardling in our chat says I wish they could have made the M2 slot more easily accessible. And I would agree with that. I think it would have made sense put a little, you know, access panel on there that unscrew and just pop to be able to get to it. But it's not a deal breaker.
Jeff
Well, and if you have an M2 slot, you can put an adapter to a U2 because basically it's almost the same thing. And then that opens you up for. You could put like a 30 terabyte SSD on that baby. Talk about Media Server or bigger.
Jonathan
It is basically a full fat 1x PCI Express 3. 3. I think Lane and So you can do. There's a lot of stuff that you can do with that. If you want to see someone just absolutely go nuts. Check out Jeff Geerling's channel. And of course he has been in fact just today he was live streaming, rotating through various GPUs, like full size desktop GPUs hanging off of that port. And you know, of course he was running Crysis on it and all kinds of other stuff and having pretty good success with it. He ran one of the LLMs, I think it was ChatGPT's open source LLM. So it's running on the Raspberry PI on this big desktop GPU. And he asked the LLM, can you run on a Raspberry PI? And the LLM's response was no way. There is no way to do that.
Jeff
It was fun side note too, you had Trixie on there and we're not talking about it today, but Mint released their Debian edition because they're actually, normally they're based off Ubuntu, but that now they have a lmde, which is just in case something happens or Ubuntu gets too locked down. They're able to still continue with Mint. So it just seems like since Trixie, Debian is really gaining some momentum. I've noticed.
Jonathan
Yeah, well, you know, so the whole thing with Debian is that they, they weren't willing to include certain things like the Nvidia packages, they weren't willing to include any of that closed source stuff by default. And they've kind of softened their stance on that. I think some of their firmware packages as well changed what they were willing to include. And so that really stole a lot of the thunder out of say Ubuntu. It's one of the big differences between Ubuntu and Debian. So yeah, there has been sort of a walk back towards, yeah, maybe Debian is not so bad after all. Just run Debian. It's been interesting to see.
Jeff
Yeah. Because now that they allow the non free, you took a big chunk of what Ubuntu, what made it special. Yeah. But I, you know, I still would recommend Ubuntu as one of the, you know, newbie distributions. That and Fedora. Because just going with cache, I have noticed when I've looked things up, it's a little harder to find. It's not terrible. You know, and being a experienced Linux user, I kind of know what rocks to turn over.
Jonathan
Right.
Jeff
But you know, mom or grandma or somebody or grandpa, you know, you, you put Ubuntu space Question oh, here you go. Cache a little more digging so I.
Ken
Can and I may touch on one of the reasons why in one of my articles later.
Jonathan
Yeah.
Jeff
Oh, okay.
Jonathan
All right, here in a minute we're going to talk to return over to Jeff and he's going to talk about some completely crazy stuff going on in the kernel. But before we get there, we're going to take a quick break and be right back.
Sponsor Announcer
Did you know data brokers are making billions selling your personal information, usually without your consent. That's how your information lands in the hands of scammers, spammers, even stalkers. It's why you get endless robocalls and why ads seem to follow you everywhere. That's where Aura comes in. Aura actively removes your data from broker sites and keeps it off. They also instantly alert you if your information shows up in a breach or on the Dark web. With one app you get a vpn, antivirus, password manager, spam, call protection, Dark web monitoring, and up to $5 million in identity theft insur all backed by 24. 7 US based support. Other companies might just sell credit monitoring or just a vpn. Aura gives you all of it at the same price competitors charge for just one service. Start your free trial today at aura.com hidden protect yourself now@aura.com hidden and now.
Leo Laporte
A next level moment from AT&T business. Say you've sent out a gigantic shipment of pillows and they need to be there in time for International Sleep day. You've got AT and T5G so you're fully confident, but the vendor isn't responding. And International Sleep Day is tomorrow. Luckily, AT&T 5G lets you deal with any issues with ease, so the pillows will get delivered and everyone can sleep soundly, especially you. AT&T 5G requires a compatible plan and device coverage not available everywhere. Learn more@att.com 5G Network.
Jonathan
Mint is still $15 a month for premium wireless. And if you haven't made the switch yet, here are 15 reasons why why you should 1. It's $15 a month 2. Seriously, it's $15 a month. 3. No big contracts.
Ken
4.
Jonathan
I use it. 5. My mom uses it. Are you.
Ken
Are you playing me off?
Jonathan
That's what's happening, right? Okay, give it a try@mintmobile.com Switch upfront.
Sponsor Announcer
Payment of $45 for three month plan $15 per month equivalent required New customer offer for three months only.
Jeff
Then full price plan options available, taxes and fees extra.
Leo Laporte
See mint mobile.com hey everybody, it's Leo Laporte. You know about Mac Break Weekly, right? You don't? Well, oh, if you're a Macintosh fan or you just want to keep up what's going on with Apple, this is the show for you. Every Tuesday, Andy Anako, Alex Lindsay, Jason Snell and I get together and talk about the week's Apple news.
Jonathan
It's an easy subscription.
Leo Laporte
Just go to your favorite podcast client and search for Mac Break Weekly or visit our website, Twitter TV mbw. You don't want to miss a week of Mac Break Weekly.
Jeff
Okay. You know, we don't have a real weak in Linux unless we have some strong opinions or decisions from Linus Torvalds. For example, this, you know, this discussion we've talked about in the past regarding bcache FS file system. You know, we, we've just covered that in the last few weeks, last maybe couple months when they had those big decisions of what are they going to do with the file system. Well, this week though, we have a couple of crazy items on the docket. The first article linked in the show notes is about a completely crazy Rust format checking. Now this has to do with how the Rust code submission was formatted. I'm just going to read what Linus had to say. He says notice how there are multiple sub areas alloc, dma, scatterlist, comma, DRM and Rust. But it's all just random jumble because you've apparently pasted it into your editor or MUA or whatever and drop the indentation process or something. What kind of broken editor are you using? I'm not trying to start an Emacs or VI war here, but you seem to be using something truly broken Edlin. Now for those that don't know, Edlin is the line text editor that was found on early versions of PC DOS and Ms. Dos. That's. That's me saying that, not Linus. Back to Linus look again, no logic and you've completely corrupted any multi level indentation that presumably existed at some point. Judging by the organization wth, that's what the heck. Yes, please make the explanations readable and not just a random jumble of words. And in the article Linus goes on to a second enthusiastic opinion on some of the style guide formatting for Rust. I'll let the listener take a look for at the article in the show notes for full details. But the short synopsis is he has problems with the formatting small items and this is specific to Rust. Specifically multiple use of crate colon colon XYZ semicolon statements which he said there's Several of them in there. But he thought it was better to turn it into use space, crate, colon, colon, open curly brace, XYZ comma and then a new line, ABC, new line and then closing curly brace, semicolon. So instead of having all the different statements, you know, just the use crate each line, you know, use crate, use crate, use crate, you just use one use crate and then you list all of them of your uses. And he, he says that's, he thought that's much better. And he looked at the style guide and then he used the Rust format check program and it seemed to disagree in this case. And Linus says the, the Rust format check is wrong because it tried to condense everything into one line. And he, he did not like that at all. But like I said, check out the article for all the nuances of that issue because he, he goes into quite a bit of where he looked and he checked and back and forth of what should or shouldn't be correct. And he's not happy with the Rust particular formatting thoughts in that case he says they conflict. But there's a second article which Linus has a strong opinion of and dealing with the RISC Dash V chips and the Edian format or Endian format. So just so people know, chips are either big or little Endian format, which means if you have a value such as 1, 2, 3, 4, so 1234, Big Endian would have one which is in the thousands place or you know, or the largest part of the number stored in memory position 0 and the 2 for in the hundreds, hundreds place would be stored in memory position 1 and so on. Little endian flips that and goes in. In the case of 1, 2, 3, 4, the 4 which is in the ones position is stored in memory position 0 with 3 which is in the tens position going into position 1 and so on. And just so everybody's aware, the x86 CPUs are little endian. Now from what I can see, that decision was based on the very first chips intel made. And having the smallest value in the lowest memory position made for easier math, it made the carries easier and things like that. That that's what most people speculate. There wasn't a real definitive answer. But you know, keep in mind we're talking about how, you know, 40 to 50 year old chips work. This, this is predating to actually the X86. It was like an 8080 or something like that, or it was even something I think maybe before that. So we're talking, you know, I think it was like eight bit chips kind of thing that were, you know, where this is in the 70s and you know, things weren't as refined as they are now. But going back to the article, here's what Linus had to say about the Indian issue today. He said, and I quote, oh Christ, is somebody seriously working on BE support in 2025? That's big Indian.
Ken
Why?
Jeff
Seriously, that sounds just stupid. And I'm I'm putting a enthusiastic emphasis on the words he highlighted in here. Is there actual some real reason for this or is it more of a RISC V is used in academic design classes? So people just want to want to do endianess for academic reasons? Because I'd be more than happy to draw the line in the sand and say new endianness problems are somebody else's problem. Then tell people to stop being silly. Let's not complicate things for no good reason. And there is no reason to add new Indianess. RISC V or RISC V is enough of a mess without the millions of silly configuration issues already. Don't make it worse. Tell people to talk to their therapists instead. That's much more productive now. Later on, Linus also further added, okay, I just google this and I'm putting my foot down all caps yelling we are not preemptively supporting Big Endian on Risk V. The documented reasoning for that craziness is too stupid for words, but since riskv.org did put it in words, I'll quote it for those. I'll quote those words here. There are still applications where the way data is stored matters, such as the protocols that move data across the Internet, which are defined as Big Indian. So when a Little Endian system needs to inspect or modify a network packet, it has to swap the Bing Endian values to Little Endian and back, a process that can take as many as 10 to 20 instructions on a RISC V target which doesn't implement the ZBB extension. In other words, it's suggesting that RISC V adds a Big Endian mode due to a Internet protocols where byte swapping is not an issue. B Using some Risk V implementation don't do existing ZBB extension as an excuse. And he says this is plain insanity. First off, even if byte swapping was a real cost for networking, it's not. The real costs tend to be in all the memory subsystems. Just implement the damn ZBB extension and don't go we're too incompetent to implement zbb. So we're now asking that everybody Else feel the pain of a much worse extension and fragmenting Risk V further. I was hoping that this was some April Fool's joke, but the page is dated 3-10-2025. Close, but not close enough. This is the kind of silly stuff that makes RISC V look bad. Now I trimmed out the rest of his comments and shortened that a little bit so the segment didn't go too long. But then he goes into more details and continuing to say that no big ending this I in. In the kernel take, you know and basically so mo a lot. Most CPUs now a big. A big chunk of them are little Indianess. Internet protocols are defined with big endiness. What he's saying is there's already. Basically there's hardware that takes care of this there we don't have. We've got special instructions that trigger hardware that automatically. Automatically does it so fast it's not an issue. So that's why he's saying what he's saying. There were big Endian processors. The one that comes to the top of my mind is the old Motorola 68000 series was big Indian but X86 and a lot of them now are little. And that's just kind of what, what a lot of, you know, it's not total but a lot of silicon is kind of settled on that outside of network. But you know, if you want to see all the full details, take a look at the article. Both articles linked in the show notes. He goes into a little more detail, goes into some more reasoning but that's kind of the highlight of it. So you know, Linus is just so exciting.
Jonathan
So what's really funny about this is both ARM and RISC V can run in either Indianness. They can run in either form. And really that surprises me every time that I come across that fact. But you're right, it's almost. We've almost completely come to a little Indian world.
Jeff
Yeah. And, and I actually looked why they settled on. You know I kind of did a little bit of research. I mean not a ton but I spent a while looking and everything I could find was it. It just makes the math better. Especially back in the old days when chips were a lot simpler. It was, it was a lot harder to do the carries and stuff when you didn't have all the, the registers and the built in functions and just. It just made the math easier. So that's, that's kind of why it. I mean it resulted in that.
Jonathan
Let's be honest. The reason why we use little Indian is because the X86 uses little Indian.
Jeff
Well, but I mean I'm saying that's why they picked it originally.
Jonathan
I, I mean there's probably some truth to that, but I think we're, we're also, we're pushing on the rope a little bit with that explanation. No, it's just like they could have used Big Indian and we'd all be using Big Indian and people would then argue that, well, it would have been slightly better if we had chosen Little Indian back in the day. You know what I mean? So I'm sure that yes, when they wrote the x86 architecture, they chose Little Indian because it was slightly easy. But the reason that we all use Little Indian is because that's what x86 uses. And x86 totally ran the world for a couple of decades.
Jeff
Oh yeah. And if the 68,000 had taken over we would have all been on Big Indian. I'm just saying originally why the intel picked it, it was pre, pre x86. They kind of just got in the habit of here's the way we're doing it and they, intel kind of standardized on it. So therefore we kind of standardized on it.
Jonathan
Yep.
Ken
And you had all that software already written for it.
Jeff
Yeah.
Jonathan
I mean who wants to, who wants to have to do bit swaps?
Jeff
I mean a lot of that though was, I would even say it was the hardware. And a lot of times when you make. So when you're doing silicon there's a lot of times you're taking like we'll say a one bit adder and you just go oh, I'm just going to copy that eight times. I'm going to have an eight bit chip. Well, oh, I want a 16 bit chip. Oh, we're going to copy it 16 times. I'm going to take that eight bit and I'm just going to do it twice. There's a lot of reuse stuff. When you start out with a new chip you don't always wow, we started with a clean slate. There's a lot of copy and paste going on just because there's a lot of things like we got to talk to the memory modules. We already have a design in this chip. We don't have to redo it from scratch. We can copy it over. I could see why it would have on the x86 pre x86 silicon in, you know, does layouts in there because it's just easy to copy and paste. That's what everybody was used to.
Ken
And are the Snapdragon chips Little Indian or Big Indian.
Jonathan
They are ARM chips and so therefore they can do both. But almost everyone runs them in Little Indian. ARM can technically. Oh yeah, ARM can technically run either way. But I don't know of any major operator or even not major operating system that runs in Big Indian mode these days. Little Indian has taken over the world.
Jeff
And you know, a lot of it is, realistically, it's kind of like driving on this, which side of the road you drive on. If that's kind of what the standard is, it doesn't really matter as long as everybody's doing it the same, you know, so if you say, okay, everybody's.
Ken
Not doing it everywhere.
Jeff
Yeah, but I mean, as long as x86 all says, okay, this is what we're gonna do, doesn't matter if they, if they suddenly switch to a new processor and it had Big Endian. Okay. You know, it. I mean, it's. At this point with hardware and the software technology we have, I don't think it's even really an issue other than just keeping everything straight. It's not, oh, we're going to get more performance one way or the other.
Ken
So, Jonathan, as a developer, which is easier to develop for Little Indian or Big Indian?
Jonathan
Little Indian, just because that's what everything uses. And it was just pointed out to me that this sounds like the word Indian, like as in a Native American or someone from India. No, we are saying Indian pronounced exactly the same.
Ken
E N D I A N E N D. Yes.
Jonathan
And it's which end of the word is the smallest bit and, and it's.
Ken
Late 8 bit Indian or 16 bit Indian or 64 bit Indian.
Jonathan
Yeah, there's, there's a whole lot of different wrinkles to this. Thankfully though, everyone is sort of, sort of come to agree on what our software is going to be written in. There is something that everyone has not come to agree on and that is what you have to do to be able to write that software. Particularly if you're talking about Android, and we've talked about this before, that Google has come down and said every Android developer must be registered. Dang it. Android dev verification, that's what they're calling it. And there is a, you know, there is an argument to be made here that it is a security feature that you don't want just anyone to be able to distribute binaries for Android because people do get malware through that. That is one of the leading ways that you get malware on Android is by side loading apps from sketchy sources. So I acknowledge that. I have, however, said that one of the reasons that I am on Android and not on iOS is because you don't have to do this dev verification on Android. On iOS not only do you have to do the verification step, you also have to pay them a hundred dollars a year, I think to be able to come become one of their trusted developers. It's a huge pain. Well, Google has heard our collective anger and they've put out some statements about what they're actually doing and they are not stepping back from their verification process, but they are making it obvious that there are going to be free tiers of this. You do not have to pay to be able to generate APKs to put on your own Android devices, which was one of the things that really, really bothered me and I think a lot of people about what was coming. So the Android developer verifier is the new system component that's coming with Android 16 and phones must ensure that apps have package names and signing keys that have been registered with Google at the time of installation. And this is still going to make things difficult for F Droid. I'm not sure what F Droid is going to do, but there is going to be a free tier to be able to get into this so that you don't have to pay the yearly registration fee. And so I'm less salty about it now. I still think that there are problems here and I really think this is not a great idea when Google is still in the middle of trying to figure out if they've got antitrust and anti competitive problems in various countries. But it's not as bad as it could be. So like good for Google for. Good for Google for not going completely evil. They've just gone a little bit evil on this one.
Jeff
Diet evil.
Jonathan
Diet evil. Yeah, there you go. Diet evil.
Jeff
You guys, Austin Powers, all the. We're just mini evil. Diet evil. Half the evil of normal evil, you know.
Ken
So the free tier would let you side load on your own devices.
Jonathan
So it's not clear exactly how this is going to work, but it should at least let you compile firmware and sideload on your own devices. The thing over with Apple is if you're not a paid developer, if you go to sideload, your install only lasts for, I think it's a week. It's like a week or a month. Because I've looked into doing this to get things like Kodi running on my iPad and the process is just you go to the Kodi webpage and you're like, how do I install this on an iPad and you know the author there, you can just hear it in the way that it's written. The author goes, this is not going to be any fun, but here you go. These are the three. None of them are any good, but these are the three ways that you can make this happen. It's like you can jailbreak your iPad, you can pay Apple $100 a year to be a developer, or you can install a dev package every seven days. And it's like none of these are great options.
Ken
Well, at least Apple's not asking you to pay 30% of your profits to them.
Jonathan
I mean, if you make money through the Play Store, through the App Store, that is how that works. It's just kind of insulting when you have to also pay money to publish a free app. Just stings a little bit. So anyway, we've talked about that with Android in the past and I wanted to bring an update that it's not as bad as it sounded, although I'm still not super happy about it.
Jeff
I was just thinking, Wizardling says, how is this even going to stop malware? I'm thinking, well, once they have all your information, you're going to be so bombarded with advertisements that nothing else is going to run.
Ken
You don't have to worry about malware because of all the adware.
Jonathan
Yeah. So to Wizards Link's question, from what I understand, there is actually something. There is a verification step to the verification. And so that may mean taking a picture, holding your ID card or something along those lines, proving that you are a real person. And it's unclear whether Google is going to be individually scanning APKs before it confirms them. But if your developer account is tied to it like an actual person, then as soon as they catch malware being published from that developer, they can just cut that out, delist that developer's account. And so it'll potentially help to some extent.
Ken
And just hope that the malicious developer doesn't steal your ID and use it for publishing with.
Jonathan
Well, yeah, that is of course, what will be attempted. Wizardling also goes on to say, Google needs to put large loud warnings against sideloading and then shut up when a user decides to sideload. I would agree with that, except what's actually happening here is users are not deciding to sideload. Users are seeing a malicious advert that says, you know, your phone has malware, click here to fix it. And when you click it downloads an apk and then you try to fix your phone and it installs the malicious apk.
Jeff
Right.
Jonathan
So it's. It's like you have to keep in mind it's not people that know that they're side loading that's the problem. It's Grandma that has no clue what's going on and it's just trying to click the buttons to make her phone behave.
Ken
I just want to make this call.
Jonathan
I just. I just want to play Bejeweled. That's all she wants to do. She just wants to play Bejeweled and it told her that she had to upgrade or lose access to bejeweled in 15 days.
Jeff
Yeah, grandma's running the bitcoin through the gambling app. She's, she's doubling down and I know gotta, gotta make that money, not my grandma. Pinochle earnings aren't enough.
Jonathan
All right, Ken, let's talk about Alpine and what's up with this merged file system.
Ken
Well, this week we can thank Marius Nester for writing about an announcement by the Alpine development team. They have decided to adopt a user merged file system layout for future Alpine Linux releases. Now, what is a user merged file system layout? It is where several traditional top level directories are moved into their corresponding locations. Under the user directory you will see bin, sbin, lib64 and if you're running Ubuntu 25.04 you'll even see a/lib32 be replaced by symbolic links to the user user bin, user sbin, userlib, and user slablib64. For the Alpine Linux, it's going to be lib, bin and sbin that will be symbolic links to their user counterparts in the future. According to the Alpine Linux devs, this will mean reduced packaging maintenance and the containerization of more distribution provided data under user with the release of Alpine Linux 3.23, any new Alpine installations of this and future releases will be user merged. Users will be able to upgrade from older releases to 3.23 without being forced to slash user merge their systems or the slash user merge causing breakage. However, from this point forward, users are encouraged to migrate existing installs After Alpine Linux 3.22 is end of life. Non slash use user merged systems will be considered a failure. Officially unsupported the following stable release, which is probably going to be either 3.26 or 3.27 will make the user merge compulsory and non merged installations upgrading to it will break. Now I have read that the user merge setup is becoming the standard in most of the Linux ecosystem and I even confirmed that. As I said, Ubuntu 20 that I'm running on is already using that. Now Marius provides more details in his article, including a link to the announcement for those of you who want to take a deeper dive into this.
Jonathan
Yeah. So do you know why we have a bin and an S bin.
Ken
One'S for local binary applications that you may create yourself? And the S bins for system binaries, correct?
Jonathan
No.
Ken
Or is it because you couldn't fit it all in one partition?
Jonathan
That's exactly what it was. This goes back to the early days of Unix and it was one of the. I've seen comments from one of the original creators like Ken Ritchie or one of those guys about this, and of course the community has come up with all of these sort of backwards explanations as to what system binaries and other binaries. SBIN is obviously for your system binaries and bin is for everything else. And they're just like, no, no, no, no, no. The root disks were not big enough to put all the binaries in, and so we had to come up with a second folder to put the other binaries in. And so I don't remember what the S stands for, whether they actually wanted it to stand for system, or maybe it just was second, like secondary binaries. But yeah, it's literally just because on the machines that they first started doing UNIX on, the disks were not very big and so they had to have a second place to put stuff.
Ken
Well, at least they didn't go with bin 2.
Jeff
I mean, not, not, not work space big, but physically they were big. I knew a guy that worked at Control Data years ago, talking about the size. The disks were the size of dishwashers and just huge platters that you took, you took in and out of the drive and.
Ken
No, this was disks or core memory.
Jonathan
Disks would have been disks. Yeah, we're a little after the days of core memory, although that's fun stuff too.
Jeff
I, I do have an old computer book that I've kept that I got from one of my college professors. He was going to get rid of it, and I think it's out of the 60s or maybe in the 50s. And it talks about how you wind core memory and how to do it and, you know, really old stuff that is like, this is kind of cool.
Jonathan
One of the, One of the coolest YouTubers I've watched doing retro computing is Usagi Electric. And he's got an old Bendix G15, I think, and it has vacuum tubes in it and it has a magnetic drum memory. And so the way the memory works is it's, it's, it is a drum that spins and it's got multiple read and write heads across it. And it's got the same kind of magnetic medium like you would get well on a hard drive, also like what they put on cassette tapes. And as it spins, it's just constantly reading those values off and then writing them back onto it. And then if you're familiar with the old story about Hal, the real programmer, like the last real program, I forget what that story is actually called, but it's, It's. Let's see if I can find it real quick.
Ken
It was the title of a chapter from Hack the book Hackers by Stephen Levy.
Jonathan
Hal the real Programmer. Yeah. I don't know if Stephen Levy had it or if that was part of ESR stuff, but. Yeah, how the real programmer, he works on one of these Bendix G15s. It's like all of the crazy techniques that he had to make that. What was it, a blackjack program? I think work was on one of these magnetic drums. And so, you know, it's fun to see these different guys, they get a hold of their old retro computing hardware, and what's really fun is when they make it work, you know, rebuild stuff and get things working again. I enjoy that quite a bit.
Ken
And do you have a separate disk operating system for these?
Jonathan
I mean, like something like a Bendix was before the time of having a disk operating system at all. You. You wrote. You wrote machine code on paper, punch tape, and you ran that into the machine.
Jeff
Yeah, and I was gonna say the. The old control data disks that I was talking about the size of a dishwasher. So, you know, one meter by.1 meter by maybe one and a half meters for, for the actual drive assembly. I. I want to say. I thought he said it was like 1k or 2k per disk or something like. I mean, it was something real small, and I can't remember how many discs you could stick in there, but it was really, really, really. You know, that's. That's the point of this stuff is that your. Your drives were so small.
Jonathan
But we finally got back around to what we were actually talking about. The slash bin. Slash S bin split. All right, well, we've got more news. Jeff has another Linus Torvald story and the kernel, and we will talk about that in just a second.
Leo Laporte
This episode brought to you by Red Canary. When cybersecurity threats hit fast, you need an MDR partner that moves faster. Red Canary delivers 24. 7 expert MDR support, total visibility, and actionable insights. Plus it helps you detect four times more threats so you can stay ahead without burning out. Red Canary clears the noise and has your back every hour, every incident. Get the backup you deserve. Visit redcanary.com difference to learn more. Hey everybody, it's Leo Laporte. Are you trying to keep up with the world of Microsoft? It's moving fast, but we have two of the best experts in the world, Paul Thurat and Richard Campbell. They join me every Wednesday to talk about the latest from Microsoft on Windows Weekly. It's a lot more than just Windows. I hope you'll listen to the show every Wednesday.
Jonathan
Easy enough.
Leo Laporte
Just subscribe in your favorite podcast client to Windows Weekly or visit our website at Twitter TV WW Microsoft's moving fast, but there's a way to stay ahead. That's Windows Weekly every Wednesday on Twitter.
Jeff
Well, this week I have another set of two articles. I mean, you're getting a lot of value out of this show, I'm telling you what. And this actually even has Linus in it again. So the first article is linus removing the bcache fs code from the kernel. This is for the 6.18 kernel. Now this isn't a surprise. We knew it was happening. The only reason it Wasn't removed in 6.17 was to allow users to be able to have a smoother transition over to a new file system or get ready to use bcachefs as a DKMS module, which I mean other file systems such like zfs, you know, is used that way as well. So. So it's not unheard of to have a file system in the DKMS module. Now the second article, which is kind of the meat of the story, is a blog from Kent Overstreet, who's the lead developer on bcap bcashfs, talking about the change from entry to the DKMS module. Now he first talks about what it would take to get the file system into your distribution. You know, it's just going to be a make and a make install of the bcache FS dash tools and that'll install the kernel sources and, you know, but, but he does go on to say, you know, for most people it should be handled by your distribution maintainer, so this shouldn't have to be anything you'd worry about normally, unless you're doing like a Linux from scratch or maybe a gen 2 or something where you really got your fingers into it. But for most people, shouldn't, shouldn't even be an issue. Now you can even use bcache FS as your root file system as long as you have a intra RAM fs. Now this is an initial RAM disk and I found a couple different variations of what intra RAMFS stands for, but it basically it's a initial RAM disk which, it works like a normal file system but lets the system load in the needed drivers and support modules, you know, in this case the module to read the bcache FS file system. And before, before everything really gets started. It, it's not uncommon, you know, it's actually pretty common. So this intra RAMFS isn't an odd thing. It just, it's the first bootstrap for the kernel, the root file system, the, you know, any other device drivers, things like that that you, you need to load in right away before you actually start hitting your actual root file system. So Kent does make sure to say that the internal software is going to be aging and so I mean not even talking about it being removed in 6 18, but if you stay on 617 a while there's going to be no updates for it. So you should not rely on that and you should be going with the module just to make sure you're getting the latest and greatest. Now right now to get the code they're going to be two channels. There's going to be a nightly which as it sounds it gets updated every day but probably unstable as changes are added and they, you know, as, as they get rolled into the, the tree they're going to be need debugging, reliability re. Right, reliability testing. So this, this is the kind of constant rolling developer release and they, they could even on a nightly you, you could wind up with a non functioning system as well because maybe all the code didn't go in right or something like that. So that's only for the active developers. Now there's also going to be a release which as it sounds is going to be updated slower and have much more stable code in it. Now Kent does go on to say when they're able to remove the experimental flag from the project, they're going to add a third channel and they're thinking this experimental flag is going to drop in a few months. It's not that far far away they're thinking but, but when they do then they'll have the stable channel which as it sounds is going to be even slower moving and going to be the rock solid version of the file system. So bug fixes will come fairly quickly, but features will move slowly so nothing gets added to the stable until it's really tested and make sure that it's not going to disrupt Anything. So, you know, the, the release is probably more of what you might have, an arch or something like that, or something with a little more cutting edge. And then the stable was going to be your, like server type releases where you just, you want stability over everything else. Now, Kent says he has been working with distributions to have them provide packages for both of the channels. And he said the goal is to get the widest range of testers they can, so most people can get pounding on the file system. And so they, they want it to make it as solid as they can for the initial stable release. Now that will also tie in. They have automated testing which they have in place, and he feels they've got a lot of test cases covered. But he does mention the random human element is something they are wanting. You know, the broader audience for those things that no one ever thought to try, except for that one sysadmin or user who just thought this would work better. You know, the developers never thought to turn those dials to those particular settings. You know, it's, it's like we never envisioned somebody would do that. Well, that's where the, the, the human element comes. The human element comes in. Now, Kent does go on to describe the support status in many different distributions. For example, like Debian Ubuntu, they're going to provide an external repository to the. So Kent and the BCash FS team will provide an external repository to Debian and Ubuntu so which has both channels. And you know, he, he has a lot more detail in there. But like he, he mentions things like in the Debian world, the nightly build, they refer to it as a snapshot. Same code, just different, different vernacular. So there's, there's a lot more detail in there. He goes over a lot of different distributions, how they're handled, some slight nuances with them, but, but I'll leave that for the listener to go look at the article in the show notes for all that. But I hit a lot of the basic highlights so you get a feel what's going on. And honestly, time will tell if BCash FS is going to be the next big thing, or it'll be left to the historical archives. But time will tell. We'll wait and see.
Jonathan
Yeah, it kind of brings to mind that you really want to make sure that your grub ability to boot an old kernel is working the way that you expect it to, just in case you go to boot and DKMS is not working. Quite right. Yes, I've run DKMS with the Nvidia drivers on a machine. And one of the interesting things there was that it seemed like you would build the driver after the boot. Like you would boot into the kernel, then as part of the boot up process, that's when the driver would actually build. I'm trying to. Like that won't work for a. If the driver that you're building is your root file system driver. There's a real chicken and egg problem here. I'm trying to figure out how that's going to work.
Jeff
Yeah, and for those people that are unsure, video cards have a kind of a basic mode they all can run at. There's kind of a default low level. We support this basic stuff. You can even have graphics going on while you build your full driver and then jump into that. So then you have all your full resolution and all the 3D and everything like that. Where the file system.
Jonathan
File system does not have a BASIC driver.
Jeff
It does not. It's like a different language. And that file system is the translator. That's your Rosetta stone to go, oh, I see what's on the drive here. And. But that's where that intra Intra RAM FS comes in. So you kick off into that. Then it. It loads that. You know, it kind of has that built in because you have a little section that you can. It's like a bootstrap that's not in bcache FS that it kind of says, oh, okay, we can load this. Get this going. Okay, now we can understand the root drive. Then it loads from there. So it's kind of the glue that holds it together. And like I said, it's fairly common. I think actually Cashios might have that because I think I might see that come up when it first boots up some of the messages.
Jonathan
I think basically every Linux distro uses interimfs at this point. That has just become part of the very standard way to boot Linux.
Jeff
And it makes it easy. Right? Because no matter what file system, whatever you're doing, you kind of just. I got this weird hardware. Okay, we just handle it from the outset. Now we can just take off with the actual drive and you know.
Jonathan
Good.
Ken
And with all of that going on, do you still have to. Like with the Raspberry PI and other ARM 64, worry about the. I want to say tree.
Jonathan
When you say tree, which. Oh, oh, oh, I know what you're talking about. The device. Tree binaries. Yeah, yeah. That is less of a thing. Particularly on x86 because it uses. I can't remember the name of the technology at the moment. But basically the BIOS hands over to the booting kernel a kind of a chart of here's all of the hardware that we know about and then the kernel picks that up. Whereas the device tree is more for when you don't have a really smart BIOS that's going to do that. You kind of have to build in that ahead of time. Here's the hardware to expect.
Ken
And BIOS has been replaced by efi.
Jonathan
It's still.
Jeff
But you're still getting that handshake.
Jonathan
In my vernacular, EFI is just another kind of a bios. I know that may not technically be correct, but it's the firmware that runs on the system that helps boot everything up.
Jeff
I still say you can say it's kind of the same thing, it's just got a little more features and handles a few things differently, but the very high level function is the same.
Ken
And now if you want to run BCASFs, that function's been moved out of the kernel.
Jonathan
Well, it's out of tree. You still have to compile it into your kernel, it's just not there by default.
Ken
Fortunately, you can compile it in the kernel.
Jonathan
Yes, yeah, yes.
Jeff
It's actually the way they've designed it. It's supposed to go in pretty easily.
Jonathan
Acpi, by the way, is the term that I was trying to come up with just then. ACPI is what desktops use and some ARM machines. Actually, if you see an ARM machine that's branded as Scratch server ready, ARM server ready, it actually uses ACPI to hand over a. I think it does use device tree as well, but it hands over like a device tree binary to the kernel as it boots and says, here's the hardware that you need to care about. I have wasted many hours of my life on ARM devices that do not have great Linux support trying to get them to boot. And so I know way more about device tree than I ever wanted to.
Jeff
Well, and I am assuming that if the, the bios, whatever format it is, has a device, it doesn't know what it is, it still has some kind of ID to it. And then when you boot up, you can have the OS go, oh, I understand what this is. And then it, it knows what driver or module or whatever it has to do to load into that intra ram fs. So the next time you boot, in.
Ken
Other words, it's got a.
Jeff
What's going on?
Ken
Generic driver that it can fall back to.
Jeff
Well, it depends what the hardware is, whether it has a generic driver or not, but it would, it would at least say, I recognize a device here, hands it to the operating system. When you boot up the operating system, then can go, oh, I need to patch my bootstrap to handle X device so it can load. So that.
Jonathan
Yeah, well, it just has a lookup and it loads drivers because, oh, I've got this piece of hardware that means I need to load this driver into memory. I've got this piece of hardware. I have something on the pci. Something on the PCI bus has this vendor and ID on it. Okay, I'm going to look that up in the table. Oh, here's the driver that needs to come up. And in some cases, here's the configuration info that needs to go to that driver. And because it's got that list.
Ken
And then on rare occasions, you come across, I don't recognize this at all.
Jonathan
Well, yeah, and that's when you'll have, you know, you run LSPCI and you see something that's on there that's like, I don't know, something. Is there something on your PCI Express bus, but we don't know what it is, or that's.
Ken
Hopefully you can update your firmware to recognize it later.
Jeff
Well, or sometimes you load the driver in and it knows what to look for. It's like, what is this? Oh, that's what I'm looking for. I'm the driver for that. And it just. The driver takes over and handles it.
Jonathan
When you get into really sort of esoteric hardware, you then you have to load the module with configuration data. So, like, I've seen some modules that you have to give. I don't remember if it used environmental variables or what, but, you know, you would say, okay, load this module and pass these arguments to it. When you load it, you force it to look at this particular place for this particular bit of hardware. And then your network card or whatever would come up and work. It's fun, lots of fun.
Ken
Then you try to access certain video features through Vulkan.
Jonathan
I mean, that's the thing, too. Before we get to oh, yeah, it is time for Vulcan. He's ahead of me. Ken is ahead of me by a step. Or I tried to be ahead of him by a step and got too far ahead. Anyway, so there was this interesting story that I came across. It's a pharonic story, but it is getting reported other places as well, and that is that Red Hat has been getting some information from Nvidia for the NVK driver. And interestingly, some of these specifications bits of information are not available publicly. But Red Hat has signed an NDA, a non disclosure agreement with Nvidia to get some of this data. And I thought that was really interesting that Nvidia sort of went out of their way to go to Red Hat and say, okay, look, we want this stuff supported in the kernel, but we can't just. So this is, this is, at some level, this is the way the conversation went. We want to give you this information, but for whatever reason we can't just publicly release this document, but we want you to be able to look at this document and release source code based off of it. And so, you know, there's likely some way that they clear, when they write source code, maybe they hand it back over to Nvidia and say, make sure we didn't leak any of your, you know, secret sauce in this. Because essentially when you have one of these NDAs, that's what that means, that there's some piece of information that's considered confidential. There's something in there that Nvidia says this cannot be released publicly. And maybe it's because NDA designed this hardware while they were under an NDA with another company. And so, you know, to not break their own NDA, they have to make sure that the person they're working with is also under NDA. And then they have their legal team that goes back and reviews the code and goes, okay, nothing that's protected under NDA is in here directly. You know, this code is not going to directly violate the NDA, therefore it's good to go ahead and release out to the public. And I think for people that have not dealt with this stuff before, if you read this, it's going to seem really weird to you. This is fairly typical for doing hardware support, particularly if you're not like just reverse engineering it. So in the past that's one of the things that we've had engineers will do is they just reverse engineer. So they, you do something like you can actually run programs like wireshark and have them watch the PCI Express bus. And so that way you can reverse engineer. Okay, this is the bytes that you need to push over the PCI Express bus. To initialize the card you go right the open source driver and you just push the same bytes and the card comes up, it gets initialized. Well, so in this case there's actually a document that says to bring up the Blackwell is the specific card that they're looking at. It's that generation. There's a document that says these are the bytes that you push to initialize a Blackwell card. And it's going to go into a lot more detail. Like there may be, if you want to bring it up in this mode, you use this byte. If you want to bring it in some other mode, you use this other byte. And it may be that what exactly those modes are and what they do are part of what's protected of the NDA. But the engineers working on it can go, we don't care about any of that. We just want to bring it up as a desktop card. This is the byte sequence that we want to send it. And then Nvidia looks at it and goes, oh yeah, fine, you can release that byte sequence out to the public under an open source license, we don't care. And so there's just this kind of, it's going to be between these two teams, this constant going back and forth between of, you know, okay, here's the part that we need. Can we open this to the public and then there may be pushback on it? Yes, you can, but you have to get rid of this comment because it gives too much away or. Yeah, that's fine. Release that. It's, it's not, it is a pain, it's work, but it's not terribly surprising. And there, you know, there's no grand conspiracy going on here that it's under NDA. So in my opinion, good for both of them, for both Red Hat and Nvidia for being a, being willing to do the work and get these drivers working for everybody. I think it's, I think it's a great thing.
Jeff
Yeah. And you can also possibly, like if AMD saw some of this, they could maybe determine some hardware, you know, secrets, you know, then.
Jonathan
Right.
Jeff
It's not even counting Nvidia said also that they've had other third party licenses that they've used that they built in their driver. And then you can't, I mean, they.
Jonathan
Don'T own the code, so they can't open source the code.
Jeff
Right. Because it gets really weird when you, it gets weird when you have a.
Ken
Chip that somebody else might have created.
Jonathan
No, they're like a piece of technology like video decode. There's probably part of the code in there. It's video decode. Well, that thing, video decode is one of the worst. Decode is the worst. So it's covered by patents, it's covered by, you know, licenses, all kinds of stuff. And so they, they sign an agreement that says you get to use this, but you don't own the code. And here are all the rules that it's under, see?
Jeff
And it, it gets really weird when you do this because, and I, I've been party to this personally.
Jonathan
I figured you would have.
Jeff
Okay, Ken, you make a video decode that's like really awesome. Jonathan's like Nvidia and he licenses that and I'm red hat.
Jonathan
Yeah.
Jeff
Well, Jonathan can release information to me, but it can't contain anything about your decoder. Even if I, red hat, say, oh, hey, I'm going to have an agreement with you, Ken, so you can share what you're, you know, you can share your information with me. We've got an NDA. Jonathan still cannot release anything on that to me because we don't have a three way NDA, even though you say, well, everybody's got an NDA, not as like a group. So I can talk to you about your decoder, Ken. I can't say anything what Jonathan's telling me and I can talk to Jonathan about his hardware, but I can say nothing about what we've talked about, about your stuff, Ken. It gets really, it gets really weird.
Jonathan
And it depends upon the exact wording of the NDA because some of them do have clauses that say you can, you can share this information with contractors to be able to do X, Y or Z. And so then you have a lot more liberty to be able to make that sort of thing work.
Ken
And if you want this clause to go in effect, give me a little bit more money.
Jeff
You got to get past the lawyers, which is just. Yeah, that's a train wreck in and of itself. Once, once legal's involved, nothing goes anywhere. But, but no, even, even with the clause, you can maybe the contractors, but you cannot talk about a separate entity. So for all of us, so for like Jonathan, I. To talk to each other about what your stuff is, Ken, we have to have an agreement where all three of us have signed an NDA between all of us, not just, you know, one, between me and you, you and you know, it, it doesn't work that way. It turns into nightmare because when you have three companies together and you can't, like, I can't tell you what they said, you got to ask them what this is because I can't tell you. And, and a three way NDA can be brutal to get.
Jonathan
None of this is legal advice. If you're in one of these situations, go get your own business lawyer and do what they tell you to do. Do not rely upon us for legal advice because none of us are lawyers.
Jeff
Yeah. Other than. Yeah, just don't tell Anybody? Anything?
Ken
I can think of one prime example of how this is messing up a certain over the air broadcast system that we've talked about in the past that's starting to come out ATCSE 3.
Jonathan
Oh well again, audio and video codecs are just the worst because they've got patents and they've got software licenses and.
Ken
I think you've probably. Did you have a home HD home run that handles the new ATSC3 yet?
Jonathan
I don't know if it does or not. I've honestly, I've been doing so much streaming, I've watched very little over the air broadcasting for, for years now.
Jeff
I don't. And there's basically nobody around that really has it.
Ken
I think I've got HD Home Run Connect 4K and I've got it set up so I can use Plex to record the over the air broadcasts that are still in ATSC 1. I can watch some of the ATSC 3 on newer TV that I got through my sound bar. Yeah, for the audio.
Jonathan
That's the kind of.
Ken
But I was sitting up in the older TV and it kept coming back with an error mess and saying this hardware doesn't support this.
Jonathan
I don't, I don't know what this fancy audio coding is.
Jeff
Hey Ken, maybe if you used Curl that would work.
Ken
Maybe. As long as it's not also having any slop being thrown in.
Jonathan
So these two yahoos are trying to tease the next story, which is the Crow project and its stance on AI. We're going to let Ken cover that.
Ken
And yes, we're actually seeing where there may be some opinions changing because this week Thomas Claiborne wrote about the exception to the AI slop rule for the Register. According to Thomas, over the past two years the open source Curl project has been flooded with bogus bug reports generated by AI models. I keep wanting to say ow. For some reason this has been a problem for other projects, including the Python Community, Open Collective and the MESA project. The problem isn't that AI generates the misinformation, but rather like with phishing scams, people are not doing due diligence and vetting the information, either due to a lack of training or time before submitting it. Last month the Curl project received dozens of potential issues from Joshua Rogers, a security researcher based in Poland. Rogers identified assorted bugs and vulnerabilities vulnerabilities with the help of various AI scanning tools, and his reports were not only valid, but appreciated. In fact, last month Daniel Steinberg posted actually truly awesome findings. Last week's Daniel Steinberg said in his mailing list update. We have now at last gone through the entire list and as I write this, we have given credit to Joshua's list of issues for no less than 49 commits or bug fixes merged in Curl's Git repository. Of course, most of them were tiny mistakes and nits and ordinary static code analyzer style, but they were still mistakes that we are better off having addressed. Several of the found issues were quite impressive findings. Just 16 days since the previous core release and we have already merged 133 bug fixes. Now I'm going to let you read Thomas's article to find out Daniel and Thomas's opinion on AI tools as well as which tools Joshua used.
Jonathan
Yeah, I love the comment on the Mastodon thread. Somebody wolf480.pl says, so this is what AI can do when wielded by a competent human? Steinberg says, yes, absolutely.
Ken
And it just goes to prove the weakest link in any chain is the human.
Jonathan
No, I mean this is what we found too. In the projects I work on my my primary my lead firmware dev uses like Copilot all the time for dumb refactoring things, right? Like, oh hey, all of this code is in one file and it's 5,000 lines of code. Hey copilot split this up into five different files so that it's easier to read. Copilot can do that reasonably well. It's the whole. It's when I closed a pull request just the other day that somebody's like, I use Copilot to do these five different things. And oh, by the way, we also changed the name of the project. Pull my code in. Go away. If you really want to do this, break it up into individual PRs and don't try to rename the project.
Ken
Time to fork it. If you're going to rename it.
Jonathan
Well, I mean, sure, if somebody wants to. It's like your AI is showing When I read a pull request or a bug report, if it's obviously written by AI, then it's probably not going to go anywhere. You need to have done at least a little bit. I like what Mesa says about this. We don't care if AI wrote it, but you need to understand it. And it's obvious that that is not the case in a lot of these PRs and bug reports and security reports, et cetera. But I really yeah, it's a personal problem. It really is.
Jeff
I was going to say it's a personal pet peeve of mine. The people that use AI and don't really understand what they're saying and try to. Well, AI told me this. Well, AI is wrong. You know, this is just not how this works. Is. You know, it's drives me. It drives me nuts.
Jonathan
It kind of reminds me of that old saying about how that, like, sufficiently advanced technology is indistinguishable from magic. And we're at the point now to where some normal people think that AI is magic, but then like those of us that actually write code for a living, we look at it, the results of it, and go, no, definitely not magical. Your AI is not magical. It's just raw.
Ken
If it was, it could make that work, even the way it was written.
Jonathan
Yeah. Yeah.
Jeff
Well, the thing is too, is whenever you truly use AI like professional AI, there's an art to actually writing the prompt. It's not just, hey, just do this for me.
Jonathan
Yes.
Jeff
No, you're going to have, I want this in this language, in this format, and do it this certain way and use this. And, you know, there's a lot of.
Jonathan
I've talked to some people that like, know what they're doing. It's Randall, Randall Schwartz. I've had a couple of shows with Floss weekly with him on it. We've talked about this, and he's come up with a flow, and he will actually have the AI write the prompt for itself. And I believe that's useful because he has a conversation with the tool about what exactly he wants done, and he corrects it when it's making. Essentially what he's having it do is write, like the spec for the changes it's going to make. And so he actually describes it as though he's treating the AI tool as if it's a junior developer, a very zealous, but oftentimes wrong junior developer. And so his initial, like, he will give it a very brief scope of work and say, turn this into an actual scope of work. And then he looks at the scope. You need more detail here, or this is the wrong approach here. And actually flesh that out to where you've got a scope of work with details on it that you can then check. And then you have the AI take that scope of work and actually implement. And so you give it a lot of guardrails and you're checking it as you go along to make sure that it's not making dumb mistakes as it's planning things out. And he's had reasonably good success with, in the end, getting the AI to write working programs. But his, his take on it is it's like I've got to be the senior developer and it is the very junior developer and I get to hold its hand as we're doing things. But if you treat it like that you can get good results of it out of it.
Jeff
I sometimes looking at it, I look at it like a GENIE or a deal with the devil where okay, you better specify everything because whatever little loophole you left it's going to do it to try to mess things up. I at work I use it quite a bit and I've had a lot of training too on here's, here's what you write, here's what you don't write, here's you know, scope this now constrain it here.
Ken
Do you know because remember with all those stories about genies, they invariably end up with a genie doing something malicious.
Jonathan
To you run amok. Yes, genies run amok.
Jeff
So you have to write your prompt kind of. Okay, it's in this box and they can't get out.
Jonathan
Yeah. Good luck. All right, up next, Jeff is going to talk about something completely non controversial systemd and tell us is this after the break? Yes, yes, this is coming right after this.
Leo Laporte
Hey everybody, Leo Laporte here and I'm going to bug you one more time to join Club twit. If you're not already a member. I want to encourage you to support what we do here at Twit. You know, 25% of our operating costs comes from membership in the club. That's a huge portion of and it's growing all the time. That means we can do more, we can have more fun. You get a lot of benefits ad free versions of all the shows. You get access to the Club TWIT discord and special programming like the keynotes from Apple and Google and Microsoft and others that we don't stream otherwise in public. Please join the club. If you haven't done it yet, we'd love to have you find out more at TWIT TV Club to it and thank you so much.
Jeff
Systemd has been talked about from time to time on the show and most the time we talk about how systemd isn't in some new distribution because they're either going with some previous system int or a different solution altogether. You know, it's been rather controversial but it's been around for quite a while now and, and most distributions use it but some people still are fighting it. But, and if you don't know, systemd is the core chunk of software that you know is kind of the initial starting point for User space. It provides a system and service manager and runs as process ID number one and kind of starts the rest of the system. There's a lot of other things it does, but suffice to say, it's very core to a Linux system. And changing out. Changing it out is not a trivial task. I mean, yes, it can be done, but it isn't like just loading in a different application. You know, systemd is plumbed in at very low levels. So to change out of systemd, it's a very large undertaking. Now, I bring this up because the latest version of systemd was released version 258, and it has some changes that are going to affect what kind of computer system can support the software. The biggest is the removal of the C Group V1. Now, this means legacy and hybrid hierarchies have been removed. It requires the features in Cgroup version 2. Now, the original Cgroup version 1 was put into the kernel in 2007 with kernel 2.6.2. Version 2 didn't show up until 2016 with Linux kernel 4.5. Now that sounds good, but there's another change which now also says the minimum kernel version that systemd will support is 5.4, which was released in 2019, and kernel 5.7 is the actual recommended version. So this means that older kernels are not going to run with systemd 258. Now, just to be 100% clear, the C groups that we're talking about, these are inside the kernel. This is not talking about the CPU levels, which we sometimes talk about when we say, oh, this is version 1, version 2, version 3 of the instructions supported by the CPU. That is not what we're talking about. So hardware is not limited directly by this upgrade, just by the kernel version, which can run on the hardware. So if kernel version 5.4 can't run on your hardware, then you can't run the new systemd or the distribution using it. Now, along with that, support for, excuse me, along with that, support for System V style INIT scripts is officially deprecated and it's totally scheduled for removal in in system D259. The same goes for the legacy run slash run lock directory and for iptable support in Network D and N spawn, which will now it's going to solely rely on NF tables for the next release. There are security changes going in as well, such as open SSL has become the only supported back end for systemd resolved and systemd import D. They're dropping support for both GNU TLS and lib gcrypt so there's a lot more things going into 258 and what's going to be standard in 259. So take a look at the article linked in the show notes for the full list of changes and a link to the GitHub change log which will have every single change in there. So happy booting.
Jonathan
Yeah I have trouble being too mad at systemd because almost everything in it works really well. The only part of systemd that I really hate is when it takes over DNS just drives me nuts.
Ken
Yeah, I mean you don't have any problems with the way it's handling does your keyboard handling.
Jonathan
It doesn't do keyboard handling on my machines.
Ken
I don't know because I've seen in the full release notes that it was talking about working around limitation of X11C keyboard handling systemd's keyboard mapping hardware database. One of those has to do with mapping the microphone mute and the touchpad on off toggle keys to the function keys F20, F21, F22 and F23 instead of the correct key codes.
Jeff
Looks like it's time to get off x11.
Jonathan
I mean, yeah, I mean something. One more reason Something you have to remember though is like there are parts of systemd that the vast majority of distros don't use because it's not written for normal distros to use. Some parts of systemd are written specifically for immutable Linux. Some parts of it are written explicitly for something even more locked down than that, like a real key kiosk mode or something. So not everything that's in there, not everything that you see in the notes is something that's actually going to affect your machine. There's just a couple of pieces of systemd that I additional pieces that I wish fell into that and the DNS handling is one of them. I want my old DNS system back. It's not annoyed me enough that I've gone and done it on any of my machines because I know it's possible to go back to the old resolve etc resolve.com rather than I forget what Resolve D I think is what they call it when you let systemd be your DNS resolver. Yeah, it's not annoyed me enough to go do it yet, but there's been a couple times I've been pretty close.
Ken
And another one I noticed has to do with the journal ctl. The dash dash follow flag now exits with success on a SIGTERM or sigint and when the pipe it is writing to is disconnected.
Jonathan
I use that follow quite a bit actually in debugging stuff. So probably, I probably don't care what it exits with most of the time. That sounds like that would be sort of a scripting thing. But yeah, interesting.
Jeff
I don't know. I just know at some time originally it caused a lot of controversy, but it kind of won the standards war. That's what we got now. Tell somebody, make something better.
Jonathan
I mean, there's a few distros still hanging around that are not systemd and that's sort of their, their headline feature. But man, pretty much all the big ones, all the standard ones use systemd and it just works for them.
Jeff
Yeah, and you know, the thing is I don't know enough about it. I don't get into system D enough. And realistically, you know, people have arguments, I've read some of them, but at least my experience on the hardware side, I listen to forum stuff, people talking and like 75% have no clue, you know, then of that you have about 20% that have a clue but they kind of miss points, they kind of get it wrong and you got like 5% that actually really understand what's going on. So anymore I just kind of assume every controversial thing of whether, you know, X11 versus Wayland or systemd versus some other init system or file system X versus file system Y. It's like, yeah, most people don't get deep enough into the weeds well the technological enough to.
Jonathan
I really suspect that like at least in the early days of SSMD, why a lot of people didn't like it is because all of the institutional knowledge was for sysdnit and so you would go to Google a problem and you know, or you'd ask a buddy about the answer to a problem and the answer would be there for a while at least it was the CV answer. Okay, go, go look at your sysv in IT script. And here's what you change in the script or here's a CIS VINIT script to make this thing work. And when the world went systemd it's like none of that stuff worked. And so there was, there was a time period probably a couple of years there where it was difficult to find the answer to these questions because there just wasn't that body of knowledge about how to fix things under systemd. We've been at it enough now though that like you can find it and you, you know, you find now on Stack Overflow. Well, here's how you do that weird thing that you want to do inside of System D. So everybody's kind of happy once again.
Ken
Yeah.
Jeff
Well, I'm just even referring to some of the. Well, technically or the technical reason for doing this is not good enough compared to this other reason than. I don't know.
Ken
What'S really interesting looking through the released notes is the minimum versions that's going to be required as of version 259.
Jonathan
What is the minimum version in there for Linux kernel?
Ken
It's got to be 5, 10 or greater. And they're recommending 5.14.
Jonathan
That's not terribly new.
Jeff
No, but, but you know, we're looking. A lot of Linux is getting rid of 32 bit. They're looking at going to V3. There's. I mean we're getting the point. There's a lot of different parts of the whole Linux distribution that are kind of just saying we're going to start dropping some of this old hardware.
Jonathan
Yeah, yeah, yeah.
Ken
And if you work with Python, then it's going to be version 3.9.0 or better. What's the latest version now?
Jonathan
It's like 3.13, I think. I thought I was going to say 13 or 14. Yeah, let's see. I'm sure we can find out latest Python release because I know I've got.
Ken
To find time to do an update to my octopi.
Jonathan
The. The PI. Python 3.14 is slated to come out this upcoming week, so on the 7th. So there you go. I was thinking 313 or 314 and we are right there in between the two.
Ken
So we may have a story next week about that.
Jonathan
Somebody might bring it. Might bring it. There's another release that just happened that's got something pretty cool in it that I'm excited about and that is Wine just did the 10.16 release and it landed officially finally in mainstream wine support for NTSync. And that is the synchronization code that originated in the Windows NT kernel. And the way that Linux has done synchronization, this synchronization primitive has been very different for years and years. And people said why don't we just add a primitive, a new system call to the Linux kernel that lets us do this sync like Windows does. It took a while to convince everybody that that was a good idea, but we are now there. Most of our Linux kernels run this and it is now officially in wine with version 10.16. And so it will take a bit for this upstream code to land in places like Proton as well as Glorious Eggroll and all of those. But there are ways that you can go ahead and try this out if you would like. It's been in Wine Staging for a bit. I'm actually pretty impressed how quickly now that things have landed other places, how quickly this came to Wine and they were able to get it mainlined inside of Wine. There's a couple of other interesting things in 1016. 16 bit apps are supported in the new Wow64 mode, which that's Wine on Windows On. I know Wow64 used to stand for Windows on Windows 64. I'm not sure what it stands for in the Wine context. Maybe the same thing. But it's, you know, it's 64 bit wine essentially.
Ken
But.
Jonathan
It'S really interesting because you can't run 16 bit apps on a 64 bit Windows install. So like on Windows 11 right now, if you're running a 64 bit, which I think basically all of the Windows 11 installs are 64 bit now, you can't run 16 bit apps, but you can now in Wine in wow 64. So the 64 bit versions of Wine, it supports 64 bit, it supports 32 bit and it now also supports 16 bit, which is really pretty interesting. It's, you know, doing what Windows never could. And then one other thing that really is potentially important in there is support for the D3D KMT objects. And I went and I looked that up and that is basically kernel calls where a program can talk directly to the 3D driver for things like perhaps changing the screen resolution or other things of that nature. And I'm sure there are some games over the years games and other programs that have used that and so good on them for adding support for all of those things. Wine 1016, it looks like it might be a pretty good one, a pretty impressive release of Wine. And again, it'll be pretty cool when Proton and the rest of them use that or a newer version for the upstream.
Jeff
I bet it won't take too long because if it's been in staging a lot of times, I think doesn't Glorious at least grab a lot of that staging?
Jonathan
Yeah, I think that is essentially what the Glorious Eggroll build is. It's Proton rebased on top of Wine staging, I think. And so in fact there's a GE Proton 1017 just released. Let's see. Trying to see if I can tell which Wine version that's based on. I don't see it. But yeah, it won't be long before you can get it in at least Glorious egg roll.
Jeff
I'll see if I can find it.
Jonathan
Yeah, it's definitely out there. Or if it's not, it will be soon, so.
Ken
But if you play Wolfenstein the Oatblood looks like they fixed an issue where it failed to start with egl. Open GL back in.
Jonathan
Yeah, you know, there's a bunch of fixes that land in every version of Wine for. For various different things. I saw that one. You know, there's things where they fixed flickering Grand Theft Auto Vice City. The intros were playing with a black screen and they got that fixed sim. SimCity 2000 doesn't launch in, wow, 64 mode. You can get your SimCity 2000 fixed now. You know, all kinds of, all kinds of fun stuff in there.
Jeff
If you go, I don't know what version this specifically is, but Gloria Segre Roll Proton 1016, which was released two weeks ago, they said Wine updated to the latest bleeding edge.
Jonathan
Right. I don't know what that means. That probably would have been the version before this.
Ken
10.15.
Jonathan
Yeah, I think so.
Ken
Because the odds and the evens. The stable version, isn't it?
Jonathan
No, that's the other way around. It's a little different from that. I don't remember. Wine has their own sort of special formula for which one is stable and which one is not. Maybe it, maybe it is that the odds are the stable ones or the evens. I don't remember. You're right. They have their own. It's a, It's a kind of a weird thing.
Jeff
No, Wine, you have, you have like the Stable, you have the testing, then you have the staging. Or maybe it's development and they don't, they don't go off numbers as much as you have three different channels.
Jonathan
Yeah. So stable is 10.0 and development is 10.16. That's what it is. So the dot zero is the stable. And so it's possible that they'll do like a 10.0.1 at some point, but when they're ready to mint another stable, it'll be 11.0. I knew it was different. I knew it was different than what basically everybody else does.
Jeff
Oh, I'm not seeing the.
Jonathan
We can look into that after the show. We got one more story that we're going to cover though, that is Ken talking about the Linux foundation and something new there.
Ken
Yeah, we've got this George Whitaker writing this week about the Linux foundation, contributing Newton as a fully open, community governed project. Now, according to George, Newton is a next generation GPU accelerated physics simulation Engine designed specifically for roboticists. Try saying that one three times fast and simulation researchers who want high fidelity performance and extensibility. Now, according to the GitHub organization for Newton, the project is governed under the Linux foundation, is community built and is licensed under Apache 2.0. The repository README describes it as aiming to supersede warp CIM with a more general open architecture. If you're asking what Warp SIM is, it's the module that was used before Newton. Newton benefits from neutral governance, community oversight and long term sustainability by being housed under the Linux Foundation. George also writes about Newton's technical highlights and capabilities, use cases and challenges which I'll leave for you to read about.
Jonathan
Yeah, interesting. So this is, this is what for people that are designing robots, actually building physical robots to be able to simulate.
Ken
Them after they've done a simulation to see how everything's going to work in the physical world. I just hope Newton never meets Al. Or is it AI?
Jonathan
It's funny. So on Hackaday, one of our writers, his name is alone Al. It's Al Williams. And it's always. You always have to do a double take because of the font we use. The L and the I is, you know, the, the lowercase l and the uppercase I are written the exact same. And so you know this article brought to you by AI? Oh, no, it's just Al all the time.
Ken
Let's just start calling AI Al.
Jonathan
I mean, we do, we do tease him about that from time to time. It's, it's a lot of fun.
Ken
But is this the beginning of the end? I doubt it if you're a Terminator fan. Yeah, might be.
Jonathan
Nah, I've seen, I've seen the videos of what the, what robots and AI can do and it's still not entirely inspiring when they meet the real world.
Ken
So 100 years down the road, hopefully.
Jonathan
Maybe. We'll see. We will see. All right, that's our news story is that we've got some fun command line tips. I'm actually going to lead off with something also related to the raspberry PI, the five, the 500 and the 500 plus. And we will cover that right after this.
Leo Laporte
This episode brought to you by Red Canary. When cybersecurity threats hit fast, you need an MDR partner that moves faster. Red Canary delivers 24.7expert MDR support, total visibility and actionable insights. Plus it helps you detect four times more threats so you can stay ahead without burning out. Red Canary clears the noise and has your back every hour, every incident. Get the backup you deserve visit redcanary.com difference to learn more.
Jonathan
All right, so this week I was in a position where I was shipped the Raspberry PI 500 plus and it came with Debian 12 Raspberry PI OS 12 based on Debian 12 came with 12 on it. And then about the time that it showed up, the announcement came out that 13 was out. And I said to myself, how am I going to put 13 on this? I really don't want to open the thing up. I mean, they give you a spudger, that's the plastic tool to open the case and it is now considered to be user openable. You're not voiding your warranty, I don't think you did on the previous ones, but you're not voiding your warranty to open up the 500 plus. You can get in there and do stuff, which you have to to be able to get to the nvme. But still I was thinking through this going, man, this does not sound like any fun. If only there was an easier way to install the new version. And then I realized I remembered that I saw something about this. So I went and looked and the pi5, the pi500 and the pi500 plus. So basically the fifth generation PI, and probably newer. I think this is something that's going to stick around. Has the Raspberry PI Imager built into the device firmware and you can access it by turning the machine off, making sure you have an ethernet cable plugged in, and then holding the Shift button on the keyboard while you plug it back in and turn it on. When you do that, it's going to boot up to what looks exactly like the Raspberry PI Imager that you'd run on your desktop. And it gives you the options to choose your platform, choose which distro you want, choose your heart. You know what media storage you want to put this on. You can go through and you can customize it with username and password whether you want SSH turned on. All of that stuff that you're used to from the Raspberry PI Imager and you can just say go. And it will sit. They will download whatever image you tell it to and put it right onto that machine's SD card or NVMe card. I think it probably would do USB as well. And then we'll automatically reboot and bring you up into whatever system that you wanted to use. And I was really, really impressed by that. For particularly the PI 500 plus with the NVMe inside of it, it Was really useful because I didn't want to have to take the thing apart. I just want to be able to use it. And so hold the shift key, boot it up and then you're right there in the Raspberry PI imager and it is ready to go. So quite the, quite the nifty little feature set.
Ken
So I've got an easier way to update my SD card if you're on.
Jonathan
A PI 5 or newer. Yes.
Ken
Yeah, the Raspberry PI 5 I have. It's a shame that Octopi is not on a Raspberry PI 5. Maybe I need to move it to that.
Jonathan
May you buy another one? Buy a, buy a PI 500 and use that for it.
Ken
Buy a button PI 500 plus and delegate that one to the Raspberry PI.
Jonathan
There you go.
Ken
Or Octopi.
Jonathan
That is the way to do it. All right, Jeff, what is Image?
Jeff
Image? Well, all right, this is going to be a little different command line tip. And not less of a command line and more of a useful program tip. Now I, this really stuck in my head because I first heard about this from a programmer at work. You know, he and I were chatting, you know, doing the water cooler talking and we were, we were going over Linux things and you know, I talking about various things and I said, oh, I used Plex in the past to host images for the family, you know, like photographs and stuff. But you know, it's kind of a clunky interface and doesn't do it very well. I needed to find something better. He told me about this program image I M M I C H and it's one he uses and swears by. So he, he's all into on this. And then I just happened, you know, what was my command line for the tip and I just saw this came up and it hit stable release at 2.0 and I thought, you know, this might be a good time to pass it along. And Image is a self hosted photo and video management solution. So there, this is, this is for when you don't want to pay, you know, the Googles and you know, Amazons and whatever to host, host and so you can share your files. You just want to do it all yourself. Now one possible downside, you know, is there's not a desktop app for displaying the pictures as it was more designed for phones. But now there is a web app. So it's not like desktop users are totally out in the cold. It's just if you prefer a standalone app versus the web, you know, you, you depending on your Proclivities that may or may not be a deal breaker. But for me I'm okay with a web view. Now I'm not going to go into detail on how you install it because here's another little bump in the road is you run it in a Docker container or Portainer or use something like Unraid or True NAS scale to actually run it. So it's, it's designed to be containerized from the get go. It's not just a regular program that you just load up. Now they do have different, you know, they have all those listed out so you can run it in whatever you, you can download the package to get it in your Docker container or whatever you're going to use. And they also, for like mobile apps they have the app which is in the Play Store, the Apple Store, you can get it on F Droid or you can just download the APK and run it wherever you choose to. And if you're curious about everything it can do rather than go into tons of features, if you look at the documentation page on the website linked in the Show Notes, there's actually a comparison page so you can view what it does and doesn't support along with other similar programs and they give a rating on how well they feel a particular program supports the feature. So you know, yeah, maybe it has this feature that you know, image doesn't have but you look at it and goes they don't do a good job of it. Or maybe it's really good but it also lacks a feature that image has and then you can, you can make a educated decision. But take, you know, take a look at the article linked in the Show Notes. It goes into more detail and you know, even talks about future plans so that you can see where the program is going to go into the future. And if you want to get a self hosted program and like I said, you want to get out from under paying big tech for hosting your media, you know, definitely check it out and you know, let me know what you think. You know I, I personally haven't used it yet. I, you know, I've never set up a Docker container. I guess it's maybe time I learned but like I said, a couple of programmers, I know it works, swear by it. So take, take a look and let me know what you think.
Jonathan
Yeah, this has some really, this has actually some really cool stuff in it. I have to make a note to my scheduler that we need to talk to these guys on False Weekly.
Jeff
Yeah, I mean there's There's a lot in there, so I didn't want to really go through all the. Oh, here's the 300 things. It does. You know it, but it's. It's pretty powerful.
Jonathan
Yeah.
Ken
Does it support the DLNA standards so that you could, if you've got an DLNA compliant device that you could use it to stream from?
Jeff
I don't believe it does.
Jonathan
I know it will. They talked about streaming to Chromecast.
Ken
Chromecast.
Jonathan
So it's got some of that. I don't know. I don't know if DLNA is one of them, but, you know, that's a great. That is a great question to ask them if we have them on the show. So we will try to do that.
Ken
Let me know a couple of weeks in advance and maybe I could arrange a day of vacation or two. Get on that one.
Jonathan
Yeah, it'd be fun. Would be fun.
Ken
If I still have vacation left by then.
Jeff
And it looks like if I can see by the discord, Jonathan's wife's already looking into it.
Jonathan
So, yes, we'll try to get him on the show. It'd be fun. Get a lot of fun.
Jeff
Research ongoing.
Jonathan
Yes. All right, Ken, you ready to talk about more wire plumber configuration stuff?
Ken
I'm gonna talk about troubleshooting wire, plumbing plumber configurations. In fact, let me go ahead and bring up my terminals. I've got three of them today to demonstrate the command that I'm going to be covering that, as I said, may help you troubleshoot your pipe, wire and wire plumber systems. It is wp, CTL space, sit, log level. Now, instead of diving deeply into debug logging, which I've got a link to, if you really want to look into this more, I'm just going to demonstrate how you can set the log level for a particular client device, sync, source, filter or stream so that you can log fatal errors, informational message, debug messages, or even traces. For those of you all watching or listening, I've got three terminals up to that. On your top left is one that I've got the Journal, ctl, space, dash, dash, user space, dash B, space, dash F, which I think sometimes is referred to as dash, dash, follow. Correct, Jonathan?
Jonathan
Yep. Sometimes. Sometimes you want to use follow rather than dash F, particularly if you're going to then right away specify the unit, because that's dash U and dash fu just doesn't always look right, particularly when you're telling people to use it.
Ken
Yeah, but then I'm piping that into grip so I can look for either pipewire or Wire Plumber. I'm going to go ahead and start that and we're starting that. There's nothing coming out because I don't have any log level set. So let's go ahead and bring up the terminal right below where I'm going to type in and make sure I got the right screen selected wp, ctl, space, sit dash, log dash level. Now I'm going to go ahead and follow that with a dash H. So you can see the help command and it tells you that it sets the log level of a client. NoID will mean wire plumb itself. 0 means the pipewire server. Or you can use wpctl status to find out the command for a client device, sources, sinks or streams, especially if you've got a program that you're writing that you want to troubleshoot. So let's go ahead and just set the log level for Wire Plumber itself to. Let's go with T. And now we're starting to see commands come through and you've got a lot of commands there. Now let's go ahead and set pipewire. So we're seeing commands for it2t, which is going to trace everything and we don't really see much change there. We do see Wire Plumber. And now let's go ahead and run a program. It's an example program from the pipewire documentation covering how you can access the API. And be glad I'm not piping that into my audio output because otherwise you'd hear a steady tone. Because I thought what that was an example of doing is creating a steady tone. And as you can look, you can see that it's tracing what pipewire is doing. So let's go back in and find out the where that program is. It's client is 80. So we can go in and set the log level to trace for client ID 80. Oh.
Jonathan
Well, that's cool.
Ken
And now you've got what it's doing coming through. And I'm just going to do a control C to cancel that. And you see where it gave you that closure. It's about to scroll off, isn't it?
Jonathan
Oh, that's a cool idea. Though I may have to steal that to be able to put just one. One thread, one. One application into Trace instead of the whole in all of pipewire or all of Wire Plumber.
Ken
Yep. But one thing I noticed is you can see where it's going through Pipe Wire, Wire Plumber with what I got set up so far. But if you go in and use inspect 80 and I don't know why, but I've gotten in the habit of always adding rna. You can go in, look to see what you may want to look for with the grip command. To probably look for that PID might help.
Jonathan
Yeah.
Ken
So we'll come back up here, exit.
Jonathan
Out.
Ken
And backslash pipe and paste that in and we don't see anything and run it again and source getting a few other things.
Jonathan
It happens. Do you know why it happens?
Ken
It's probably because it's not looking for that particular. Getting anything from that particular pid since it's going to the pipewire API.
Jonathan
I mean, if that's actually the program id, it probably changed when you ran it a second time.
Ken
That could be that too. So let's go back in, see if it did change. No, it didn't.
Jonathan
3413 80.
Ken
That's the program itself.
Jonathan
Oh yeah.
Ken
30414 the PID changed.
Jonathan
Yep. That's going to be what it is. Linux tends to not. To not reuse those.
Ken
And what did I say that PID was again?
Jonathan
I thought I saw 3413.
Ken
Yep. 1 3. And now let's see what we get. And looks like most of it's just pipeware doing updates.
Jonathan
Yeah, there's where. There's where it ended. Yeah. Good stuff. All right. Very useful to be able to figure out how to get in there and find log line messages from individual programs.
Jeff
I like it.
Jonathan
That is the show. Those are the tips. We're going to let each of the guys plug whatever they want to. I will actually let Jeff go ahead and start us off with that. Any closing thoughts?
Jeff
No, not anything too big. I think I shared a lot during the show this week. I was extra talkative, I think. So I'm just going to leave it with Poetry Corner. There was an end user named John whose desktop wouldn't respond. He called, made a fuss, send it in a rush, and they turned it off and back on. Have a great week, everybody.
Jonathan
That's great. All right, Ken, anything you want to plug?
Ken
Yeah, I just want to share an article that I thought was rather interesting is one way to put it by Saurav Rudra about Eric S. Raymond's thoughts on codes of conduct. Yes, Read it. You may have some thoughts of your own after reading it.
Jonathan
Yup. It is a very interesting thing. I have thoughts as well. I will say this. The projects that I've involved in, I've gone back and looked at their codes of conduct to see if there are problematic things in there, because I think there is something to be said for codes of conduct being weaponized against people when that's not what at least most of us, when we agreed to them, that wasn't what the intent was. So worth. Worth at least doing a double check and making sure that you're not going to have a problem.
Ken
And also raising the question of have they outlived their use?
Jonathan
Yeah. Yep. Could be. Could be. All right. Appreciate you guys being here. It's been a lot of fun. We went for a long time with just the three of us. Goodness, imagine if Rob had been here. We'd still be going.
Ken
We'd have another hour on there.
Jonathan
Have another hour to go.
Jeff
Well, we're bringing better value for the money.
Jonathan
That's right. Yeah. All right. Appreciate it. If you want to find more of me, there is, of course, Hackaday. That's where Floss Weekly lives. That's where my security column goes live every Friday morning. So make sure and check those out if you want to. We appreciate everybody that's here, those that listen, those that watch whether you get us live or on the download. And we will be back next time for more of the Untitled Linux Show.
Ken
Sam.
This week’s Untitled Linux Show dives deep into new hardware, dramatic kernel changes, heated debates in the Linux ecosystem, and open source project updates. The hosts discuss the state of Linux as it evolves in ways Windows never could, highlight notable rants and decisions from Linus Torvalds, report on file system changes, developer verification on Android, and much more—all with characteristic humor and real-world experience.
Timestamps: 07:09–10:44, 102:04–105:10
“I wish there was an option to have it ship with no NVMe so you could bring your own storage and they could knock a good $35 off the price.” —Jonathan (09:52)
Timestamps: 11:37–13:33
“Now that [Debian] allow the non-free, you took a big chunk of what made Ubuntu special.” —Jeff (12:47)
Timestamps: 17:45–29:46
“What kind of broken editor are you using… Edlin?”
“Yes, please make the explanations readable and not just a random jumble of words.”
(Jeff quoting Linus, 17:35-18:17)
“Oh Christ, is somebody seriously working on BE support in 2025? …That sounds just stupid.”
“We are NOT preemptively supporting Big Endian on RISC-V. The documented reasoning for that craziness is too stupid for words.”
(Jeff quoting Linus, 21:45-22:55)
Timestamps: 31:06–38:13
“Good for Google for not going completely evil. They’ve just gone a little bit evil on this one.” —Jonathan (34:07)
“Diet evil.” —Jeff (34:15)
Timestamps: 38:44–46:21
“It’s literally just because on the machines that they first started doing UNIX on, the disks were not very big.” —Jonathan (42:04)
Timestamps: 47:45–59:19
"Time will tell if BCashFS is going to be the next big thing, or it'll be left to the historical archives." —Jeff (54:29)
Timestamps: 62:41–70:21
“If you're in one of these situations, go get your own business lawyer and do what they tell you … none of us are lawyers.” —Jonathan (70:21)
Timestamps: 72:34–79:26
“So this is what AI can do when wielded by a competent human? …Yes, absolutely.” —(Mastodon thread, 75:10)
Timestamps: 81:12–90:50
“It kind of won the standards war. That's what we got now. Unless somebody makes something better.” —Jeff (87:52)
Timestamps: 91:41–96:51
“It's 64 bit wine... doing what Windows never could.” —Jonathan (93:33)
Timestamps: 98:20–100:18
“It’s kind of like driving on… which side of the road you drive on. If that's kind of what the standard is, it doesn't really matter as long as everybody's doing it the same…” —Jeff (29:46)
“I have trouble being too mad at systemd because almost everything in it works really well. The only part… that I really hate is when it takes over DNS just drives me nuts.” —Jonathan (85:06)
“His take on it is it's like I've got to be the senior developer and it [AI] is the very junior developer and I get to hold its hand as we're doing things. But if you treat it like that you can get good results of it out of it.” —Jonathan (79:26)
"There was an end user named John
whose desktop wouldn't respond.
He called, made a fuss
send it in a rush,
and they turned it off and back on." —Jeff (119:41)
Raspberry Pi Imager “secret”: Hold Shift while booting (Pi 5 or later) to access the built-in OS re-imaging tool.
Immich self-hosted photo/video management:
- Open source, mobile-first, uses Docker. Reaches v2.0 stable.
PipeWire/WirePlumber:
- Use wpctl set-log-level to enable granular debugging/tracing for individual devices or client apps.
- Demonstration shown for targeting specific client IDs for log-level changes.
A packed episode, showing Linux’s unique capabilities and community—hardware hacking, file system drama, kernel arguments, privacy debates, and the practical nitty-gritty of using and managing Linux today. Only Linux could bring such a wide array of innovations, quirks, and personalities together, all with more than a dash of fun.
Recommended for Linux users, open-source project followers, developers, and anyone curious about the future of freely hackable computing!