Transcripts

Untitled Linux Show 200 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)
This week it's almost beta time for Cosmic Looking Glass looks really interesting. There's controversy at the kernel and more. You don't want to miss it, so stay tuned.

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

00:21 - Jonathan Bennett (Host)
This is the Untitled Linux Show, episode 200, recorded Saturday, April the 26th. Who needs a desktop anyway? Hey folks, it is Saturday and you know what that means. It's time to get geeky with Linux and open source and software and gaming and hardware, all kinds of fun stuff. We're going to have fun. Today. It is the 200th episode of the Untitled Linux Show. 200th episode of the Untitled Linux Show and in another 56 episodes or so we'll actually get to a mathematically significant round number. We'll have to celebrate that one. But I've got some co-hosts here. It's not just me, I've got Jeff and Rob. Welcome guys, Glad you're both here.

00:57 - Rob Campbell (Co-host)
And Jonathan, I have to correct you. This is episode 200, but this is a 201st episode we started on episode zero yes, yes, well, you know.

01:11 - Jonathan Bennett (Host)
So two, I guess episode 255 is the one we'll really have to celebrate. Yes, makes sense, I can. I can deal with that. Uh, so we've got. We've got some news to talk about, and up first is some desktop news. We've got a couple of things going on here. Rob's going to talk about Cosmic, and then we're going to talk about Ubuntu as well, because, well, you'll see, rob take it away, tell us what's new with Cosmic, and then we'll go from there.

01:41 - Rob Campbell (Co-host)
So this week, system76 announced the release of alpha 7 of their rust based cosmic desktop and if you, uh, if you've seen the blog post itself, they had a lot of fun with it, starting out by saying I so excited that's iso, you know what iso? I so excited. And going on to explain the bug fixes and must-haves before the big beta hemoth, as in behemoth, beta hemoth. Oh, and I missed the caption at the top. It says, uh, cosmic alpha 7 never been beta, never 7. Never been beta, never been better, never been beta.

02:35
So all this really to gear us up, to let us know we are just about done with the alpha phase of the releases and beta is just around the corner. But with Alpha 7, well, also, you know, I believe, with this, with this, you know, beta coming soon. I believe my prediction for the year was something around, uh, the final release maybe being by the end of the year, I don't remember, but we're making, we're making headway there. But even though, even though we aren't there yet, this release brings some new features I so excited for too. That's terrible, some new features.

03:05 - Jeff Massie (Co-host)
I so excited for too. That's terrible.

03:15 - Rob Campbell (Co-host)
So top of the list is the new workspace feature, or there's new new features to workspace, which is their name for virtual desktops. So now workspaces can now be moved by clicking and dragging so you can reorder your workspaces on the current display or move them across displays to your liking. You can also there's now a pinning workspaces which will keep it from being removed when it's empty, because the normal behavior if there's nothing in that workspace it just goes away. But you can pin it if you want to keep a workspace, for whatever reason you want to keep it. There are also a bunch of accessibility features, such as high contrast mode, color filter add or color filters add a filter to address common forms of color blindness. There's color inversion, which changes theme colors using a different calculation for the purpose of helping those affected by color blindness. There's mono sound, which aids those with hearing loss by combining left and right sound channels into a single channel for both ears. Plus there's improvements to the magnifier. And you know accessibility has been one of those long time complaints that Linux has been getting better and better at. But it's been, it's been a complaint over the years that that I've seen listed. So it's it's nice seeing them address these things right out of the gate before they before they even get to the final release, rather than make it sure it works and then now let's make it right. So they're kind of trying to really get things right out of the get-go.

04:52
And there's also tool tips have been added. When hovering over items in the app tray, workspaces, app library and launcher, there's global shortcuts for applications which allow you to use an application-specific shortcut even if the application is not in focus. This is especially useful for features like push to talk or push to mute. But it's not on by default because I mean you don't want, if you're not expecting that behavior, you don't want to be typing something away and hit that push to talk button and start saying something to someone you don't want to be saying it to. So there's also new scaling settings for X-Wale and fractional scaling, which gives Cosmic a better approach for handling fractional scaling with X11 applications. A seek-ahead search option has been added to the file browser. A left-right balance option has been added to the file browser. A left-right balance scale has been added to sound settings to control the weight of sound in each ear, which maybe that's handy for, also in the accessibility. As you know, if one ear hears better than the other, you can kind of shift that sound over a little bit and there's just a huge list of bug fixes.

06:07
I mean definitely to be expected when you're in the alpha stage and as hinted in the top of the blog post, I so excited, uh, you can download the new cosmic 7 iso now and try it out yourself. Um, which I have. Uh, I've tried it out myself. But one thing I noticed when I went and found that download link. I noticed they had a list of other distros and you know we talked previously. I couldn't come up with all the names, but there's a list right on the download page of all the other distros and spins instructions you can get uh for for getting Cosmic on. I don't know if they're all up to date yet, but maybe some of them are, maybe they aren't. But that list includes fedora cosmic spin. Fedora cosmic um Atomic I wrote that down in my notes wrong, but I knew that's wrong fedora cosmic Atmic Atomic. That is so.

07:04
Nixos, arch, opensuse, aaron OS, redux OS and Cache OS. So there's, you know, a lot of cool things. As nice as Linux Mint Cinnamon has been for me really, cosmic is kind of the desktop environment. I really want to be running full-time, so please hurry and get this done, and you'll help out my prediction too if you get this done. But to speed that along, today I found that they have at system76.com, slash donate. You can donate some money to them, which I did today to just incentivize get this thing going so I can actually run this on my production machine, which I could run it on my production machine if I wanted to, but it's alpha for a reason, so I'm not going to do that. But yeah, slick is always getting closer and closer.

08:03 - Jonathan Bennett (Host)
Yeah, it's slick, as always, getting closer and closer, yeah. So a couple of thoughts about this One. It is, and there'll be a callback to this later in the episode. It'll be super interesting. It's fascinating to me that Fedora is shipping this not fully released software, and boy I sure hope that doesn't bite anybody. There'll be a callback to that.

08:33
And then it's also I kind of like the fact that System76 is really taking their time with this. They're not in a hurry, they don't feel any pressure to rush. Yes, they're way behind their predicted schedule, but that's okay. They're trying to get it all polished up and not, uh, not release anything. That's a stinker. And uh, that that also fascinates me because one of the other stories I came across this week is about ubuntu and, uh, some problems with ubuntu.

09:00
Uh, 2504, particularly doing in-place upgrades, and Kubuntu specifically. Some of those are specific to Kubuntu, not all of them. There's about four different really bad bugs that they have discovered, and it is bad enough that they have temporarily suspended the ability to do an in-place upgrade to 25.04. And I believe that's from 2410 to 2504. I don't know whether that suspension has been released or not. Um, there's not been an update to this post. So as far as I can tell, it's still not possible. Um, but yeah, you could break you. You could break your desktop. Really bad trying to update from uh10 to 2504. And Jeff, you did it didn't you.

09:47 - Jeff Massie (Co-host)
I did so to harken back. A couple of weeks ago I covered this and we went over. If you have Steam installed in 24.10 and you try to upgrade to 2504, it would uninstall your desktop. You didn't need that anyways. Yeah, now you can drop to a command prompt and do a sudo, space, app, space, install, space, kubuntu, dash, desktop and it will reinstall your desktop and you'll be fine. You could also uninstall steam and then it would. Then it would upgrade just fine.

10:25
The other that I ran into was if you do an update during upgrade, it wouldn't install one of the kernel files into the dot, the image directory, so it would uh not allow it to boot, because it was like I'm going to boot but there's nothing there. It was missing a file. Yeah, so if you didn't, as long as you just didn't do the upgrade during the install, then you were okay. Afterwards you can upgrade and everything went fine. Same way with the the not having the desktop Once you're in 2504 and it's working there, there's no problems. It's just the upgrade process where the problems are occurring, or that I know of.

11:11 - Jonathan Bennett (Host)
I've got to admit I've multiple times gone to upgrade Fedora from one release to the next and ended up with a not booting desktop for various fun reasons, right, so it happens.

11:23 - Jeff Massie (Co-host)
I had that as well when I had fedora.

11:25 - Jonathan Bennett (Host)
It uh oops but ubuntu is supposed to be the one that's user-friendly and not do stuff like that true, and now I?

11:35 - Jeff Massie (Co-host)
I honestly thought they had it fixed because I was back in the beta and I actually talked in beta, yeah yeah, and, and I talked to one of the people that helps beta, yeah, yeah, and I talked to one of the people that helps package and develop kubuntu and they knew of it and they were, they were gonna fix it, and so I don't know if it didn't something else kind of reared its head, or I, I just learned to this, so what?

11:58 - Jonathan Bennett (Host)
happened guys, yeah, yeah, well, I mean they fixed it and then something else broke it again, or they fixed it and something similar happened. Maybe it's not the same bug, it may not be exactly the same thing. Yeah, yeah, it happens.

12:11 - Jeff Massie (Co-host)
And at least, like I said, as far as I know, as long as you're in 20, if you're in 25.04, you're fine, it's the upgrade. It's the upgrade. It's the process.

12:22 - Rob Campbell (Co-host)
I do want to remind people. Uh, for those people saying thinking, see, that's why I don't use linux, I've had the same thing happen oh good, lord, windows upgrades can be terrible I've had it. I've had a server happen this year that wouldn't uh boot up after uh, after, after, after an upgrade. So it's it's not, it's just a little exciting and you know the difference.

12:46 - Jonathan Bennett (Host)
You know the difference. On a windows machine, how do you fix that? Um, there's one, there's one, there's really one. Fix you redo a reinstall. I mean, you can try messing around with sfc and dism and try to get a clean image from dism and all of that. But on a failed upgrade with a non booting system here's your install disk. Man, you get to do a reinstall with windows.

13:11 - Rob Campbell (Co-host)
So, like this last one I had, that's what I thought I was going to have to do. You know, for those familiar with windows, when you boot it up it has those like a boot up with a no GUI or boot up with networking, boot up with networking, safe mode, with networking and whatever all those other options were. There's one way down there, I think it's boot up without antivirus. I didn't get that far. The server was a VM and I asked our system administrator I'm like, just roll this thing back. And he went in there and he tried them all. He even tried that last one and got it to boot. So he tried that. He told me oh, I got to boot here, went in there, I removed the last update and blocked that update from being installed. But so there was another option. But I was pretty sure, like I, I thought it was just okay, well, nuke it, reinstall, yeah, start from back and yeah, and one difference too is for users that maybe are newer and don't realize this your home directory.

14:14 - Jeff Massie (Co-host)
You can put on a different partition in linux. So I re had to reinstall the os. But when it comes up it has all my preferences, my wallpaper comes up, you, you know, and say I don't have Firefox loaded. Well, when I load Firefox, it sees its preferences, which are all stored in the home directory. It has all my settings, it has all my links. There's no setup, I just have to install it and it's taken care of. So a reinstall on Linux it's like five minutes.

14:47 - Rob Campbell (Co-host)
But even if you don't want to do that, if you really want to go on and fix it, there's a way you can boot into something to root over to it. Yeah, and you're at a command line and you can do anything you need to do, almost, so there's usually more options. Yeah, this is the thing that's that's usually more options.

15:05 - Jonathan Bennett (Host)
Yeah, this is the thing that's that's driven me crazy about windows for the longest time, is it is? It is a patch tower, like it's a monster patch monster. You know, you've got the original um, you've got the original install files and then when you download updates, you're essentially downloading patches for those files and it it gets to be terrible, whereas with linux package managers, you're essentially downloading patches for those files and it gets to be terrible. Whereas with Linux package managers you're literally just downloading snapshots that have the current files in them, and so you know, if something breaks, all you have to do is reinstall one of those packages, one of those file snapshots, and you know that you have the right files and you just install them from a trusted source.

15:44
And part of the reason why we can do that on Linux is because copyright is not a problem, like we don't care that someone is oh no, someone is downloading the system files for Fedora. That's the point, that's the way it works, whereas over on Microsoft World they do care and they don't want just anyone to be able to grab some of these files. We've gotten a little bit better about that with downloading ISOs and such. But yeah, open source for the win.

16:11 - Jeff Massie (Co-host)
Makes it work and I could have dropped to a console and fixed that. I was kind of more after the, you know. Once I found the first error, I'm like okay, let me troubleshoot this so I can feed back into the developer channel.

16:26 - Rob Campbell (Co-host)
You know, and along the lines to what you did. You know, with Linux it's often just really easy to reinstall me back to where you were, Whereas, like this Windows server, if I had to well, if I had to reinstall, it's often restoring your files from backup, reinstalling everything, finding your license keys for everything, so reinstalling one is often a lot easier than the other.

16:55 - Jonathan Bennett (Host)
Yep, Yep. All right, Jeff, let's talk about Intel or other. Well, no, I can't do that anymore. Intel Intel used to be sort of in the same category as Microsoft, or at least some people, but no, they're sort of one of the good guys now, sort of. Well, they're taking their lumps for sure. Yes, that they are doing. What's new there?

17:19 - Jeff Massie (Co-host)
So you know, Intel has had its ups and downs this year and unfortunately it's been more downs and ups. The 200-series Aerolake processors have faced challenges on multiple fronts and in several areas they're slower than previous generation CPUs Intel CPUs Though they do come with benefits like lower power requirements and improved performance in certain benchmarks. It's kind of more of a specific rather than general improvement. This week I have a pair of stories in the show notes, one good and one not so good. So let's start with the not so good first. If you've been following the tech press, you've likely heard about the boost that the 200 series processors have received. Essentially, it's new overclocking profile, enabled through BIOS update, promising higher frequencies, faster die-to-die communication, and you know it does it take more power. They turned up the power to make it go faster.

18:15
Now, while the Windows benchmarks exist, I haven't really looked at them because, well, windows. Instead, let's check out what Michael Larable found for Linux. So, looking at all the benchmarks, unfortunately there's not much of an improvement. It's largely business as usual. That's not to say there isn't any improvement at all, but gains are pretty minimal. You know, michael theorizes that there could be some extra performance due to an interaction with a Windows driver because Windows did see more of an improvement, or so they say. But for Linux users, don't expect any noticeable changes. It's not really going to hurt you, it's just okay. Maybe it's 1% better. You know, very, very minor.

19:01
Now on to the better news. Before the BIOS update was released, michael ran benchmarks to compare performance since the processor's initial launch in October. Now these tests reflect the usual kernel updates, schedule improvements, bios patches, so this isn't, you know, just the normal BIOS improvements that you get over time. This wasn't the major performance BIOS update and this is where things got interesting. There's actually a solid performance boost, particularly in single-threaded and lightly-threaded applications.

19:37
The short version, the scheduler, has significantly improved. Tasks like game and high-load threads are now properly assigned to the P cores instead of the E cores. So when the processor first launched, the scheduler was in kind of rough shape. But now, out of the 400 benchmarks, there's an average 6% improvement in performance. So this is just normal updates you're getting. We'll have that 6%, and gaming in particular showed a notable boost.

20:06
Now I should mention there's some of those gaming benchmarks that they actually improved quite a lot. So it's really loading the performance cores like it should. Now there are a few tasks that perform worse than they did on launch day, but the vast majority now run better and I mean it's probably 10 to one, and most of them that perform worse are very minor. There's a couple standouts but there's some, I think, corner case benchmark things, you know, like web things that I don't think people are really going to see in day-to-day use. It's kind of just one of those corner case because the benchmarks a lot of times will hit code that your normal applications don't ever really use, or they use it such a small fraction of the time that it's not representative of the actual day-to-day workload. Now, if you want, take a look at the links in the show notes for the full battery of benchmarks so you can see if workloads that you do care about have changed and if there's any benefit you're missing out on.

21:12 - Jonathan Bennett (Host)
I have to wonder, with the new boost mode, the Intel, the 200S boost performance mode, did Intel? So we had some Intel chips from generations past that began to fry themselves and permanently damage themselves. I had a customer that had a couple of those and on Windows they were getting blue screens and it took the longest time to figure out what it was. They were trying to work with the OEM to figure it out and finally they mentioned it to me and I'm like could it be this thing that I've been reading about, where Intel was cooking their chips by trying to run them too hard? So my guess is, as a result of that, Intel said well, let's just, let's back this way down to be safe, and since then they've given it, you know, a bit more testing and that we have we can turn the beans up a little bit on it. It kind of seems to me that's probably what's going on here.

22:05 - Jeff Massie (Co-host)
Yeah, there were. There was some manufacturing issues. They had some oxide getting into the developing the chips. That was causing issues and you're right, they had limits. But they also kind of played fast and loose with them and then the motherboard manufacturers could crank it up higher than they should because they want to look like they're a better, you know, value than the competitors. Look, the chips run faster here. It's our better design. No, they just really turned them up beyond where they should. Then there was complaints that Intel didn't keep a lid on some of this stuff like they should have. Yeah, it was quite the mess.

22:40
But, it hurt them too, because they came out and they're like oh, it performs worse in benchmarks. That didn't go over well either.

22:49 - Jonathan Bennett (Host)
Never does no, all right, rob, yeah, rob no, I just said hmm, all right, so we have a sort of an anniversary to talk about, and this is this is fun. So this is Tobias. Bernard from Gnome put out a blog post. He calls it the elephant in the room and he is talking about when oh what was his name? I think his name's in here somewhere.

23:27
Anyway, there was a GNOME member, a fairly core GNOME member, that almost exactly a year ago, got removed from the project in a code of conduct enforcement, and those of you that have been around here for a while probably know that I am a little skeptical of code of conducts. More specifically, I have hesitations about the way that they can be used and enforced, and this is sort of a Sunny. That was the developer's name. It's Sunny. This is a really good example of a code of conduct being weaponized and then abused to kick someone out, really for reasons that are not fully understood. And that's part of the problem here and with a lot of code of conducts is that there's an opportunity to do things very secretly, and when you're talking about a public project, that's usually not what you want.

24:22
So the author here, tobias bias, goes through a bit of the history of what happened. And that was that a first time code of conduct complaint against sunny resulted in an immediate ban. A week later the ban was suspended and they said, oh no, we're going to mediate. Uh, and then a few weeks later their, the board elections happened and the electorate, the people were not informed about the ban Kind of figured that maybe was something that should have been made public. Uh, two months after that the ban was reinstated. He says unilaterally, against the wishes of the new board, and then he says there was an unsuccessful vote to remove an unsuccessful vote to remove the chairman of the coc, the code of conduct committee, from the board and code of conduct committee um, yeah, it's, uh, it's not. It's, uh, it's not, it's not great. Like it's kind of a sorted history that he goes through and it, uh, I don't.

25:25
I don't know that every code of conduct is as problematic or is necessarily going to be as problematic as this one was. Um, but I think there are two key things that I can point to that I think caused the problem here. The first is the ability for all this to be done in secret, and I understand that sometimes the things that happen, that your code of conduct enforcement, so the original problem and someone comes and complains about it. The person that complains maybe doesn't want their story to be shared publicly. I understand that, um, but keeping things secret is obviously in many cases a problem, um, so this is this is why, like in the United States in particular, in our court system, one of the things that's considered a right is for the person being accused to fully understand what the accusation is, to be able to perform a defense against it, and sometimes those sorts of protections aren't. They had a code of conduct committee and a chairman of the code of conduct committee that was completely separate from the regular steering committee, and so what really seems to me to be problematic and a big problem is when your code of conduct enforcement people can be sort of their own gods unto themselves and are not necessarily taken from the broader community, like not taken from the people doing the work, and so in projects that I'm a part of, if someone comes up and they want to do a code of conduct, one of the things I always make sure to look for in what's being suggested is the people that are running the project, the people that already have the ability to kick someone out of the project. They are the ones that run the code of conduct, enforcement and therefore have the ability to kick someone out of the project because of that. Because, again, the last thing that you want is a group that is not accountable to the rest of the project which is what sounds like happened here at GNOME that kind of can run parallel to it and then have the ability to eject someone from the project.

27:53
So just some thoughts there, as we again we hit a one year, almost a one year anniversary on this with Gnome. He's got some. He's got some some comments. Like everyone on the Code of Conduct Committee and the board that were involved with this, you need to step down now and just go away. It's like. I know that you know that you messed up. Please do the right thing.

28:20
So it's still kind of a mess over at GNOME, and boy I hate seeing this sort of thing, but it does happen. Like politics and I don't even mean like the partisan politics that we see in the United States or in anywhere around the world, but just like inter-project politics come up sometimes in various open source projects and you hate to see the politics become the problem, right, like you hate to see that stuff take over because all, pretty much all of us all we really want to do is is write cool code and make cool things, and I I hate the idea that, even though gnome is not my favorite desktop, I hate the idea that Gnome is not doing as much cool stuff because there's this dumb code of conduct thing that got people messed up and, yeah, it's not fun. It's not something I wanted to talk about, but here we are.

29:10 - Rob Campbell (Co-host)
Like that didn't have any details of the reason.

29:14 - Jonathan Bennett (Host)
Right, that's never been that has never been announced. From what I can tell, no one like outside of a very small circle, no one knows what actually happened right, and sometimes the things that these code of conducts happen over are Sometimes they're really dumb, sometimes they're really serious, like I grant you that, sometimes really serious. One of the other things that drives me nuts, that I really have a problem with, is code of conduct enforcement for things that happened outside the project and that has gotten some people, and that one, that one, I think, is wrong as well.

29:48 - Rob Campbell (Co-host)
You know I'm going to say devil's advocate. I mean they're, they're keeping it confidential and all which is, you know, something that's just's just, I guess, kind of respectful or whatever. But I would also maybe think, if nothing happened or nothing serious, that maybe the the defender, sunny or whatever, may get his story out and say like this is what happened and this is why they're doing it.

30:16 - Jonathan Bennett (Host)
Yeah, again, I don't know. I don't know the details. I've heard in other similar stories, though, that when someone is put in this position they're just so blindsided by it they don't really want to fight anymore Because, like this project that you've put so much of your time and effort into, you feel kind of betrayed and backstabbed. It's like once that happens, I know if I was in that position. It's like I'm not all that interested in fighting to be able to keep working on this project that just tried to stab me in the back. I would prefer to just walk away from it.

30:45 - Rob Campbell (Co-host)
And I'm not even safe for fighting. But a lot of people want like revenge or to be vindicated and be like like here's how much they suck.

30:59 - Jeff Massie (Co-host)
I did this Well, to me it's very anti open source. I mean, now there there's going to be reasons why something could happen, and you get you need to keep it private, but you would think there'd be at least some kind of um, you know, like if you're protecting a victim or something like that. But in general you should be able to go here's what happened here's and why we're doing it. And even in the case of a victim, there's a lot of times you could at least speak at a very high level.

31:23 - Jonathan Bennett (Host)
So it's like here's kind of the there was physical abuse. That happened, right? Yes, you could say something like that and everybody would go oh okay, we don't need to know the rest of the details. That's fine, right?

31:35 - Jeff Massie (Co-host)
So so that you had you had that information, at least idea, without pointing you know, without you know, compromising the privacy of a victim.

31:48 - Jonathan Bennett (Host)
Yep, yep. So that's my thoughts. Sounds like you guys have at least some similar thoughts on it. Um, and again, there's even even in the link. There are things in there like he gets into some partisan stuff.

31:59
It's like I don't want to, I don't want to touch on that, but the whole, the whole question of the whole question of code of conducts, it's, it's. It's been weird to me ever since it became a thing. Right, because, like and here's the other side of this you don't have to have a code of conduct for the leaders of a project to say, you know what, we're really not interested in working with that person anymore. Right, like that happened before people started writing codes of conduct. Um, yeah, but the the idea of having, like this, this sort of shadowy second group of uh, of leaders of the project, it's just, it's just a uh, it's a problem waiting to happen in many cases like this and I'm a big fan of checks and balances, you know, okay, group a can write their code of conduct, group b is in charge of enforcing it I'm a big fan, or?

32:51 - Jeff Massie (Co-host)
something, some, somewhere that you have some responsibility in there of you. You can't just put everything, all your eggs, in one basket, I guess. Yeah.

33:00 - Jonathan Bennett (Host)
Yeah, to finish, to finish your thought if group a writes it and group B is in charge of enforcing it, maybe group a then gets to veto their decisions? Yeah, something like that. Yeah, yeah, they're like, there are ways so sure there are ways to set something like this up. That's reasonable. It's just not every project, not every project, is willing to think through that. Not every project is willing to go. What happens if we get some really bad eggs that get voted into the Code of Conduct Committee? You know like and as a project leader you have to you really have to stop and ask yourself, like what happens if multiple people in the project don't like me and want to kick me out of it? Am I giving them a way to do it? Uh, by having a code of conduct, and that sort of thing does happen as well.

33:48 - Jeff Massie (Co-host)
Um, so, anyway, lots of stuff to think about there, did the article go into how it's affected the actual development of the of the gnome desktop um he talks about, um, not not specifically.

34:05 - Jonathan Bennett (Host)
No, he talks about how that it's a problem and that people have questions, but did not go into that.

34:12 - Jeff Massie (Co-host)
Um, I wonder just like if it really set it back or they've been able to kind of continue on, or what happened. You know what's the from the desktops point of, you know, development.

34:27 - Rob Campbell (Co-host)
We have a new release recently, so they did keep going one way or another.

34:32 - Jonathan Bennett (Host)
Yeah, I'm trying to remember. Is it the Gnome Foundation that had financial problems? Yeah, yeah. Yeah, there's been other problems at the Gnome Foundation that we've talked about too.

34:44 - Rob Campbell (Co-host)
Do we know what his role was? Was he a developer? Do we know any of that? I mean, obviously somebody knows.

34:51 - Jonathan Bennett (Host)
I think he was a developer. So in the comments people have talked about, um, how that? Uh, so, sonny. There's a guy in the comments that says that Sonny Piers was my mentor during my gnome internship. Uh, he was more than just a mentor. He gave me guidance, support and a real sense of belonging in the community. Um, so you know, apparently he was involved with bringing, bringing other people into gnome, helping the interns get started with writing code or doing whatever they were doing. So a fairly important member of the community, from what I could tell. Anyway, let's move on to happier and more technical things, although still risky things.

35:34 - Rob Campbell (Co-host)
Yeah, we're going to talk about some risky options here. So do you like to live on the edge, want something new and exciting? Well, I've got a new and risky option for you, and it's orange. Well, the color isn't orange, the color is kind of a typical single board Blue, green, whatever mix of colors, silver, all kinds of whatever. Anyway. But what I'm talking about is the new-ish Orange Pie RV2 board. So the board was released over a month ago. But what makes it more exciting this week is that Canonical has released UBIN2 24.04 images, these various RISC-V boards, like the Ubuntu Power Deep Computing RISC-V tablets and laptop last year, and there's been some other RISC boards that we mentioned that Ubuntu jumped on. But if you're looking to get this one, the specs for this fun new-ish RISC-V SBC Also, just to be clear, when I talk about a single board computer or an SBC, think of things like the Raspberry Pi format, the Orange Pi.

37:09
It's pretty much like a Raspberry Pi, but a different brand. It's someone else's version of the Raspberry Pi. How they make it the Orange Pi RV2, the specs on it. It's powered by the KY-X1 Octa-Core SoC, that's system on a chip supporting RVA22 and vector extensions. A2 Top's AI accelerator is included and it comes in a 248 gigabit LPDRR4X configurations Four pair or a pair, not four pair. A pair of M.2 M key slots offer onboard storage options alongside a micro sd card slot and available in configurations with emmc storage ranging from 16 gigabits to 128. There are another thing that we've said is cool on other single board computers has two gigabit LAN ports. So you want to make a router, you got the two ports already built in.

38:23 - Leo Laporte (Guest)
So what.

38:24 - Rob Campbell (Co-host)
I'm thinking, has five USB ports and an HDMI out, gpio and onboard Wi-Fi 5 and bluetooth 5.0, ble, and the board is powered by usbc power adapter and if you're looking to get one, they are available at amazon or aliexpress and mine is already on its way at they. At amazon they had two gig, four gig, eight gig, you know, with the power supply without, and there's one other option there. I can't remember what that was, but for those looking, you can kind of see a little picture of the board behind me. It's got two LAN ports HDMI here, usb there. There's a couple of USBs behind my head there, I think an AUX port up here, I believe, is what that was, is uh, I think an aux port up here, I believe, is what that was, is so uh it. If you want to get into the risk, five um architecture, this little sbc might be a fun way to uh get started.

39:30 - Jonathan Bennett (Host)
Yeah, I was gonna ask if you have ordered yours, because my mine is on the way to.

39:38 - Jeff Massie (Co-host)
Oh great.

39:39 - Jonathan Bennett (Host)
It's supposed to come tomorrow. Well, there you go.

39:44 - Rob Campbell (Co-host)
Last time I ordered a little board that you had also ordered. Was that a RISC-V board too? Yeah, it was. You touched it and mine is still in the box.

39:55 - Jonathan Bennett (Host)
But, this one has.

39:56 - Rob Campbell (Co-host)
What was that? That little board we got and mine is still in the box, but this one, this one has is what was that, that little board we got?

40:03 - Jonathan Bennett (Host)
Was it? Was it this guy? The no, that's an orange pie. Five. I have the. I have a whole bunch of these just right here. The the star five. Maybe the star five this guy? Yeah, I feel like this seems a little more ready for prime.

40:16 - Rob Campbell (Co-host)
The the star five, maybe the star five, this guy? Yeah, I feel like this seems a little more ready for prime time than the star five was at that time.

40:23 - Jonathan Bennett (Host)
Well, so one of the things there's a phoenix article about this too that I should I should go ahead and link to Michael does some some. I think he does some benchmarking of it, at least of the, the CPU on there, and it is a. It's a decent bit faster than the star 5. Um it is. It is more like a uh, it's a little bit behind a raspberry pi 4, if I remember correctly. Um, so, yeah, it's, it's an interesting little board. I'm actually getting one to potentially use as a, a github runner to do to do automated builds as part of a github ci. Um, there's, there's a couple in one of the projects. I mean, there's a couple of us that looked at this and went, oh, it'd be perfect for that, and so ordered a couple of them. Um, it's got eight gigs of ram, which puts it in about the right amount to be able to do that. Um, yeah, do do. Uh, github runs inside of like a docker probably do.

41:15 - Rob Campbell (Co-host)
Yeah, if you want to go cheap, I think the cheapest on Amazon I didn't even look at AliExpress, but the two gig was like $44. I want to say, and I think the eight was somewhere around with the power, I think it was like 70 and maybe it's like 66 without. I can't remember now, but that's subject to change. So it doesn't matter what I say. But 66 without.

41:38 - Jeff Massie (Co-host)
I can't remember now, but that's subject to change, so it doesn't matter what I say, but it's ballpark, yeah, it's something one of these days. Yeah, I'm the only one not getting the hardware dropped off every other week every other week, more often than that man I actually haven't really uh bought anything like that for quite a while.

41:58 - Jonathan Bennett (Host)
Yeah, no, it's interesting. Risk 5 is interesting to me. Risk 5 has some problems, though. The fact that it's so open and there's not some organization saying you know, this is what world on x86, there's, like you know, there were the MMX extensions and the MMX2 extensions, and so you could kind of say, well, a processor made here and later it's going to have these extensions. Well, that doesn't necessarily happen. It hasn't happened yet, I should say, for RISC-V right. So there are extensions that can make RISC-V processors run with significantly more performance, but not every processor has them and in fact, the implementation is not necessarily exactly the same across all of them, and so there's no like standardized.

42:48 - Rob Campbell (Co-host)
Here's how you can compile against one of these modern risk 5 processors that have the faster extensions I feel like once distros become more mainstream on when they pick like a risk 5 board, that's like good, and distros kind of start to focus around that, I feel like manufacturers are going to want to try to at least meet that standard, so that way there's already distros and stuff to run on there.

43:14 - Jonathan Bennett (Host)
Yeah, it's kind of a chicken and egg problem, but I think we will get there. And I've said this about even the Vision 5 board. Like it's barely good enough to get us to the point of being able to start working out the bugs in RISC-V and then at some point, once you get the bugs worked out and the developers have tested it, then you can build the board that's actually going to be decent, that people can use for real well, that's the early problem arm had, because I remember during the kernel development they had a heck of a time building a kernel for arm because there was so many options out there that they were so unique that you had to have code to support each kind of variant.

43:55
That's still a mess it's still no fun, but it's getting a bit better. Um, one of the things that helped there actually is that there was a consortium of companies that came together and said hey, let's talk about what would make for a server ready system ready, I forget what they call it. There's, you know, there's, this idea on arm. It's like well, you give it this kind of firmware and the firmware develops, delivers to you this, which basically is ACPI, here's all of the hardware that you need. And then the kernel just says oh well, I have all the drivers for this. It's come up and start working, as opposed to compiling a kernel specifically for that particular piece of hardware, which is terrible and nobody wants to do.

44:39 - Rob Campbell (Co-host)
Apparently Beagle Board is also making the beagle v or something. There's a quippy posted that in the discord, so yeah, another option.

44:46 - Jonathan Bennett (Host)
I'd have to look at it. Um it it does. It kind of depends, although, like how much computing power it has and how much ram does it ship with?

44:55 - Rob Campbell (Co-host)
well, it has a lot fewer slots. It looks like there's ide slots on there we've got a surprise guest.

45:01 - Leo Laporte (Guest)
Hey, I wanted to congratulate you. Hey, leo 200 episodes.

45:08 - Jonathan Bennett (Host)
Good job. Yeah, we're just talking about another 55 episodes and we'll have a mathematically significant one wait a minute, let me think about that.

45:16 - Leo Laporte (Guest)
Oh, you mean 1-0-0-0 or something. Yeah, episode 255, because we started with zero.

45:22 - Rob Campbell (Co-host)
So episode 255 would be our 256th.

45:25 - Leo Laporte (Guest)
Yeah, that's the one I'm going to celebrate. Congratulations, yay, yay. I don't want to interrupt. I know you're in the middle, so I don't want to say anything. Hi, jeff, it's nice to meet you. Nice to meet you as well. And, rob, I know you from a distance, but not so much face-to-face, so it's nice to see you.

45:43 - Jonathan Bennett (Host)
Yeah, we were talking about RISC-V. We have another RISC-V board just got released.

45:48 - Leo Laporte (Guest)
I saw that little board. Yeah, that looks really cool.

45:51 - Jonathan Bennett (Host)
Yeah, they're fun. A couple of us have them on the way.

45:52 - Leo Laporte (Guest)
They're not very fast though, right, I mean honestly, that's what we were just talking about.

45:56 - Jonathan Bennett (Host)
Like the ones that are out, they are barely fast enough for developers to be able to use to fix the problems with risk five. Right, and hopefully at some point they'll get fast enough that, like real people are willing to use them good yeah, no, I really I think the idea of an open source chip is a great idea.

46:12 - Leo Laporte (Guest)
I mean obviously, yeah.

46:14 - Jeff Massie (Co-host)
Yeah, we were just talking, though that it helps if we have some kind of standards body to help control the silicon, so that when you try to write the kernel or some software for it, you have a kind of a base level of expectations you can have without customizing.

46:30 - Leo Laporte (Guest)
Well, who controls RISC-V? I thought that was an open consortium.

46:35 - Jonathan Bennett (Host)
Yeah, I don't know how much the consortium is willing to sort of dictate what's supposed to be on there. So, like you know, when, when intel went from 46 to 586 and eventually the pennyum and the pennyum 2, they sort of said, all right, these are the new extensions that cpu is going to have. And so then when amd went to clone it, they said we'll make the same extensions. Windows ran on it, linux ran on it. There isn't anybody that's out there saying, okay, the next version of risk five, the one that's going to perform really well, these are the extra extensions it has to have, right? And so manufacturers just, kind of you know, do the baseline, add their own custom stuff, and it's just, it's a pain for, like, the kernel to support it yeah, that's hard, but it is supported by uh more than one distro, yeah and so the the new board that's just coming out in fact, I'm supposed to get mine in the mail tomorrow ubuntu came out and they have an official what do they call it?

47:26
it's like a preview release. You literally have to go download it off of google drive, but it is official from ubuntu and they've got support for that one, and so we're kind of hoping that, you know, one of these is going to be good enough that it sort of gains. Really, we're waiting for critical mass for one of these particular boards.

47:41 - Rob Campbell (Co-host)
Yeah, it's mostly about Ubuntu. They've had images for multiple other RISC-V boards too.

47:48 - Leo Laporte (Guest)
They're trying to make it work. All right, don't let me interrupt. I just wanted to say hi and congratulations. And you know, if you keep it up for another 55 shows, maybe you'll get a name. I actually really like untitled linux show. Oh it's fun.

48:07 - Jonathan Bennett (Host)
It's fun. I know you want to name jonathan from day one, but I kind of like it. Well, I, I wanted a name and then that became the joke there. For a while we had a different name, like per episode we would. We would pick one or two of them and uh, you know that would be like our sub line you can have a title for each show. We did. We have that too that's fair.

48:24 - Leo Laporte (Guest)
Yeah, yeah, but the name, I mean it's such a good name now and it's and oh, it's, oh, it's definitely stuck now.

48:30 - Rob Campbell (Co-host)
Yeah, it's definitely ours forever now yeah, I think most of us voted to keep that pretty early on yeah good, I remember the poll and that that one overwhelmingly well, I I didn't vote in the poll, I wanted you to get to do your thing, so yeah, anyway, continue on, don't let me interrupt start.

48:52 - Jeff Massie (Co-host)
Maybe you should start planning Leo to be on the episode 255.

48:56 - Leo Laporte (Guest)
I will be there for 255, or, as we know it, hex one or zero, whatever it is.

49:03 - Jonathan Bennett (Host)
Exactly Hex 1000. Yeah, yeah.

49:06 - Leo Laporte (Guest)
I'll look forward to it and keep up the great work. We really appreciate it. I'm watching from a from afar. Appreciate it.

49:13 - Jeff Massie (Co-host)
We enjoy it, appreciate it.

49:14 - Jonathan Bennett (Host)
Appreciate your watching.

49:16 - Leo Laporte (Guest)
Take care.

49:17 - Jonathan Bennett (Host)
All right, man Bye.

49:18 - Leo Laporte (Guest)
All right On with the show.

49:19 - Jonathan Bennett (Host)
On with the show, jeff. We're going to talk about NVIDIA. What's new with the NVIDIA? The driver in particular, right.

49:27 - Jeff Massie (Co-host)
Yeah. So last week, amidst a flood of tech news, one story that just didn't get that much attention was NVIDIA's release of the 575 beta driver. So it's the beginning of their 575 series of GPU drivers, but this is still beta. But they'll build upon this after this first one is stabilized. Now this update introduces several new features, including NVIDIA's smooth motion, support for GLX font, buffer rendering on X-Wayland and compatibility with the NV underscore disable underscore, explicit underscore, sync, environmental variable and these enhancements also extend to GLX and Vulkan applications. Now for those unfamiliar, smooth motion is somewhat like DLSS, using AI to generate interpolated frames. However, unlike DLSS, it works on games that don't natively support it, so offering improved frame rates and smoother gameplay. It's actually very similar to AMD's fluid motion frames or AFMF. So just AI, faster frames, better playing. Now, of course, no update is complete without bug fixes, and this release addresses several issues, including a Minecraft crash that has now been resolved, along with a crash on Marvel's rivals. There was a Wayland extension bug that previously caused system hangs, and that's been taken care of. A prime render offload issue that prevented it from functioning correctly has been fixed. A VRR bug so it's variable refresh rate that interfered with EDID overrides on certain interfaces. That was a little more of a corner case, but that's also been taken care of. There's a fix for default TGP and max TGP values not being reported correctly in the settings control panel when running on a notebook. Systems on battery power and there's a resolution for crashes caused by render offload in KDE framework six.

51:43
So and now this is. This is just take heed here for those on older systems If you're running a kernel earlier than 6.8, be aware that several extensions have been dropped to avoid exceeding the DRM object max property limit. I'm not going to read off the list of extensions because it put everybody to sleep, but and just be aware that an older kernel they're having an issue with the object limit, so they've had to eliminate several extensions. I'm actually using the 575 beta driver right now and so far everything seems stable no crashes, no black screen. Some of the computational stuff I do like folding at home works. So far it's it's been a seamless upgrade. However, keep in mind that this is a beta driver, so if your system crashes, you've been warned. Now for more details, check out the link in the show notes, which includes a direct link to nvidia's official release, which is going to have every single change that they did to this driver. So but so far the 575 series looks like it's very solid and good to go I.

52:59 - Jonathan Bennett (Host)
I remember some of the fun bugs that we've talked about with the nvidia drivers, like once upon a time you had to move your mouse rapidly across the screen to be able to see updates and well, I think we could blame uh plasma a little more for that early one than maybe that was totally nvidia's fault no black screen, no blue screen either, then no cool, no, just just my normal backdrop.

53:28 - Jeff Massie (Co-host)
And you know it's kind of interesting because and I I didn't look into it for lin, but I know on the Windows side there were some people having problems with the 570 series of drivers. There were some recent driver updates that have really caused a lot of problems and so there was some people saying either back off that series or jump to the 575 beta and that fixes, fixes the issues. So it so far, so good. I'll let you know if I run into any issues, but it's working great for now.

54:03 - Jonathan Bennett (Host)
Yeah, all right, very good, uh, so I want to talk about yet another bit of controversy, in fact, two bits of controversy. These are more technical controversies. It's fun kernel stuff really. So let's see how to begin this. So GCC just did a release of GCC 15. And in fact, in just the last couple of days, gcc 15 came out very, very recently.

54:38
Fedora 42 came out not terribly long ago either, but before GCC 15 actually went fully stable and Linus Torvalds famously runs Fedora and Linus did not listen to our advice. I told you, I told everybody wait a week, don't jump to Fedora 42 right away, wait a week for things to calm down. He did not wait the week and it meant that he ended up running GCC 15 before it was fully released, which is interesting considering that he's the kernel guy. So GCC 15 has a new feature. It's actually a really useful feature. So I kind of have to get into some C stuff C lore to understand this.

55:29
If you declare a string, so the way this works in C is that a string is an array of characters, and so you would say something like care, my string. And then in brackets you have a number and that is the number of bytes in the string, like the maximum number of bytes that you want that string to be able to store. Well, you can also immediately initialize it and say I want that string to equal, and then give it like a literal string literal, you know, in quotation marks. So the the write-up that I've got here, I've got linked to it. Um, it uses the example of care foo, and then in brackets, eight equals bar. Okay, well, that's perfectly fine. You're only using three bytes plus one for the null terminator, because that's the way strings work in C. So you're using four bytes, but you tell the compiler I want you to go ahead and reserve eight bytes, all as well, it'll kind of automagically do the right thing. Well, also valid in C is a second example here Carefu, in brackets, eight equals null, dash, free. So N? U, l, dash, f, r, e, e, and if you count that up, that is a total of eight characters. And that is totally legal to do in C. And what the compiler will do for you is it will, it will take eight characters and it will put your eight bytes, your eight characters, into it and it will not add the null terminator at the end, because you told it that you wanted an array of only eight bytes, not nine, and the compiler kind of assumes at least it did until GCC 15,.

57:07
The compiler assumes that you know what you're doing when you're writing code, which is not always a safe assumption, and that's kind of what the compiler people figured. And so they now they've added this big warning that, hey, you didn't leave enough room in your array for the null terminator. You probably didn't mean to do that, which is great. That's going to save people from doing dumb things with memory and causing program crashes. The problem is that sometimes you actually want to do that and you don't want a null terminator, and it turns out that that happens a lot in the kernel. And so what happened here is Linus Torvalds updated Fedora 42, updated by virtue of going to Fedora 42 to GCC 15, compiled the kernel and got about a billion warning messages about all of these strings that are not null terminated because you don't have enough. You know you didn't make them large enough. And so he uh, you know you didn't make them large enough, and so he, right before pushing out an rc, said, oh, I'll fix this, and slapped together a quick little patch to fix it. Uh, the problem is that his quick little patch to fix it broke kernel compilation on anything previous to gcc 15, which was not even released at the time. It's great. And yeah, things were a little bit of a mess there in Kernel Land. It broke, it got backed out, they fixed it.

58:47
There's a hilarious note from Keys Cook. Yeah, that said the. The note says um, I just lost it. Let me pull it back up here. Uh, I've totally, I've totally lost it. Where did it go? Here it is. Uh.

59:05
He says uh, can you revert this mess and use what's already been planned for this warning? Once again, it's really frustrating when you update to unreleased computer versions. Um, but he also says you didn't search lore, kind of the, the kernel um documentation. You didn't search lore for this warning string. You mercilessly flame maintainers for doing much, much less than this. I thought that was hilarious. Uh, it's like linus. You would give us so much grief if one of us did this to you and you did this to all of us. Have at least a little bit of grief. Uh, it is hilarious. Um, it's being, it's been fixed. It's not an ongoing problem, like nobody's computers are going to crash because of this. Um, it's just a little look at sort of the technical back and forth that happens in the kernel. And then there was one other speaking of the kernel and Torvalds. There was one other really fun story here.

01:00:02
Bcachefs, one of the up-and-coming file systems in the kernel file systems in the kernel is looking to fix their support for case insensitive file systems. And now this is one of those things that really trip up Windows people when they come to Linux for the first time, because over in Windows and has it has been this way ever since, like I think the original IBM PC way back in the day case insensitive. You know your file names. They did not have a case with them so you could capitalize the first name of the file, didn't have to capitalize it, you know whatever it would still find it. Windows is still to this day case insensitive and that is a problem sometimes, particularly when you're doing things in Wine, because you have an executable that thinks that case does not matter and then you put it on a file system where case does matter and in fact there's been some fun game breakages over the years because of that particular issue. So, uh, the the engineers from valve are actually working on being able to do things like run a bcash fs file system that is case insensitive for doing things like the Steam Deck and Steam Machines. So anyway, they were working on this and they broke things, and Torvald's response was the only lesson to be learned is that file system people never learn.

01:01:29
Case insensitive names are horribly wrong and you shouldn't have done them at all. The problem wasn't the lack of testing, the problem was implementing it in the first place. The problem is then compounded by and in quotes, trying to do it right and, in the process, doing it horribly wrong indeed, because right doesn't exist, but trying will make random bytes have very magical meaning. And so part of this is not only you're talking about the ASCII system, but then you have Unicode, and what happens if you try to make Unicode case insensitive? And so there's all this problem of like, well, you're trying to call the huge Unicode set Because in modern file systems you could have Unicode characters inside of file names and folder names, you could have Unicode characters inside of file names and folder names. Well, do you then want to try to collapse that down to a smaller set of characters, which is essentially what case insensitiveness is, and that's just. It's a very difficult problem to solve, all right.

01:02:31 - Rob Campbell (Co-host)
So Torvalds gets onto them for this.

01:02:36 - Jonathan Bennett (Host)
They just need to compile it with unre uh compiler and it'd be all right. Yeah, yeah, that happened too. Um, yeah, he, he basically says that uh, a case insensitive is. Uh, just, it was always a bug, it's always been a bug, it will always be a bug and you shouldn't do this. You're bad for doing it and you should feel bad for trying to do it. I mean, it's, it's, it's pretty special, um, but yeah, the normal, normal amounts of uh, chaos in the linux kernel well, and we did.

01:03:03 - Jeff Massie (Co-host)
we did talk about gcc a while back between when we uh benchmark ubuntu and fedora and it runs, and the GCC 15 runs a little slower because the first part of the release they're just throwing features in and they haven't had a chance to optimize and really refine, and so it's not too surprising that a brand new feature release could not go quite smoothly.

01:03:30 - Rob Campbell (Co-host)
That is pretty embarrassing, though. Uh, compiling something like the linux kernel for everybody on a an unreleased compiler yeah.

01:03:39 - Jonathan Bennett (Host)
So there's this. People have made the made the point and I actually agree with this that, um, something that is really really missing at the kernel is a continuous integration suite that you know is, like required to be run before linus ships out a release, and I think that would be a great idea. Now trying to do a full-blown ci suite and ci runs for the kernel would be a huge undertaking. But having a small seat continuous integration suite that when he says all all right, it's time to release here's the code I want to release it, then throws it out to a couple of different systems and basically says give me a minimal compile of this. It would only take a few seconds. On fast systems these days you can compile the kernel in under a minute.

01:04:24
No problem, do a kind of sanity check, compile before you do a release. I think that makes sense. I really like having that on the projects that I'm. A kind of sanity check, compile before you do a release. I think that would. I think that makes sense. I, I, I really I like having that on the projects that I'm a part of some sort of CI run, because I know I'm going to mess up, and even if your name is Linus Torvalds. Apparently you will mess up from time to time and a CI can help you not have egg on your face when that happens.

01:04:48 - Rob Campbell (Co-host)
Well, how about the uh the case insensitive argument here um what are your thoughts, you both? Yeah?

01:04:56 - Jonathan Bennett (Host)
I mean I don't. I don't care whether the file system I mean I'm used to case sensitive because of linux I understand that. Uh, when you're trying to port windows games over, sometimes it's not case sensitive and that causes problems. It is not terribly offensive to me to have a Linux file system that is case insensitive. It's weird, but I'm not offended by it in quite the same way that Torvald seems to be.

01:05:20 - Jeff Massie (Co-host)
I'm totally against it because it just totally goes against the grain of now. You just have that extra layer of complexity versus here's how all the other linux file systems, unix file systems work.

01:05:33 - Rob Campbell (Co-host)
Now we're going to try to match, you know, windows it could break things on on linux and unix if you have two different files that are the same name but different cases yeah, I don't.

01:05:46 - Jonathan Bennett (Host)
I don't know that there would be any support for trying to do like an actual system install to a case insensitive file system. That sounds like a terrible idea.

01:05:52 - Jeff Massie (Co-host)
I will agree with you that sounds like a terrible idea and you can have multiple file systems on your machine and it's just. I don't. I would just stick with the case.

01:06:06 - Jonathan Bennett (Host)
Sensitivity and be done with it. So how, then, do you fix windows software that is written no so like as as somebody like valve or even just a wine developer in general? How do you fix windows software that is written to not be case sensitive?

01:06:26 - Rob Campbell (Co-host)
so my point I'm gonna I'm just gonna jump in and give my perspective. I think the default should stay with the normal, how it's been for years. You know, keep it ace, sensitive, have that to be the default. Now I don't know how you implement it, but maybe have a feature where you can throw some kind of flag in there to say insensitive. I mean, I mean, that's already in programming languages, but maybe there's some, some way you could do that at a file system level. So that way, by default it's not, but you could throw something in there when you're want to access a file system I think that I think that essentially is what the bcache fs feature is.

01:07:08 - Jonathan Bennett (Host)
Um, you would have to do it at at the file system creation time. I don't would have to do it at the file system creation time. I don't think you could do it at the time of mounting because then you could potentially have conflicts on the created file system. So I think it would have to be when you create the file system. You would have to determine I want this to be case-insensitive or not.

01:07:26 - Rob Campbell (Co-host)
I mean you can do things like grep case-insensitive. So I mean you can do things like grep case insensitive. So I mean, if all you want to do is find that file name and use that file in a way that's kind of all the software needs to do, it's like instead of open file for for whatever feature, it's, open file case and subsets insensitive.

01:07:50 - Jonathan Bennett (Host)
Yeah, I think the big thing the the file system is when you go to create it. It needs to. It needs to to simplify down to you know all lowercase and then the like. The big feature is when you then go to try to create another file, it would have to prevent you from creating the second file that would. That would collide with the file names, and so that's why, that's why, also, you can't have this as a feature that you turn on at mount time, because you could potentially have two different files that have different cases, but other than that it's the same file name, and so when you try to mount it, then what is the file system supposed to do? Because now it has these two separate files that are oh, it's, in our new case, insensitive paradigm it's the same file name.

01:08:32 - Rob Campbell (Co-host)
It, picks, it's the. In our new case, insensitive paradigm, it's the same file name and picks, picks, picks the lowercase one by default.

01:08:36 - Jonathan Bennett (Host)
Just every time you ask, every time you go to access the file, it should just randomly pick one of them.

01:08:41 - Rob Campbell (Co-host)
I mean because it's very rare, like I gave the example of, you had two files of the same name but one's's capital, one's not. It's very, very rare to have that and need that. Usually. If that's the case, it's because you made a mistake, probably.

01:08:59 - Leo Laporte (Guest)
Yeah.

01:08:59 - Jeff Massie (Co-host)
Yeah Well. But, and also going back to your example of like valve having to deal with, you know, windows files, file systems, the difference there, where it's case insensitive, you have a very direct boundary. That you know. You're dealing with a windows file system, you know what it is where. Okay, now you've got a linux file system, but it in, you know now ext4 and zfs and all the other ones now have to figure out, okay, what modes it running and now it's got to handle all this. Now it just muddies the water versus. There's a very clear boundary between the Windows, you know, ntfs and FAT32 and all the versions.

01:09:41 - Rob Campbell (Co-host)
I got the easy fix. You could have this based off of directory. This could be like a directory flag and all it does is this directory has a flag to be case insensitive. Directory flag and all it does is this directory has a flag to be case insensitive. Everything in it at the actual file level changes to all lowercase and whenever anything acts as it, it only looks for lowercase.

01:10:03
It's case insensitive there you go that's, and it doesn't have to mess with the whole file system. You just need to do a directory base. Boom, easy fix.

01:10:13 - Jonathan Bennett (Host)
Easy fix. Rob's got the answer. Hope you're listening, all right, rob? Do you have the answer to virtualization?

01:10:27 - Rob Campbell (Co-host)
I have an answer and it's the best answer. So, yeah, as as I said, you know, another one of my my favorite pieces of software has hit a milestone and yes, this is. Is that, uh, it's a version number? Is that qemu is has released version 10.0. So there's been a lot, lot of software hitting 10.0 lately, it seems like.

01:10:55
So, qemu for those that don't know, it's the open source emulator that powers many virtual machines and links from the backbone of Proxmox working with KVM, qemu or Alex D and Inkus, the developer we've had on Floss weekly recently. Get all this Anyway, okay, so it powers that. And many online VM cloud providers also use QEMU in their chain. So I don't know if it's the most popular, but in the open source world I'm fairly certain it's it's the most popular. I know there's virtual boxes, vmware, um, there's, there's the commercial alternatives to it, but if you're looking at open source, qemu is is the one you're going to be using. So, in the words of the great Marius Nestor that you know Ken loves to quote all the time, this release, this release promises to boost X86, arm64, risc-v, hppa, 390xx and long arch emulation with new features and many improvements. So among these key improvements includes. So I'm back to my words, I'm no longer quoting. Faster emulation of string instructions on the x86 Clearwater Forest and Sierra Forest-V2 x86 CPU models. True multi-queue support for the vertio-scsi device, a new handshake max seconds, optional parameter to NBD server start QMD command and new Apple-GFX-PCI and Apple-GFX-MMIO devices to provide accelerated graphics to macOS guests.

01:13:10
And I'm going to have to spin up my, uh, my mac bm to attest with this one out for for the arm users, this release adds support for emulating the feat, afp, feat, rpr, es and feet underscore access cpu architectures, which I don't know what any of those are, but some arm architectures, uh, along with many other arm improvements. There's a lot there and it's just a bunch of alphabet soup, so I'm not going to list stuff. If you, if you're into arm and want to know the details, look at, look at, look at the show notes, find the articles, find the stuff on it. So also back at the RISC-V world that we've been talking about so much lately, or off and on at least. There are multiple RISC-V features added, such as support for TenStorent Ascalon CPU, microblaze 5 generic board support and support for the RV64 Shang Han Nanhu CPU.

01:14:21
A bunch of more CPU stuff that I haven't heard of, along with the other RISC-V editions, and really there's just a lot of new things in here to look forward to the release. This release has something for everybody ARM, x86, risc-v. Personally, I'm just looking forward to any speed increases I may see in my VMs and I'd like to see how those added Apple bits improve that scenario. It's not something I'm actually actively using, but I play around with VMs so of course, I have one that I tried running that kind of stuff on.

01:15:02
And you know, one thing I've seen is depending on I don't know what kind of things maybe I have set wrong I've had some where it just likes to freeze up and others seems like it works okay-ish, and sometimes it works great. I don't know what the scenarios are. Sometimes it works, sometimes it doesn't, but maybe with these QEMU improvements it'll just work all better, faster, everywhere.

01:15:29 - Jonathan Bennett (Host)
Lots, lots of stuff happening under the hood there. A big list.

01:15:33 - Rob Campbell (Co-host)
A big list of alphabet soup.

01:15:37 - Jeff Massie (Co-host)
So if Rob says Marius Nestor instead of Ken, do we still take a drink?

01:15:42 - Jonathan Bennett (Host)
I'll leave that to your discretion.

01:15:44 - Rob Campbell (Co-host)
Yeah, I did the opposite. You have to spit out whatever you're drinking.

01:15:48 - Jonathan Bennett (Host)
No thanks. Yeah, fun stuff there. I I am particularly interested in the, uh, the, the vert, io scuzzy, because that is, uh, that's your disc performance and I don't know about you guys, but my playing around with, uh, virtual machines disc performance has always been terrible. Now that may be because I always insist on running on RAID 6 on spinning drives and not Flash, but still it's been terrible.

01:16:16 - Jeff Massie (Co-host)
Well, RAID 6, how many cores are you throwing at that virtual machine to run RAID 6?

01:16:21 - Jonathan Bennett (Host)
Well, the virtual machine doesn't. The virtual machine is not doing the RAID 6. It's the bare metal machine above it that actually has to do the RAID 6 calculations. Oh, okay.

01:16:35 - Rob Campbell (Co-host)
You need to emulate a solid state drive or something maybe.

01:16:40 - Jonathan Bennett (Host)
There you go, just yeah, add that, we'll put that in QEMU 11.

01:16:45 - Rob Campbell (Co-host)
It's a checkbox in Proxmox. Emulate a solid state I haven't done any testing to know.

01:16:54 - Jonathan Bennett (Host)
know, uh, if it doesn't, but I always check it because it sounds good to me it's like painting it red or adding blue leds totally makes it go faster I mean in theory they should.

01:17:06 - Rob Campbell (Co-host)
I mean I don't know why it's just not checked by default, which it's not surprisingly I just I'm imagining.

01:17:12 - Jonathan Bennett (Host)
I'm imagining the actual code path. If you go to the source code, it doesn't do anything If there's a comment like get a load of these idiots.

01:17:23 - Rob Campbell (Co-host)
If I ever get back to Ransoft I'm going to do that kind of stuff. Oh yeah, improve performance checkbox Yep.

01:17:31 - Jonathan Bennett (Host)
All right, Jeff. What is looking glass? I've wondered this ever since I saw your link here. What is this about?

01:17:38 - Jeff Massie (Co-host)
Well, this is going to build upon Rob's story. And you talk about disk performance being poor on a virtual machine. But what about graphical performance? I always found it pretty bad. Well, now I will tell you, this story is going to be heading down a bit of a rabbit hole, but in the interest of keeping things concise and making sure most of our audience stays engaged you know I don't want to bore everybody we're going to keep it kind of high level here. Now, the link in the show notes is from a YouTube video by Level One Techs Wendell, from Level One Techs specifically, and he has a YouTube channel dedicated to Linux called Level One Linux, and that's what the link is. And in this particular video he's talking about Looking Glass. He mentions that a major VFIO breakthrough is coming.

01:18:30
Now what is VFIO? Vfio stands for Virtual Function Input Output. It's a subsystem in the Linux kernel that provides a way to expose direct device access to user space applications and virtual machines. In simple terms, its main purpose is to allow a virtual machine to securely and efficiently access hardware devices while ensuring isolation between them and the host system. Now, this works alongside virtual machine software like QEMU and KVM, so it's not a virtual machine. In and of itself, it supports the virtual machine. So why does VFIO matter? Well, it has several applications Multi-seat gaming you can take a single machine with multiple virtual machines and now multiple users can game simultaneously or, in certain situations, operating system compatibility If a game requires Windows, vfio allows you to run it inside of virtual machines at speeds close to native performance, because you're hitting the GPU directly and you're not having an emulation layer in the middle trying to do the graphics. You actually have the hardware doing it. It's also used for security and sandboxing. You know running applications at a virtual machine at near native speeds, but by doing that you add an extra layer protection against malware. So if you're running some software maybe you're not sure of or you're really testing out, that could be a way to protect it. And, of course, experimentation and learning. And it allows tech enthusiasts to explore virtualization and in its advanced features.

01:20:13
Now let's get back to the video. So Looking Glass is nearing its 1.0 release and Wendell's excited about achieving full-speed GPU acceleration. Pardon me, he also mentions that even if you don't pass through a dedicated GPU, mentions that even if you don't pass through a dedicated GPU, looking Glass can use your CPU to simulate one and thanks to multi-core support, the performance will be much better than the standard VGA drivers typically used in virtual machines. These default drivers are usually restricted to a single core and aren't well optimized. So while Looking Glass provides far better performance, it still won't be as good as a real GPU. So if you're really going to try to game and you want the best, you have to have a GPU that the system can hit.

01:21:07
Wendell does note that Looking Glass is easiest to install on Arch Linux, which was kind of what it was designed around or built on. It's not only limited there. It can be installed, for example, on Debian-based distributions. It's just the process is more complex. Now the community has created scripts to help with the installation on Arch anyway and usage. There be some ubuntu ones out there.

01:21:36
I didn't, I didn't go digging, but you know there's still some challenges.

01:21:38
Right now it's possible for looking glass to cause a gpu lockup requiring a full system shutdown and power cycle to restore functionality function, while this functionality it's not going to permanently damage your GPU, you're not going to brick it, nothing like that. It's just going to require extra steps to get things running smoothly and the extra steps being to shut it down and then power it off, let it come back. So it's not perfectly smooth yet and if you're running Arch or thinking this might be good to run on Arch, you're probably not a new user. This is not in new user state yet, but if you're interested in this soon to be coming breakthrough, check out the video linked in the show notes. There's also underneath the video. There's a forum post covering the release details on the Level 1 Tech's website and they also have a link to the official Looking Glass website and you know kind of capstone-ing this whole thing. As Wendell mentions in the video, exploring VFIO can be a real long but, you know, a very rewarding journey.

01:22:55 - Jonathan Bennett (Host)
So it's a lot to look forward to. Yeah, interesting stuff. I've fiddled with this just a tiny bit not looking glass, but trying to do this sort of thing before we have an interesting comment. I think it's something we should cover. Tenacious Liege, possibly says I smell something, something proprietary, and that's an interesting question. Is looking glass a proprietary or an open source solution? Do you know? I believe it's open source. That's what I'm seeing too. So they're githubcom, slash, gnif, slash looking glass, and I saw some instructions on their website about how to compile it from source. So I think it is an open source solution. It appears to be to me.

01:23:34 - Rob Campbell (Co-host)
Um yeah, I've, uh, I've had looking glass bookmarked for a long time, like I probably heard about this over a year ago, but I couldn't quite wrap my head around it. I thought about bringing it bring it to the story in the past, but it was really early. But I want to be able to try it first, really to know and maybe it's because it's designed to work best on Arch and I'd really like to see it have a nice little plug-in to like Proxmox or something.

01:24:06 - Jonathan Bennett (Host)
Now with Looking Glass. I think it's designed and you touched on this but really it's designed for running with two different GPUs, right?

01:24:15 - Jeff Massie (Co-host)
Yeah, ideally, because you can't. The consumer GPUs that most of us are running, they don't allow you to bisect them, so you can't break them in half and use one part for something and one part for something else. Now there's some kind of workarounds that sometimes work, but they try to not do that because they try to reserve that for their professional cards. But the hardware is perfectly capable of it, both AMD and NVIDIA's hardware.

01:24:51
Yeah, the term there is a sriov single root, iov, um and uh, yeah, I think I think intel is the only one that, like, really supports it for for consumer cards, with their video, with their drivers and everything now you could say you're going to run your desktop off of your integrated gpu maybe, and then say, okay, I'm going to dedicate my graphics card to my virtual machine so I can play and then you can switch back and forth. I mean, I think there's a reboot involved to do that. But Wendell goes in and talks about, you know, he's running some games at pretty high speed. Now there's still a little overhead because it's a virtual machine, so it's not going to be faster than Windows. But I mean, you're going to, but you're, you're running pretty respectable frame rates and it's it's, you know, 80, 90 percent of the performance of just running Windows 90% of the performance of just running windows.

01:25:52 - Rob Campbell (Co-host)
Well, I guess, uh, instead of uh going to a cosmic desktop, I guess I have to go back to arch, to uh to explore this.

01:26:00 - Jonathan Bennett (Host)
I guess, uh, give it. Give him a week He'll be bragging about. Hey, I run arch, by the way, guys.

01:26:08 - Leo Laporte (Guest)
I haven't mentioned.

01:26:09 - Jeff Massie (Co-host)
I run arch, Let me run arch, by the way, guys, I haven't mentioned I run arch. Let me, let me bring stories about arch.

01:26:15 - Jonathan Bennett (Host)
Yeah, enough about myself, let's talk about me, yes yes, uh, so I've got, uh, I've got three little stories here all about kind of some neat video stuff coming and they tie into that fairly interestingly. So the first one is uh, again, something valve is is working on, it's the Fair DRM Scheduler, and they have posted their version 4 patch set and said that it's running well on the Steam Deck. And this is pretty interesting to me. This is when you have multiple applications that want to hit your GPU at the same time, and specifically when they all want to write your GPU at the same time, and specifically when they all want to like write to video at the same time, and, uh, what usually will happen, at least with the current, the current setup, is one of them will run great and the other will be starved for GPU uh time, essentially. And so they have added this. Um it's, it's basically based on the completely fair schedule. The cfs from the kernel and it now add is added to the gpu so that you can render multiple things at the same time. And you might ask yourself what's the use case for this? Why does valve care about it? I'm not 100 sure, but one thing that does come to mind is the steam overlay is sort of doing this. We're trying to render something on top of where a game is rendering and that might be a big part of what they're trying to fix. But anyway, it was very interesting to see this coming along and, you know, once it gets perfected it's very possible we'll see it start landing in other distros and, yeah, maybe on our Fedora and Ubuntu desktops etc.

01:28:02
And then there is a little tidbit from AMD, which is the GPU IOV module, which is for virtualization with instinct accelerators, instinct being their big sort of workstation slash server cards. But there was an interesting comment Someone it was on X. Someone says bring SRIOV support to the client, discrete GPU please. It would be a great add-on feature to differentiate AMD. And one of their engineers says it's in the roadmap. So we might see at some point in the future wider SRIOV support for more AMD cards, maybe even the consumer cards at some point in the future. Not a guarantee. They say it's in the roadmap and that's not in and of itself a very detailed promise. Even it's a very weak promise and a very sort of undetailed, uh, generic promise. But there are at least people at amd thinking about it. So that's, we'll take it as a win, a minor win and hope to see something real come out of that.

01:29:12
And then the third video thing that caught my eye looking through is the Raspberry Pi 5. The upstreaming support for that is continuing to come along and this one actually, I believe is Raspberry Pi 4 and 5. And it's the accelerated decoder for HEVC, also known as H.265. There is silicon on those chips, on those boards for accelerated decoding and it is not landed upstream in the kernel yet, but the work was done and it's been open-sourced and the people that did it, which I believe is Isidigalia yeah, I don't see it immediately but yeah, the work has been done, it's open source and they just sent the version 3 patch series up to the kernel, which is a good sign for that maybe landing at some point. Interestingly, it was sent from an atresburypiecom address.

01:30:21
There's been some feedback, lots of little fiddly things like don't add mailing lists as a maintainer Maintainers must be people, right Fun things like that, just sort of little fiddly kernel things. So we will see, if this version of it lands, whether it's going to be quite a bit of change to make it happen, but it looks like that is coming, which you know if you are like me and you want to run mainline distros with vanilla kernels on your Raspberry Pi SBCs. That is very welcome to see that code is going upstream. So fun stuff there. Fun stuff. Any thoughts?

01:31:08 - Jeff Massie (Co-host)
um no, I just love how much you know proton and steam or valve are just really contributing a lot to the gaming experience.

01:31:18 - Jonathan Bennett (Host)
Yes, yes, all because, all because microsoft thought it would be really cool to make their own console and then try to lock games into games for windows. Yep, that's that started the panic. Yep, and gabe was like nope, I'm not playing that game. Fun stuff, all right. So we're getting this command line tips. Fun stuff, all right. So we're getting this command line tips. We shall. That's an excellent idea. Rob is up first and, uh, miss miss pipe, miss pipe.

01:31:49 - Rob Campbell (Co-host)
Miss pipe, miss pipe. That's her name. So I am continuing on my more utile series. Now this one is going to take a little bit of thought of how you, how this might be useful to you. In most places a regular pipe is gonna work, but in scripting maybe you want to get the results. So the example here is if I were to grep the word error from a log file and then I wanted to pipe that to sort, it's going to work just fine. Now what if I want to know if that first command, I want to know if that grep was successfully completed or errored out, and I want to be able to use that in my script to determine what to do next or whatever. That's where miss pipe would come in. So miss pipe. So so it just it pipes it and gives you the, the uh, it returns true or false or whatever. So I'll just show you for an example here.

01:33:06
So if I type mispipe, that's m-i-s-p-i-p-e space. Double quote. Grep space. Single quote, error. Single quote space. Some file dot log error. Single quote space. Some filelog, double quote and then space and then put double quote, sort double quote and some. Filelog is a log file that I just copied to the current directory for demonstration purposes. So if I run that it's I need to make sure I'm over here on this screen here. So if I run that it's going to grip that file, search that file for anything with the word error in it and then sort it. So it returned successful.

01:34:00
So if I type echo, space, dollar sign question mark, it's going to give me a zero and that means it's a successful response. Now if I'm going to do the same thing, I'm going to put a word that's not in there. I got error, sssss and same command. I know that's not in there. It doesn't spit anything out because it's not in there. Now if I want to check, you know, echo space, dollar sign question mark, it returns a one, meaning that the it did not, that first command there did not successfully complete. So how you use this it's really probably going to be best for scripting, but how you use I'm going to leave that up to you.

01:34:41
Now one thing you notice here I also. I started a bonus tip here, but if you saw I did the echo, the dollar sign, question mark, those. That's a special, a special variable which I'm going to deep dive and expand on next week Some of those special variables I think have been hit on, but I'm going to. I'm going to deep dive and expand on next week Some of those special variables I think have been hit on, but I'm going to do a deep dive and explain that a little deeper. But this week it's MISPipe.

01:35:11 - Jonathan Bennett (Host)
So, specifically, what MISPipe does is it returns. It gives you the return value of the first command as opposed to the second command.

01:35:20 - Rob Campbell (Co-host)
Yes, that is what it does.

01:35:23 - Jonathan Bennett (Host)
Cool, yeah, I could see that being useful in certain situations.

01:35:27 - Rob Campbell (Co-host)
Yeah, you know, if you're running some script and you're you know whatever it is and you're piping it to two things that act on that script like or whatever command, like sort, you know you don't care if sort passed or failed, sort's going to do whatever it does to whatever's piped to it. You really want to know where you're able to find anything and grab it.

01:35:48 - Jonathan Bennett (Host)
Yep, yep Makes sense. Very cool, all right, jeff Bitwarden.

01:35:55 - Jeff Massie (Co-host)
Yeah. So if you're a fan of security now you might have heard Steve Gibson mention Bitwarden as one of the password managers worth considering. It integrates seamlessly into your browser, making logging into websites effortless. But what if you need a password on the command line? Well, bitwarden actually has a command line interface, so the link in the show notes provides all the information you need. So there's different ways to install it. You can use npm, chocolatey, homebrew or snap, and if none of those options work for you, you can just head over to the download section and grab the standalone executable. No extra package manager needed beyond what you normally have in your distribution.

01:36:40
Since I'm on an Ubuntu-based distribution, I simply use the Snap version and, as expected, the installation was smooth and that's where you can just even start getting into the help options. You know dash, dash help, and it gives you everything you need, everything you'd expect. You know you can formatting, retrieving passwords, entering passwords. You know basically, various functions found in the graphical version. So you can now have the power of your graphical password manager on the command line. I won't go over everything, but if you've already been using Bitwarden's graphical interface and you know need it on the command line too, this is a great way to keep your password vault at your fingertips. Uh, be sure to check out the article in the show notes for installation details, documentation and an overall rundown of the program.

01:37:30 - Jonathan Bennett (Host)
So be safe everyone yeah, added bonus bit warden is a sponsor of twit. So there's that I. I knew they were at one time, I wasn't sure if they still were.

01:37:41 - Jeff Massie (Co-host)
It is on the page twittv sponsors okay on the page now so and I and I ran into it because I actually use bitwarden, that's my as do I.

01:37:51 - Rob Campbell (Co-host)
I've been a fan of it since before they were a sponsor. Yes, I kind of switched to them when a previous competitor might have still been a sponsor and then got bought out.

01:38:04 - Jonathan Bennett (Host)
It happens yeah, lots of stuff happened there, yeah uh, I I I did have a question last week. The reason I was able to get to that page so quickly is because I looked, since last week I was talking about a backup solution. Uh, it was actually backblaze. Uh, has a a a way to work right with duplicity, and so I was able to get a customer. Well, a customer moved from me to another IT guy and we were able to move over to his Backblaze account very, very easily, because Backblaze actually helps maintain this backend for duplicity, which was very cool. So we enjoyed that. All right, I've got a command line tip and it's sort of a basic thing about Linux and that is the quotation marks. So quote marks in Linux are interesting. You have three different things that we're going to call quotation marks here. We have the single quote and the double quote. Those are the ones that are over on the right side of your keyboard, right right beside the shift button, and then there are the back ticks and that is it shares the key with tilde.

01:39:10 - Rob Campbell (Co-host)
And it's right beside the enter button, or return.

01:39:13 - Jonathan Bennett (Host)
The, the single and the double quotes are yes.

01:39:15 - Rob Campbell (Co-host)
Yes, not the shift.

01:39:18 - Jonathan Bennett (Host)
It depends on your keyboard, but yeah, so, um, um, those all do different things and there are reasons that you might want to use one or another. So probably the simplest are the single quotes. And if you use inside a Linux command, if you use single quotes, then you will get everything inside the single quotes gets delivered to the command as a single argument, exactly as you write it, so you can put basically any character in there. I think any character other than a single quote will get passed through directly to the command. Other than a single quote will get passed through directly to the command. So exclamation marks, dollar signs, slashes, back ticks, double back to you know, two sets a set of back ticks, a set of double quotation marks. Whatever it is inside of those single quotation marks, it gets passed through to whatever command that you are running. Double quotation marks, which those are the ones that you would normally use for writing in English to quote someone. They are different, they will pass through whatever is in them, but all of the different string replacement options will work inside of a double quotation mark. So one of those options is the thing starting with dollar sign. Right, and Rob showed us that the what was it Dollar sign question mark, I believe. So inside of a double quote, I'm pretty sure that dollar sign question mark will do the string replacement. You can do dollar sign parentheses to run a command that will work.

01:41:04
And so this actually tripped me up the other day. We were doing an email migration with a tool and on this tool you put the passwords on the command line and someone's password had an exclamation mark in it and I was just using double quotes because we normally use and it did the replacement of the previous command because it's what exclamation mark does by default on linux. And so it had another command in the middle of this person's password and it's like why? What happened here? It took us a minute to figure it out and it was quite hilarious when we did um. So double quotes super useful if that's what you wanted to do, not very useful if that's not what you wanted to do.

01:41:46
And then back ticks. Back ticks are really very different, very interesting. Also very useful interior as a command, and then do a string replacement, where the output of the command is replaced into whatever string you're working with. So and you can use this for things like if you want to put the current date into a log or even a file name. Then you just do back tick and then the date command close it with the other back tick and then when you run that command in Bash, the first thing that it will do is it runs the date command, takes the output, replaces that into your longer string and then runs that command Again. All three of these are extremely useful for scripting, for writing one-liners, all kinds of stuff. But if you don't understand what each of them do, they will trip you up in hilarious ways sometimes. But now you know, and knowing is half the battle I'll say single quote and double quote.

01:42:52 - Jeff Massie (Co-host)
It's the same, uh, same thing when you're doing php I remember doing some old corn shell uh scripting, scripting on a an old Solaris box, and that was always single quote. Double quotes were always the thing, yeah.

01:43:07 - Jonathan Bennett (Host)
I had no. Um, well, I would. I would just say with the various languages, like do your homework and find out exactly what they mean, because sometimes it will surprise you it may or may not mean what you think it does. I know, in my use of PHP I am oftentimes writing out HTML code and so I will do double quotes inside of single quotes or single quotes inside of double quotes to be able to get PHP to write out the quotation marks so that the HTML code has it, and I remember a few times that it's like but I need a third level of quotes because I'm doing JavaScript too. Fun times.

01:43:47 - Rob Campbell (Co-host)
And you just exit out with a period, start the quote and period and start a new line or whatever. Something like that. Yeah, there are ways. I didn't know about that tick. I'm just playing around with that now on the command line. Cool.

01:44:01 - Jonathan Bennett (Host)
Cool. Yeah, it's very cool. I use that quite a bit for putting a date into a file name. It's really useful for that. There are other ways to do it too. I mean, it's essentially the same thing as $ open, close parentheses. It's one less character to have to type Yep. All right, that is it. That is the show. That is the tips. We'll let each of the guys plug whatever they want to. Uh, we're gonna let jeff go first. Maybe he'll have some poetry for us. We will see, jeff, what do you got?

01:44:30 - Jeff Massie (Co-host)
I have got poetry. Yeah, so little little haiku here kids whining, fighting, swiping iphone to mute them. There's an app for that. Have a great week, everybody.

01:44:49 - Rob Campbell (Co-host)
That's great all right, rob, all right, if you want to come connect with me, you can find me at robertpcampbellcom. On that page there's links to my LinkedIn, my Twitter, my Blue Sky, my Mastodon and a place to donate me a coffee and $5 increments. So, since this is our 200th episode, feel free to donate 200 coffees or $200 worth of coffee, or you know whichever one of those you prefer. I'm good with them all. How?

01:45:24 - Jonathan Bennett (Host)
about 200 pennies worth of coffee.

01:45:26 - Jeff Massie (Co-host)
Ah, whatever, I don't care, or remember, all the bad puns at the beginning and especially make note to donate to Jonathan and myself and not Rob.

01:45:37 - Jonathan Bennett (Host)
Make him owe us more coffee. Yeah, all right. Thank you guys for being here. It's been a blast. Oh, thank you appreciate it.

01:45:47
All right, if you want more of me, which of course you do, why wouldn't you? You can check out hackaday. That's where the security column goes live every friday morning. We have a lot of fun with that. It's also also the home of Floss Weekly. These days, we record on Tuesday at let's see 1130, my time, which is 930 Pacific time, and have a lot of fun with that Record on Tuesday. It goes live on Wednesday. You can find it there at Hackaday, or you can follow the RSS feed, or you can even follow the Floss Weekly YouTube channel where we upload the videos, and that is always fun as well.

01:46:22
You should also check out Club Twit. It is the easiest, the best way to directly support the shows that you love and the network that you appreciate. And it's about the price of a cup of coffee per month. Look, we don't ask for much here. It's a cup of coffee for the network and then a cup of coffee for each of the hosts. It's not cup of coffee for the network and then a cup of coffee for each of the hosts. It's not that much, but seriously, you should check out Club Twit if you are not already a member, and we appreciate everybody being here those that watch, those that listen, those that get us live and those that get us on the download and we'll be back. We'll see you next week on the Untitled Linux Show.

 

All Transcripts posts