Mozilla, Resignation, & the Reported Death of GPL
Loading summary
Jonathan Bennett
Hey folks, this week we're talking about resignations from the Colonel and GPL court rulings. There's the Mozilla mess and a whole lot more. I promise. It's not all bad news though, so you want to stay tuned to the show listeners.
Ryan Seacrest
Are you looking for a shortcut to better auto insurance for you? Something that takes all the research off your plate. Something that's easy, Something that matches you with lower rates? Something genius? That's where NerdWallet comes in. Their nerds already did the work for you. Just answer a few questions and ta da, you'll be matched with top insurance providers in your area for find the right rate for you@nerdwallet.com after all, using NerdWallet is more than smart. It's genius. Not all applicants will qualify for the lowest monthly payments. NerdWallet Insurance Services, Inc. California resident license number OK 92033 Creativity doesn't wait.
Lenovo Ad Voice
It moves. Shifts, evolves. Just like you. And with the Yoga PC from Lenovo, your tools finally, keep up. Stunning, smart and sustainably sourced yoga PCs from Lenovo are designed to amplify your creativity with with AI powered performance. Whether you're sketching, editing, animating or composing, Yoga moves with you adapting to your creativity, to your rhythm. With beautiful displays and the flexibility to shift from laptop to tablet, Yoga unlocks new ways to inspire and create. Because at Lenovo, we believe your tools should fuel your flow, not hold you back. Yoga PCs from Lenovo support you at every step of your creative journey. So check out lenovo.com yoga and supercharge your creativity with yoga. Empowering creators everywhere.
Ryan Seacrest
Hey, it's Ryan Seacrest for Albertsons and Safeway. It's Stock Up Savings time now through March 25th. Spring in for storewide deals and earn four times the points. Look for in store tags to earn on eligible snacks from Doritos, Cheez Its and Pringles, or sweet treats from Haagen, Dazs, Kinder, Bueno and Reese's, plus many more. Then clip the offer in our app for automatic event long savings stack up those rewards to save even more restrictions apply. Visit Albertsons or Safeway.com for more details. Podcasts you love from people you Trust.
Jonathan Bennett
This is TWiT. This is the Untitled Linux show, episode 192, recorded Saturday, March 1st. You shouldn't have to care. Hey folks, it is Saturday and you of course know what that means. It's time for the Untitled Linux Show. That's where a bunch of us old young Graybeard I'VE got some gray going on. Anyway, a bunch of us Linux geeks get together. We talk about Linux and Open Source, the newest things going on, and all kinds of other stuff. We're gonna start with some real fun stories this week. It is of course the regular crew today. We've got Rob and Ken and Jeff. I appreciate all of you guys being here. Looking forward to having a good time. A lot of fun. We've already had a lot of fun. Those that join us live in the discord know. But we have a lot of stuff to cover today. A lot of stuff has been going on this week.
Rob Campbell
The rest of you have missed it.
Jonathan Bennett
All right, so Rob is going to lead us off and we are still talking about rust in the kernel. I know we talked about a lot of this last week, but there has been an update, a follow on repercussion maybe. What, what's new? Rob?
Rob Campbell
Yeah, and I know I said last week that I wasn't going to talk about rust in the Colonel drama anymore, but it just keeps going and going. It's like the Energizer Bunny, but this energy is far less positive. So yeah, last week we talked about Chris Christoph Harwigs. I might have called him Christopher, but it's Kristoff, I think. Hellwegs. I said his last name wrong this time. So last week we talked about Kristof Hellwe discontent with rust being in the kernel. You know how he objected to Rust code commits that didn't even touch the part of the kernel he was maintaining? Essentially, at least he was. He was objecting as, as a user of the code rather than a maintainer. And, and Linus had some things to say about that which we talked about last week. So go check that out if you missed that, Ken. Now this week he has decided to make himself only a user of the DMA mapping part of the kernel code as he made a commit this week to the code removing himself as a DMA mapping maintainer. Fortunately, he, he wasn't the only maintainer of this part of the code. He was a co maintainer. Merrick Skafrowski is still listed as a maintainer and Helwigs commit noted that Merrick has graces graciously offered to maintain the DMA mapping tree. Some of the comments I see on this says Merrick's pretty busy with other things, so kind of hoping he, he could keep up with this. Hopefully someone else will join along. But along with this commit, Linus Torvald has also signed off. So it's, it's It's a done deal at this time. For now, Hellwig will continue to be co maintainer or maintainer for the NVME driver, NVME target driver, personality handling and free VXFS file system areas of the kernel. So he's not going away. I'm not sure why he left that part and he's still sticking with these other things for now. But in the story from Phronix there are a lot of interesting comments.
Jonathan Bennett
You read the comments on a Pharonics article? I read the Very Brave man.
Rob Campbell
Sometimes I do, sometimes I don't, I don't know, I don't know what the criteria is. Depends how clicky of a mood I'm in I guess. I don't know. But it started out right at the top with a lot of hate and concern. People saying killing the Linux kernel calling Rust a meme language. Yet others came along after that to discuss that Rust is just kind of the obvious conclusion to Linux kernel and saying a lot of positive things. But wow, I couldn't believe right from the go one after the other against Rust. One interesting stat that someone shared is and I didn't confirm the stat. This is just what somebody said, maybe it's wrong, but he says that Rust is less than 0.12% of the kernel code and yet there is more than double as many Python files in the source tree and nobody's complaining about that. Now he does use two different metrics there. He says how much other kernel code and how many Python files. I believe he's trying to imply that there's still a lot more Python and nobody's complaining about that. Is that because Python's so much easier than Rust? I don't know. Then you know, another Pharonics article goes on. Talk about completely unrelated except for the Rust and it talks about the Zlib rs which is the Rust version of the CBASE Zlib. The Zlib RS is already outperforming the C based Zlib and you know, that's just an excellent example of the benefits of Rust. And you know, I don't know if it's developers are able to focus on performance when they don't have to worry about those, you know, Edge cases. That was it Linus or maybe it was Greg KH that talked about these Edge. I think it was Greg talked about these Edge cases in C that people are have to debug when if they're using Rust they just don't exist. So you can focus on other parts of the code. I don't Know if that's what makes it more performant, if there's something actually about Rust that's more performant. I've never really heard anyone say the benefit of rust being performance, but, you know, Zlab R Us right here is an example at least of. Of a Rust version of something outperforming a C base that's been around for years and has had a lot of time to optimize. But, you know, hoping after this, you know, this whole, the final, hopefully, hopefully final Hellwig resignation from this part of maintaining the Colonel. Hopefully we could just get back to work and the business of moving forward with the Colonel.
Ken Starks
Hopefully.
Rob Campbell
This doesn't like, slow anything down, but, you know, there's always arguments going on. Some are just not as newsworthy as this one.
Jonathan Bennett
Yeah. So I think Helwig probably did the right thing here and I would say probably good for him for realizing what needed to be done and doing it. I don't think this is quite the case of someone taking their toys and leaving. We did see someone do that in kernel development in the past couple of weeks, but just from the outside, from my perspective, I have a lot more respect for what Helbig did here. He's not a. He's not a huge fan of what's going on. He doesn't feel like, I guess, in good conscience that he can do it. So rather than cause problems, he just said, all right, I'll let somebody else take care of it. So, yeah, cool.
Ken Starks
Are you saying he became a sacrificial lamb?
Jonathan Bennett
No, I don't think so. That would be more like if Torvalds came to him and said, you're going to step down from the Colonel. I expect your resignation letter in the next 24 hours. You know, that would be more sacrificial lamb. I don't think that's what happened.
Rob Campbell
We don't know that. But he's still maintaining other parts of it, so that's probably not interesting, right?
Jonathan Bennett
It is not from the outside that that's what happened.
Ken Starks
I'm interested in one of the parts he's maintaining that personality. Handling subsystem.
Jonathan Bennett
Yeah. Yeah, I don't know much about that.
Rob Campbell
Are you hoping to improve your personality, Ken?
Ken Starks
Well, if that system works for me, why not?
Jonathan Bennett
Yeah.
Rob Campbell
I did not look into what that is. That did catch my eye, but I didn't have time to. What is personality?
Jonathan Bennett
I don't know.
Rob Campbell
Part of the Colonel.
Jonathan Bennett
I don't know much about that. Dora makes an interesting point in the comments, and I will hit this before I move on, he says. I will point out that while I'm a safer language and tooling proponent, Rust has its own edge cases and it won't stop people from making fundamental programming logic mistakes. And that's absolutely true. You're never going to be able to have a language that actually does something useful that is also completely safe. It's just not possible. Particularly when you're talking about in the kernel space. It is literally impossible for your language to be completely even just memory safe and do useful things with hardware, because dealing with hardware is not a memory safe thing. It's just not. So, I mean, Rust is not the. It is not the magic bullet. It should help things, but it is not the magic bullet to get rid of problems in the kernel.
Rob Campbell
The only way you can make it completely safe is basically take away all its power and all it's going to do is be able to Echo. Hello world.
Jonathan Bennett
I don't even think you can do that, actually. You have to be able to write. You have to write to memory addresses that are technically. That's not memory. To do anything with a computer, you have to write to memory addresses where there's no actual memory backing it. It's not your normal memory because of DMA and the way shared memory could.
Rob Campbell
Be a higher level. And all it's doing is actually running Echo.
Jonathan Bennett
Sure, you just reinvented basic. All right, Copilot or. Yeah, plenty of things.
Rob Campbell
Okay, not safe either, but go on.
Ken Starks
I think he's trying to say it's time to move on to taking away the license.
Jonathan Bennett
Yes. So, Ken, I saw this story. I have a take on it. But you, you picked it. And so give us the rundown on what the Register says is going on with gpl.
Ken Starks
Well, we can thank Thomas Claiborne, who wrote this for the Register. He wrote about the defense of FOSS licensing resting on the shoulders of a guy in Virginia. This guy's name is John Mark. And I apologize if I mispronounced the last name. I'm pronouncing it Suhai. He's the founder and CTO of Pure thank and iGov. Now, Pure thank and iGov are currently in a legal battle with Neo4J. The legal battle has moved to the United States Court of Appeals for the 9th Circuit, which will consider an effort to reverse a California Federal District court's decision in the Neo J4 Neo 4J versus Pure Thing. The California Federal District Court endorsed Neo 4J's right to amend the GNU OFERO General Public License version three, which is governing the use of its software with new binding terms. The outcome of this battle will impact the enforceability of copy lift licenses. Neo4j provided database software under the AGPLV version 3, then tweaked the license after three companies. They were the Graph Foundation, Pure Think and IGOV had started developing and distributing Open Native graph database, or ongdb, which was a fork of Neo4j's database software. According to Thomas, AGPL version 3 includes language that says any added restrictions or requirements are removable, meaning someone could just file off Neo4j's changes to the usage and distribution license, reverting it to the standard HEPL version three, Suhai said, I don't think the community realizes that if the Ninth Circuit upholds the lower courts ruling, it won't just kill GPLv3. It will create a dangerous legal precedent that could be used to undermine all open source licenses, allowing licensors to impose unexpected restrictions and fundamentally eroding the trust that makes open source possible. Now, in January, the Software Freedom Conservancy submitted an amicus brief to the 9th Circuit. The group said the lower court's interpretation, if upheld on appeal, could radically alter the community's understanding of whether and how further restrictions may be added and removed. If you want more background details on this legal battle, then read Thomas's article as well as the articles he linked to within his article.
Jonathan Bennett
So I am convinced that this is not going to kill the GPLv3. I think that is an exaggeration of what's going on here. So to be clear, what has happened is a company wrote software, released it as open source using the agpl and the company that holds the copyright then added an additional term to the use of that of that source code. So they added an additional restriction on it. And the AGPL says and some of the other GPL licenses, they will say things like, you know, you cannot add additional restrictions on the use of this software, or if there are additional restrictions, you can ignore them. And so that is what is in question here. Is it legitimate for a license to say that you can strike off a additional restrictions? And it does have repercussions. I think it has repercussions for Red Hat and IBM, honestly, because Red Hat releases a lot of code with the additional restriction that someone has to be a paying customer right to be able to get to source code and that if you share that source code you will ask to not be a paying customer anymore, which always struck me as being an additional restriction that probably should be in violation of the gpl. But all that, all that aside, this is very fascinating and it always is a little nerve wracking when the GPL or one of these other licenses get tested in court. But I don't think this one is going to be the worst case scenario that people seem to think it is.
Rob Campbell
Rob, the red hat thing, I mean, are they really adding an additional restriction just because the licenses apply to users of the software and because they kind of paywall that software, it just limits who their users are that are allowed to have that access?
Jonathan Bennett
That's the argument they would make. I look at it and think it's an additional restriction. Other people don't. It would have to be settled in court and nobody wants to fight that court case right now. Jeff?
Jeff
Well, are we sure that it's not a. Because, because the article talks about the Free Software foundation not jumping in, but are we sure that that's not a plan of. If the case doesn't go their way, then they can just appeal it to the Supreme Court and not have to spend so much or, you know, I wonder if there's some other legal maneuvering they're thinking ahead on of we're just going to let it sort itself out and if things go sideways, then here's our major move we're gonna do.
Jonathan Bennett
Yeah, it's, it's very possible. I, I would sort of be surprised to see this go all the way to the Supreme Court. Usually in the United States, when things go to the Supreme Court, it's either where you, you have a ruling that's like, so members of the Supreme Court consider to be so egregious that they feel they have to step in, or, or you've got different federal court circuits that have contradictory rulings and that's one of the big ones where the Supreme Court will step in. You know, you've got this circuit that says one thing and this other circuit looked at the same question and came to a different conclusion, then the higher court has to step in. But if it's just one ruling, they oftentimes will just let it stand unless they consider it to be particularly egregious. This is not the sort of thing that the Supreme Court usually jumps in on.
Rob Campbell
So yes, with this case here, just to sum it up, is the thought that they're thinking that in the future they're not companies or whatever is not going to be able to add the extra restrictions, or is the thought that licenses like the GPL are not going to be able to say you can't.
Jonathan Bennett
Add restrictions well, that's what, that's what the court case is there to decide. I believe what the idea that it would kill the gnu, the gpl. I think what they're warning about is that a part of the GPL license would be considered not inadmissible. That's not the right term. Yeah, it would be considered, a small part of it would be considered invalid. Right. I think that's the danger.
Rob Campbell
So the fear when they say it's going to invalidate the GPL license or whatever, it's that one part, their fear is that it's not gonna allow the GPL to say that you cannot put other restrictions on top of this.
Jonathan Bennett
Right.
Rob Campbell
That's what, and I think, I think.
Jonathan Bennett
This is, it would be a bad thing for one particular reason and that is when you go to a repository and you see that something has the GPL license or the AGPL license or even the MIT license, whatever, just by looking at what license it is, you understand very quickly what you are and are not allowed to do. But if we then move into a world where someone can say this is GPL license and oh yeah, by the way, here's all the little, you know, underlying fine print that you also have to obey like, that's, that's not good, that's not good.
Ken Starks
There is also an update on the article as of yesterday where the Register included that they understand that the FSF is now planning to file an amicus brief shortly. Oh, and Roger, I want to thank you. Was mispronouncing it. It should be sui.
Jonathan Bennett
There you go.
Ryan Seacrest
Listeners. Are you looking for a shortcut to better auto insurance for you? Something that takes all the research off your plate, Something that's easy, something that matches you with lower rates, Something genius. That's where NerdWallet comes in. Their nerds already did the work for you. Just answer a few questions and ta da. You'll be matched with top insurance providers in your area. Find the right rate for you@nerdwallet.com after all, using NerdWallet is more than smart. It's genius. Not all applicants will qualify for the lowest monthly payments. NerdWallet Insurance Services Incorporated, California resident license number OK 92033.
Hey, it's Ryan Seacrest for Albertsons and Safeway. It's stock up savings time now through March 25th. Spring in for storewide deals and earn four times the points. Look for in store tags to earn on eligible snacks from Doritos, Cheez Its and Pring or sweet treats from Haagen. Dazs, Kinder, Bueno and Reese's plus many more. Then clip the offer in our app for automatic event long savings stack up those rewards to save even more restrictions apply. Visit Albertsons or Safeway.com for more details.
Lenovo Ad Voice
Creativity doesn't wait. It moves, shifts, evolves, just like you. And with the Yoga PC from Lenovo, your tools finally keep up. Stunning, smart and sustainably sourced yoga PCs from Lenovo are designed to amplify your creativity with AI powered performance. Whether you're sketching, editing, animating or composing, Yoga moves with you adapting to your creativity, to your rhythm. With beautiful displays and the flexibility to shift from laptop to tablet, Yoga unlocks new ways to inspire and create. Because at Lenovo, we believe your tools should fuel your flow, not hold you back. Yoga PCs from Lenovo support you at every step of your creative journey. So check out lenovo.com yoga and supercharge your creativity with yoga. Empowering creators everywhere.
Jonathan Bennett
Okay, just to be.
Jeff
Clear, the only reason I brought up the Supreme Court is because it was mentioned in the article. They talked about it.
Jonathan Bennett
Indeed. Yeah. I'm just from watching the Supreme Court over the years, I really don't think this is the sort of thing that they would at this point get involved in.
Ken Starks
If they can avoid it.
Jonathan Bennett
Yeah, they can avoid it. Yeah, that's. That's their thing. Right? We don't want to. Anyway, so we've talked about two wonderful and uplifting stories so far. Let's make it three. Unless you've been hiding under a rock this week, you have probably seen that things are happening at Mozilla. And so in the Mozilla Firefox faq, there is this question that's been there for the longest time. Does Firefox sell your personal data? And the answer is nope, never have, never will. And we protect you from many of the advertisers who do. Firefox products are designed to protect your privacy. That's a promise that has been removed from the FAQ of Firefox. Now, I've been looking in various places around the Internet and I've heard some people talk about this and I have been told that some of this is because of a service that Firefox offers, ohttp, which is obfuscated HTTP, which is sort of like a vpn, and they provide it as a service. And so the fact that they provide it as a service, like in some, the way some of these laws are written, it means that they're technically selling your data. And I will say I have done a little bit of work on another open source project looking at compliance with the GDPR and the California Consumer Privacy act, the cpa. And I will say that these laws were not written by engineers, they were not written by programmers, and it seems like they were not written by people that understood at all how computers on the Internet works. Our specialist that's working with us on this as we were talking about this, he's like, you know, okay, so you have to like, every time someone's data gets moved from point A to point B, you have to, you know, specify it here. And he's like, yes. That means when it's getting moved from one place in their computer's RAM to another place in a computer's ram, technically the way the law is written, you have to spell that out. He's like, no, this was not written by anyone that had a clue. Right? So, okay, that, that said, like, I understand that these laws are weird and terribly written. And so some of the changes, I totally believe that is just because of compliance with weird regulations. Like, I buy that. However, Mozilla has not done themselves any favor in their messaging. So let's read, let's read their statement. They have a longer statement now about this. It says, Mozilla doesn't sell data about you in the way that most people think about selling data, and we don't buy data about you. Since we strive for transparency and the legal definition of sale of data is extremely broad, in some places we've had to make a step back from making the definitive statements you know, and love. We still put a lot of work into making sure that the data we share with our partners. Get this, get this. All right, here's the important part of all of this. Here's the important part. We still put a lot of work into making sure that the data we share with our partners, which we need to do to make Firefox commercially viable, is stripped of any identifying information or is shared in the aggregate or is put through our privacy preferring technologies like ohttp. So they are selling user data. That's the way I read that. Like they're trying very hard to do it the right way where they don't give away any identifiable information. Some of this probably also has to do with their agreements with Google because Google just loves hoovering up data. I know there's also been arguments made that, well, they move your data around because they're a web browser. And so of course they do. It's by definition. And I don't know that that argument holds water either, particularly in Relation to this statement, which basically comes, it's the whole. Which we need to do to make Firefox commercially viable. Like that kind of gives away the game. I think the way I read that, that gives away the games. Yes, they are selling some data. So yeah, this is an ongoing story. I assume there will be more statements from Mozilla trying to do damage control, but I'll just say last week we said, Mozilla, here's what you need to do. Make Firefox great and don't do anything that's going to make Lunduke write about you. And here we are on the, on the. Lunduke is hilarious. Obviously I don't agree with all of his takes. Sometimes I think he is more flame baity than he needs to be. But at the same time I appreciate that he's the one that covers some of these things when nobody else will. But yeah, they, they failed. They failed at following our instructions. Instructions unclear.
Rob Campbell
Listen to the show, guys. Come on. You know, really, if, if they're not selling the data, if it's. If, you know, like some people are saying they're just because they're moving around a certain way and then they put this blanket statement out, they're not selling it. It's just kind of fits that way. You know, put a technical description out. You know, I guess you don't have to, you know, call out where the data is going, just put a description, what kind of data, how it's going, link to it. For those who really care about the technology can go in, like us, read that and say, you know, we've read the tech brief. It's hard to explain, but they're not really selling your data. But yeah, like you said, it sounds like they're selling your data.
Jonathan Bennett
That statement, that statement in there makes it real hard to understand any other way.
Ken Starks
To me it sounds like they totally selling it. They're giving it away.
Jonathan Bennett
Giving it away in exchange for money.
Jeff
Yeah, I think it's, it's probably a lot of, oh, X percent of our users go to Amazon. X percent of our users do this. Yeah, X percent, you know, spend X amount of time on whatever social media site, you know, stuff like that.
Rob Campbell
But it put that in a tech brief.
Jonathan Bennett
Yeah. And so some of this too is just entirely lawyer. Some of the problem here is that you had a statement written by a lawyer and what a lawyer will write is much different than how we would write it. And someone let that get out to the public without also having an explanation. Right. So one of the other new terms of use statements that they made was when you upload or input information through Firefox, you hereby grant us a non exclusive, royalty free worldwide license to use that information to help you navigate, experience and interact with online content as you indicate with your use of Firefox. And that was another one of the ones that everybody sort of lost their minds over because it's like, what do you mean? I'm giving Firefox a license to use anything that I put into it. And they've come out and said no, no, no, this is literally just the rights you need to operate Firefox. Because we're, you know, it does not get. And they added to their statement, to their credit, this does not give Mozilla any ownership in that content. Right. So they cleaned that up. It's better, but there's, it's just not great. I'm still not 100% sure whether everything here is just terrible messaging or if they're actually making changes and they're going to start and I think this is unfortunately the case that they're going to start trying to make some money off of users data. That really sounds like what's happening.
Jeff
Well, they're talking about trying to put more AI into Firefox. So that would be one place where they're probably using the data and maybe there's some sales to AI, you know, hey, okay, you give us access to some of your user data, you know, even though it's anonymized then now we can feed it for our model and we can help better give you, we'll give you a discount because you're supplying us with data and we could, you know, there's a lot of stuff that could be going on in there, but I really do think it's like everything is probably 50 50, right? I mean half the time it's just they say things so terribly that it makes it worse than it is, but they're not fully where we want them to be.
Rob Campbell
Well, if you like the Firefox browser, but you're, you don't want to use it anymore for these reasons. There is, as Directo points out in the Discord Libre Wolf, which I have done a story on the show before, it's a very lean and security focused fork of Firefox essentially. Or it's Southern browser that uses a Firefox engine. So that's an option for you if you don't, if you don't like it.
Jonathan Bennett
Yep, yep. There are.
Jeff
I've used it.
Jonathan Bennett
No, interesting. I've not.
Ken Starks
And Mozilla get a competent lawyer for the next one.
Jonathan Bennett
I, I will say Mozilla, if you, if you want to tap me for CEO, I can, I can read over these statements. I'll even charge you less than your previous CEOs have. I'll be glad to read over these statements and slap you upside the head and tell you how dumb they are ahead of time. I can do that.
Ken Starks
Why pay somebody to do that? Well, they can just let us do like we're doing right now.
Jonathan Bennett
Ah, it's best not to have these discussions in public. You want to catch. You want to catch dumb stuff before you accidentally go say it in public.
Jeff
They could sponsor the show.
Rob Campbell
Just buy me enough coffees and I'll read through it for them.
Jonathan Bennett
There you go. All right, Jeff, let's talk about Curl, Daniel Stenberg, and a whole bunch of C code.
Jeff
Well, this story is going to continue our series of friction with the Rust language. Now, it's not as bad as it sounds. Nobody's in a fight. But in a conference, specifically the Fosdem, I guess, Fostem conference, which is an annual open source conference, Curl creator Daniel Stenberg promised to show his audience things to do in order to sleep well while having your C code in 20 billion installations. In his talk, Stenberg says he believes 20 billion is actually a low estimate for the number of Curl installations in the world. And admittedly, getting an accurate number would be really hard. In his talk, he did say, but of course, we write this in the safest possible language because Curl is written in the C programming language. This did draw a nice laugh from the audience. And in his talk, he also continued with a little bit of humor by having a parody of an O'Reilly book. Now, the O'Reilly books, for those that don't know, these are the animal books that a lot of programmers and computer enthusiasts use. The fake book cover said, rewriting Curl in Rust, a weekend project. And it had a tagline that said, telling others instead of doing it yourself. So Stenberg did say, it's a very popular book, but no one has really finished it now.
Rob Campbell
Not even the writer.
Jeff
Not even the writer. Now, the reason he says all this is, and he's poking fun at Russ, but it applies to any language, is he says curl consists of 180,000 lines of C code, and he does maintain that it's 1.14 times the length of the novel War and Peace. He also said, it's actually quite a lot of code for what it is. It transfers data, in case you weren't sure what the Curl program actually does. He goes on to say they're not going to rewrite Curl in any language. And he did acknowledge that Rust is possibly a great language and third party dependencies can still be written in Rust, and he envisions more of that will happen in the future. But Curl's current code base is written in C, and he says we're just patiently iterating and polishing over time. There's not going to be any rewrite. Not only are they sticking to C, but in the Curl program they banned a bunch of undesired functions that are easy to use the wrong way. For example, the Get S function, which has been called in other places the devil's tool for creating buffer overflows, as well as scanf, string, copy, and printf. Stenberg goes on to say, it really doesn't matter how experienced you are. Some functions in the C standard are really not advisable to use in any code. And we check for them with tools. They're banned and checked so they cannot be snuck in even by mistake. Basically saying those functions I listed, if you try to write them into a merged patch or whatever in the Circle C code, it's going to get rejected because it's going to get flagged. Now he does go on to talk about all the different testing they do to make sure there's no memory leaks, no crashes, you know, everything exits cleanly. And they have. The way they do it is they have automated processes to do this. They have a continuous integration test, for example, which ends up running more than 400,000 tests for every pull, request and commit. Basically, they're working hard to make sure that there's not any kind of error in Curl. He does cover some of the CVEs found in the program, and in 2016 they found seven, 2022 resulted in two, and in 2024 they found zero. So they're very encouraged by the fact that the number of CVEs they're finding keeps going down. There's a lot more to the article than what I'm covering, because I'm just covering a few of the highlights. But the bottom line is they're not rewriting Curl in any language because they're at the point where they're just polishing and bug fixing and any kind of major rewrite in any language, not just Rust, but any language, is going to allow vulnerabilities back into the program. It's felt that a rewrite would not gain any security that they've already built into their process for the program as they have it now. Take a look at the article in the show Notes. Like I said, there's a lot more information, quotes, data in there that I didn't cover just for the sake of brevity. So, you know, make sure and, and make sure if you're really pro Rust, you take this very light hearted manner that Stenberg meant, meant it in. So.
Jonathan Bennett
Yeah, I, yes, Stenberg is great. By the way, I'm intervening for Floss Weekly. I think the Curl project is a really good example of taking a C project and doing it really well. And they. Where's I going to go with that? You can take the C language and between a combination of continuous integration tests, debugging and rules like this, you can make it almost as bulletproof, I think, as something like Rust, because it's the same tools, it's the same techniques, just one is built into the compiler and the other is built into your CI. So it's, you know, it's sort of a blueprint for the rest of the C programs out there, like if you really want to get it right, but you don't want to go with the rust. And again, Rust is not a silver bullet. You can have logic errors in your Rust code easy enough.
Ken Starks
Probably even a good blueprint for Python code.
Jeff
Well, any, any code, I mean, could. Yeah, because like where they found certain functions that are problem functions, say, okay, we're not going to use this. You've got to use the better, more memory safe functions. And there's a lot of testing that I didn't even go into that. They do, I mean, that was just one example of what they're doing for testing. They run a ton of tests on there just to hammer it. Now I will counterpoint too and say Curl has a luxury. They're not going under major rewrites all the time. They're not. I mean it's not a program that's making huge evolutionary changes. It's, you know, they're kind of tweaking and adjusting and putting some finer polish on points, but it's not like it's all right, we've got to really add this wide range of features to it so it's a little more stable, which helps.
Ken Starks
Yeah, for that matter, even Basic's not safe because with Peek and Poke you can do a lot of damage.
Jonathan Bennett
Yep, peek and poke, that's, that's arbitrary memory. Read and write. Goodness, you're there.
Rob Campbell
You know, these protections for Curl probably work for Curl that it's, you know, it, it's a very basic tool does basically one thing. I mean, it's. It's a tool that does.
Jonathan Bennett
Lib Curl gets used in so many different things for doing so many. But it is not just downloading over HTTP.
Rob Campbell
It's not like it's a full GUI application with so many different things going on and so many different features where you can limit the functions you use.
Ken Starks
That's what you use Bash for.
Jonathan Bennett
Go take a look at the number of protocols that just libcurl supports. It is nuts. It is not a simple single use tool. I know it seems like it should.
Rob Campbell
Be, but what else does it do.
Jonathan Bennett
Besides transferring live streaming?
Rob Campbell
Transferring data.
Jonathan Bennett
Okay, so all the computers ever do is transfer data, Rob.
Rob Campbell
Okay, but transferring over a network, I mean, it does have like a GUI.
Ken Starks
With actually you can use Curl to copy a file from one drive to another with a proper syntax.
Jonathan Bennett
Yeah, so think about it though. So Curl supports what, HTTP, FTP? I think, yeah, it supports a lot.
Rob Campbell
Of protocols, but still a lot of protocols.
Jonathan Bennett
On top of all those protocols, you've got all of your, like SSL layers, the encryption and stuff. So like the number of combinations that Curl has to support gets astronomical because of all of these protocols it supports.
Rob Campbell
Okay, so a web browser also supports pretty much all those things, plus it has to do all the formatting and you know, all the other features that comes with the web browser. So my point is, if so we.
Ken Starks
Get a replacement for Firefox by using Lib Curl and building a GUI around.
Rob Campbell
It, you probably could I. How good that would be. But, but still, I mean, my, my point is you. You probably can't limit all programs, you probably can't block out all programs to these problematic C functions. Otherwise, if you could. I mean, you probably can't block them out and not lose functionality. Otherwise, if you could. Why doesn't C just get rid of them if they're not needed?
Jonathan Bennett
That is an interesting question.
Jeff
Probably legacy.
Jonathan Bennett
Yes, there's a lot of legacy programs. It would break. I will say that if you are writing new C code, you should absolutely follow their rules and do not use. Let's see, scanf and what are some of the other ones that they mentioned there, those function calls that they mentioned there. Do not use those because there are such better ones. So those are things like, just so, by the way, like it's. It's things. It's things like a string copy that the only way that it stops copying is that it hits the. It hits a null at the end of it. Right? So like it has no clue about what the maximum number of bytes are. If that null is not there, it will just continue copying off to infinity if you let it. Whereas the better way to do that is to say copy until you hit a null, unless you max out at this many bytes, which is the number of bytes in your buffer, and then stop. So it's some really basic safety things that every C program should really be doing. It's just we didn't realize for the first 20, 30 years of writing C code that we were going to have a literal warfield in the midst of how programs execute. And so nobody thought about it until 20 years ago.
Rob Campbell
That legacy reason, though, I, I don't buy that. I mean, if that's the reason, it's not a good reason. Because programming languages drop old functions all the time. You know, I, I've started with PHP, I've had to upgrade, upgrade functions from 3 to 5 to 7 because they deprecate things. And it really kind of irked me. It's like, why can't you just make the new function function, I mean, be written the same as the old function, just work different underneath. That's the part that always irked me. But the point is they do that stuff all the time. I've dealt with it often.
Ken Starks
So could somebody write that C standard function, rewrite it within Rust to incorporate the changes you made? Jonathan? Oh, and then have that be called from within a C application?
Rob Campbell
You could.
Jonathan Bennett
No, you probably could, you could, you.
Jeff
Could call it in there. But I mean, part of that is it you're kind of. Some of the older programs would depend on how it actually works and if you change its functionality, it could break things and, and it, you know, it's, they're, they're being extra secure. Maybe this, the C programming people aren't as concerned about it and they're kind of. Well, it's up to the user. You know, we've got the tools in here. It's up to you to be responsible with, Responsible with them. And it's not our job to hold your hand. I don't know. I could, I'm speculating.
Rob Campbell
But the one thing, like I said, that I can majorly speak to his PHP and literally every major version. I had to fix my website.
Ken Starks
Rob, I've got a challenge for you. Show me a project that's doing this.
Rob Campbell
Doing what?
Ken Starks
Converting from C to Rust.
Rob Campbell
Oh, well, I know that apparently Curl thinks it's too big of a task, but other programs can do it. So. I mean, is it really that hard to port to Rust from C. I mean C in this case really. But you know, even Fish goes rust. For those unfamiliar with the fish shell, it's a terminal shell like Bash or zsh, yet with what some might call a more user friendly interface. I mean it's going to be different if you used a Bash, but it's kind of designed to be friendly out of the box with handy features such as auto suggestions, more obvious error messaging, syntax highlighting and interactive man pages for command options. There's even a web based configuration that, that I really realize and really a lot more than that. You know, being so used to Bash myself, I've only played with Fish a little bit, very little. And I've never really, I never made it my shell or dug in too deep. But I think that's something I am going to do and demo on the show in a one of these future episodes. But I have a different series in mind for the next few weeks. But I will bring the fish shell to everybody and do a deep dive. But back on topic this week Fish 4.0 has been released and the major change under the hood is the code base has been migrated from C plus to Rust. The whole thing, it's, it's not just parts of it here and there, it's, it's, it's all just Rust. Now this means the build process and dependencies are different from what they were before. But they say the end user experience should remain mostly unchanged, you know, except being Rust. Which means it's going to be better, right? For those familiar with fish, fish 4.0 brings some other new features such as a new bind key notation. Random will now produce different values from the previous Fish version when using the same seed control. C will now clear the command line by default. Fish can now be built as a self installing binary. And for those who care about this, some WSL adjustments were made for Windows fans like our very own David who joins us every once in a while and a number of other updates. So why Rust? Other than the obvious reason, you know, we've been just discussing on the show almost every week lately. It's awesome. But the other reason is really, which is kind of like the system 76 guys. The devs just like it. Basically the devs really weren't happy with the with C and Rust knew that or they knew the Rust, they knew Rust and it did everything they needed to do. One of the other things I'm still starting to learn by going through these comments in Pharonics is, you know, all these Rust Comments and all these Rust stories is that Rust is way more of a polarizing topic than I really realized. Many love it, and that doesn't surprise me. But what surprises me is how many negative comments are about Rust in the comments section. You know, like my previous story, I said there were some negative comments on here. It's. It's just the same kind of things that I don't know why people hate Rust. I mean, I've done a little bit of C years ago, just kind of dabbled. I looked at Russ, I was like, ah, nah, that doesn't look fun. So I don't know any more than that. But, you know, I'd love to hear some, some actual feedback from others out there who hate Rust and why or I mean, we all know why people love it. I. That's. Those are the kind of people I'm used to hearing from. I'd like to know from these people on the Internet why hate it. No one really gave a good anything. Any. Any good information about why they hated it was just very general hate for it.
Jonathan Bennett
But yeah, yeah, I could, I could tell you. I could tell you some of that. Right? So one of the reasons people dislike Rust is that for. For one thing, they're annoyed with every time there's a security security or any kind of problem in an application, the you should have rewritten it in Rust. That gets annoying really fast because most of the time that's a dumb thing to say.
Rob Campbell
The other, okay, yeah, but I mean, that's nothing. Doesn't mean making anything wrong with Rust. That's more with the problem with the Rust fanboys.
Jonathan Bennett
Well, so this is, this is a thing that people tend to conflate the fanboys of a project with the project itself. That happens a lot. And then you've also got. I think this is pretty much all of it. Like the few people that have criticisms of the Rust language itself that I've heard, and I have some of these because I've done a little programming in Rust. Certain things about it are very different from the C C paradigm and that takes some time to get used to because it is a different way to program. But most people that I've talked to that have kind of gone through that, it's like after you stick with it for a few months and you get a little bit better, a little more used to it, people tend to start appreciating it. Right? So it's usually not the language itself. Usually the problem is, know the fanboys that make these annoying statements or the idea of Being forced into using it. And nobody likes being forced into using it.
Rob Campbell
Yeah, but even that other, that second segment, that second reason you say, you know, people don't like the differences they're used to see, they don't like Rust, you know, I mean that's not, that's a reason to not want to program in it yourself, but that's no reason to hate that other people want to use it or that other things are in it, you know, why hate a program for being written in Rust just because you don't like to write in it?
Jeff
Well, sometimes I think it's because people look at it like the new flavor of the week and you know, they're like, oh, it's going to be a flash in the pan or it's not going to stick around. It's, you know, and I think there's just some natural. It's, it's everybody's favorite thing to hate, you know, and I think really it's one of those things where time is going to tell how it's going to age, you know, give it another 10 years and.
Jonathan Bennett
Absolutely.
Jeff
But still the new hotness and still going, running great. Or has something else taken over and it's lost some of its luster?
Ken Starks
I'm gonna give you two words. Change. Inertia.
Jonathan Bennett
Yeah, that's part of it. So everything has been written in C. All the important stuff has been written in C for so long. Don't at me. I know what I said. All the important stuff has been written in C for so long. You come along with the new systems language, you say this is the one to use. Well, of course people aren't going to appreciate that.
Rob Campbell
Yeah.
Jeff
Rust itself has admitted that you can't fully replace C with Rust. There's some of the low level stuff that Rust cannot do.
Jonathan Bennett
I think with the unsafe keyword you can do all that. Most all of that stuff in Rust.
Jeff
These days, they have fixed it.
Jonathan Bennett
Yes.
Jeff
Okay.
Jonathan Bennett
To be able to put it into the kernel. Actually the Rust language evolved a lot to be able to get it into the kernel to that point. There is actually the. Is it Redox, the Rust kernel that is intending to potentially be an alternative to Linux. I was almost said replace Linux. That's not quite accurate. It's an alternative.
Ken Starks
Not yet.
Jonathan Bennett
I mean, who knows, in 30 years maybe. So yeah, they've actually added all that stuff and it's all gated behind the unsafe keyword because they know like you're dealing directly with memory addresses. Of course it's unsafe, but at the same Time. That's what you've got to do to.
Rob Campbell
Talk to real hardware to, to add on to that thought. You know, if you're, you know, if you don't like it, you don't want to program it, don't program in it. I guess one scenario is if you are an actual contributor and something you contribute to is moving to Rust. I can understand people not liking that, but it's kind of like the whole Linux rust in kernel. Rust in the Linux kernel argument is as a user, like Linus says, as a user, you have no real reason to hate it or love it as long as it works for you. If you're a contributor and it's messing up your workflow, okay.
Ken Starks
Like I said, changes.
Jonathan Bennett
I think there's probably like another argument to be made here that rust is sort of a rust. Programs are sort of a pain to package because of the way Cargo works.
Rob Campbell
I do kind of dislike that actually. When I've installed, and I've installed Rust packages, I could see that.
Jonathan Bennett
But that's not just a Rust problem. There are a lot of other languages that have that same problem.
Rob Campbell
So I mean, hopefully that gets more streamlined to install like everything else. But maybe that's a wishful thinking.
Ken Starks
We could easily get off on a tangent about how some packages or package managers can introduce security risks.
Jonathan Bennett
Yeah. Yep.
Ryan Seacrest
Listeners, are you looking for a shortcut to better auto insurance for you? Something that takes all the research off your plate. Something that's easy, something that matches you with lower rates. Something genius. That's where NerdWallet comes in. Their nerds already did the work for you. Just answer a few questions and ta da. You'll be matched with top insurance providers in your area. Find the right rate for you@nerdwallet.com after all, using NerdWallet is more than smart. It's genius. Not all applicants will qualify for the lowest monthly payments. NerdWallet Insurance Services Inc. California resident license number OK 92033 Creativity doesn't wait.
Lenovo Ad Voice
It moves, shifts, evolves. Just like you. And with the Yoga PC from Lenovo, your tools finally keep up. Stunning, smart and sustainably sourced yoga PCs from Lenovo are designed to amplify your creativity with AI powered performance. Whether you're sketching, editing, animating or composing, Yoga moves with you, adapting to your creativity, to your rhythm. With beautiful displays and the flexibility to shift from laptop to tablet, yoga unlocks new ways to inspire and create. Because at Lenovo, we believe your tools should fuel your flow, not hold you back. Yoga PCs from Lenovo support you at every step of your creative journey. So check out lenovo.com yoga and supercharge your creativity with yoga, empowering creators everywhere.
Ryan Seacrest
Hey, it's Ryan Seacrest for Albertsons and Safeway. It's Stock up savings time now through March 25th. Spring in for storewide deals and earn four times the points. Look for in Store tags. Turn on eligible snacks from Doritos, Cheez Its and Pringles, or sweet treats from Haagen, Dazs, Kinder, Bueno and Reese's plus many more. Then clip the offer in our app for automatic event long savings. Stack up those rewards to save even more restrictions apply. Visit Albertsons or Safeway.com for more details.
Jonathan Bennett
All right, Ken, that feel felt like you were trying for a segue, but your next story is about Cosmic Desktop, so I'm not sure what exactly the segue was, but okay, let's talk about Cosmic, though I think it's time.
Ken Starks
I'll be more than happy to, especially since this one's from Bobby Borisov. He reported on System 76 officially unveiling Cosmic Alpha 6. Hard to believe we're that far into it. When Bobby described one of the latest additions, Desktop Zoom, I learned about some handy shortcuts that KDE also uses for the same feature. The super and the equal sign to zoom in and super and the minus or dash to zoom out. Now that's the one with the underscore on it also, so you don't try the other minus sign. He also mentioned another shortcut that you can use with the super and the mouse scroll for scrolling in and out. There's also another new feature that's introduced by Cosmic Alpha 6. It's a desktop view. You can access the Desktop View feature by right clicking on an empty desktop area and then choosing Desktop View options. Now you have toggles to hide or display desktop folders, drives, and even the Trash icon. You can even customize icon sizing and grid spacing. Then there's workspaces, which receive some updates to include scrolling between workspaces in the overview as a quick and easy way for navigating to your intended destination. You can also toggle on floating windows, gravitate to nearby edges in Window Management settings, which will automatically align the window's edge to the adjacent screen border when dragged close to it, removing the struggle of aligning it with the edge manually. I'm surprised KDE doesn't have that feature for power users. Relying heavily on the Cosmic Launcher, a scroll feature now appears to view additional matches if A search yields more than 8ft results. Furthermore, selecting Power off restart or log out in the launcher triggers a neat countdown timer, mirroring the behavior found in the power applet. I recommend reading Bobby's article to find out about the upgrades to file management and Cosmic Media, as well as what Bobby didn't like. Otherwise I could be here the rest of the show.
Rob Campbell
Hold on, Ken. You totally missed the whole theme of the show here and you forget to. You forget to even bring it up. Cosmic is built on Rust.
Jonathan Bennett
How did that.
Rob Campbell
Not even.
Jonathan Bennett
I mean, so in fairness, we've had enough Rust. This is one of those stories where you shouldn't have to care. Shouldn't have to care whether it's written in Rust or not. It shouldn't have to care what language it's written in.
Rob Campbell
You shouldn't have to care anytime, unless you're a contributor.
Jonathan Bennett
You shouldn't have to care.
Jeff
We got ferrous oxide all over.
Jonathan Bennett
Yeah, I hope not. When do you. When do you guys think that Cosmic is actually going to go for a stable release?
Jeff
Alpha 6, it's going to be.
Ken Starks
Hopefully they hit beta by the end of this year.
Jeff
I think it'll be stable 1Q26.
Rob Campbell
I think. I already. I think at our New Year's thing, I said it would come out this year, but it seems to be going slower than I hoped. I mean, I felt like it was so close to being there last summer to me. So when I. When I tested it, I'm so.
Ken Starks
I didn't realize they were up to Alpha 6 when I was reading this article here. It's only, well, March now.
Jonathan Bennett
Yeah. I saw on X that the CEO, Carl, I believe that's his name, made a statement that he's like, we're not going to predict any more release dates. We got those wrong. We're just going to. When it's done. So we will see.
Jeff
And I think that's the way to do it. That way you're not trying to hit some arbitrary date and put out something that's substandard.
Jonathan Bennett
Yes.
Jeff
It's done when it's done.
Jonathan Bennett
Yep.
Jeff
Kind of like good barbecue.
Ken Starks
And he'll be home again after it's done. On Floss Wiki, you know, as.
Rob Campbell
As. As far along as it was last summer. I haven't tried it since then. And they've gone through, what, five other Alphas since then, or they're on the fifth since then because I think that was the first Alpha. Maybe it's the second. I don't remember. Yeah, but I Don't know. I'm surprised there's still alpha, not, you know, beta.
Jonathan Bennett
Beta. Yeah.
Rob Campbell
It's arbitrary really.
Jonathan Bennett
It is sort of. And a lot of it comes down to like how many bugs and what kind of bugs they find, how much stuff is missing still that they suddenly discovered that, oh, that has to be there before we can do a release. So there's a lot that goes into it.
Rob Campbell
All right.
Jonathan Bennett
All right. Speaking of releases, we got some news about some video cards. I don't think we've talked much since the announcements about these. Jeff, what is the new Radeon cards and what's the news that you've got on them?
Jeff
Well, if you're into graphics cards and gaming, you've likely heard that AMD has officially announced the Radeon RX9070 and the 97 XT offerings. While they were initially set to be announced at CES in January, the announcement was postponed, allowing the graphics cards a bit more time before the official release. This current release is purely informational as of yesterday, 28 February. The actual numbers from reviewers are expected next week. Basically next Thursday is when they go for sale and the third party reviews can go out. Michael Arable at Phronix was at the launch announce announcement and during the announcement he acquired. He inquired about Rock m support for rdna 4 gpus at the launch. Rdna 4 GPUs being the 9070 and the 9070 XT for those unfamiliar too. Rock M is AMD's competitor to Nvidia's CUDA. Both ROCM and CUDA are part of the compute stack for their respective GPUs, yet it's used for AI blender renders, fluid simulations, you know, similar computational tasks. It's not something you run into for gaming or if you do, it's very niche and rare. These are for scientific type workloads. The significance of this is that Nvidia's CUDA currently dominates scientific and compute workloads and CUDA is proprietary and exclusive to Nvidia GPUs where ROCM is an open compute stack. AMD has been investing significant effort into rocm, aiming to compete not just in gaming, but also the compute domain. You can read in AI as well, since that's also a very lucrative market at the moment. RACM is designed with the aid of tools and some small tweaking to be compatible with cuda. So the idea being that developers can take their existing CUDA code and easily transfer it to RACM so that then they can purchase AMD cards AMD has confirmed that ROCM support is coming, but it just won't be available on launch day. Now they have been actively engaging this is AMD has been actively engaging with developer communities to ensure ROCM's efficiency on the hardware side. Ease of use for developers use, you know, they want to make it a very smooth and capable tool set. Michael did mention he didn't get a solid date for this and despite follow up attempts via email, has yet to receive a response. So Michael, you know, said that he'd be okay if it was a short delay for some quality assurance. You know, it wouldn't be too bothersome but if it's an extended day such as months, he's gonna, he's, he thought it was very, it'd be very frustrating if it, if it took that long to get things rolling. Now if you're new to the compute side of the GPUs market, AMD's 7900 series cards along with Radeon 7 cards currently support Rock M. So they do have support today for the for ROCK M. Other AMD cards might work or have unofficial support. You know they're kind of in that give it a shot. It may or may work, may or may not work, but they really put their force behind the powerful cards because it's to handle large compute tasks that you know you're going to use Rock M or Cuda when you've got a lot of heavy compute and lower end cards just don't have the benefit to put a lot of resources in to try to support them. They a lot of times they, if you're running a lot of heavy Rockham or Cuda, you need more memory. You need, you know, you're doing really heavy compute workloads. You don't want to use just the very low end card because it's not going to gain you much benefit and probably doesn't have the hardware or memory to support what you need to get done. Check out the article in the Show Notes for more details. It includes several links to supporting articles on ROCM compatibilities Matrix amd's unified AI which deals with that as well. And there's also Nvidia benchmarks linked in the article with COMPUTE and CUDA results. So there's a lot more background information on these COMPUTE results if you so desire in the article in the Show Notes. Personally I hope AMD excels with ROCM as Nvidia needs competition in the compute side right now of GPUs. Nvidia is basically Owning it right now, you know, and I'll be honest, that's the major reason I have an Nvidia card in my computer right now. I would love to have Team Red as an option in the future. So come on amd, you got this, you can do it.
Jonathan Bennett
Yeah. I think it's worth saying though that we're quickly approaching the point to where regular people are using CUDA and ROCM for doing stuff. Whether it's generating pictures, being able to run something like the Deep SEQ LLM locally using inside Blender to accelerate that. There is beginning to be, you know, some, some real use cases for these outside of your, your huge industrial, non industrial but your, your big computer, you know, data center stuff.
Jeff
Right.
Rob Campbell
I mean they're not big computer data center, but I'm not sure if I'd call them regular people yet.
Jeff
Well, it's, I. So you're doing it more on a smaller scale if you're just playing around with Blender doing some stuff like that. They're focusing right now on the high end cards because they're trying to capture those really prosumer, semi professional people that really have to get, get some of this data crunched in a expedited amount of time.
Jonathan Bennett
Okay. Okay, so that's, yeah, that's an interesting thought. So like AMD with Rock M they have their officially supported cards and you're right, those are all the Pro cards. Those are your workstation and Pro cards cards but they've got code written in there to support a bunch of consumer cards too. My card that runs in my desktop, definitely not a Pro card, definitely not a workstation card because that is cheap. It works with ROCM and I get to do, you know, some image generation with that. I can throw in a prompt and say hey, I want to see. You know the other day I was like give me a picture, make me a picture of the four hosts of the Untitled Linux show. And of course it looked nothing like us because the model I was using had no idea what we looked like. But just the fact that you can do that on your own machine and not have to use one of the online services, that's pretty cool. So there is beginning to be more and more use case for that. And I think you'll see here soon you'll see people doing more things with like let's run LLMs in a video game so that we have unique dialogue and we have, you know, the, the characters look different every time you play. And I think, I think things like that are coming. I think it's inevitable that companies are going to start taking advantage of that and trying to do those cool things.
Ken Starks
You just need them to open source the software so that you could do it yourself.
Jonathan Bennett
That would be nice.
Jeff
It. It is open source. Hip and Rock M is a lot of it is open source. No, keep in mind. Is it. The big thing to keep in mind right now is they're focusing on the higher end cards, but once that really gets rolling, it will then trickle down to the lower end cards. It's just they've got to establish the foothold in the professional level first fight Cuda and then it'll. The support will extend. So back to Ken's segue.
Jonathan Bennett
You've also got the like the professional level cards. Those are the ones that need it to say because that's you're doing it in commercial. Those are the ones that need it to say it's officially supported. Those of us that are playing around with it, we don't care if it's officially supported. We care whether it works or not. But if you're in some big corporation, you've got to have that stamp of approval that says, yes, this is officially supported. You can get support for it and blah, blah, blah, blah, blah, all of that.
Jeff
Well, and sometimes official support means that, okay, every single instruction is supported, but that could be, you know, it's got to include that weird instruction that's maybe only used in Fluid Dynamics or something like that where 90% of it works, which handles 99% of your use case. But because it's not that that corner case doesn't work, they can't say officially, but you know, you and I would never notice it because it just works for what we do.
Jonathan Bennett
Yep. All right. Rob is chomping at the bit. I can't tell if he wants to make a comment on this story or if he wants to go to his story. Either way, I'm going to start with.
Rob Campbell
A comment in that I can confirm that copilot, the web, on the web has no idea what we look like either. It is something else.
Ken Starks
Do I look better?
Rob Campbell
Well, we all look a lot younger. It's a diverse community. Two of us. Two of us appear to be female, so wow, I guess I should have gave a little more of my prompt. But it has no idea who we are. What's wrong with you? Come on, Microsoft. Anyway, on to other topics that may involve GPUs and gaming and things like that. Okay, this isn't exactly a Lennox story either.
Jonathan Bennett
Yet.
Rob Campbell
Yet it's not Linux story. Yet, but it is open source so I'm hoping someday it turns into a Linux story. One of my favorite games from my younger days. I wasn't a child anymore, but I was younger, much younger than I am.
Ken Starks
Today was how much younger?
Rob Campbell
Late 90s. So I'm not doing math. That's. This is not the Untitled Mass Show. One of my favorite shows, not shows games. My favorite games was Command and Conquer. Cnc, which it's often abbreviated as was a real time strategy game where you would. You build up your base, your, your army and, and you go after, go after the enemy through different stages. It's kind of hard to really explain. In some ways it's kind of like civilization, but not turn based.
Jonathan Bennett
It's a real time strategy game.
Rob Campbell
It's a real time. It's a real time strategy game or, or you know, Factoria without the automation. But it, it's, it's maybe not the first, but definitely one of the earliest, earliest real time strategy games. At least one of the good early ones. Anyway, I love these games and this week Electronic Arts has open sourced several of these games including Command and Conquer, Red Alert, Tiberians, Tiberian Dawn, Renegade and Generals. And I'm pretty sure I've played all these. I, I did have like a, a package of them at one time that had found everyone in there. So these have been licensed under the gpl, which I don't know if they have any extra restrictions about the gpl. So please somebody make this a fork or, or whatever you got to do to. To free Civ or whatever you got to do to to. So, so that way I could play this on Linux. It might be playable on Steam because they did add some stuff to Steam I guess last year and I didn't know about that. But also if you're gonna make this, you know, a native Linux game or whatever, consider. Consider that this game dates back to 1996. So that's 28 years ago. 20. What year is it now? 25, 25, 29 years ago. And so it does include some older dependencies such as DirectX 5, which Microsoft did recently open source a lot of the DirectX. I don't know what versions or I don't know, maybe you could take that too and just slap this all together. But I'm still hoping maybe someone can modernize these games, make them available, like be pretty awesome. Additionally, as I was saying, CNC was remastered and brought to Steam last year. So I read. I have not checked that out yet. And now EA Electronic Arts has enabled Steam Workshop support for more Command and Conquer titles and I didn't know what that meant so I had to look into it. And basically it means that that users will be able to do things such as upload their own custom maps and EA has also updated all their mission editors and world Builder tools so you can publish maps directly to Steam Workshop. And to top this off, to support the Steam Workshop, they're releasing a CNC modding support pack which contains the source XML schema script, shaders, map files for all the games that use the Sage engine. So there's a lot of things available for what I think if I, if I haven't played it in quite a few years but I, I have played it from time to time over the decades, I've come back to it it. They are great games, I love them. If you haven't played them, well, I don't know if you'll love them too, but you should. So I think it's time for me to flashback to my more youthful days and indulge in some classic Command and Conquer.
Jonathan Bennett
Yeah, I have fun memories of the Command and Conquer games.
Jeff
I like that Rob's our expert and is not really sure what year it is. That tells you what kind of expert he is, right?
Jonathan Bennett
I mean, if you're talking about retro gaming, that's sort of a requirement. What year is it now? Yeah, I'm a little, I'm a little sad that the game the old Community Conquers game that I played the most of is Tiberian sun and it is not part of the release.
Rob Campbell
No, Tiberian dawn is. I mean, it's close.
Jonathan Bennett
Yes.
Rob Campbell
I, I almost feel like they keep making more. I mean they seem to be making progress towards this. Maybe they'll all be coming out eventually. I don't know. Hopefully, maybe not.
Jonathan Bennett
Or. And it's hard to say. It's like. It's hard to say why like. So did Westwood hire some other developer to write part of this? And the contract didn't specify that Westwood would take ownership of all the code but like there's all sorts of things that can happen inside of a proprietary code base that make it real difficult to release the source.
Rob Campbell
They all have, have very similar game plays. You know, being open source, somebody could make some maps that are similar to these other ones and, and kind of make it for you now.
Jeff
And that's where you get AI remember.
Ken Starks
Correctly, with it being released in 96, wasn't it being using the Microsoft DirectX 5 SDK?
Rob Campbell
Yep, yep. That's what I said.
Jeff
Yep.
Rob Campbell
I didn't say the word SDK, but DirectX 5.
Jeff
I will admit to something right here, being kind of one of the gamer people on the panel.
Rob Campbell
You haven't played it?
Jeff
I've never played it.
Jonathan Bennett
They're fun games. They are. Now, I will say that real time strategy is probably not everyone's cup of tea, but they are fun. They're fun games.
Rob Campbell
They are some of my favorite games of all time.
Ken Starks
They can be fun. But if it's a real time strategy mmo that runs 24. Seven, it can be devastating too.
Jonathan Bennett
They made some of those, but this is not that.
Rob Campbell
You could. You could play multiplayer. I mean, it wasn't 24. 7 like that either, but.
Jonathan Bennett
But there was multiplayer mode for it. Yeah. Yeah.
Ken Starks
I'm just thinking of one that I got addicted to about 10 years ago. World of Warcraft Never Quest, Magic Rush Heroes.
Rob Campbell
Never heard of it.
Ken Starks
It's an Android, but I played it on Android devices.
Jonathan Bennett
Yeah.
Jeff
Oh, I don't play games on my phone.
Jonathan Bennett
Lucky you, man. I've. I've had to just shut it down. I have. I have a card game on the phone. I have a different card game on the tablet. And that's it. That's my only gaming on the phone because otherwise it just does not work well.
Jeff
Oh, it frustrates me. It's too small of a screen. I don't have keyboard and mouse and I'm like, true, true. Torques me off.
Jonathan Bennett
All right, you could.
Rob Campbell
There's Bluetooth, you could have a keyboard.
Jonathan Bennett
So let's move on to the motion control subsystem. Ken, what in the world is a motion control subsystem? What do we want this for?
Ken Starks
Well, it's actually a Linux motion control subsystem, and Larabel wrote about a set of patches proposing the introduction of a Linux motion control or LMC subsystem that was posted to the Linux kernel mailing list this week for drivers that could control devices like CNC machines and 3D printers. There's what we could want it for. Now, David Jander sent out the Request for Comments patch series for adding the LMC subsystem to the kernel. In it, David explains this subsystem defines a new uaip. I'm assuming that's user aip, but I could be wrong for motion devices on the user space side, as well as a common functionality for hardware devices device drivers on the driver side. The request for comments also mentions that Linux motion control may affect other projects such as Linux CNC and Klipper for example, now David also mentions the code is already in use controlling machines with up to 16 stepper motors and up to four DC motors simultaneously. Michael notes that the Linux motion control subsystem infrastructure and 2 example motion drivers currently use a combined 4000 lines of C code. Now repeat again. C code. Since I've only touched on what Michael wrote, I recommend following the link in the show notes for his full article.
Jonathan Bennett
This is interesting. So you could make a 3D printer that actually runs Linux or you could.
Ken Starks
Have Linux running several 3D printers or several.
Jonathan Bennett
Yeah, yeah, cool. I could. Yeah, this is definitely interesting. I imagine this sort of thing would even be useful for the folks that do like Linux inside of vehicles, right? A lot of the self driving cars and cars with even driver assistance run Linux inside of them. All kinds of, all kinds of fun.
Ken Starks
Stuff in this and I'm gonna. And if you throw in some code that would allow the system to act intelligently, it could maybe drive itself.
Jonathan Bennett
That's the idea.
Jeff
And they talk about the real time kernel and you know, so there'd be a lot of devices that could tie in with both industrial medical safety.
Jonathan Bennett
So you probably, probably what is happening in a lot of cases is where someone goes to design something like this. They've got a Linux brain and then they've got little microcontrollers that are connected over UART or SPI or I2C. So you know, one of those kind of serial formats where the Linux controller says hey, here's what I want you to do. And then the microcontroller is running some kind of real time, little tiny real time operating system and it can do those controls in exactly the right time. And so now they're saying, you know, if you're using true preemption, real time, the real time kernel, you can just do all that directly and not have to have that extra microcontroller. So that's going to make a lot of sense for especially like smaller simpler devices because you can do them a whole lot cheaper. You don't have to have the extra microcontrollers in there. So cool stuff, really neat. I like it.
Ryan Seacrest
Listeners, are you looking for a shortcut to better auto insurance for you? Something that takes all the research off your plate, something that's easy, something that matches you with lower rates, something genius. That's where NerdWallet comes in. Their nerds already did the work for you. Just answer a few questions and ta da, you'll be matched with top insurance providers in your area. Find the right rate for you@nerdwallet.com after all, using NerdWallet is more than smart, it's genius. Not all applicants will qualify for the lowest monthly payments. NerdWallet Insurance Services Incorporated, CA resident license number OK 92033 Creativity doesn't wait.
Lenovo Ad Voice
It moves, shifts, evolves, just like you. And with the Yoga PC from Lenovo, your tools finally keep up. Stunning, smart and sustainably sourced yoga PCs from Lenovo are designed to amplify your creativity with AI powered performance. Whether you're sketching, editing, animating or composing, Yoga moves with you adapting to your creativity, to your rhythm. With beautiful displays and the flexibility to shift from laptop to tablet, Yoga unlocks new ways to inspire and create. Because at Lenovo, we believe your tools should fuel your flow, not hold you back. Yoga PCs from Lenovo support you at every step of your creative journey. So check out lenovo.com yoga and supercharge your creativity with yoga Empowering Creators Everywhere.
Ryan Seacrest
Hey, it's Ryan Seacrest for Albertsons and Safeway. It's Stock up savings time now through March 25th. Spring in for storewide deals and earn four times the points. Look for in store tags to earn on eligible snacks from Doritos, Cheez Its and Pringles or Sweet treats from Haagen, Dazs, Kinder, Bueno and Reese's plus many more. Then clip the offer in our app for automatic event long savings. Stack up those rewards to save even more restrictions apply. Visit Albertsons or Safeway.com for more details.
Jonathan Bennett
Okay, what's next Jeff? Jeff has the last story for the day until we get into our command line tips.
Jeff
And you were kind of segueing into this before, Jonathan yes, yes.
Jonathan Bennett
So what might the rest of us want to do with machine learning and artificial intelligence on our personal Linux machines?
Jeff
Yeah, so I have two articles for this next story and the first one focuses on machine learning and Linux software applications. Over at Linux Links they have a series of articles based on machine learning and deep learning. It is important to clarify that machine learning and deep learning are not the same thing. Machine learning involves using algorithms to parse data, you know, learn insights from that data and make determinations or predictions. This process involves training the machine with large amounts of data. Deep learning, on the other hand, is a subset of machine learning that uses multi layered artificial neural networks. This approach delivers state of the art accuracy and tasks such as object detection, speech recognition, language translation, and more. Now the reason I mention this is that the first article lists several groups of programs and the different groups such as the first being auto auto audio processing options, these programs can perform various functions from separating instruments and vocals to to speech recognition. There's also chat options that allow you to communicate with a machine. Additionally, they have a graphics programs which are capable of various types of manipulation and image generation. And finally there's a group of science programs to help with research and complex problem solving. I should mention that none of the programs require being online and they all can be run self hosted. So if you're worried about your data or you know, depending on what you want to feed in the machine, none of these need to transfer any of your data out of your machine. So it's all controlled by you now to kind of see how it all works. The second article in the show note delves into one specific example from the many options listed in the first article. So it looks at a web interface for chatting called Surge S U R G E. Now I'm not going to go into real big detail here, but the article guides you through how the installation process works, providing example installations using Manjaro, which is an arch based distribution and of course Ubuntu 24.10. It walks you through and you'll see the different, you know, it'll hold your hand through it and you can also then once you have it installed, see the different models available. So Surge is kind of the framework and then you load the models in to get more specific on how you know what exactly you want it to do. And the models also vary in size and depend like on how much RAM your system has. And you know, you can basically pick and choose the model that best suits your needs and best suits your hardware. Now once the model is installed, the article provides an example of input and output of the program, so you can kind of see how you would use it. And you know, I know many people are getting tired of hearing about AI, but for those that aren't, this offers a fun way to explore it. You know, you run it solely on your hardware and you know, in this example Serge is written in Python. This allows you to examine the code and understand how it operates if you so desire. If you really want to get in there and look under the hood, you can take a look at both articles linked in the show notes. If you're interested in experimenting with AI and prefer running it locally without connecting online, these articles, both of them provide several options for you to explore. To do that very thing, I particularly.
Jonathan Bennett
Need to check out Whisper. I use an online service for doing video transcriptions and I have for A while now. Thought that Whisper might be the way to do it. Save that five bucks a month out of my budget that I'm paying for it. It's kind of terrible, though, to have an open source show and use a closed source online service to do the transcription.
Rob Campbell
And now we know.
Jonathan Bennett
Now you know.
Jeff
Well, I will forgive that once we get all the hosts off of closed proprietary operating systems.
Jonathan Bennett
Yeah, we used to give Randall. We still give Randall grief about that every once in a while because he's on Mac. It's all right.
Ken Starks
When you pay that much, you're going to use it.
Jonathan Bennett
Yeah, I guess. I guess. All right, well, that's our. That's our. That's our news. Let's get into some command line tips and we're going to let Rob go first with more utils. So I'm assuming this is a take on core utils and it's what the programs that coreutils doesn't include that it really should.
Rob Campbell
Yeah, so it's not a take, but it is what they call an extension of core utils. So it's, it's additional programs to supplement that. I don't know, maybe somebody thought that they should be in core utils, but it's more utilities. And I'm going to go through a series over the next few weeks going through some of these. I noticed at least one of these Ken already went through, and the one he went through is a ts. And that's apparently one of the more utils. So I was going to start with that one and went back through the notes and saw, well, I guess Ken did ts. So I should have looked at what episode that was so I could say go back to that episode for it. But I did not keep that to memory. Instead, I'm going to start with Chronic. So Chronic, that's C R O N, I C. What that does is it runs a. It runs a program in. In the background, completely silent in the background unless there is an error. So for those watching, I'm just going to use some simple programs for examples, but there's probably a lot more complex. So as an example, let's just say I run lf. Let me put LS on the right screen. All right, I'm going to run LS and it's going to show me what's in there. Now, if I do LS nothing, because there's no folder that's going to say nothing. So now if I do this in Chronic, I do Chronic and run LS well, it ran it. It's silent. You don't see it. Now if I do that with a folder that doesn't exist, it's going to spit out just the error telling me that nothing exists. Another example, let's just say if I do chronic ping 1.1.1.1 and I don't want that to go forever, so I'm going to do a C2. So it's going to do ping 1.1.1.12 times. Only it's going 12 and then it returns and there was no error there. But let's just say I forget to fill out. I just do Chronic Ping. Well, it's going to be give me an error code because I didn't even complete the code the command line. So Chronic is a tool. If you want to run things silent in the background, that's really what's for. But you'll still get to see the error outputs. You know, you most cases you probably don't want them to also be invisible to you because you want to know if something doesn't go right. So that's Chronic, the first one in the series of More Utils.
Jonathan Bennett
Cool. I like it. All right.
Rob Campbell
I should add. Yes, I should also add I'm not quite sure if this like is version of More Utils. I haven't gotten into it. When I first looked into it's in the Seuss or open Seuss apparently and there are more utils. But when I went to do this under my virtual machine where I like to do all my all my demos from this is Ubuntu and when I installed More Utils, Chronic was not included. So I did have to do a separate APT install. And when I was looking at the versioning, I think Kronic got added a couple versions a few versions ago. So I believe that's what that is.
Jonathan Bennett
It's also likely that when you go to compile it, you can specify which of the actual commands you want to compile in. And so not. Maybe not every packager includes every one.
Rob Campbell
Of them, but that could be it too.
Jonathan Bennett
Yeah. All right, Ken.
Ken Starks
Yes. Today I am going to demonstrate another pipewire command. This one is PW loopback. It's used for creating loopback nodes from the command line V via PW Loopback. It uses the pipewire loopback module to create loopback devices configured to automatically connect to speakers, microphones or applications and even swap stereo channels via the command line options. Let me go ahead and bring up my command line here as well as my QT pipewire graph so you can see it happen graphically. But as with the others, you can use dash H to get the help options that you're seeing on the screen. For those of you listening, that would give you the options such as dash H or dash dash help for showing the help dash dash version to show the version dash ash R or dash dash remote for if you needed to commit name a remote daemon dash n or dash dash name for your node name. I'll demonstrate that one in a bit. There's also dash g OR-DASH group for naming a default node group or node group with a default in my case being PW loopback 768195. That makes tells you nothing, doesn't it? But some of the others are for giving you the number of channels channel map that's handy if you want to swap your left and right channels of your input so that they come out on the right and left channels of your output or like to a speaker. Then you can also use dash L or dash dash latency to set your desired latency in milliseconds. Another one of one that I'm going to demonstrate is dash D or dash dash delay for deciding the desired delay it's in, you can use floating instead of just a straight integer that's going to be in seconds by the way. And you can use Dash C or dash capital C or dash dash capture to capture your source that you want to connect to. You'd name it or you can give us the serial. Then you can do a dash dash capture props where you can capture stream properties dash dash capital P or dash dash playback which allows you to select identify the play pack sync to connect to that one I'm going to demonstrate also. And then there's the dash dash playback dash props where you can identify the playback stream properties you want to use. If for those of y'all listening, I do have my command line up and it shows where I use the dash dash version to show that I am running PW loopback with it. Compiled with lib pipewire 1.2.4 still no update yet for me though. I hear there's an update coming to pipewire now. The basic pipewire command pipe PW loopback when you run it. Well, set it up. For those of y'all listening. The QTP graph shows where the loopback hook up between my mic and my headset. So I'm hearing myself talk and you can see how that is affecting my speech. I'm doing a dash C to cancel out of that. And now to demonstrate how I can name it by using the dash N followed with test dash loopback in single quotes. And then I'll use the dash D followed by a 2/1 second delay with Dash Capital P followed by Google Chrome input input. And when I enter that and it automatically loop back automatically sits up and y'all are hearing the basically. Y'all are hearing the basically change the rate of the echo. I can change the rate of the echo or I was playing with it earlier. I was playing with that earlier. Really confusing and that was really myself 10 seconds later. I'm going to stop torching you all now. But that's a demonstration of using PW loopback. Jonathan, have you got any thoughts on where you could use this?
Jonathan Bennett
There is another use case for PW loopback and that is when you need to be able to take edited audio and use it as an input device or when you want to take all of your output and run it through another filter and then run it out. So it's useful in getting applications to see your pipewire items as being like equivalent to real hardware. I used for the longest time a PW loopback on this machine when we did the previous recording solution for this show, actually, and so that I could mix everybody together and then give the output. And then I believe I also have a PW loopback on the machine behind me to be able to do a compressor on my live audio when listening to things because I got so tired of YouTube videos where the audio was just all over the place. So I put a compressor on my speakers.
Ken Starks
I've also got some links in the show notes to some other use cases. One gives some other examples. And then there's one from I thought I didn't own how to do static loopbacks.
Jonathan Bennett
Yeah, you can set them up in your config file so it'll be there when you're ready to go. Yeah, cool.
Rob Campbell
I was thinking next time you could start the PW loopback at the beginning of the show and just have the loop back as going in the show instead of your regular voice and then put like an hour and a half delay.
Jonathan Bennett
All right, Jeff, what is wall?
Jeff
My command line tip this week is wall, which is actually pretty simple command. It's used to message all users. So this command displays a message or the contents of a file on the terminals of all currently logged in users. If the lines are loaded shorter than 79 characters, there'll be white space padded to have 79 characters. And if they're longer than 79 characters, they'll be wrapped a carriage Return and new line are added at the end of each line in the Wall command always. So for options, there's of course the dash H which is help, and dash V which is version, both of which are very common in pretty much all command line tips. We have at least the true command line, you know, tips. Wall also though has the dash N command, which means it will display your message without the default header. And there's the dash T which will abandon the write attempt to a terminal after a certain timeout. If you need to display the contents of a text file to the users of a system, you can do that as well by typing wall space and then path to your text file. So basically this comes in if you've ever been on a terminal and suddenly seen a message come up. You know, normally, you know, system is going down for reboot or system maintenance at X amount of time. It was probably generated with Wal if you were in an actual terminal. So you can take a look at the article in the show Notes for more details. But yeah, it's basically for messaging users on your system.
Jonathan Bennett
All right. When I first saw Wal, I was thinking of the GCC flag, the dash capital W. All that gives you all of the warnings when you go to compile something. No, no, no, that's very different.
Jeff
Not quite there.
Jonathan Bennett
Not quite the same thing. Okay, I've got one as well. And I don't think we've covered this before. If we have, it was not in this much detail. One of my fellow hackaday authors, Al Williams, I promise it's Al. It's not AI. This is not AI Williams. He is a real person, Al Williams. He does the Linux Foo column over there, which has some great stuff in it. And this one was USB over ip. And the idea is I've got a computer here and I've got a computer there and I have a USB thingy over there that I want to be able to access here. It's like, how do you make this work? And there is actually a way to do it. You can reroute USB connections over IP and the Linux kernel has all of the stuff to be able to let you do that. And he's got a really comprehensive guide on how to do it. And he suggests using like a Raspberry PI. And so you can have. Let's see, what would be a good example. Maybe you have a printer that's USB only and you want to be able to use it remotely. You can just throw a Raspberry PI down there, plug it in over usb, get the USB ip. That's actually the name of the program. USB IP stuff up and working and then you can print across your network to your USB only printer. There's some, there's some really cool stuff you can do with this and I thought it was a great write up so wanted to feature it, follow the link, do the things. It's a little bit more in depth than some of our command line tips, but it's all there for you.
Rob Campbell
So no need to purchase those clunky little print servers for a non network based printer. You just get a Raspberry PI or something and voila.
Jonathan Bennett
Yeah, that's cool. Yeah, yeah, no it's really neat.
Ken Starks
I didn't realize he had recently done one using the PW loop.
Jonathan Bennett
Yeah, he's done, he's got all kinds of stuff. I think there's a link there. Yeah, at the bottom of the article it's Read more from this series Linux Foo. And there's even a link there to see all articles in the series. And he's got quite a few of them and they're all good webcams if.
Rob Campbell
You had some weird reason to do mice or keyboards. Huh. That sounds fun. Yep, I like it.
Jonathan Bennett
Yep, it's cool. It's cool.
Ken Starks
Basically the one I just added to the show notes shows him creating a loop back to link radio to trying to look to see to a speaker.
Jonathan Bennett
Oh, I can see that. Yeah, the audio network pipes. Yeah, yeah, cool stuff. So go and follow the link and read through all those if you want. All of those good Linux tips and hacks and stuff. All right. I think that's pretty much the show. I want to let each of the guys get the last word in if they want to on something. We're going to start with Rob. I bet he's to plug his website and all the places where you can follow him and give him coffee.
Rob Campbell
Well, since you already got that done for me, I'll just point. So like I always say every week because I got nothing better to say. No fun poems or anything. Come find me, connect with me. Websites, Robert P. Campbell.com from there, LinkedIn, Twitter, Blue Sky, Mastodon and a place to donate coffees in the form of five dollar increments to me right here. Nothing else to say.
Jonathan Bennett
It's a miracle. It's the first time all day. Ken. Ken destroyed his computer's audio subsystem by playing around with pipewire too much.
Ken Starks
Yes I did. But all I'm going to say is backup.
Jonathan Bennett
Backup.
Rob Campbell
Beep beep beep.
Jeff
And Jeff not much to say this week. So it's going to be Poetry Corner computer program. Why are you running so slow? Time for a reboot. Have a great week, everybody.
Jonathan Bennett
So true. It's so true. All right.
Ken Starks
What the weekends are for. Rebooting.
Jonathan Bennett
Yeah. All right. Thank you guys for being here. If folks want to follow me, there is of course Hackaday. That's where Floss Weekly and my security column go live. And then don't forget to scan the QR code and look into Club Twit. It's about the price of a cup of coffee per month. That's how you can show your support. Get the ad free versions of all the shows and come join the Discord too. It's a lot of fun. Other than that, we appreciate everybody being here, those that get us live and on the download and hey, we will see you next week on the Untitled Linux Show.
Club Twit Voice
Hey buddy, are you a geek?
Jonathan Bennett
Are you a tech enthusiast?
Club Twit Voice
Then I would love to invite you to join a tech community community like no other. You can gain exclusive access to our incomparable quality tech content for just $7 a month. With Club Twit as a member, you'll Enjoy all Twitt TV shows ad free plus access private video feeds for insider shows like iOS today, home theater geeks and so much more. Dive into the members only Twit plus bonus feed for behind the scenes content, club discussions and special events. But here's the best. Join our incredible Discord community to watch live show productions, chat with hosts and participate in exclusive members only activities. It's your backstage pass to the world of twit. Whether you're a tech enthusiast or a lifelong learner, Club Twit elevates your knowledge while entertaining your interests. Get two weeks free when you sign up now for $7 a month and unlock unparalleled access at Twit TV. Club Twit. That's Twit TV Club Twit. And from the bottom of my heart, thank you and welcome to the club.
Untitled Linux Show 192: You Shouldn't Have to Care
Release Date: March 2, 2025
Host: Jonathan Bennett
Guests: Rob Campbell, Ken Starks, Jeff
In Episode 192 of the Untitled Linux Show, host Jonathan Bennett and his co-hosts Rob Campbell, Ken Starks, and Jeff delve into a myriad of topics affecting the Linux and open-source communities. From the ongoing debates surrounding the Rust programming language in the Linux kernel to significant legal battles over GPL licensing, the panel offers insightful discussions on the current state and future of open-source software.
Key Discussion Points:
Kristof Helweg’s Resignation: Rob Campbell initiates the discussion by addressing the continued controversies surrounding Rust's integration into the Linux kernel. Kristof Helweg, a maintainer for the DMA mapping subsystem, has resigned from his role, citing disagreements over Rust's role in kernel development.
Community Reactions: The panel examines various community responses, highlighting both criticism and support for Rust's inclusion. Rob mentions a Phoronix article detailing the polarized views, including statements like, “Rust is less than 0.12% of the kernel code, yet there are double the Python files without complaints.”
Linus Torvalds' Stance: Jonathan Bennett reflects on Linus Torvalds' comments, suggesting respect for Helweg’s decision, stating, "He realized what needed to be done and did it."
Notable Quotes:
Rob Campbell [03:27]: "Rust is less than 0.12% of the kernel code, and yet there are more than double as many Python files in the source tree, and nobody's complaining about that."
Jonathan Bennett [09:00]: "I don't think this one is going to be the worst case scenario that people seem to think it is."
Key Discussion Points:
Case Overview: Ken Starks presents a legal conflict where PureThink and iGov are challenging Neo4j's amendments to the GNU Affero General Public License version 3 (AGPLv3). The crux of the dispute is Neo4j's additional restrictions on their AGPL-licensed software, which PureThink and others argue violate the original license terms.
Potential Implications: The outcome could set a precedent affecting all GPLv3 licenses, potentially allowing licensors to impose unforeseen restrictions, thereby undermining open-source trust.
Software Freedom Conservancy's Role: Jeff raises the possibility of higher courts getting involved, although Jonathan Bennett remains skeptical about the case reaching the Supreme Court.
Notable Quotes:
Ken Starks [12:26]: "If the Ninth Circuit upholds the lower court's ruling, it won't just kill GPLv3. It will create a dangerous legal precedent that could be used to undermine all open source licenses."
Jeff [17:42]: "Are we sure that it's not a... If the case doesn't go their way, then they can just appeal it to the Supreme Court."
Key Discussion Points:
FAQ Modification: Jonathan Bennett discusses Mozilla’s removal of the explicit statement, “Firefox doesn’t sell your personal data,” from their FAQ. The change is attributed to compliance with broad legal definitions of data sale, particularly concerning their oHTTP service.
Community Backlash: The panel expresses concern over Mozilla's messaging, interpreting the new statement as an admission that Firefox does engage in data selling, albeit anonymized and aggregated.
Implications for Users: Rob Campbell suggests that Mozilla's vague communication could erode user trust, while Ken Starks emphasizes the importance of clear privacy policies.
Notable Quotes:
Jonathan Bennett [27:02]: "We are selling user data. That’s the way I read that."
Rob Campbell [28:14]: "It sounds like they're selling your data."
Key Discussion Points:
New GPU Announcements: Jeff covers AMD’s release of the Radeon RX9070 and RX97 XT graphics cards. The focus is on AMD’s ROCM (Radeon Open Compute) competing with Nvidia’s CUDA in the scientific and AI compute domains.
ROCM’s Open-Source Advantage: ROCM is highlighted for being an open compute stack, enabling easier migration of CUDA-based applications, thereby fostering greater flexibility and competition.
Market Implications: The panel discusses how ROCM support is initially targeting high-end GPUs but is expected to trickle down, potentially challenging Nvidia’s dominance in compute workloads.
Notable Quotes:
Jeff [63:08]: "AMD has been investing significant effort into ROCM, aiming to compete not just in gaming, but also the compute domain."
Jonathan Bennett [68:12]: "There is beginning to be more and more use cases for that. And I think you'll see people doing more things with AI inside a video game."
Key Discussion Points:
Migration Overview: Jeff reports on the Fish shell’s transition from C++ to Rust, citing its benefits in enhancing performance and safety. The migration includes banning unsafe C functions like gets and scanf to prevent buffer overflows.
Community Reception: While some view the migration positively, others express concern over Rust's learning curve and its impact on existing workflows.
Future of Fish Shell: The panel anticipates that continuous iteration and testing will bolster Fish’s stability without necessitating a complete rewrite, aligning with Rust’s strengths.
Notable Quotes:
Jeff [33:13]: "They’re not going to rewrite Curl in any language because they’re at the point where they’re just polishing and bug fixing."
Jonathan Bennett [37:59]: "Rust is not a silver bullet. You can have logic errors in your Rust code easy enough."
Key Discussion Points:
EA’s Move to Open Source: Rob Campbell excitedly shares that Electronic Arts has open-sourced several classic Command and Conquer titles, including Red Alert and Generals.
Community Opportunities: The release allows enthusiasts to fork and modernize these games for Linux compatibility, potentially revitalizing interest and fostering community-driven enhancements.
Technical Considerations: Jonathan Bennett notes the challenges of updating legacy games, such as dependency on older technologies like DirectX 5, but remains hopeful about community efforts to adapt these classics for modern systems.
Notable Quotes:
Rob Campbell [73:11]: "One of my favorite games was Command and Conquer, a real-time strategy game... Now EA has enabled Steam Workshop support for more Command and Conquer titles."
Jonathan Bennett [78:07]: "They're fun games. They are. Now, I will say that real-time strategy is probably not everyone's cup of tea, but they are fun."
Key Discussion Points:
Introduction to PW Loopback: Ken Starks introduces PW loopback, a Pipewire command used to create loopback nodes for audio devices, facilitating advanced audio routing and management directly from the command line.
Practical Applications: Jonathan Bennett shares personal use cases, such as mixing audio streams for live recordings and applying real-time audio effects like compression.
Technical Demonstration: The panel discusses configuring loopback nodes with various parameters (e.g., latency, delay) and integrating them into existing audio workflows, enhancing flexibility for both casual and professional users.
Notable Quotes:
Ken Starks [80:45]: "PW loopback allows you to create loopback devices configured to automatically connect to speakers, microphones, or applications."
Jonathan Bennett [100:41]: "There is another use case for PW loopback when you need to take edited audio and use it as an input device."
Key Discussion Points:
Introduction to More Utils: Rob Campbell explores the More Utils package, specifically focusing on the chronic command, which runs programs silently in the background unless an error occurs.
Practical Usage: The panel discusses scenarios where chronic can be beneficial, such as automating tasks without cluttering the terminal with unnecessary output, while still being alerted to issues.
Additional Tools: Ken Starks introduces pw-loopback, expanding on advanced audio management, while Jeff presents the wall command for messaging all users on a system, useful for administrative notifications.
Notable Quotes:
Rob Campbell [91:35]: "Chronic runs a program in the background, completely silent unless there is an error."
Jeff [102:18]: "wall is used to display a message or the contents of a file on the terminals of all currently logged-in users."
The episode wraps up with the hosts sharing personal insights and teasing upcoming topics, including further command-line tools and potential deep dives into applications like the Fish shell. They encourage listeners to engage with their content through various platforms and support channels.
Final Remarks:
Rust’s Integration into the Linux Kernel: Continues to be a contentious issue with both support for safety and performance and resistance from some maintainers.
GPL Licensing Challenges: Legal battles like the PureThink vs. Neo4j case could have widespread implications for open-source licensing enforcement.
Mozilla’s Privacy Policy Shifts: Changes in Mozilla’s data handling practices have stirred community concern over user data privacy.
Advancements in GPU Technology: AMD’s push with ROCM aims to challenge Nvidia’s CUDA dominance, especially in scientific and AI compute workloads.
Legacy Software Modernization: Open-sourcing classic games like Command and Conquer opens opportunities for community-driven enhancements and Linux compatibility.
Enhanced Audio Management with Pipewire: Tools like PW loopback empower users with advanced audio routing capabilities directly from the command line.
Command-Line Efficiency: Utilities such as chronic and wall streamline background task management and user communication within Linux environments.
This episode of the Untitled Linux Show offers a comprehensive look into critical developments within the Linux and open-source ecosystems, blending technical discussions with community-focused topics. Whether you're a developer, system administrator, or tech enthusiast, the insights shared provide valuable perspectives on the evolving landscape of technology.