Transcripts

Untitled Linux Show 192 Transcript

Please be advised this transcript is AI-generated and may not be word for word. Time codes refer to the approximate times in the ad-supported version of the show.

00:00 - Jonathan Bennett (Host)
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.

00:14 - Leo Laporte (Announcement)
Podcasts you love From people you trust. This is Twit.

00:34 - Jonathan Bennett (Host)
This is the Untitled Linux Show, episode 192, recorded Saturday, march the 1st. You shouldn't have to it. 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 going to 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. I'm 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've already had a lot of fun. Those that join us live in the discord know, um, but uh, we have a lot of stuff to cover today. A lot of stuff has been going on this week. The rest of you have missed it all, right. So rob is going to lead us off and we are still talking about rust in the kernel, and I know we talked about a lot of this last week, but there's been an update, a follow-on repercussion, maybe what's new, rob?

01:29 - Rob Campbell (Co-host)
Yeah, and I know I said last week that I wasn't going to talk about Rust and 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 Christoph Harwigs. I might have called him Christopher, but it's Christoph, I think, helwigs. I said his last name wrong this time.

01:55
So last week we talked about Christoph Helwigs' 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 objecting as a user of the code rather than a maintainer, 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 wasn't the only maintainer of this part of the code, he was a co-maintainer. Merrick Skifrowski is still listed as a maintainer and Helwigs Commit noted that Merrick has graciously offered to maintain the DMA mapping tree.

03:04
Some of the comments I see on this says Merrick's pretty busy with other things, so kind of hoping 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 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. Um, but in the story from phronix there are a lot of interesting comments you read the comments on a phronix article I read the comment, man.

03:58
Sometimes I do, sometimes I don't. Uh, I don't know. I don't know what the criteria is. It depends how clicky of a mood I'm in, I guess I don't know.

04:07
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 the 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 of the 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. Different metrics there he says how much of the kernel code and how many python files. I believe he's trying to imply that there's still a lot more python, and you know nobody's complaining about that. Is that because python's so much easier than rust? I don't know.

05:14
Uh, then you know, another pharonix article goes on to talk about it completely unrelated except for the rust, and it talks about the zlib dash rs, which is the rust uh version of the c base 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 and see that people have to debug when, if they're using Rust, they just don't exist so you can focus on other parts of the code.

06:11
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 Zlib RS right here is an example at least 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 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. Hopefully this doesn't like slow anything down. But you know there's always arguments going on. Some are just not as up newsworthy as this one, yeah.

07:03 - Jonathan Bennett (Host)
So I I think he'll like probably did the right thing here and I would say probably good for him for realizing what needed to be done and and doing it. I I don't think this is quite the case of someone taking their toys and leaving, um, we did see someone do that in kernel development in the past couple of weeks, um. But I just from the outside, from 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.

07:42 - Ken McDonald (Co-host)
Are you saying he became a sacrificial lamb?

07:49 - Jonathan Bennett (Host)
No, yeah, cool. Are you saying he became a sacrificial lamb? No, I don't think so. Um, that would be. That would be more like if torvalds came to him and said you're gonna 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.

07:59 - Rob Campbell (Co-host)
I don't think that's what happened we don't know that, but he's still maintaining other parts of it, so that's probably right, right it does not seem from the outside that.

08:06 - Ken McDonald (Co-host)
That's what happened I'm interested in one of the parts he's maintaining that personality handling subsystem yeah, yeah, I don't know much about that.

08:16 - Rob Campbell (Co-host)
Are you hoping to improve your personality? Cat?

08:20 - Ken McDonald (Co-host)
if that system works for me, why not yeah?

08:27 - Rob Campbell (Co-host)
I did not look into what that is. That did catch my eye but I didn't have time to. What is personality? I don't know. Part of the kernel.

08:37 - Jonathan Bennett (Host)
I don't know much about that. Derecho 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 Um. So I mean, rust is not the um, 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.

09:28 - Rob Campbell (Co-host)
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.

09:40 - Jonathan Bennett (Host)
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.

09:55 - Rob Campbell (Co-host)
It's not your normal memory. Because of DMA and the way shared memory works. It could be a higher level and all it's doing is actually running Echo.

10:00 - Jonathan Bennett (Host)
Sure, you just reinvented BASIC, All right. Or Pilot, yeah, plenty of things.

10:09 - Rob Campbell (Co-host)
BASIC's not safe either, but go on.

10:12 - Ken McDonald (Co-host)
I think he's trying to say it's time to move on to taking away the license.

10:17 - Jonathan Bennett (Host)
Yes. So, ken, I saw this story. I have a take on it, but you picked it, and so give us the rundown on what the register says is going on with GPL.

10:28 - Ken McDonald (Co-host)
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 Think and IGO. Now Pure Think and IGO are currently in a legal battle with Neo4j. The legal battle has moved to the United States Court of Appeals for the Ninth Circuit, to the United States Court of Appeals for the Ninth Circuit, which will consider an effort to reverse a California federal district court's decision in the Neo4j versus PureThink.

11:16
The California federal district court endorsed Neo4j's right to amend the GNU Afiro General Public License Version 3, which is governing the use of its software, with new binding terms. The outcome of this battle will impact the enforceability of copylift licenses. Provided database software under the AGPL version 3, then tweaked the license after three companies they were the Graph Foundation, purethink and iGov had started developing and distributing Open Native Graph Database, or ONGDB, which was a fork of Neo4j's database software, ngdb, 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 HGPL version 3.

12:32
Suhai said I don't think the community realizes that if the Ninth Circuit upholds the lower court's ruling, it won't just kill GPL v3, 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 Ninth 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 read Thomas's article as well as the articles he linked to within his article.

13:34 - Jonathan Bennett (Host)
So I am convinced that this is not going to kill the GPL v3. 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 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.

14:11
And so that is what is in question here. Is it legitimate for a license to say that you can strike off 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 to be able to get 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 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.

15:08 - Rob Campbell (Co-host)
Is that, 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 software? It just limits who their users are that are allowed to have that access that's the argument they would make.

15:34 - Jonathan Bennett (Host)
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, are we sure that it's not a?

15:46 - Jeff Massie (Co-host)
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 going to do?

16:12 - Jonathan Bennett (Host)
yeah, it's, it's very possible. Um, I I would sort of be surprised to see this go all the way to the supreme court. Um, usually in the United States when things go to the Supreme Court, it's either where 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 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.

17:03 - Rob Campbell (Co-host)
So yes with this case here, just to sum it up, are 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 a thought that licenses like the GPL are not going to be able to say you can't add restrictions?

17:29 - Jonathan Bennett (Host)
Well, that's what the court case is there to decide. I believe 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 um, not inadmissible. That's not the right term. Yeah, it would be considered. A small part of it would be considered invalid right.

17:51 - Rob Campbell (Co-host)
I think that's the danger. So the fear, when they say it's gonna invalidate the gpl license or whatever it's that one part their fear is that it's not going to allow the GPL to say that you cannot put other restrictions on top of this Right.

18:10 - Jonathan Bennett (Host)
And I think 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.

18:44 - Ken McDonald (Co-host)
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. It was mass pronouncing it, it should be su-ee.

19:04 - Jonathan Bennett (Host)
There you go, su-ee.

19:05 - Ken McDonald (Co-host)
There you go.

19:08 - Jonathan Bennett (Host)
Su-ee.

19:10 - Jeff Massie (Co-host)
Okay, just to be clear, the only reason I brought up the Supreme Court is because it was mentioned in the article.

19:15 - Jonathan Bennett (Host)
They talked about it. 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.

19:25 - Ken McDonald (Co-host)
If they can avoid it? Yeah, if they can avoid it.

19:26 - Jonathan Bennett (Host)
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.

19:39
Um, 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've 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 and 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. It's like no, this was not written by anyone that had a clue. That said, 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.

21:49
However, mozilla has not done themselves any favor in their messaging, so 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.

22:24
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 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.

23:08
Um, I know there's also been arguments made that well, they, 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.

23:39
I assume there will be more statements from Mozilla is trying to do damage control. But I'll just say last week week we said, mozilla, here's what you need to do Make Firefox great and don't do anything that's going to make Lunduk write about you. And here we are. Lunduk is hilarious. Obviously, I don't agree with all of his takes. Sometimes I think he is more flame baby 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 fail. They failed at following our instructions. Instructions unclear.

24:19 - Rob Campbell (Co-host)
Listen to the show, guys.

24:21
Come on the show guys, come on, you know really 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 and they're not selling. 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, that 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.

25:06 - Jonathan Bennett (Host)
But yeah, like you said, it sounds like they're selling your data. That statement in there makes it real hard to understand any other way. To me it sounds like they totally are.

25:12 - Ken McDonald (Co-host)
Actually they're not selling it, they're giving it away.

25:15 - Jonathan Bennett (Host)
Giving it away In exchange for money.

25:19 - Jeff Massie (Co-host)
Yeah. I think it's probably a lot of oh. X percent of our users go to Amazon. X percent of our users do this. X percent spend X amount of time on whatever social media site, stuff like that.

25:37 - Rob Campbell (Co-host)
Put that in a tech brief.

25:39 - Jonathan Bennett (Host)
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, 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 uh, 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 uh 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, uh, 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 add it to their statement to their credit.

26:43
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 don't, I, I I'm still not a hundred percent 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.

27:09 - Jeff Massie (Co-host)
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 can. You know, there's a lot of stuff that could be going on in there, but I really do think it's like everything. It's probably 50-50, right, I mean half the time 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 well, if you like the firefox browser, but you're, you don't want to, uh, use it anymore.

27:59 - Rob Campbell (Co-host)
for these reasons, there is, as derecho 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 another browser that uses a Firefox engine. So that's an option for you If you don't like it. Yep.

28:23 - Jonathan Bennett (Host)
Yep, I have used it.

28:26 - Ken McDonald (Co-host)
Interesting, I have not. You if you don't, if you don't like it, yep, yep, there are. I've used it, no, interesting, I've not.

28:30 - Jonathan Bennett (Host)
and mozilla get a competent lawyer. For the next one, I I will say uh, 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.

28:47 - Ken McDonald (Co-host)
Why pay somebody to do that where they can? Just let us do like we're doing right now.

28:52 - Jonathan Bennett (Host)
It's best not to have these discussions in public. You want to catch dumb stuff before you accidentally go say it in public.

29:01 - Ken McDonald (Co-host)
If you want to say face.

29:03 - Jeff Massie (Co-host)
They can sponsor the show.

29:07 - Rob Campbell (Co-host)
Just buy me enough coffees and I'll read through it for him.

29:09 - Jonathan Bennett (Host)
There you go. All right, jeff, let's talk about curl, daniel stenberg and a whole bunch of c code.

29:17 - Jeff Massie (Co-host)
Well, this story is going to continue our series of friction with the rust language. Now. Now it's not as bad as it sounds Nobody's in a fight but in a conference, specifically the FOSDEM, I guess. Fosdem 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.

29:56
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.

30:41
Not even the writer, Not even the writer. Now, the reason he says all this is 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 scan F, string copy and sprint F. 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 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, everything exits cleanly. And 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.

33:11
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 make sure if you're really pro-rust, you take this light-hearted manner that stenberg meant meant it in, so yeah I yes, um stenberg is great, by the way, I was interviewing for floss weekly um.

34:09 - Jonathan Bennett (Host)
I think the curl project is a really good example of taking a c project and doing it really well. And they when was 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 almost as bulletproof, I think, as something like Rust, because it's the same tools, the same techniques. Just one is built into the compiler and the other is built into your CI. So 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.

35:03 - Ken McDonald (Co-host)
Probably even a good blueprint for Python code.

35:07 - Jeff Massie (Co-host)
Well, any code I mean 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.

35:19 - Ken McDonald (Co-host)
And there's a lot of testing.

35:20 - Jeff Massie (Co-host)
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 uh 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 yeah, for that matter, even basics not safe, because with peek and poke you can do a lot of damage yep, peek and poke, that's, uh, that's arbitrary memory.

36:06 - Rob Campbell (Co-host)
Read and write goodness, you're there you know, these uh, protections for curl probably work for curl. That it's, you know it. It's a very basic tool, does basically one thing.

36:20 - Jonathan Bennett (Host)
I mean it's it's a tool that does flip curl gets used in so many different things for doing so many, but it is not just.

36:30 - Rob Campbell (Co-host)
It is not just downloading over http, it transfers 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.

36:44 - Ken McDonald (Co-host)
That's what you use Bash for.

36:46 - Jonathan Bennett (Host)
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 be, but it is not.

36:57 - Rob Campbell (Co-host)
What else does it do besides transferring?

37:00 - Jonathan Bennett (Host)
Live streaming. That's transferring data. Okay, so all the computers ever do is transfer data, Rob.

37:07 - Rob Campbell (Co-host)
Okay, but transferring over a network, I mean it doesn't have like a GUI with.

37:13 - Ken McDonald (Co-host)
Actually you can use curl to copy a file from one drive to another with a proper syntax.

37:20 - Jonathan Bennett (Host)
Yeah, so think about it, though. So curl supports what HTTP FTP? I think yeah.

37:28 - Rob Campbell (Co-host)
It supports a lot of protocols, but still doing it supports a lot of protocols.

37:32 - Jonathan Bennett (Host)
On top of all those protocols, you've got all of your SSL layers, the encryption and stuff. You've got all of your, like, ssl layers, the encryption and stuff. So, like the, the number of combinations that curl has to support gets astronomical because of all of these protocols it supports.

37:48 - Rob Campbell (Co-host)
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.

38:00 - Ken McDonald (Co-host)
So my point is so we get a replacement for Firefox by using Libcurl and building a GUI around it.

38:10 - Rob Campbell (Co-host)
You probably could. I don't know how good that would be. But still, my point is 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?

38:36 - Jonathan Bennett (Host)
That is an interesting question, probably legacy.

38:40
Yes, there's a lot of legacy programs that would break I I will say that if you are writing new c code you should absolutely follow their rules and do not use let's see what's scan off and uh, what are some of the other ones that they mentioned there, those function calls that they mentioned there.

39:02
Do not use those because there are such better ones. So those are things like just so, by the way, like 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 war field in the midst of how programs execute, and so nobody thought about it until 20 years ago.

40:03 - Rob Campbell (Co-host)
That legacy reason, though 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've started with PHP I've had to upgrade functions from three to five to seven 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. 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.

40:41 - Ken McDonald (Co-host)
So could somebody write that C standard function, rewrite it in Rust to incorporate the changes you made, jonathan, and then have that be called from within a C application.

40:59 - Jeff Massie (Co-host)
You could, I don't know. You probably could. You could call it in there. But I mean, part of that is some of the older programs would depend on how it actually works and if you change its functionality it could break things and they're being extra secure. Maybe the C programming people aren't as concerned about it, and it's 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, I don't know, I could.

41:31 - Rob Campbell (Co-host)
I'm speculating, but the one thing, like I said, that I can majorly speak to is php and literally every major version. I had to fix my website.

41:41 - Ken McDonald (Co-host)
Rob, I've got a challenge for you Show me a project that's doing this, doing what?

41:50 - Rob Campbell (Co-host)
Converting from C to Rust. 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 plus plus in this case really. But you know, even fish goes rust.

42:12
For those unfamiliar with the fish shell, uh, 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 to bash, but it's kind of designed to be friendly out of the box, with handy features such as um, auto suggestions, more obvious error messaging, syntax, highlighting, interactive man pages for command options. There's even a web-based configuration. That I didn't really realize and really a lot more than that. You know, being so used to Bash myself, I've only played with Phish a little bit, very little, and I've never, really I've 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 one of these future episodes. But I have a different series of mine 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.

43:16
Phish 4.0 has been released and the major change under the hood is the code base has been migrated from C++ to Rust, the whole thing. It's not just parts of it here and there, 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 except being Rust, which means it's going to be better, right? For those familiar with Phish, phish 4.0 brings some other new features. Other new features, such as a new bind key notation. Random will now produce different values from the previous Phish version when using the same seed. Control C will now clear the command line by default. Phish 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.

44:32
So why Rust? Other than the obvious reason you know we've been discussing on the show almost every week lately. It's awesome. But the other reason you know we've been discussing on the show almost every week lately. It's awesome. But the other reason is really, which is kind of like the System76 guys, the devs just like it. Basically, the devs really weren't happy with C and Rust knew that. Or they knew Rust and uh, it did everything they needed to do.

45:02
Uh, one of the other things I'm still starting to learn by going through these uh comments in pharonix 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. You know, like my previous story, I said there were some negative comments on here.

45:43
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 ross as 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 you hate it. No one really gave a good um anything any any good information about why they hate it. It was just very general hate for it.

46:28 - Jonathan Bennett (Host)
But yeah, um, yeah, I can, I can tell you. I can 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, any kind of problem in an application, the you should have rewritten it in rust.

46:44 - Rob Campbell (Co-host)
That gets annoying really fast because most of the time that's a dumb thing to say um 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 well.

46:59 - Jonathan Bennett (Host)
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, um, and then you you've also got I think 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, like, the C C++ paradigm and that takes some time to get used to because it is a different way to program, take 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 the fanboys that make these annoying statements or the idea of being forced into using it, and nobody likes being forced to use it.

48:05 - Rob Campbell (Co-host)
they're used to see they don't like rust. Um, 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.

48:27 - Jeff Massie (Co-host)
You know why hate a program for being written in rust just because you don't like to write in it 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 because people look at it like the new flavor of the week and you know they're like, oh, it's gonna be a flash in the pan or it's not gonna 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 yeah, absolutely. But still the new hotness and still going running great, or has something else taken over and it's lost some of its luster.

49:01 - Ken McDonald (Co-host)
I'm going to give you two words Change, inertia.

49:10 - Jonathan Bennett (Host)
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 and say this is the one to use. Well, of course people aren't going to appreciate that.

49:24 - Jeff Massie (Co-host)
Yeah, but even 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.

49:33 - Jonathan Bennett (Host)
I think with the unsafe keyword you can do all of's, most, most, all of that stuff in rust these days they have. They have fixed it, yes, okay, 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, um to to that point there is actually the um, is it redox, the, the? Yeah, the rust kernel. That was in, you know, intending to potentially be an alternative to Linux. I almost said replace Linux. That's not quite accurate. It's an alternative.

50:01 - Ken McDonald (Co-host)
Not yet.

50:03 - Jonathan Bennett (Host)
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 talk to real hardware.

50:20 - Rob Campbell (Co-host)
To add on to that thought 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.

50:58 - Jonathan Bennett (Host)
If you're a contributor and it's messing up your workflow, okay like I said, changes I think there's probably a like another argument to be made here that rust is sort of a rust. Programs are sort of a pain to package because the way cargo works I do kind of dislike that.

51:19 - Rob Campbell (Co-host)
actually, when I've installed Rust packages I could see that.

51:22 - Jonathan Bennett (Host)
But that's not just a Rust problem. There are a lot of other languages that have that same problem.

51:27 - Rob Campbell (Co-host)
I mean, hopefully that gets more streamlined to install like everything else, but maybe that's a wishful thinking.

51:35 - Ken McDonald (Co-host)
We could easily get off on a tangent about how some packages or package managers can introduce security risks.

51:44 - Jonathan Bennett (Host)
Yeah, yeah, all right, ken, that 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. Okay, let's talk about Cos, though I think it's time.

52:03 - Ken McDonald (Co-host)
I'll be more than happy to, especially since this one's from Bobby Borosov. He reported on System76 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. 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.

52:49
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 receives some updates to include scrolling between workspaces in the overview as a quick and easy way for navigating to your intended destination.

53:28
You can also toggle on floating windows. Gravitate to nearby edges in window management settings, which will automatically align a 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 8 feet 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.

54:27 - Rob Campbell (Co-host)
Hold on, ken. You totally missed the whole theme of the show here and you forget to even bring it it up. Cosmic is built on rust. How?

54:39 - Jonathan Bennett (Host)
did that not even I mean so in fairness we've had enough rust. This is one of those stories where you shouldn't have to care. You shouldn't have to care whether it's written in rust or not. You shouldn't have to care what language it's written in.

54:50 - Rob Campbell (Co-host)
You shouldn't have to care anytime, unless you're a contributor. You shouldn't have to care?

54:55 - Jonathan Bennett (Host)
uh, we got ferrous oxide all over yeah, um I hope not when, when do you, uh, when you guys think that cosmic is actually going to go for a stable release?

55:08 - Ken McDonald (Co-host)
alpha six it's going to be. Hopefully they hit beta by the end of this year I think it'll be stable the first quarter of 26.

55:19 - Rob Campbell (Co-host)
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.

55:39 - Ken McDonald (Co-host)
I didn't realize they were up to alpha six when I was reading this article, and here it's only March now.

55:49 - Jonathan Bennett (Host)
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 miss it when it's done. So we will see.

56:04 - Jeff Massie (Co-host)
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. Yes, it's done. When it's done. Yep, kind of like good barbecue.

56:16 - Ken McDonald (Co-host)
And he'll be only getting after it's done. On Floss Wiki.

56:26 - Rob Campbell (Co-host)
You know, 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 was the second.

56:34 - Jonathan Bennett (Host)
I don't remember.

56:36 - Rob Campbell (Co-host)
But I don't know, I'm surprised there's still alpha, not, you know, beta, beta.

56:42 - Jonathan Bennett (Host)
yeah, it's arbitrary really 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 discover that all that has to be there before we can do a release. Um, so there's a lot that goes into it, all right, speaking of releases, we got some news about some video cards. Uh, I don't think we've talked much since the the announcements about these. Uh, jeff, what is the new radeon cards and what's the news that you've got on them?

57:15 - Jeff Massie (Co-host)
well, if you're into graphics cards and gaming and gaming you've likely heard that AMD has officially announced the Radeon RX 9070 and the 97XT 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, the 28th of 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 Larable at Phronix was at the launch announcement and during the announcement he inquired about Rock M support for RDNA4 GPUs at the launch, rdna4 GPUs being the 9070 and the 9070 XT.

58:17
For those unfamiliar too, rock M is AMD's competitor to NVIDIA's CUDA. Both Rock M and CUDA are part of the compute stack for their respective GPUs. It's used for AI. Blender renders fluid simulations, similar computational tasks. It's not something you run 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 RockM is an open compute stack.

59:03
Amd has been investing significant effort into RockM, 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. Rockm 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 RockM so that then they can purchase AMD cards. Amd has confirmed that RockM 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 RockM's efficiency on the hardware side, ease of use for developers. You know they want to make it a very smooth and capable tool set.

59:59
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 thought it would be very frustrating 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 VII cards currently support Rock-M so they do have support today for Rock M. Other AMD cards might work or have unofficial support. They're kind of in that give it a shot.

01:00:48
It 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. A lot of times if you're running a lot of heavy Rock M or CUDA, you need more memory. You need you memory. 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.

01:01:32
Check out the article in the show notes for more details. It includes several links to supporting articles on RockM, 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 Rock M, as NVIDIA needs competition in the compute side right now of GPUs. Nvidia is basically owning it right now 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.

01:02:19 - Jonathan Bennett (Host)
Yeah, I think it's worth saying, though, that we're quickly approaching the point to where regular people are using CUDA and Rock M for doing stuff, whether it's generating pictures, being able to run something like the DeepSeek LLM locally using Inside Blender to accelerate that. Uh, there, there, there is beginning to be, um, you know, some some real use cases for these outside of your, your huge industrial industrial, but your, your big computer, uh, you know data center stuff, right I mean, they're not big computer data center, but I'm not sure if I'd call them regular people yet well, it's it, you, so you're doing it more on a smaller scale.

01:03:05 - Jeff Massie (Co-host)
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.

01:03:23 - Jonathan Bennett (Host)
Okay, okay, so that's, yeah, that's an interesting thought. So, like um, 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, 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. Uh, because I is cheap, it works with rock m and I get to do, you know some uh, image generation.

01:03:51
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, all right. 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 characters look different every time you play, and 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.

01:04:45 - Ken McDonald (Co-host)
You just need them to open source the software so that you can do it yourself.

01:04:49 - Jeff Massie (Co-host)
That would be nice. It is open source. A lot of it is Rock M, and Rock M is open source and Rock M is open source. And the thing to keep in mind is 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.

01:05:16 - Jonathan Bennett (Host)
First fight CUDA and then the support support will extend so back to ken's segue 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. 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.

01:05:54 - Jeff Massie (Co-host)
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.

01:06:18 - Jonathan Bennett (Host)
But you know, you and I would never notice it, because it just works for what we do. 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 gonna start with a comment.

01:06:27 - Rob Campbell (Co-host)
Uh, in that I can confirm that co-pilot, the web on the web, has no idea what we look like either it is something else, I'm sure but I look better well, we all look a lot younger. Um, it's a, it's a diverse community. Uh, two of us, two of us appear to be female. Um, 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.

01:07:03
Come on microsoft anyway. On to other topics that may involve gpus and gaming and things like that. Okay, this isn't exactly a Linux story either Yet. Yet it's not a 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 today.

01:07:39
How much younger I am today how much younger Late 90s. So I'm not doing math, this is not the Untitled Math Show. One of my favorite shows not shows games. My favorite games was Command Conquer, command and conquer, cnc, which it's often abbreviated as, was a real-time strategy game where you would you build up your base, uh, your your army, and and you'd go after, go after the enemy through different stages, um, it's kind of hard to really explain. In some ways it's kind of like civilization, um, but not turn-based, it's a real-time strategy game. It's a real time.

01:08:22
It's a real-time strategy game or, or you know, factoria, without the automation, but it's 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 Conquer, red Alert, tiberian Dawn, renegade and Generals. I'm pretty sure I've played all of these. I did have a pack of them at one time that had about everyone in there. These have been licensed under the GPL, which I don't know if they have any extra restrictions, but it's the GPL. Please, somebody make this a fork or whatever you got to do to free Civ or whatever you got to do, so that way I can play this on Linux. Um, it might be playable on steam, because, uh, uh, they did add some stuff to steam, I guess last year, uh, 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, um, 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 direct x5, which microsoft did recently open source a lot of the direct x 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 in the next be pretty awesome. Additionally, as I was saying, cnc was remastered and brought to steam last year. Um, so I read. I have not checked that out yet.

01:10:31
Uh, 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 uh 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. 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?

01:11:23
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 I've come back to 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 uh flash back to my more youthful days and indulge in some classic command and conquerquer.

01:11:48 - Jonathan Bennett (Host)
Yeah, I have fun memories of the Command Conquer games.

01:11:52 - Jeff Massie (Co-host)
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 there, I mean if you're talking about retro gaming, that's sort of a requirement.

01:12:02 - Jonathan Bennett (Host)
What?

01:12:03 - Jeff Massie (Co-host)
year is it now?

01:12:06 - Jonathan Bennett (Host)
I'm a little sad that the game old command and conquer game that I played the most of is tiberian sun and it is not part of the release no tiberian dawn is.

01:12:16 - Rob Campbell (Co-host)
I mean it's close. 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 don't know. Hopefully.

01:12:26 - Jonathan Bennett (Host)
Maybe not, 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.

01:12:51 - Rob Campbell (Co-host)
They all have very similar game plays. Be an open source. Somebody could make some maps that are similar to these other ones and kind of make it for you Possibly.

01:12:57 - Jeff Massie (Co-host)
And that's where you get AI to make it challenging.

01:12:58 - Ken McDonald (Co-host)
If I remember correctly, with it being released in 96, wasn't it using the Microsoft DirectX 5 SDK?

01:13:07 - Rob Campbell (Co-host)
Yep, yep, that's what I said. I didn't say the word SDK, but DirectX 5.

01:13:15 - Jeff Massie (Co-host)
I will admit to something right here, being kind of one of the gamer people on the panel.

01:13:21 - Rob Campbell (Co-host)
You haven't played it.

01:13:23 - Jeff Massie (Co-host)
I've never played it.

01:13:24 - Jonathan Bennett (Host)
They're fun games. I will say that real-time strategy is probably not everyone's cup of tea, but they are fun. They're fun games. They they are. Now, I will say that real-time strategy is probably not everyone's cup of tea, but, um, they are fun, they're fun games they are some of my favorite games of all time they can be fun, but if it's a real-time strategy mmo that runs 24 7, it can be devastating too they made some of those, but this is not that.

01:13:51 - Rob Campbell (Co-host)
You could play multiplayer. I mean, it wasn't 24-7 like that either.

01:13:56 - Jonathan Bennett (Host)
But there was multiplayer mode for it.

01:13:57 - Ken McDonald (Co-host)
yeah, Well, I'm just thinking of one that I got addicted to about 10 years ago.

01:14:06 - Rob Campbell (Co-host)
World of Warcraft.

01:14:07 - Ken McDonald (Co-host)
No Magic Rush Heroes.

01:14:10 - Rob Campbell (Co-host)
Never heard of it. It's an.

01:14:11 - Ken McDonald (Co-host)
Android, but I played it on Android devices.

01:14:15 - Jeff Massie (Co-host)
Yeah, oh, I don't play games on my phone.

01:14:17 - Jonathan Bennett (Host)
Lucky you, man. I've had to just shut it down. I have a card game on the phone, I have a different card game on the tablet, and that's it.

01:14:32 - Jeff Massie (Co-host)
That's my only gaming 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. Oh, it frustrates me. It's too small of a screen, I don't have keyboard and mouse and I'm like true.

01:14:37 - Rob Campbell (Co-host)
True, torques me off, all right. Good, there's bluetooth.

01:14:39 - Jonathan Bennett (Host)
You could have a keyboard so let's move on to the motion control subs. Ken, what in the world is a Motion Control Subsystem? What do we want this for?

01:15:11 - Ken McDonald (Co-host)
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. 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.

01:15:48
The request for comments also mentions that Linux motion control may affect other projects such as Linux-CNC and Clipper, for example. Now David also mentions the code is already in use controlling machines with up to 16 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 two example motion drivers currently use a combined 4,000 lines of C code. Now I 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.

01:16:36 - Jonathan Bennett (Host)
Hmm, this is interesting. So you could make a 3D printer that actually runs Linux.

01:16:45 - Ken McDonald (Co-host)
Or you could have Linux running several 3D printers.

01:16:49 - Jonathan Bennett (Host)
Or several. Yeah, cool, yeah, this is definitely interesting. I imagine this sort of thing would even be useful for the folks that do Linux inside of vehicles. A lot of the self-driving cars and cars with even driver assistance run Linux inside of them. All kinds of fun stuff in this.

01:17:17 - Ken McDonald (Co-host)
And if you throw in some code that would allow the system to act intelligently, it could maybe drive itself.

01:17:28 - Jeff Massie (Co-host)
Yeah sure, vehicle that's the idea, 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 so you probably, probably.

01:17:44 - Jonathan Bennett (Host)
What is happening in a lot of cases is where someone goes to design something like this they've got a Linux brain and they've got little microcontrollers that are connected over UART or SPI or I2C, one of those kind of serial formats, and where the Linux controller says, hey, here's what I want you to do. And then the microcontroller is running some kind of little tiny real-time operating system and it can do those controls at exactly the right time. And so now they're saying you know, if you're using true preemption, 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, real neat. I like it. Okay, what's next, jeff?

01:18:42 - Jeff Massie (Co-host)
Jeff has the last story for the day until we get into our command line tips.

01:18:43 - Jonathan Bennett (Host)
And you were kind of segueing into this before Jonathan. Yes, yes. So what might the rest of us want to do with machine learning and artificial intelligence on our personal Linux machines?

01:18:53 - Jeff Massie (Co-host)
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 audio processing options. These programs can perform various functions, from separating instruments and vocals to speech recognition. There's also chat options that allow you to communicate with a machine, that allow you to communicate with a machine. Additionally, they have 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.

01:20:45
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, 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.

01:21:47
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, surge 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. And these, these articles both of them provide several options for you to explore, to do that very thing.

01:22:36 - Jonathan Bennett (Host)
I particularly need to check out whisper. Um, I use an online service for doing um video transcriptions, and I have, for a while now, thought that whisper might be the way to do it. Uh, save that five bucks a month out of my budget that I'm paying for it. Uh, it's kind of terrible, though, to to have an open source show and use a closed source online service to do the transcription.

01:23:01 - Jeff Massie (Co-host)
So, and now we know now, you know well I I will forgive that once we get all the hosts off of closed proprietary operating systems yeah, we used to give randall.

01:23:14 - Jonathan Bennett (Host)
We still give randall grief about that every once in a while because he's on mac. It's all right when you pay that much, you're gonna use it yeah, I guess, I guess, uh, all right, well, that's our that, well, 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 core utils doesn't include, that it really should that it really should.

01:23:54 - Rob Campbell (Co-host)
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. Uh, going through some of these, I noticed at least one of these Ken already went through, and the one he went through is TS and that's apparently one of the more utils. So I was going to start with that one and went back to 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.

01:24:32
Instead, I'm going to start with Chronic. So Chronic, that's C-R-O-N-I-C, a program 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 ls, 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, slash nothing because there's no full one, it's going to say nothing. So now, if I do this in chronic, do chronic and run ls, well, it ran it, it's silent, you don't see it. Now, if I do that with the you know a folder that doesn't exist it's going to spit out, uh, just the error telling me that nothing exists. You know another example.

01:25:46
Let's just say, if I, if I do chronic, uh 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.1 two times. Only it's going one, two and then it returns and there was no error there. Well, 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 uh 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 uh invisible to you because you want to know something doesn't go right. So that's chronic, the first one in a series of more utils. Cool, I like it.

01:26:50 - Jonathan Bennett (Host)
All right Ken, oh I should add.

01:26:52 - Rob Campbell (Co-host)
Yes, I should also add I'm not quite sure if this is a version of more utils. I haven't gotten into it. When I first looked into it it's in the Seuss or OpenSeuss, apparently, and they're more utils. The Seuss or OpenSeuss, apparently, and they're more utils. But when I went to do this under my virtual machine, where I like to do 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 chronic got added a couple versions, um a few versions ago.

01:27:35 - Jonathan Bennett (Host)
So I believe that's what that is 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 package or concludes every one of them. But that could be it too. Yeah, all right, ken.

01:27:51 - Ken McDonald (Co-host)
Yes, today I am going to demonstrate another pipewire command. This one is pwloopback. It's used for creating loopback nodes from the command line via pwloopback. It uses the pipe wire 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 pipe wire 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.

01:28:49
Dash dash version, to show the version dash dash 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 dash group for naming a default node group or node group, with the default in my case being PW loopback. Dash seven, six, eight, one, nine, five. 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 that I'm going to demonstrate is dash D or dash dash delay. For setting the desired delay, 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 string properties, dash dash capital P or dash dash playback, which allows you to identify the playback 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 string properties you want to use.

01:30:56
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 libpipewire1.2.4. Still no update yet for me, though I hear there's an update coming to pipewire, now the basic pipewire command, pw-loopback. When you run it, well, set it up. Well, set it up For those of y'all listening. The QTP graph shows where the loopback hooked 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 loop back in single quotes, and then I'll use the dash D, followed by a two second delay with dash capital P, followed by Google Chrome input and when, I enter that it automatically sits up the loopback and y'all are hearing the basically it's like an echo.

01:32:25 - Leo Laporte (Announcement)
I can change the rate of the echo. I can change the rate of the echo. I was playing with it earlier up to 10 seconds. I was playing with it earlier up to 10 seconds and that was really confusing me 10 seconds later.

01:32:39 - Ken McDonald (Co-host)
I'm going to stop torturing y'all now, but that's a demonstration of using PWLoopback. Jonathan, have you got any thoughts on where you could use this? There is another use case for PWLoopback. Jonathan. Have you got any thoughts on where you could use this?

01:32:51 - Jonathan Bennett (Host)
There is another use case for PWLoopback 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 pipe wire 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.

01:33:41 - Ken McDonald (Co-host)
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 on how to do static loopbacks.

01:34:00 - Jonathan Bennett (Host)
Yeah, you can set them up in your config file so that it'll be there when you're ready to go.

01:34:04 - Rob Campbell (Co-host)
Yeah, cool. I was thinking next time you could could start the pw loop back at the beginning of the show and just have the the loop back as going in the show instead of your regular voice and then pull like an hour and a half delay all right, je what is wall.

01:34:28 - Jeff Massie (Co-host)
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 shorter than 79 characters, they'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 and pretty much all command line tips. We have at least the true command line. You know tips.

01:35:13
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 right 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 wall 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.

01:35:59 - Jonathan Bennett (Host)
All right. When I first saw wall, 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. Not quite there, 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.

01:36:18
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, you over there, that I want to be able to access here.

01:36:51
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 really cool stuff you can do with this and I thought it was a great write-up so I 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.

01:37:39 - Rob Campbell (Co-host)
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 yeah.

01:37:51 - Jonathan Bennett (Host)
That's cool. Yeah, no, it's really neat.

01:37:54 - Ken McDonald (Co-host)
I didn't realize he had recently done one using the PW loop.

01:38:00 - Jonathan Bennett (Host)
Yeah, 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.

01:38:13 - Rob Campbell (Co-host)
Webcams. If you have some weird reason to do mice or keyboards, huh, that sounds fun. Yep, I like it.

01:38:24 - Jonathan Bennett (Host)
Yep, it's cool, it's cool yep, it's cool.

01:38:34 - Ken McDonald (Co-host)
It's cool. Basically, the one I just added to the show notes, uh shows him creating a loop back to uh, link uh radio to uh. I'm trying to look to see to a speaker, oh.

01:38:47 - Jonathan Bennett (Host)
I can see that. Yeah, audio, the audio network pipes yeah, yeah, cool stuff. So go and follow the link and read through all of 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.

01:39:14 - Rob Campbell (Co-host)
I bet guys get the last word in if they want to, on something. We're gonna start with rob. I bet he's gonna plug his website and all the places where you can follow him and give him coffee. Well, since you already got that done for me, I'll just point, like I always say every week because I got nothing better to say uh, no fun poems or anything. Come find me, connect with me. Website's robertpcampbellcom 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.

01:39:54 - Jonathan Bennett (Host)
It's a miracle. It's the first time all day Ken Ken destroyed his computer's audio subsystem by playing around with pipe wire too much.

01:40:06 - Ken McDonald (Co-host)
Yes, I did, but all I'm going to say is back up.

01:40:11 - Jeff Massie (Co-host)
Back up.

01:40:13 - Jonathan Bennett (Host)
Beep, beep, beep and Jeff.

01:40:18 - Jeff Massie (Co-host)
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.

01:40:32 - Jonathan Bennett (Host)
So true, it's so true.

01:40:34 - Ken McDonald (Co-host)
All right, that's what the weekends are for.

01:40:36 - Jonathan Bennett (Host)
Yeah, Rebooting. 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.

01:41:10 - Leo Laporte (Announcement)
Hey, buddy are you a geek? Are you a tech enthusiast? Then I would love to invite you to join a tech 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 Twit 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 perk 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 twittv slash club twit. That's twittv slash club twit and, from the bottom of my heart, thank you and welcome to the club.


 

All Transcripts posts