Transcripts

Untitled Linux Show 241 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.

Jonathan Bennett [00:00:00]:
This week we're talking about AI and the price of memory and how it's coming to a Raspberry Pi near you. And then of course there's the GNU, lots of updates and releases this month. LibreOffice, GIMP, GNU Core Utils, Debian, Ardour 9, Shotcut. It is a smorgasbord of version bumps. You don't want to miss it. So stay tuned. Podcasts you love from people you trust. This is TWiT.

Jonathan Bennett [00:00:33]:
This is The Untitled Linux Show, episode 241, recorded Saturday, February 7th. A very hot sandwich. Hey folks, it is Saturday, and as always, you know what that means. It is time to get geeky. We're going to talk Linux and hardware and software, programming, open source. We're going to talk about artificial intelligence. Maybe not put that last one in the best light, although, you know, we'll see. But it's time for The Untitled Linux Show.

Jonathan Bennett [00:01:00]:
And today I have a singular co-host. Host. I have Mr. Ken McDonald with me. Hey Ken, welcome to the show.

Ken McDonald [00:01:07]:
Hello Jonathan, I'm glad I could make it.

Jonathan Bennett [00:01:10]:
I am glad you could make it too. So Rob skipped out with some excuse about a kid's robot competition, and I.

Ken McDonald [00:01:17]:
Can see where that would be more important.

Jonathan Bennett [00:01:19]:
And Jeff skipped out saying something about his sinuses acting up. I don't know, it's just the two of us though either way, but, uh.

Ken McDonald [00:01:25]:
We'Re gonna— I think Jeff was worried about hurting his voice.

Jonathan Bennett [00:01:30]:
Yeah, really get to know where his priorities were at.

Ken McDonald [00:01:36]:
All right.

Jonathan Bennett [00:01:37]:
Well, we've got some, we've got news to talk about. We've got some updates to talk about on reviews. We're actually going to kick into the news first and I'm going to let Ken go first. We're going to go back. It's going to be like ping pong today. We're going to go back and forth. There's no third talking head here, which that's all right. We can make it work.

Jonathan Bennett [00:01:53]:
We're going to let Ken go first and he's got. Well, it's apparently we're channeling the weekdays, not the weekend yet, because you've got an Office update.

Ken McDonald [00:02:06]:
Everything revolves around the Office, especially if it's LibreOffice. And Jonathan, this week we see just about everyone writing about at least my favorite open source office suite, no matter what OS you use. As Jonathan said, we are going to be talking about, in this case, LibreOffice 26.2. Now, according to Jack Wallen, it improves performance and responsiveness across all of the LibreOffice tools. It also makes working with larger documents smoother. According to Marius, Marcus Nestor, a couple of new experimental features that you can opt into have been added as well, such as new password-based ODF encryption mode called ODF Wholesome Encryption using AES-GCM authenticated encryption and Argon2 ID key derivation, as well as a new consolidated macro manager dialog and basic ID code completion. According to Saurabh Rudra, Calc has received major performance and format upgrades. Pasting content from Excel is better now thanks to BIFF12, that's B-I-F-F-12 clipboard format support, and scrolling in sheets with many hidden columns is notably faster too.

Ken McDonald [00:03:36]:
Saurabh even mentions the folks from Kalibara Productivity have contributed over 2,000 commits to this release. According to Joey Sneddon, Base, the LibreOffice database component, is now truly multi-user. You can work on databases at the same time as others without encountering annoying file lock quirks that force you to take turns on edits. According to Bobby Borisov, presentation workflows gain practical additions such as inserting hyperlinks directly from the context menu and copying dialog screenshots to the clipboard. In fact, with so much written about LibreOffice 26.2, I recommend reading the multiple articles I have linked in the show notes to get every single detail squeezed out of them.

Jonathan Bennett [00:04:32]:
Yeah, so I feel like most of our listeners are going to get this update maybe automatically, or, you know, the next time they install updates on their machine since that— I haven't checked if.

Ken McDonald [00:04:43]:
I've gotten it yet.

Jonathan Bennett [00:04:44]:
I don't, you know, honestly on this laptop, I don't even know if I have LibreOffice installed, which is, ah, look, LibreOffice. It is on there. Let's see what version it is. Help and about, uh, 25.8.4.2. I'm living in the past.

Ken McDonald [00:05:02]:
Yeah. That's probably the one that came with that installation of Fedora. Yeah.

Jonathan Bennett [00:05:07]:
I'm running Fedora on this. Let's see. See if I install an update for LibreOffice, what happens? LibreOffice Core, we'll just say Core. See if you get updates out there.

Ken McDonald [00:05:23]:
Well, let's see if it bogs down your machine enough to cause your video. It shouldn't.

Jonathan Bennett [00:05:30]:
It shouldn't. No, it looks like there's not an update ready to go here. So Fedora suppose— is, I Well, with.

Ken McDonald [00:05:36]:
It just being released, you'll probably see it come out in the next couple of weeks to the various distros.

Jonathan Bennett [00:05:41]:
Yeah, takes a little bit to get out. Nobody wants to ship, nobody wants to ship new code right away and for good reason. But for Fedora Rawhide, yeah, that's where it probably lands first. Although even in Rawhide, they back a few years ago, they came out and said, look, we're going to sort of try to make it less broken.

Ken McDonald [00:06:03]:
So we'll give stuff a week to filter out.

Jonathan Bennett [00:06:08]:
Pretty much. Make more of an attempt to not make it broken. I like that the copy and paste, and I assume that would also imply that opening files from the— into Sheets, the old spreadsheet stuff into Sheets works better. And then obviously performance as improvements well.

Ken McDonald [00:06:26]:
Well, I think this has to do with the clipboard format support that they're using more so than with opening files.

Jonathan Bennett [00:06:35]:
Yeah, I went and looked at the BIFF format, which I've got to wonder, like, what did that stand for? And it sort of implied that it was also an on-the-disk file format. So it seems like it probably will help there too. I don't know. I don't write LibreOffice. I don't have any patches in LibreOffice. I don't know what the inside of it looks like. It may still run on Java for all I know. I hope not, but it probably does.

Jonathan Bennett [00:06:58]:
At least some, somewhere. I'm.

Ken McDonald [00:07:01]:
Trying to think, have they gotten to where you can use Python as the scripting language for their calc?

Jonathan Bennett [00:07:08]:
I think in some cases, yes. I don't know. You know how long it's been since I've sat down at a conventional spreadsheet and actually done— Not one that's web-based? Correct. So much has moved to the web these days from doing my work.

Ken McDonald [00:07:25]:
Then you probably need to check out Collabora Productivity's other options.

Jonathan Bennett [00:07:31]:
To do LibreOffice in the browser?

Ken McDonald [00:07:34]:
Yeah.

Jonathan Bennett [00:07:35]:
Yeah. But then you got to set it up or you got to pay somebody for it. And it's like, we just, I'm going to make an admission. We just use Google Workspace.

Ken McDonald [00:07:44]:
Here's the question. Which is cheaper, Google Works or actually paying?

Jonathan Bennett [00:07:51]:
Probably in what I'm thinking of, it would probably be cheaper to go with Collabora. Calibera, Calibera, however they pronounce that.

Ken McDonald [00:07:58]:
It would probably be— Especially if you're an enterprise.

Jonathan Bennett [00:08:00]:
Yeah. Yeah.

Ken McDonald [00:08:01]:
But personal use, if you don't care about giving every bit of information about yourself away to Google, then go with Google Workspace.

Jonathan Bennett [00:08:09]:
I mean, you're just customizing the global universal AIs to know more about you. That's what it is. I'm sure. Oh, all right. Let's move on. Rather than talking about office suites for the whole show, I want to talk about Something more cheerful, the price of memory these days.

Ken McDonald [00:08:31]:
Oh, that, I hope it doesn't get too expensive. I'm having trouble with my memory already.

Jonathan Bennett [00:08:35]:
Well, that too, but I'm talking about in computers. So we're going to return to this thing, the laptop, the Raspberry Pi laptop, which I've done some further testing with it, by the way. And let's see if we get another screenshot for the show notes. Anyway, I've got an actual 40-pin hat hanging off the side of it. And that does work as expected. By the way, Jeff Geerling did a review on this and he had basically the same thoughts that I did. Really well made, surprisingly useful, but the price is a hard sell. And here's the thing, the price is now an even harder sell on something like that, or even the Raspberry Pi in general, because now for the second time in two months, Raspberry Pi has announced price increases across the line for their devices.

Jonathan Bennett [00:09:30]:
And it's really pretty steep. So on the 16GB Raspberry Pis, the 500, the 500+, the Pi 5, it goes up by $60 for 16GB, which really means that these things are getting to be quite expensive, like $200 in some cases for a Raspberry Pi, which is quite the departure from the $35 computer it started out to be. Now, in their defense, I believe you can still buy $35 Raspberry Pis. But if you want, you know, the Pi 5 with 16 gigs of RAM, you're going to have to pay significantly more than that. Evan Upton says it's temporary. And hopefully when the AI craze lets up and the price of RAM comes down universally, they'll be able to drop the price back to something reasonable. It looks like the Raspberry Pi 5 16GB is $205 on the various places right now. Goodness, that's expensive.

Jonathan Bennett [00:10:35]:
So you think $205 for the Pi, the CM5, the compute module is going to be somewhere in that same ballpark if you want 16GB. And then the 1UP itself is for just the core. Let's see, just the core system is Surely not $550. Let's see. I must be looking at, must be looking at the wrong one. There's no way that the, there's no way that just the core without the Pi in there is $550. All products, one. Here we go.

Jonathan Bennett [00:11:13]:
$400. There we go. The shell. That's it. The core is the whole thing. The shell is just just the, the laptop-y bits. So $400 for the Argon One shell and then $200 for the Pi CM5. So you're talking about a $600— that thing's a $600 laptop.

Jonathan Bennett [00:11:32]:
And it's not the most— it's not terrible, but it's not the most performant laptop ever. The port selection is not the greatest ever, although it does have some tricks that only it has, like being able to run a Raspberry Pi hat like I was doing there. So it's a tough sell right now. I still like it a lot. I'm glad I bought it. When I did. So I got the Argon One shell at the early bird pricing, and then I bought the CM5 right away because I knew I wanted to do it. And so I immediately went, okay, where's the CM5 in stock, and bought it then.

Jonathan Bennett [00:12:05]:
And so I got to pay the before-the-RAM-prices-went-nuts price for it. And, you know, at that, it was a pretty reasonable deal. Uh, now $600 is a lot when you can go buy a, you know, a MacBook M1 and throw Asahi on it. You can probably get those used for than that. less It's probably significantly less than that for the M1. Um, uh, Raspberry Pi does have yet another trick up their sleeves. You may have seen— I had not seen this until today. Um, there's a new model of the Raspberry Pi 4.

Jonathan Bennett [00:12:39]:
I don't think they're calling it like— it's not— it doesn't have a different SKU from what I understand, but it's a dual RAM module. And so traditionally on the Pis, you've had the CPU and then there's like a RAM wafer stacked underneath it and all of that gets soldered onto the board. And now with this new version, you have the CPU and potentially some RAM on one side and then a secondary RAM chip on the other side of the board, which is really interesting. Now, when when I, I saw this, I immediately thought, what is that going to do for people's temperature, like their thermal cooling solutions? So one of the things that has been, it's been kind of nice that it's stacked together because that means there's really only one chip surface you have to cool. And I guess I'm not sure, is it going to be more? So if you put, let's say, some goop and a heatsink on now on both sides of this where you've got some RAM on the bottom and some RAM on the top with CPU. Is it going to be more efficient because you've got an extra heatsink, or is it going to be less efficient because you're making a, uh, uh, you're making a very hot sandwich? Uh, I I don't, don't know. I just, it's going to be different, and I think people are going to have to experiment and play around with this, particularly like if you do overclocking on the Pi 4, it's going to it's going to make a difference. It'd be very interesting to see what happens with that.

Jonathan Bennett [00:14:13]:
And then also in the show notes, we've got the link off to Gear Link's video because of course he did a great job talking about the, talking about the 1UP, the Argon 40 1UP and the issues around the Raspberry Pi. So, I mean, I'm still a huge, I'm still a huge Raspberry Pi fan, but man, it's a hard time to be a, Raspberry Pi enthusiast. It's kind of a hard time to be a computer enthusiast, actually. Goodness.

Ken McDonald [00:14:40]:
But yeah, I found that article by, I want to say, Joey Sneddon. Very interesting in regards to the dual chip, especially since it followed it, went down the rabbit hole to a PDF. That lists— says that the change is because they're able to get multiple sources of RAM devices that have been qualified for use on the Raspberry Pi 4 Model B. And it's that Model B that has— that is, uh, has the dual RAM. And one of the manufacturers that it— that PDF lists is Raisin. They can get 1 gig, uh, 2 different, uh, types of 1 gig memory, uh, 2 different types of 2 gig memory, and 1 type of 4 gig. So if they do that with the 4 gig, is that potentially 8 gigabytes of memory for the Pi 4?

Jonathan Bennett [00:15:45]:
That would be interesting if they were to go retrofit and do— I, I doubt it. I doubt they would. Well, no, it's going to be a new board, right? I guess you could see Now that they've experimented with it, you could see potentially in the future with something like the 6 series of Raspberry Pi, do they do this arrangement and do a 32 gig Raspberry Pi 6? I don't know. It'd be interesting to think about.

Ken McDonald [00:16:14]:
Maybe the price works.

Jonathan Bennett [00:16:17]:
The cost of RAM would have to come way down for that price to work, I think. That would be an expensive board right now.

Ken McDonald [00:16:26]:
I'm saying that they're probably doing this with the Pi 4 to get that price back down lower than it went up. Right.

Jonathan Bennett [00:16:34]:
Yeah. But I'm thinking like, you know, once your engineers have the experience of doing a design and then also like the manufacturing steps, because that's a huge deal on these sorts of things too. And like they've gone through all the trouble of making sure this works, of doing the design. It's It's good. now going to be an idea that's in their back pocket. Like we've done split RAM designs. And so when they go to work on this Pi 6 or whatever comes next. There's this thought of, we've done split RAM designs, could we do something interesting with that with this board?

Ken McDonald [00:17:03]:
Yep. Uh, for those that are interested in it, um, you're gonna have to— if you're wanting to get the dual RAM version, you're going to have to actually check to make sure that's what you're getting. And when you do get it, you're probably going to need to flash it with the latest Raspberry Pi OS So you can update to the Pi EEPROM 2026-01-09 then, or later, because they're probably going to come out with something here soon. Hopefully they'll be able to come up with a way to have it on the system already as they come out with that. New releases of it.

Jonathan Bennett [00:17:49]:
Yeah, well, I mean, you, you figure that they're making, they're making these new chip, these new boards, they're going to flash whatever's newest on it. I imagine that if you get one of these boards that are split RAM, it's going to have the update on it already. Um, but I guess I don't know that for sure.

Ken McDonald [00:18:05]:
Uh, anyway, but you don't— I definitely want to do that before you try installing any of the the pre-existing images out there like Ubuntu's.

Jonathan Bennett [00:18:20]:
Are they, are they going to break?

Ken McDonald [00:18:22]:
Well, they'll have the older firmware on them by default.

Jonathan Bennett [00:18:26]:
Yeah.

Ken McDonald [00:18:27]:
So you're not going to see all the RAM.

Jonathan Bennett [00:18:31]:
Oh, does it need the firmware update to see all the RAM?

Ken McDonald [00:18:34]:
Yeah.

Jonathan Bennett [00:18:35]:
I I think, think probably the way that's going to work then is you're going to have to install the old version and then do do the update. You got kind of a chicken and egg problem there. I see, I see what you mean now.

Ken McDonald [00:18:46]:
Just have an SD card, flash the latest Raspberry Pi OS onto it, and then after you've got it up on that, run through the standard RPI EEPROM update.

Jonathan Bennett [00:18:57]:
You're you're still, still going to run if it's got, if your board ships with the old firmware, because I think the firmware is installed on the board itself, all of that stuff.

Ken McDonald [00:19:07]:
Initially. That's why you'll need to update.

Jonathan Bennett [00:19:11]:
Yeah, I don't know. We'll see. All right, let's talk about GIMP, the graphical image manipulation program, and we're going to do that right after this. Take it away, sir.

Ken McDonald [00:19:23]:
Well, Jonathan, as you mentioned, we're going to be talking about an update to at least my favorite image manipulation program since this week Michael Larbo and Lucas Green wrote about— I apologize because I know I'm going to butcher this— Andrej Michals' recent presentation at FOSDEM 2026. Andrej shared his experiences as a GNU image manipulation program developer and discussed GIMP 3.2's development and what lies ahead. According to Lucas, GIMP version 3.2 is expected to bring further stabilization and refinements. Both Lucas and Michael look forward to the full implementation of non-destructive editing. According to Michael, GIMP will include hardware-accelerated image operations using modern APIs. Andre also shared that planned improvements aim to streamline ICC profile handling, improve soft proofing capabilities, ensure that GIMP's color pipeline behaves predictably across different output targets. Another area of significant planned improvement is GIMP's text tool. Post 3.2 plans indicate that text handling will receive substantial attention with the goal of making GIMP a more viable tool for design work that involves significant typographic elements.

Ken McDonald [00:21:04]:
Now, since I've just touched on some of the highlights, I do recommend reading Michael and Lucas's articles for more details. Anything in particular that you're interested from those articles?

Jonathan Bennett [00:21:17]:
The, the non-destructive editing. Is really interesting. And you could sort of do this with GIMP in the past, but the fact that they're now making it like a key part of the workflow is really interesting. That's the sort of thing that lets you get in.

Ken McDonald [00:21:33]:
I think that was the one and possibly only big seller for some of those proprietary options.

Jonathan Bennett [00:21:42]:
That's one of those sorts of features that really let you get in and sort of nail the effect that you want. Because I've done audio and video editing, and while it's a very different thing from image editing, you still have that idea of some of them are non-destructive editors. And that just essentially means that everything that you're doing is just a layer that you put on top of the original files. You can go back and sort of sift through each one of those steps and undo them or tweak them. And that's gonna, you know, that's gonna be a big change for GIMP, and it's really gonna it's gonna— it is gonna elevate it to the next level, uh, of being able to do things. I also like the fact that they're working on color management and high bit depth workflows, which— that's a fancy way of saying that essentially they're doing HDR work. Um, I'm not sure if they call out KDE in particular, but I know some of the other, uh, projects in this space, which we're about to talk about, talk about using KDE in particular to make this work. Yep.

Jonathan Bennett [00:22:40]:
Very cool. Well, speaking of which, I did not mean to segue myself, but I guess I did. One of the other tools that's only sort of in this space, GIMP is specifically for picture manipulation, whereas Krita is intended for drawing and it is a digital paint program. It is a very nice one though, and I know some people use it professionally. Krita 6 now has a beta beta release. In fact, the first beta release is out. And of course, as you uh, as you would, would assume, there's lots of new things in there. Um, there is a bit of an interesting note here that Krita 6 ships to Qt 6 toolkit, but Qt 6 doesn't work very well on Android and Chrome OS.

Jonathan Bennett [00:23:31]:
And so they are also forced to continue to maintain the old Krita 5 code. So that's, that's a bit of a bummer, but Krita 6 with the new Qt Toolkit gives them, again, on Wayland, support for HDR and color management capabilities, which that's— this is more than just making brighter colors, by the way. Color management also includes things like loading up a color profile for your exact monitor. And that way you can know that when you get your colors right on the screen and then you print them out, you have them professionally printed, the colors are going to be a really, really, really close match, which is a big deal again for for people doing things like this professionally. Probably anyone that has gotten business cards designed and printed has experienced this. It's like, my business cards, it's a lovely shade of blue. I have some business cards somewhere I can show you this. And then you get it printed and it's like, it's purple.

Jonathan Bennett [00:24:30]:
It wasn't supposed to be purple. It was supposed to be blue. It's exactly this. It's because colors when you print them are different than colors when you show them on your screen.. And so being able to do things like color management, loading your color profiles, helps with that a lot.

Ken McDonald [00:24:45]:
Um.

Jonathan Bennett [00:24:47]:
Krita also is working on text objects and rewrites, uh, vector object work, um, support for more file formats, better JPEG XL image support, uh, Python plugin API enhancements. I didn't know that there was a Python plugin API for Krita. That's pretty cool. But, you know, this is, this is one of these open source projects that does get used by some professionals. And it's a, it's a very neat project. Digital art is not something that I'm good at at all. I'm not even good at really making art on pen and paper or with any of the mediums, but I appreciate those that are. And it's cool to see Krita and GIMP, both of them together, continuing to push, push the limits, push the envelope.

Ken McDonald [00:25:31]:
Yeah, with Krita having a Python plugins makes you wonder, are the plugins, the Python plugins for GIMP compatible with Krita?

Jonathan Bennett [00:25:43]:
Probably not.

Ken McDonald [00:25:44]:
Yeah.

Jonathan Bennett [00:25:46]:
You would be nice. You could do, you could write like a core library and then create wrappers around it that would then talk to the Krita and GIMP API. So like if you had something really, really interesting that you wanted to do in a plugin, you could write it once and then wrap it and do it in both places. I'm sure that would be possible, but yeah, I don't think they have a shared API.

Ken McDonald [00:26:13]:
But what I found interesting and probably what'll help people who do use it in a professional capacity is that as a side effect of the text work, vector shape editing is actually now a little faster.

Jonathan Bennett [00:26:28]:
Yeah, very cool. So when you get those business cards made, you can do it in Krita.

Ken McDonald [00:26:34]:
And then you save the file.

Jonathan Bennett [00:26:39]:
Save it and open it in GIMP if you want to. Yep. Yep. Fun stuff. All right. I think we're time to move on. And Ken is going to talk about core utils, not the Rust core utils, not the Rusty core utils, the original ones, but It is that time of the show for yet another break. We'll be right back.

Ken McDonald [00:26:58]:
Yes, Jonathan, this week we have Bobby Borisov and Michael Lirbell, who both wrote about the release of a new stable version of the essential collection of basic file, shell, and text manipulation utilities that form the backbone of nearly every Linux and Unix-like system. I am talking about the GNU is Not Unix coreutils 9.10. This release addresses several regressions introduced into version 9.9 affecting the cp, install, and mv, or copy, install, and move commands when copying sparse files using the seek_whole function. This issue could surface in file systems such as ext4 when sparse files were actively updated and copy offload was unavailable. It also includes improved formatting of hyperlinks with ls --hyperlink or --hyperlink. Tools such as fmt Numfmt, md5sum, and the sha*sum family also received fixes covering error handling, suffix parsing, and line ending translation. If you do want more details about all this, as always, you can look at— follow the links we have in the show notes to the actual articles to get more details.

Jonathan Bennett [00:28:40]:
Yeah, I didn't know there was a paste command. Looking through the different notes here, and the paste command is now fully multi-character. What does paste do in coreutils, right? Lines consisting of the sequentially corresponding lines from each file separated by tabs to standard output. It copies stuff from files. It pulls the things— it pulls— it reads from files, basically.

Ken McDonald [00:29:05]:
Like cat.

Jonathan Bennett [00:29:06]:
It's sort of like cat. It's like cat.

Ken McDonald [00:29:09]:
Similar.

Jonathan Bennett [00:29:10]:
It's cat with extra decorations.

Ken McDonald [00:29:15]:
I will have to do that as one of our future command line tips. Make a note it. of Jeff, if you're listening, make a note.

Jonathan Bennett [00:29:22]:
Make a note of it. We'll talk about it. I'm sure there's cool stuff you can do with it. It is an interesting reminder. You know, the Rust core utils, they caught so much. Attention and also flack for having, daring to have bugs. And, you know, people, people made the comment that Ubuntu in particular, oh, you went to these too early, which may still be true. But the reminder here being the original core utils also still have bugs or.

Ken McDonald [00:29:50]:
Sometimes get regressions or sometimes have regressions.

Jonathan Bennett [00:29:53]:
Yes. Believe it or not, it's not, it's not done software. Every once in a while we talk about a program that's like, it's pretty much done. These are not, not quite.

Ken McDonald [00:30:03]:
Things are still— There's still features that can be added.

Jonathan Bennett [00:30:06]:
Absolutely.

Ken McDonald [00:30:08]:
As the Rust core utils are showing with the copy command.

Jonathan Bennett [00:30:13]:
One of the other interesting things that happened with the Rust core utils and the other project, I forget the details of the other project. There's one that's redoing it in C++, I think. But one of the interesting things that those projects have done is they've helped develop the core utils test suite because all of those projects sort of share the same test suite. And there are things that were just sort of assumed in the original core utils project that never got documented, never got tested. And then, you know, these other programs come along and make a different decision or what have you, and then suddenly someone complains that it doesn't work the same. Well, suddenly, hey, there is something we can document about core-utils and add to the test suite. And so like, even if you don't run, uh, the Rust version of core-utils, you can still say thank you to them because they've made your program a little bit better and a little bit more stable. So there's that.

Ken McDonald [00:31:12]:
And it definitely helped with us getting to core-utils 9.10. GNU's not Unix core utils. GNU.

Jonathan Bennett [00:31:23]:
I saw a story this week, speaking of GNU, I saw a story, I think it was this week, about how that GNU is now, what did they say, 70% complete. And we're not talking about core utils. We're not talking about the GNU umbrella. We're talking like the actual GNU And, OS. you know, that's been in development for, oh goodness, decades now, longer than, longer than than Linux has. Didn't when Torvalds first wrote the, pasted the Linux source code to the mailing list, didn't he say something like, it's never going to be a big professional OS like GNU will be?

Ken McDonald [00:32:01]:
Yeah, I think you're right, he did.

Jonathan Bennett [00:32:02]:
Yeah, it was something like that. Oh, and unfortunately, when you Google for this, GNU is now 70%, you get dumb political stuff. That is not, you disappoint me, Google. That is not what I was looking for. But I saw a new story. I think it was this week that like GNU Unix is 70% complete or something like that. It's like, I don't know if that project is ever going to go anywhere, but I guess good for them for continuing on.

Ken McDonald [00:32:33]:
Yes.

Jonathan Bennett [00:32:34]:
Fun, fun. All right. So that wasn't my story. My story is about Toyota and Toyota doing something that I did not expect them to do.

Ken McDonald [00:32:43]:
Playing games?

Jonathan Bennett [00:32:44]:
Building games, which I don't— I'm sure there's a reason. Why they did this. And, uh, but as Michael Larabel says here on Pharonix, it's an unexpected combination. Uh, so Toyota Connected North America is developing a console-grade open-source game engine, and they're building it in the Flutter toolkit with Dart, and they're calling it Fluorite. So first off, I need to interview them, and we need to have Randall Schwartz on as the co-host when we interview him over at Floss, because he would be able to ask all the intelligent questions about Flutter and Dart. But this is not what you normally think of video games getting programmed in. And it— they've got some screenshots and some videos actually. If you go to, um, fluorite.game is their website, uh, and then they also had a presentation at FOSDEM.

Jonathan Bennett [00:33:42]:
And it already works, like they've already got lighting in it and, and it looks like you can walk around inside these virtual worlds. So like, things things are, are already put together. It does have some neat ideas because of Flutter Dart. Like, you can do hot reload, which is always really uh, interesting, can, can make your, your programming cycles a lot faster when you can do hot reload. Um, you know, the stuff I do, I spend so much time compiling and waiting for something to finish compiling and then upload to the little gizmo I'm playing with. Hot reload would be really nice there. But it's just, I was trying to think, it's like, what, what is Toyota doing here? Why does Toyota need a game engine? And so one of the things they mentioned here is Toyota, of course, all cars now have these infotainment centers, built-in screens in the cars. And apparently Toyota already uses Flutter in those.

Jonathan Bennett [00:34:44]:
Flutter, Yocto, Linux, Wayland. That's sort of their stack already. Um, and are they wanting to add video games into the cockpit? And so like you can, you can imagine, I don't know if they're going to do this or not, but you can imagine so many cars these days are essentially all fly-by-wire. It's like turn the car off, but leave the console on and then hit a button to enter the game. And suddenly you're driving with your steering wheel and your accelerator and your brake pedal, but they're feeding into the video game and instead of, you know, out into the real car. Uh, that is sort of the ultimate driving setup experience. It's also a little terrifying. Um, is that, is that the sort of thing they're doing? Is this going to be for, uh, internal testing? Is it going to be for advertising? I don't, I don't know exactly what all Toyota is doing with this, but apparently Apparently there's somebody, there's some group of people inside of Toyota that think that this is what they needed to do.

Jonathan Bennett [00:35:39]:
And I'm here for it. I think it's great. I love having additional open source video game engines. I think that's really cool. And maybe we'll get to talk to them. It'd be fun.

Ken McDonald [00:35:51]:
I can think of one advantage to this.

Jonathan Bennett [00:35:53]:
What's that?

Ken McDonald [00:35:53]:
They could get some professional drivers to sit in the cars, actually drive the cars, have the game engine record the responses to live stimuli, then feed that into a machine language learning model, have it create the responses, and as maybe it come up with some sort of feedback loop so that then they could try to automate those responses within the game engine.

Jonathan Bennett [00:36:28]:
I mean, I'm sure there is some interesting play, interesting things you can do with that. I don't know that you need to write your own engine to make that.

Ken McDonald [00:36:34]:
Happen, but it may be easier.

Jonathan Bennett [00:36:37]:
It may be easier.

Ken McDonald [00:36:39]:
And more fun.

Jonathan Bennett [00:36:40]:
There you go. That's probably, I'm sure that's a big part of it. Definitely more fun. But yeah, we'll see. We'll see if anything, if things become of this. Is this going to be the new Dart and Flutter thing that people are going to start making game engines in it, making gaming in it? I don't know.

Ken McDonald [00:36:55]:
Well, they got to be careful because Dodge has got a trademark for Dart as well.

Jonathan Bennett [00:37:02]:
Oh, the Dodge Dart, right? Yeah. Well, okay. So, so hang on, hold, stay with me now. When you think about big American companies, those of us of a certain age, we may think of car companies, but Google has Dart, the programming language. And Google's pockets are way deeper than Dodge's. Google can pretty much just buy Dodge. I, I am quite certain.

Ken McDonald [00:37:29]:
And Google's got a— currently has a very good revenue flow.

Jonathan Bennett [00:37:33]:
Yes.

Ken McDonald [00:37:34]:
Whereas Dodge probably doesn't.

Jonathan Bennett [00:37:37]:
It's, it's, uh, yeah, I don't, I don't think Toyota has to worry too much about Let's put it that Dodge. way.

Ken McDonald [00:37:41]:
Especially if they've got Google backing them.

Jonathan Bennett [00:37:43]:
Exactly. Uh, that, that seems like one of those places where Google would want to step in and protect their own trademarks. Anyway, all right. So what's up next? We talked about Toyota. Oh yes. Oh yes. Ken's going to talk about Debian and then we're going to talk about AI. And this is going to be interesting because I've got thoughts.

Jonathan Bennett [00:38:09]:
We've got stories here. So let's take a quick break.

Ken McDonald [00:38:11]:
And Ken's going then to say, let's take a long break first.

Jonathan Bennett [00:38:14]:
Well, I don't know how long for us. They're real short. But yeah, we'll take a quick break and then we'll come back and talk about Debian right after this.

Ken McDonald [00:38:24]:
And now that we're back from the break, Jonathan, I think it's time to talk Debian. Now, I want to thank Michael Larabel for the two articles he wrote about challenges and changes within the Debian community. First, we have the challenge of developers drifting away without properly communicating their status. According to Michael, Debian project leader Andreas Tell— I hope I'm saying that right— has been looking into this situation and summarized it in a recent mailing list post for the Debian developers. Quoting from the post, the following thoughts are not specific to the recent changes around the FTP master or DFSG, but reflect a more general pattern I have observed across different areas of Debian over time. During my time as director of project, Debian project leader, an earlier gut feeling has gradually turned into clearer observation. Debian has a structural challenge that is easy to overlook precisely because we are a volunteer project. Debian exists because people freely choose to spend their time on it.

Ken McDonald [00:39:49]:
That is something I deeply value, and it is a large part of why Debian works as well as it does. At the same time, most of us joined with enthusiasm, not with an explicit agreement to later announce when our available time energy, or interests change. Life circumstances shift, priorities evolve, interests fade. All of this is normal and entirely legitimate. What we largely lack, however, are lightweight and reliable ways to communicate those changes to each other. Now, Andreas went on to outline some ideas around the MIA team, or missing in action team, as well as keeping packages approachable and handling of delegates. A proposed process being discussed is to have an automated communication system to email individuals flagged as potentially being inactive contributors after a period of time, and then monthly follow-up automated emails to try to solicit a response about the individual's status if there isn't a reply to previous emails. Michael links to Andreas' post in the first article I've got in the show notes.

Ken McDonald [00:41:12]:
Now, the second article covers Debian response to increased bandwidth usage caused by LLM scrapers. Paul Gevers, on the behalf of the Debian Continuous Integration or CI team, laid out some steps they needed to take in order to survive all of the scraper traffic to the ci.debian.net resource. First, all Debian CI data pages except the direct links to test log files now require users to be authenticated before being accessed. The second change is adding a filter band-based firewall to address abusive traffic patterns. This step took a little longer due to some adjustments made to correct for initially blocking some legitimate Debian contributors from the Debian CI portal. Michael's second article links to the team status update post where you can get more details instead of listening to me ranting on.

Jonathan Bennett [00:42:17]:
Yeah, so let's talk about the first thing first, the first story. When I first saw this headline, I was actually afraid that he was going to talk about you know, as people age out and the pool of contributors gets smaller and smaller, which I know is a thing that, uh, and that.

Ken McDonald [00:42:35]:
Could be part of the reason why there's not that much communication from them anymore, right?

Jonathan Bennett [00:42:40]:
Well, so that's something I know, like, in the kernel itself that they think a lot about is how do we onboard new people so that it's not just the old ones around, uh, because the old ones are eventually going to age out and you've got to have fresh blood if you want the project to be able to continue into the future. But this is more about just the normal ebb and flow. People get busy. They have other things. Like I have multiple times in multiple projects moved on because I've had other things come up. I could tell you, oh goodness, I used to maintain a couple of packages in OpenWrt. I don't really do that anymore because I just don't have the time to. I used to work on the FW-NOP firewall a lot and have moved on from that.

Jonathan Bennett [00:43:22]:
I used to work on ZoneMinder a lot., and I've moved on from that too. In, in, in those cases, it's because either the project now does what I needed it to do, or I found another better way to do it. Um, so, you know, you kind of get to the point where you're like, you've scratched your itch and all right, it's it's time, time to move on.

Ken McDonald [00:43:41]:
Um.

Jonathan Bennett [00:43:44]:
And I guess in a lot of projects it does just, it happens organically that people figure out, oh, he's not around as much anymore, we'll take over what he was doing. Debian is important enough though that I'm kind of surprised that they haven't made this more official before now. And I'll be frank, reading through this, the fact that this automated system only kicks in after 6 months, like that's a long time.

Ken McDonald [00:44:06]:
Well, if you're talking where you look, if you're one point I saw where it was 6 weeks.

Jonathan Bennett [00:44:11]:
Okay, 6 weeks is a little bit more reasonable. But like if you're talking about security vulnerabilities that need to get patched, like even 6 weeks is a long time. Yeah, but 6 months is a really long time. So, and obviously I don't, I don't know what the answer is for this other than like most things in life, people just need to work harder to communicate better. I think that's just a fact of life and just about whatever realm you're in.

Ken McDonald [00:44:33]:
That's always the weakest link, isn't it?

Jonathan Bennett [00:44:35]:
It tends to be. It tends to be.

Ken McDonald [00:44:39]:
Especially when you talk with the group we're talking about, developers.

Jonathan Bennett [00:44:45]:
Mike Jones says, maybe you can get an AI agent to update Debian when no one's got the time. Thanks, Mike. No.

Ken McDonald [00:44:58]:
Let the AI agent handle the email for us.

Jonathan Bennett [00:45:01]:
Maybe. I don't even trust it to do that. There's a real short list of things that I actually trust the AI agent to do. Taking notes during meetings, it does fairly well with that. But other than that— Setting timers? Sometimes. Man, I don't know.

Ken McDonald [00:45:23]:
As long as it gives you a good verbal response that it's setting it.

Jonathan Bennett [00:45:27]:
And how long exactly it's setting it. Please set a timer for 5 minutes. Okay, Ken, I've set a timer for 5 years from now.

Ken McDonald [00:45:34]:
No!

Jonathan Bennett [00:45:37]:
So the other thing you mentioned is the, uh, the data And, you know, we've talked scraping. about that. We talked famously about the anime catgirls protecting the Linux kernel back several months ago, and we, we sort of talked about how the math on that particular project didn't actually work. Uh, and I, I think what, what Debian has done here with requiring logins, while it, it kind of sucks, is what's going to have to, uh, it's what's going to have to be going forward. If projects want to avoid their data being scraped, like— Well, it's not that.

Ken McDonald [00:46:10]:
They want to avoid it. It's costing them. Stop and think about it. The bandwidth that it's using, Debian's paying for.

Jonathan Bennett [00:46:21]:
And that really is the problem that most places have with it. I you know, know, in some cases there is the if it weren't for.

Ken McDonald [00:46:29]:
That, I bet Debian would be happy to have them scrape it and then maybe provide some feedback.

Jonathan Bennett [00:46:36]:
Maybe.

Ken McDonald [00:46:38]:
Through an authorized channel.

Jonathan Bennett [00:46:40]:
So that, that, that, that has been a problem as well. And I don't think we've talked about this. I've got this here in parentheses because I don't think we talked about tldraw. I don't think we talked about curl either recently on this show.

Ken McDonald [00:46:56]:
So Daniel Stenberg— Steve Gibson talked about it recently.

Jonathan Bennett [00:47:00]:
Okay. Okay. I'm glad he covered it because it's a big deal. Daniel Stenberg is the lead developer over at cURL, which cURL is in the running for the most widely installed library ever because it's in basically everything. There may be more cURL installs on the planet than there are people. Or libcurl. Yes, libcurl. Yes.

Jonathan Bennett [00:47:26]:
I mean that literally. There are probably more libcurl installs than there are people. And they had a, they had, they had a very healthy bug bounty where security researchers could look at the curl code, find problems, send the, you know, document the problem, send it in, get paid money for finding these problems. I've made some money from doing this, not with curl. I actually found a problem in Starlink. Of all things. And I, you know, I paid for basically my entire— the entire time that I've had Starlink, I paid for— I got paid that amount that I was paying for all at once because I, I've ran a, uh, I ran an IP scan and I found that they had accidentally exposed one of their internal machines to their, to their customers. And so because I was connected to their network through a Starlink terminal, I could talk this remote procedure call endpoint that I was not definitely not supposed to be able to talk to.

Ken McDonald [00:48:24]:
Shouldn't have been able to.

Jonathan Bennett [00:48:25]:
Yes, yes. And they forget how many, several thousand dollars they paid me for finding that, writing it up.

Ken McDonald [00:48:31]:
Thank you for letting us know to shut this off.

Jonathan Bennett [00:48:34]:
Yes, that's exactly what they said. So, you know, that's, that has been a great thing for fiddlers like me, but also people that do it professionally. You know, there is the profession and has been for a while of finding security vulnerabilities, sending it in, and that is how you make your money or that's how you make your pocket change.

Ken McDonald [00:48:52]:
Part of your money.

Jonathan Bennett [00:48:53]:
Part of your money, yeah. Although I've, I've, some guys that are very successful about it make six figures doing this. Like, you, you come across and come up with really novel ideas, you can make a lot of money with it.

Ken McDonald [00:49:04]:
And then the money they get for talks and articles they write, just, that's the chump change.

Jonathan Bennett [00:49:10]:
Oh well, yeah. So anyway, um, the problem is that AI has started making it so easy to write plausible security vulnerabilities, vulnerability write-ups. And, you know, some people, I'm sure, were doing this innocently. Ignorant people were doing it very innocently. You read somewhere that, oh, somebody made six figures, somebody made $100,000 for turning in security vulnerabilities. Okay, well, what's a good project to go start looking for security vulnerabilities? Curl. Okay. Hey, ChatGPT, find me a security vulnerability in curl.

Jonathan Bennett [00:49:47]:
In the way modern AIs work, you ask them to do something like that and they're not going to say— I guess some of them now have gotten to the point to where they'll start telling you, I can't do that. But for the longest time, and I think most of them still are like this, okay, here it is. And what they're doing is, you know, they're, they're, they're pulling out of their database all of the different security vulnerabilities they know about and they're just splicing them together in a way that seems reasonable. To actually get— and researchers have had success with this, by the way, of actually getting LLMs to find security vulnerabilities. But it's way more involved than just asking ChatGPT to do it.

Ken McDonald [00:50:25]:
They tell it to download the source code.

Jonathan Bennett [00:50:28]:
Well, what they do actually, I covered this back when I was writing for Hackaday. I covered this. They would have about 3 or 4 different LLMs together. And they would have it do that. So like try to find one and then run it through the test suite and then look at the output of the test suite. And, you know, 99.9% of the time it wasn't finding anything, but they would run through so many iterations that eventually they would find something. So like there is something to be said for having an LLM find vulnerabilities, but it's not, it's not Joe Bob typing it into ChatGPT. And the problem is that the people doing that were then sending these bogus reports in to libcurl.

Jonathan Bennett [00:51:05]:
And so Daniel Stenberg finally came out. He was one of the first ones to come out and say this is going to be a problem. And he has finally recently come out and said, we're going to have to wind down our bug bounty program because so many people are sending in these bogus vulnerability reports. It is swallowing up all of our time. And so I think that is now the case. If it's not, it will be soon that libcurl no longer has a bug bounty program. You can still report to them, but they're not going to pay anything for it because the— it's, um, it just made it too tempting, right?

Ken McDonald [00:51:38]:
Like the, uh, too tempting, too time-consuming.

Jonathan Bennett [00:51:43]:
The incentives, the incentives were messed up. It was so easy for someone to, to write one of these bogus— use an LLM and write one of these bogus things. It didn't cost anyone anything to do that, but the possibility that they were going to get paid for it was so tempting. The incentives were upside down in it, and so they've they've had, had to kill it. Well, More recently, TLDraw, another open source project, came out with a different statement, this time not about bug bounties but about pull requests. And so this is something else that we have been fighting with as sort of the open source world in the last couple of months. Not only do LLMs make it trivial to write bogus, um, vulnerability reports. They make it trivial to write bogus pull requests, and in some cases not entirely bogus pull requests.

Jonathan Bennett [00:52:44]:
And that's what makes this so difficult, is because like you can vibe code something that works. The problem is that it tends to not fit very well with the project that you're trying to vibe code it for. And then you also have this issue where like people don't actually understand the code that they have written and they're trying to get into your project. And so, uh, TLDraw is, is an open source project. It's a relatively popular open source project. It's it's got, uh, got 45,000 stars on GitHub. Um, you know, it, it um, it does, is a library for creating infinite canvas experiences in React. It's a React library for drawing.

Jonathan Bennett [00:53:28]:
They put a statement out about 3 weeks ago, uh, update on the TL;DR policy in regards to contributions. For the good of the project, we're going to begin automatically closing pull requests from external contributors. We'll of course continue to welcome issues, bug reports, and discussions. He says this is a temporary policy until GitHub provides better tools for managing contributions. And so what they're doing is they're saying, hey, if you have contributed in the past and you are a known good contributor, keep doing it. If you are someone that we've never gotten a good contribution from before, automatically close. We're not even going to look at it because they're getting so many of these drive-by vibe-coded contributions. And so many of those are not necessarily bogus, But they'll do things like make 5,000 changes across 300 source files.

Jonathan Bennett [00:54:28]:
They'll rename your project. I've seen vibe-coded PRs that's like, let's rename the project while we're at it. It's like, oh my goodness, did you even try to read through this before you hit the submit button? Maybe not. Maybe the submitted for agent them.

Ken McDonald [00:54:41]:
They're asking the AI to it for submit them.

Jonathan Bennett [00:54:43]:
Yeah, I think in some cases that is the miracle that agentic AI has given us.

Ken McDonald [00:54:50]:
Here, write this and submit it for me.

Jonathan Bennett [00:54:52]:
Yeah, yeah, I think so. I think that is what some people are doing. So anyway.

Ken McDonald [00:54:55]:
Now move to the next one and keep doing it.

Jonathan Bennett [00:54:57]:
TL;DR is going to a closed submission process, which is interesting. It kind of is a throwback to the old cathedral versus the bazaar analogy. And so are we going to see the pendulum swing back and open source projects are going to become more cathedral-like? Because AI has made the bazaar far too chaotic. I don't know for sure, but I'm seeing a movement in that direction. I'll put it that way. I did also see, and I probably won't be able to find it now, of course, but there is apparently a— it was the Register. I'm not going to be able to find it now. I thought I had it open.

Jonathan Bennett [00:55:46]:
Anyway, where they're talking about essentially Microsoft realizes that there's a problem on GitHub and they're trying to figure out how to fix it. And maybe Copilot wasn't such a great idea after all, is part of what the article says. I actually like Copilot itself. I don't think it's the biggest problem, but GitHub definitely needs better tooling around this to detect junk AI contributions and make them easier to deal with. So I don't know what the open source world is going to do, like what kind of a conclusion people are going to come to and how we're going to fix this. But it's definitely a problem.

Ken McDonald [00:56:28]:
Yep.

Jonathan Bennett [00:56:31]:
Don't do AI, kids.

Ken McDonald [00:56:35]:
And we may even see AI getting into the kernel. Kernel.

Jonathan Bennett [00:56:40]:
Yeah, I saw that too, that there.

Ken McDonald [00:56:41]:
Was a machine learning library proposed for the kernel.

Jonathan Bennett [00:56:47]:
Yeah.

Ken McDonald [00:56:47]:
But let's get away from that and maybe get to something a bit lighter.

Jonathan Bennett [00:56:54]:
Yeah, we should talk about Ardour. Ardour and Shotcut, right?

Ken McDonald [00:56:59]:
Yes.

Jonathan Bennett [00:56:59]:
Okay, so Ardour 9 is out. I've been looking forward to this for quite a while, and I must admit, I I have not downloaded it and played with it yet. It just came out a couple of days ago as we're doing the show, and I've not gotten a chance to do the download yet, but I will soon. Ardour 9 has some really cool new features in it. It's got piano roll windows, which I saw a hilarious back and forth on the Ardour Discord about this. There's a member says, yeah, thank you for the separate piano roll window. I was suggesting back then. Apparently it was this guy's idea, Paul Davis, who who is the, the man behind Ardour.

Jonathan Bennett [00:57:39]:
He goes, you're welcome, but I still hate it and think it is It's stupid. a tickle deal. I got quite a kick out of that when I read that. Um, sometimes that's the way it goes. You, you end up implementing things that you really don't love. Um, we've also got MIDI and auto cue editing where the cue page now allows direct editing of the contents of MIDI cues. Uh, and you also get a piano roll area that opens up., and part of that is you can now record directly into cue slots. And what this does is it lets you use Ardour in sort of a looper sense.

Jonathan Bennett [00:58:16]:
And so you've probably all seen videos where someone, you know, it'll be an artist in front of a live crowd and he'll be like, give me a song name. Somebody throws out a song name and, you know, sometimes it'll be, okay, this other guy, give me a genre. And then he'll sit down, he'll push a button or whatever he's got in front of him. He pushes a button and then he lays down a quick little drum track. Then he pushes another button and that drum track plays on loop. And then the guy, you know, girl, you know, she'll pull the bass guitar and play along with it and build a song live based on loops. And the technology that lets it happen, the kind of the underlying engine, it's called a looper. Well, Ardour now has support for this sort of thing.

Jonathan Bennett [00:58:56]:
I've played with this a little bit in Ardour., and it's, it's, you've been able to do some of it in the past with MIDI stuff. You had to do a lot of setting up ahead of time. And so it sounds like now they're actually leaning into that idea of, all right, let's build the cues live and then immediately loop the cues into the performance, which is really going to make this work a lot better. And so I, I look forward to, I look forward to hearing people do sort of that loop style of music with Ardour. I think it's going to be a lot of fun. You've also got Region FX, which is, it's another really cool feature. As I read through these, I'm excited to go play with it. And so that's like, I want to add an effect, an audio effect to my track, but I only want to add it to part of the track.

Jonathan Bennett [00:59:44]:
Like I only want this little part of the song to have this big boomy echo on it for whatever reason. Or, you know, at the very beginning of the song, we want to do this crazy EQ thing, but we don't want to do it for the rest of it. So in our door, Previously, what you've had to do is split your track up and separate it into different tracks, and then you could throw your EQ on one of those and not the other. Well, now they've got Region FX, which essentially is— it's exactly this. You can plug the FX in for only a certain, certain portion of the track. Uh, it's also got the Real-Time Perceptual Analyzer. It's one of the other new things that they talk about, and this really is interesting to me because this is the sort of thing that you could already do with plugins, like with VST plugins. Um, some of the CAF plugins do do some of these similar things.

Jonathan Bennett [01:00:29]:
They've pulled this into Ardour itself, also giving you a little bit better tooling because it'll show— it appears that looking at the screenshot, not only will you get the spectrum, but it also can put your different tracks in different colors so that you can see visually which track is the result or is causing the result in the spectrum that you're seeing, which sounds, you know, really does sound interesting and like it could be a great tool. Um, they talk about note brushing to be able to set up patterns in your, in your piano roll, on your MIDI, uh, keyboard-driven automation, being able to do more things with keyboard modifiers, um, saving and importing mixer strips. I could use that if that's doing what I think it's doing. Uh, you know, if you like, when I do a podcast edit you know, every one of these mixer strips gets the same trio of effects put on it. You know, we we do, do an EQ, we probably do a noise reduction, and then we also do a compressor on it. Well, if you can save those three as a pre-saved strip and just throw it on each of them, that's going to make that a lot quicker. And then one of the other really interesting things is that they have apparently added multi-touch GUI inside of Linux and Windows. And so I think this is primarily for ReachOut on a laptop screen and, you know, pinch and touch multiple places and all of that.

Jonathan Bennett [01:01:59]:
It makes me wonder if they're also working on like mobile ports because that's where you think more about multi-touch GUI being a thing is on a tablet. But it's pretty cool that on Linux and Windows they have this and that should be fun to play with as well. All kinds kinds of, all of really cool stuff. I mean, there's more. I didn't talk about all of it. There's just some of the things that really jumped out at me. And then of course, lots and lots of improvements. I will say this is Ardour 9.0.

Jonathan Bennett [01:02:26]:
I expect to see Ardour 9.1 follow pretty quickly, or maybe they'll call it 9.0.1. But like, as many things as there are in here, I would assume that there are going to be some bugs that they find now that more of us are going to go start banging on it. So keep an eye out for that. But if you are like me, an audio mixer nerd, Ardour 9, it looks really cool and I'm going to have to go play with it. There's one other really interesting release that came out that I wanted to highlight and that's Shotcut. Shotcut 26.1 and this is another one that I've not played with yet. For video editing, I usually use Kdenlive and what I've had to do in the past is when I've had a particularly difficult like a complicated edit to do, I will pull it up in Shotcut. And the problem that I've had is that in the past Shotcut has been so laggy, particularly with the timeline.

Jonathan Bennett [01:03:19]:
Well, Shotcut 26.1 is out and it might fix that because it's got support for hardware video decoding. Uh, it's going to be supported on all platforms except, drum roll, Linux systems with an NVIDIA GPU. You guys are just out in the cold. Sorry, Jeff. But all the rest of us, we get hardware video decoding, which maybe that'll solve the problems that I have. And maybe I'll become a Shotcut guy instead of a Kdenlive guy. I don't know. I'm going to give it a try.

Jonathan Bennett [01:03:51]:
So two of these things now that I have to play with, that is Ardour 9 and Shotcut 26.1. The future sounds and looks bright for this stuff. Ken, do you do any of this? Do you play with Ardour or Shotcut?

Ken McDonald [01:04:09]:
Not on a regular basis. I'll occasionally try to bring up Ardour and fiddle around with it with my keyboard. And usually I find it's OBS that I play with more.

Jonathan Bennett [01:04:26]:
That makes sense. Yep. That makes sense. I, yeah, I probably use, I probably use OBS, Ardour, and currently it's Kdenlive about the same amount each week right now because that's basically my FLOSS Weekly workflow, right? The recording happens in OBS, move it over to Ardour, extract the audio out, move that into Ardour to do an audio edit, and then mash the two together in Kdenlive.

Ken McDonald [01:04:52]:
What do you use to extract the audio?

Jonathan Bennett [01:04:55]:
I just, it's an FFmpeg script. I mean, let's be honest, no matter what it is that you're using, it's using FFmpeg underneath.

Ken McDonald [01:05:02]:
I was going to say that's always been my way for getting audio out of video.

Jonathan Bennett [01:05:08]:
Yeah, we talked about libcurl being one of the programs in the running for the most installed. FFmpeg may be one of the others. Probably depends upon how you measure that.

Ken McDonald [01:05:18]:
I would say FFmpeg is a close second to libcurl.

Jonathan Bennett [01:05:24]:
If you're talking about like CPU seconds, FFmpeg was used a lot.

Ken McDonald [01:05:30]:
I'm talking about as far as actual users.

Jonathan Bennett [01:05:36]:
Indeed. I'm just, I'm just saying that which one comes out on top is going to depend upon how you count it because things like FFmpeg are going to get a lot of CPU seconds because they're chewing on these big files a lot.

Ken McDonald [01:05:48]:
And FFmpeg is going to be you're going to find used anywhere somebody is using some sort of device for displaying video and possibly even for listening to audio. Whereas libcurl, you're going to find used anywhere you need to stream any type of data.

Jonathan Bennett [01:06:10]:
Just about.

Ken McDonald [01:06:11]:
I think libcurl might be just a touch ahead of FFmpeg in that case.

Jonathan Bennett [01:06:16]:
It's possible. It'd be very difficult to actually try to count those. Both, both of them installed in lots and lots of places for sure.

Ken McDonald [01:06:23]:
And problem is, is both of them probably installed right beside each other.

Jonathan Bennett [01:06:28]:
Yes, yes, absolutely. I was just thinking about that. It's like, I bet, I bet just about every one of these weird systems— like we talked about Toyota and the car thing— so all of these, all of these car infotainment systems, they're all going to have libcurl and they're all going to have FFmpeg in some way or another on them.

Ken McDonald [01:06:45]:
FFmpeg for providing the data that's used to generate that video display and possibly the data used for the audio you're hearing out of the infotainment system. Yep. libcurl is going to be the way it gets that data.

Jonathan Bennett [01:07:04]:
So it does updates. I mean, libcurl, honestly, libcurl may be the way that one component in the car talks to another component in the car. I would not surprise me at all.

Ken McDonald [01:07:14]:
Yep.

Jonathan Bennett [01:07:15]:
All right. Well, let's, let's take our final break and then let's get back and do some tips, some command line tips. I know we've got some interesting stuff for this evening. So we'll we'll be, be right back. Ready for this?

Ken McDonald [01:07:27]:
This week, I have a great command line tip that you may find useful for determining system boot up performance statistics and for retrieving other state and tracing information from the system and service manager and to verify the correctness of unit files. It's called systemd-analyze, and it is— can also be used to access special functions useful for advanced system manager debugging. Let me go ahead and bring up my screen here. And is that large enough for everybody to see?

Jonathan Bennett [01:08:06]:
It looks good.

Ken McDonald [01:08:07]:
Okay. And you probably recognize the the command I'm about to enter— switch to it here— but it's going to play what I previously recorded for demonstrating the systemd analyze command. There's a systemd analyze, and with it by itself, all it does is what is called the systemd analyze spacetime. By default. And there you see it shows my startup. When I— last time I started up my system, it finished in 16.422 seconds. That's the firmware. The loader took 10.311 seconds plus 5.619 seconds for the kernel plus another 16.455 seconds for the user space, which came to 48.799 seconds.

Ken McDonald [01:09:10]:
Now I'm going back to look at the file system, and this shows all the file systems that systemd will recognize. The next option is security, and here it lists all the services that you have. You can even scroll through You'd hit Q to exit out of that. And the way it works is it gives you the unit name for the service. For each unit, it can go in, you can actually get more information on those, but it takes various areas against the unit and comes up with an exposure rating, which then is comes rounded off to either being exposed, medium, or unsafe. And as you see here, the Alsace State Service is considered unsafe. The next one is TPM, is whether or not you have a TPM 2.0. And on this system, it's partial.

Ken McDonald [01:10:19]:
It has a firmware driver system subsystem. This doesn't have all the libraries. I'm missing the tss2-rc-so-0. Now you can also do a systemd analyze of architectures, and it tells you all the architectures that systemd recognizes and whether or not you've got the support for it on your current system. And in this case, I've only got the native, uh, x86-64 is the only one. x86 is secondary. I'm wondering if I've got a 32-bit system running somewhere. I've got SteamOS on here, or Steam, uh, Valve Steam.

Ken McDonald [01:11:06]:
But that's systemd. If you want to learn more, definitely use the man page to look into it.

Jonathan Bennett [01:11:13]:
Very cool. There's a bunch of different things you can do with systemd-analyze. I sat down while you were talking and played with just a few of them and reminded myself that there's way more here than I remembered. And I would— it would not— that's.

Ken McDonald [01:11:28]:
Why I only touched on some of them. Yes. And as I said, use the man page. And I've got a link in the show notes that takes you to an article that talks how you can use it to analyze and possibly speed up your boot process. For doodle time.

Jonathan Bennett [01:11:46]:
Yeah, absolutely. All right. I've got a command line tip for you. And that is all about GPIOs. And this comes from fiddling around with that thing, the Raspberry Pi laptop and the hat hanging off the side of it. Well, Raspberry Pi was one of the— it was the gateway drug, let's say, for a lot of us to get to play with real hardware and GPIOs. And the kernel has now— the Linux kernel now supports it in a really nice way, I've got to say. I didn't love it when when it first— this transition first happened, but it's growing on me and I kind of like it.

Jonathan Bennett [01:12:25]:
So on a lot of computers, even desktop computers with a modern Linux kernel, you're going to have a /dev/gpiochip, gpiochip0 in many cases, although this laptop has both gpiochip0 and gpiochip1. That is is a block device that allows you to talk to your GPIO subsystem. So it lets you talk from userland, us on the command line, on the terminal, up to the kernel to be able to actually, you know, poll and also set GPIO status. Well, you don't do it directly. Now, if you're writing C code, you can use actual system calls and do it directly. But there are, there are tools on the command line, and one of the tools, the one I'm talking about right now, is gpio-get. And so if you have the permissions to be able to access that GPIO chip and you know the pins that are on there, and we talked about gpio-info in the past, that's going to be the one that lets you list those pins out. And if there's labels on them, you can see what's on the labels.

Jonathan Bennett [01:13:36]:
And know what pin is which. Well, that's going to let you see what those pins are called, but it's not going to let you see what those pins are actually— their state is. gpio_get will let you get the state. And so, you know, on this laptop I've got, I've got a bunch of GPIO pins. A lot of them are not doing anything, um, on gpio chip 1 here. GPU fan enable, that's line 41. So I can do a, I don't think I'm in the GPIO user group, so I'm gonna have to use sudo to do this, but I can do a sudo gpio-get and then you specify which GPIO chip, so gpio chip 1 in this case, and then the number. And I said that the one I was looking at was what, 40, 41? 41.

Jonathan Bennett [01:14:31]:
Cannot find line gpiochip1. That's interesting. So I believe, well, this is what I get for doing it live. It works on the Raspberry Pi. I'm not sure why it's not working here. In some cases with older versions of gpio-get, you have to use a -c and then specify your GPIO chip. On the latest Raspberry Pi release, that is not a thing that you have to do. Yeah, I'll have to play with this and figure out why it's not working here.

Jonathan Bennett [01:15:04]:
That does kind of bother me. And then one other thing, and again, this is Raspberry Pi specific, you can also specify the bias of that GPIO line. And basically what that means is if nothing else is happening with it, is that GPIO line going to default to high or is it going to default to low? And some pieces of hardware actually have of— they're called— they're built-in pull-up or pull-down or both resistors, and it lets you bias that line to be high or low. And with gpio_get, you can actually do a --bias and then specify pull-up or unchanged or none. Uh, I think you can also specify pull-down in many cases. Again, that's going to depend upon whether your hardware supports it. Um, I'm going to play around with this a little bit more on this laptop because this bugs me that I, I'm getting an invalid argument message here when I know that this is a thing that I can do. But anyway, gpio-get, super useful for— That.

Ken McDonald [01:16:02]:
Was on the Argon?

Jonathan Bennett [01:16:04]:
Yeah, uh, no, this is on my framework. So I ran gpio-info and I see that gpio chip 1 has 93 lines. One of those lines is line 41. It's already set up as an input. I should be able to, uh, just, just read it. I should be able to do a sudo and then just read and I'm not sure why I cannot.

Ken McDonald [01:16:28]:
What's that GPIO pin used for, do you know?

Jonathan Bennett [01:16:34]:
It controls the GPU fan. It's the GPU fan enable. Options, line.

Ken McDonald [01:16:46]:
And you've got a fan connected to it?

Jonathan Bennett [01:16:47]:
Yeah. I think the GPIO does have one, but even if there's not, it doesn't matter if there's a fan connected, like the GPIO line itself real, it exists.

Ken McDonald [01:16:57]:
So you should be able to see something from it.

Jonathan Bennett [01:16:59]:
And even if there's no fan connected, I should be able to read the state of that line. And I'm not sure why I can't, and it kind of bothers me. Yeah, cannot find line 41, but I know it's right there.

Ken McDonald [01:17:12]:
I can see it. I'll keep it separate. Group needed to actually see more details.

Jonathan Bennett [01:17:20]:
I'm running it as sudo. Oh, there we go. I had to do a -a.

Ken McDonald [01:17:27]:
What's -a?

Jonathan Bennett [01:17:29]:
As is. So when I talked about you can specify the bias, apparently on this version of it, you can't just leave that unstated. You have to specify whether you want to leave it as is or bias it up or bias it down. Um, yeah, so -a. So the whole thing ends up being gpio-get -a -c gpiochip1 -in 41, and, uh, line 41 is active. Um, you can also --numeric will give you just a 0 or a 1, which is going to be very useful if you're actually doing this in a bash script.

Ken McDonald [01:18:14]:
One other question about GPIO Git. Is it already installed by default or do you need to install something for it?

Jonathan Bennett [01:18:21]:
I, when I ran gpioinfo for the first time, Fedora offered to install libgpio-utils, which I believe is also what's going to contain these programs.

Ken McDonald [01:18:40]:
And you said that's when you ran gpioinfo?

Jonathan Bennett [01:18:43]:
I ran gpioinfo. I think they're both, I think both packages are in the same, both binaries are in the same package, I believe.

Ken McDonald [01:18:51]:
And for Ubuntu 25.10, it looks like it's asking me to install gpiod.

Jonathan Bennett [01:18:58]:
Makes sense.

Ken McDonald [01:19:00]:
Yeah, that's the— I'm assuming that's a daemon.

Jonathan Bennett [01:19:03]:
It is a daemon, but it also includes— it's also going to include the binaries that just allow you to talk to the pins.

Ken McDonald [01:19:09]:
The utilities that you need for that.

Jonathan Bennett [01:19:11]:
It's going to include the utilities. And I don't think you have— I don't think you have to start the daemon to be able to use it. It's going to talk directly to the kernel over those.

Ken McDonald [01:19:19]:
Is the daemon controlled by systemd?

Jonathan Bennett [01:19:23]:
Probably, but probably off by default. I'm not sure. I've honestly— I've not looked into the daemon side of GPIOd. I don't know even for sure that that's within the D stands for there. Because I mean, like, honestly, how often do you need a daemon to control your GPIOs? It's just sort of a, I don't know, it's not the way it works on most systems anymore, but maybe.

Ken McDonald [01:19:44]:
On most machines, maybe on an Abyss-bitted system, you might want a daemon, but.

Jonathan Bennett [01:19:50]:
Maybe, I mean, in my experience, you're gonna want another program that I guess is working as a daemon, but it's not just a dedicated daemon for GPIOs. So I don't know. I don't know. Something to look into for the future. All right. Well, that's the show. We finally got there with the tip. And I'll have to do some more looking into this because I now have questions.

Jonathan Bennett [01:20:14]:
But anyway, Ken, I appreciate you being here. It's been a lot of fun. Is there anything you want to plug before we let folks go?

Ken McDonald [01:20:20]:
Well, not so much plug, but give people the opportunity if they were missing Rob's Rants. Because I've got a link in the show notes under Indie Notes. That's where I suggest reading Bobby Borisov's personal opinion on the GNU/Linux naming debate.

Jonathan Bennett [01:20:40]:
That'll be fun.

Ken McDonald [01:20:41]:
Fun, fun.

Jonathan Bennett [01:20:43]:
All right. Yeah.

Ken McDonald [01:20:45]:
That's kind of what led me to saying GNU is not Unix.

Jonathan Bennett [01:20:52]:
It's HURD, H-U-R-D and H-E-R-D. That's the one that is a doubly recursive acronym that they stand for each other. That one's fun too. Some of those, some of those in-jokes are a lot of fun. All right. Yeah, very cool. Appreciate you being here. If you want to find more of me, well, there is, there's Hackaday.

Jonathan Bennett [01:21:14]:
And while I'm not doing the security column anymore, I am still holding down FLOSS Weekly over there, and we have a lot of fun there. So come and check us out, techaday.com/floss. And other than that, just want to say thank you. Appreciate everyone that's here, those that watch, those that listen, whether you get us live or on the download. And hey, we'll be back next week for another Untitled Linux Show.
 

All Transcripts posts