LINUX Unplugged - 293: Netflix's Gift to Linux

Episode Date: March 20, 2019

Developers at Netflix are creating the next set of super powers for Linux, we'll get the details straight from the source. Plus some good Debian news, our tips for better battery life, and we play a l...ittle Hot SUSE Potato. Special Guests: Brent Gervais and Ell Marquez.

Transcript
Discussion (0)
Starting point is 00:00:01 This is CNN Breaking News. Just three hours ago, no, two hours ago, as we started recording, Google has made their big announcement about Stadia, the streaming service that all runs on top of Linux and Vulkan. Have you had a chance to see this, Wes? I know we've been really busy today. Only just a little bit. I saw some headlines and I said, I'm going to have to dig into this later. So this is the evolution of that streaming beta, I guess.
Starting point is 00:00:28 You could trial run, maybe. Yeah, which I have been using, so I'm curious to see just how much better it is. That already works on Linux. But the thing that was crazy is in this keynote, and there's a big slide up on the screen that says Linux and Vulkan. If you want your games to work on this platform,
Starting point is 00:00:45 write your game for Linux. Wow. That's different. I'm very excited. I mean, I'm also skeptical about streaming games. I've had some experience. Some have been great. Some have been flawed. So there is definitely room for mistakes to be made, for this not to be that great. However, Google's kind of making the case, look, we can throw essentially unlimited GPUs at your problem. That sounds pretty good, doesn't it? It's like, oh, it's a game developer. I'm like, hmm.
Starting point is 00:01:13 The other thing they demoed, this is really where I could see this working, is play now buttons, like right next to a YouTube video about a game, and they show it up on screen within five seconds. The game is streaming to your PC or your whatever it is, and you're just playing the game immediately. And in many ways, many games are already operated
Starting point is 00:01:33 as like an online service anyway. So now you're just not running their proprietary client. You're just getting shipped some frames. The browser is the platform. But what I'm going to watch with a lot of interest, I mean, it's the gaming service. That's kind of neat. I'll watch that too. But what I'm going to watch with a lot of interest, I mean, it's the gaming service, that's kind of neat. I'll watch that too. But what I'm really going to watch with interest is does this lead to more Linux games using Vulkan? That's going to be a massive win for
Starting point is 00:01:54 Linux users. Right, not just like the first order of games that run on Linux, but just that being a standard people are trained to do, that makes it more, you know, there'll be more documentation, more developer know-how, it will benefit the community at large. Here's what I'm thinking. Even if, like, desktop Linux isn't enough of a reason for developers to be incentivized to target Linux, somebody like Google coming along and saying,
Starting point is 00:02:16 here's Stadia and, or Stadia, however you say it, and it has 5 million users thanks to us tying it in with YouTube. So write your games for that, because that's going to get eyes. That seems like there's potential there, doesn't it? This is Linux Unplugged, episode 293, for March 19th, 2019. Well, hello there, and welcome into Linux Unplugged,
Starting point is 00:02:54 your weekly Linux talk show that's hitting the road and barely surviving. My name is Chris. My name is Wes, and oh my gosh, I am so happy you're alive. Well, I'll tell you just in a brief moment about how I was almost taken hostage yesterday. But first, I'll tell you what's coming up on this week's episode. If you're a Debian user, we've got some great news for you. If you're a SUSE user, we've got good news for you. And a brand new Linux desktop just got a great new release. And we'll talk about the troubles that our favorite open source project for Plasma and Android users, KDE Connect, we'll tell you about the problems that they're running into with the old Google Play Store this
Starting point is 00:03:31 week. But later on in the show, once we really get in our groove, we're going to talk about eBPF in practice. There is some amazing performance, monitoring, hacking, testing tools that have come to Linux. And one of the best things that happened to us at scale is Wes and I got to attend Brandon Gregg's talk on performance hacking. And we watched in real time as he diagnosed all kinds of performance issues with Minecraft. Well, we took away a few of those essentials, a couple of practical examples, and we're going to cover them, what it means for us Linux users, and why the kernel devs are so, so excited about this new feature. It's big stuff. And if we had a little bit of time left,
Starting point is 00:04:11 we've got some feedback too. But before we get any further, you guys know what time it is. It's time to bring in that mumble-roo. Time-appropriate greetings, Virtual Lug. Hello. Hey. Good afternoon. Hello. Nice to have you all here. Most of the web runs on servers powered by Linux. You know, I have to say, most of the web runs on servers powered by Linux. I just came up with that. Now, what do you say, guys?
Starting point is 00:04:36 Before we get into the news, can we have a little story time with Chris? I had to tell Wes about this. Wes, Al, and Cheese already know about this because this was crazy. I've never had anything like this happen to me in my life. But yesterday, my wife, my dog, and possibly my home were all at risk of being taken hostage or worse. It was an insane situation that thankfully I can now sit here and laugh about. However, about this time, 24 hours ago, I could not. So I'll start with, you have this thing called BLM land and it's a beautiful gift from the federal government. The Bureau of Land Management has all of these areas where you
Starting point is 00:05:20 can go take your RV and you can park for free for 14 days. Isn't that great? 14 days you can go take your RV and you can park for free for 14 days. Isn't that great? 14 days you can go somewhere. You can just park there. It's just fantastic. And as we were driving along, going back up to Seattle from Texas, we found this great spot in Arizona where we could pull off of the I-10 highway for a little while and get fantastic cell signal. That way we could still get some work done.
Starting point is 00:05:42 And we've got these new lithium ion batteries that we had installed. So I knew we had like a couple of days of working time. We go there, we park, beautiful cell signal. That way we could still get some work done. And we've got these new lithium ion batteries that we had installed. So I knew we had like a couple of days of working time. We go there, we park, beautiful cell signal. Nobody is around, gorgeous view of the mountains. So we pull in late at night and we get set up and sleep great because it's under the stars. It's silent. It's just a gorgeous location. And about midday after working for most of the day and attending meetings and listening to a great episode of Coda radio, somebody comes knocking on my door. I open up the door and it's,
Starting point is 00:06:14 um, it's a rough looking fella. There's somebody who's, who's, who's seen, um, who's seen the inside of a jail cell a few times. And,
Starting point is 00:06:23 uh, um, just rough looking guy. And he's got a weapon on his side. Oh no. And it didn't take me more than, I mean, I mean,
Starting point is 00:06:32 I immediately kind of assessed what was going on and I was a little drunk at the time. So really not on, not on your a game tired from a long day of driving. I'm sure preparing to relax. It was the end of the day. It was about 3.30 and we had been driving forever.
Starting point is 00:06:48 It had been working since 4 a.m. So it had been a very long day at this point. And Hadiyah was about to start making dinner, so I poured myself a glass of whiskey, turned the old TV on, and that's when the door got a knock on. Boom, boom, boom. Open it up. Hey, man, can I have some gas?
Starting point is 00:07:04 We're all out. And I'm looking around and it says, he's got this, um, he's got an RV that he says he got for free. I don't know if he stole it or what, but it's really bad shape. Like there's parts on the side that are missing. It's got, it's the suspension has collapsed on the rear, right? It's in bad shape. He says, we're all out of gas and I could use a little gas. And I'm looking around, I'm thinking to myself, well, what are you doing? What are you doing this far off the highway up in the mountains? Why? Like, that's not where you go when you run out of gas, right? You pull off on the side of the road. You don't go down a long windy road where there's absolutely nobody. Right. And no,
Starting point is 00:07:38 no gas stations, no gas stations. And so, uh, you know, half drunk me, I'm like, well, all right, man, let's do this. Like, uh, I'm just thinking we could just throw a hose down my, uh, you know, half drunk me, I'm like, well, all right, man, let's do this. Like, uh, I'm just thinking we could just throw a hose down my, um, you know, my, where we, where you put gas in the gas cap and I'll just siphon off a couple of gallons and they'll be on their way. So the guy goes back to his RV for a couple of minutes and he walks up and he's got these small little like two foot hoses and a, and a couple of like connectors. And I look at it and I can see, I can see it's something that they've used a lot. Like they're going around to different rigs and they're
Starting point is 00:08:09 disconnecting the gas line and they're hooking up to that and they're filling their rig up with gas. And that's how they're getting down the road. And this all starts clicking because I can realize, oh, he wants to disconnect my gas line and take my gas, but they don't have any way of fixing it. So then I would be stranded. And then a couple other guys step out of the RV. They also have weapons. And then three mastiff dogs, you know, the big dogs, mastiffs, and one husky dog get out of this tiny RV, and they all start walking towards us. This is insane. It's getting a little tense, right? And so I'm trying to just be nice, trying to empathize with their situation a little bit, figuring like, if I resist, then, you know, they're desperate. They're going to take what they need. But if I can, if I can
Starting point is 00:08:54 cooperate a little bit, maybe they'll just, you know, they'll be cool. And so I'm looking at different ways, like we can disconnect the gas line because I don't have a lot of options here. And I'm like, there's just no way I'm comfortable with this so i'm talking to him some more and trying to get an idea of what they're looking for and um i walk him back over to their rv to kind of look at what their different options are and uh so i suggest when i say hey well why don't we do this why don't one of you guys just come with me and i'll just drive you to the gas station we'll fill up some gas i'll even pay for it okay yeah that'd great. So this one guy grabs a gun, grabs a knife and comes and gets in the RV. He's ready to go. The other two guys in the dog stay behind. So Hadiyah, Levi, and I take this guy down the road
Starting point is 00:09:37 to go fill up a couple of gas cans. And then when we bring him back, um, oh, and I should say, you know, I'm trying to be nice to the guy. So like we're at the gas station, I offer him a couple of beers, you know, just trying to loosen them up a little bit and, uh, get him, you know,
Starting point is 00:09:51 get, get a couple of gas cans filled up. And when I say gas cans, I mean like milk jugs, they had milk jugs and water jugs that we just filled with gasoline and then put caps on it. That's all we had. Good Lord. Yeah.
Starting point is 00:10:04 And then we got back and uh it was like this process of trying to get rid of them and not not like show our hand that much um it was one of those moments in life where you you had a sense this can go two ways i can either play ball and just kind of try to help these guys out a little bit or i can resist like you know when he walked up to my door, I could have told him to F off and that could have just started a whole thing. Right.
Starting point is 00:10:29 Cause they were, they were stuck and they needed to get going again. I have a sense they had somewhere to be and they had to get there fast or somewhere not to be. Yeah. Or somewhere not to be. And so, uh,
Starting point is 00:10:41 it took another couple of hours to get them to go. Hadia made them dinner even. And after they ate and filled their rig up with a little bit of gas that they got, we gave them like 10 bucks and quarters and they left. And man, it was a weird experience because like you start replaying like the 50 different decisions that you made along the way that probably made this go the right way. And how each in each one of those situations it could have gone really south like they could have been dismantling my rv
Starting point is 00:11:10 like best case they would have dismantled my rv worst case they would have stolen it maybe with my dog and my lady inside it like who knows what would have happened it was weird and i've never had an experience like that on the road before and And it was a damn shame, Wes, because it was a beautiful work spot with just bull cellular signal. No one around us. And you were chased off by these hooligans. Wow. Well, we thought about it. We're like, should we stay or should we go now? Because they left and we thought about it. And, you know, I had to sober up a little bit because I'd had some drinks. And so while I was sobering up, I was trying to decide what I wanted to do. And while they were here, I was drinking with them too,
Starting point is 00:11:47 trying to keep everybody social, keep everybody happy. So I'm sitting here, I'm drinking whiskey and ciders. That is impressive. You really just picked up right up on that and befriended them in ways, like you're saying, most people probably would not have. Yeah, I mean, it was like, so I had, but then like, so but like, I'm also like, there's a clock in the back of my head going like, you're diminishing your ability to escape.
Starting point is 00:12:06 Like I kept trying to arrange it. So that way Hedia and Levi and the awning would all be in, like, we'd have the awning in, the dog would be in the RV, Hedia would be in the RV. So if at any moment something went really south, I was going to try to run into my RV, start it up and just take off. But that's not a super fast process. Cause we have like these leveling jacks and shit. Oh no.
Starting point is 00:12:27 It wouldn't have been smooth. As they're firing. Yeah. And I just kept trying to like, I kept trying to arrange it so that way, like we had, we could escape if we had to. But a lot of times that just wasn't an option. And I just had to like, I just had to hang out with these guys and like drink with them and talk about their time in jail and talk about how one of them is trying to go get his kid.
Starting point is 00:12:47 And another guy was talking about how his wife died. Now he's now he's now he's calling himself a preacher who apparently makes money by selling tricks at gas stations from what I could pick up. And it was really like none of their stories checked out. Like each guy had a different story that didn't sync up with the other guy's story. They hadn't coordinated that at all. I gotta ask, they didn't happen to find out the name of this show, did they?
Starting point is 00:13:15 No loose stickers laying around, right? Yeah, that's why we gotta change all the logos now, because they know the show logos. So we gotta do new logos. It was weird and Hadiyah was really shaken up and you know
Starting point is 00:13:29 it's so I had to roll with it so fast that there was moments where she didn't know if I was just being blissfully unaware of how much danger
Starting point is 00:13:37 we were in right you couldn't communicate right because she thought maybe Chris just thinks he's making buddies with some RV guys
Starting point is 00:13:42 but there was a couple of times, like three times we were able to exchange a couple of looks that were like, yeah, I know what's going on, you know? And, and then afterwards we finally got a chance to talk about it. Like,
Starting point is 00:13:55 you know, just like, can you believe that just happened? Like it was huge. So we sat there decompressing for like a couple of hours sobering up. And then I thought, I got to go. I can't stay here.
Starting point is 00:14:07 I got to keep going because you know, those guys are going down the road, but if something goes wrong or they run out of gas, well, they know where to come back now. They know where to find me. So I got to keep going. But it,
Starting point is 00:14:20 it totally sucked because that's where I was going to record today's show. It's, I mean, it does, it did sound like a beautiful spot. Yeah. What a shame. I ended up getting down the road another three hours, and now we're just outside of L.A. I wonder if after they left, if for a moment there, like, I don't know, my mental image is just this group of, like, vigilantes or whatever, these vandals. And they're like, you know that Chris guy? He was a really nice guy.
Starting point is 00:14:46 You just like killed him with kindness, man. I did. I tried to just be accommodating and be a good host and kill him with kindness and empathize with their situation and try not to be judgmental about the fact that they're probably all outlaws on the run. You know, I just tried to roll with it and just try to, because everybody goes through a hard time.
Starting point is 00:15:04 I was trying to look at it from that perspective. Um, and the guy ended up like talking to me about his kid and how he's going to go try to get his kid from Georgia and problems he's having with his ex-wife. Like in a way we made like a genuine human connection. It's just that no moment was I under any false pretenses that these are my new best friends. It was weird. It was really something. And so then after it happened, I had to get in our group chat and I had to tell you guys all about it last night because it was just one of the craziest things that ever happened to me.
Starting point is 00:15:34 And I can only really tell you half the story, right? Because otherwise it'd take up the whole show. But man, am I glad to be here today doing the show right now. And I'm glad I found another quiet spot to record. Chris, I'm really looking forward to your memoir. I hope that comes out soon. No doubt, right? 100% agree with that, Brent.
Starting point is 00:15:51 This would have made a hell of a vlog episode. I'm just saying. But I don't know. It's just, whew. I did post a picture on my Instagram, which I don't use very often, but Instacrislast, where I posted a picture of the workspace. You can see the intro where Apollo in the picture too. And that was, it was just so nice.
Starting point is 00:16:13 And you could walk and, you know, didn't have to put Levi on leash. He could run around and it was so cool, but yeah, got to move on. Got to be safe. That looks like a great spot. But when you're so far out from society, you kind of forget that yeah there are different or fewer laws yeah and it was funny how they several times mentioned you know out here in the desert yeah okay i get it i get it i got it okay is that what
Starting point is 00:16:40 they sounded like a little bit actually they all had little, yeah, they all had a little drawl. But they were also, they seemed like they were on something that, I don't know what it would be, but they didn't, like they had glossy eyes and stuff. And they had a little bit of coordination issues sometimes. And so I don't know what was going on. Maybe they were drunk. Maybe it was something else. But I'll tell you what, that my uh that's my probably my craziest road adventure yet i thought getting hit by a semi truck but no that's that's this tops it were there a bunch more uh rvs out that like whenever you were heading out onto the land did
Starting point is 00:17:16 you like pass by a bunch more rigs and stuff or were you out there just kind of all desolate and these guys just roll up on you yep Yep, 100%. It was just us. That's why it's really weird. Like you're running out of gas. You don't come down this road to find gas unless you think there's a good chance there could be some RVers down there where you could go steal some gas. Because it is a,
Starting point is 00:17:39 like there's a few websites that list the spot that we were at. That's how we found it. So it's a known camping spot and it's a legal spot for you to go camp on federal land for up to 14 days. You think they were out there just because they wanted good cell phone signals as well?
Starting point is 00:17:54 Yeah, yeah. They got to make sure that, you know, their podcast has good signals. Everybody's hustling. I mean, if he's working at the gas station, you know, who knows, right? All right, well, let's talk a little Linux. I've never installed GNU slash Linux.
Starting point is 00:18:09 Last week on the show, we discussed the leadership challenges facing the Debian project. Since then, clearly because we covered it on the show, there is now at least five candidates and likely more that have emerged. And it's an interesting group of people. They all seem to have, all five on this first list here, all seem to have fairly long connections with the Debian project. I think one of the shortest one is from 2007. I guess that's a good crop of candidates. Why do you think it took so long for people to put their name forward? I don't know. I hate to speculate that it's because of some of the issues the project may be facing, but it's hard to say. The leadership position is also not necessarily
Starting point is 00:18:53 one that is purely technical, and it could be that people that are interested in the Debian project perhaps have more of a technical inclination. You know, they want to scratch that itch and not so much of a political itch, which the leadership position is a little more of politics than it is development. Yes, right. I mean, it is in many ways, you're performing a service for the project.
Starting point is 00:19:12 It takes time and commitment, and it may not be the little thing that is the most interesting in maintaining and being a part of the project. Each candidate in the list here is really fascinating. A couple that jumped out at me, Jonathan Carter has been a Debian developer
Starting point is 00:19:25 since 2017. And I believe he also maintains a fair few packages, including most of the Gnome Shell stuff in Debian. Another candidate, Sam Hartman, is interesting
Starting point is 00:19:37 because he's been a Debian developer since 2000. He's best known for the maintenance of the Debian Kerberos packages. And he's blind. I think that that's debbie and kerberos packages and he's blind i think that that's great i think inclusion is a great thing and uh even people with disabilities should have you know a prominent role in some of these projects absolutely that only brings awareness
Starting point is 00:19:57 to to those people with disabilities and and uh making that distro even more suitable for those people yeah and i wonder how that i wonder what that dynamic would uh how that would change the and making that distro even more suitable for those people. Yeah, and I wonder how that, I wonder what that dynamic would, how that would change the dynamic at events when, you know, it's one of the primary roles of the leadership position. I wonder how that would change. Several other interesting folks on the list as well, and I think we're going to see more show up.
Starting point is 00:20:22 So Debian won't have a leaderless problem. Now they have an issue of trying to pick just the best one. I think it's a pretty good spot for them to be in overall. It's in the campaign time now, right? And then after, is it another week from now? And then there'll be actual voting? That's my understanding, at least. I could have it wrong, but that does track my understanding. And we'll let you know what happens if anything interesting develops.
Starting point is 00:20:42 Why don't we, we only have a few community news stories. Let's keep going. What are the other ones that I just wanted to let everybody know about is that awesome Linux laptop battery optimization tool, TLP, has a new release. And I'll admit, I kind of thought this project was dormant.
Starting point is 00:20:59 If you're not familiar with TLP, it's a command line advanced Linux power management tool that helps save battery power for your laptop. You essentially install it and forget it. At least that's the hope. TLP is highly configurable though. So you could go in and modify the Etsy default TLP file to your liking in general. And there are third party GUIs like TLP UI, which you can install from your local repo and then manage some of those settings with a GUI. It really is just sort of install and forget. It runs in the background so it'll detect when you're on AC or battery and you can do all the normal things like apply different profiles,
Starting point is 00:21:32 more optimizations depending on what power profile that you want. And it just works. You can go use other tools like PowerTop. Don't use its auto-tune setting, but you can go use it to go check out and see exactly what's being tuned and you'll find it all runs very nicely. And in TLP 1.2, there's even better support for stuff like NVMe drives. I really like that. I've already upgraded because we've got those in those ThinkPads. There's also some neat stuff around Intel GPU frequency limits,
Starting point is 00:21:59 and you could already do this, but they've just integrated it in a nice little way to do it right in the tool, so you can tune whatever minimum or maximum boost frequency setting, depending on if you're on AC or battery. That's cool. I like that. Speaking of ThinkPad, there's a couple other things in there for ThinkPad users too. Oh yeah. A new native kernel API for battery features that are just specific to ThinkPad. So you don't need to be running a ThinkPad for this, but if you are, you get a few extras. Huh. I do really appreciate seeing the support for MV&E drives. That is all kinds of fantastic,
Starting point is 00:22:29 and it's pretty neat that you can tweak the Intel GPU frequency stuff. I didn't really realize that was a thing, and, I don't know, it kind of makes me even happier that I have an Intel card in my ThinkPad. So TLP is available in just about every Linux distribution under the sun, including Debian or Ubuntu
Starting point is 00:22:46 or Arch or Fedora or probably even OpenSUSE. I don't know. And the new version 1.2 is not available for most of those repositories yet. It is available though for Arch. Surprise, surprise.
Starting point is 00:22:58 And there is a PPA out there for Ubuntu users that is maintained by the TLP developer. So it's a legit PPA that you can go install if you're on a Ubuntu- that is maintained by the TLP developer. So it's a legit PPA that you can go install if you're on a Ubuntu-based distro. We'll have a link in the show notes. Link in the show notes for sure.
Starting point is 00:23:12 But you combine something like TLP with PowerTop and you can really get to a pretty good place in Linux battery performance. If you have been on a system in the past that you weren't quite sure what was hogging so much battery life, why was your battery draining so fast? Install PowerTab and PowerTab will show you what is hitting that CPU. What is waking up your IO? What is taking all of that power? That's what PowerTab will tell you. And then you combine that with something like TLP,
Starting point is 00:23:42 which helps tamp some of those things down when you're in battery mode. And it's intelligent about being on AC power versus battery power. And it's a nice combo that some distributions ship out of the box by default, but not most. And it's definitely worth an install. Not calling it an app pick, Wes, but it's kind of an app pick. You know what I mean? It's like a mini app pick.
Starting point is 00:24:02 It's a mini app pick. And it deserves it too. One thing that really impressed me when I was looking at this new release is just the quality of the documentation the project maintains. They've got all kinds of nice stuff, a really well-filled out FAQ, and some practical examples to get you started. Yeah, and I don't want to sit here and say,
Starting point is 00:24:16 man, this is going to fix all of your battery problems on Linux, but if you're having battery problems on Linux and you're not using PowerTop and TLP, do that, because it will definitely improve the situation. And in the case of my ThinkPad, when I have these two different components and if I don't use Chrome, I stick with Firefox, I can get eight and a half hours of battery life out of my T480. I think it's got like a 6L battery on there. I'm not quite sure what the battery size is, but eight and a half hours, that's an all-day battery life for me.
Starting point is 00:24:42 the battery sizes, but eight and a half hours is, that's an all-day battery life for me. And really, it's just a combination of tuning it with PowerTop, using Firefox instead of Chrome whenever possible, and then TLP underneath it to manage all that stuff. It's pretty nice. Brent, I know you're a mobile user. Have you tried out any of these things?
Starting point is 00:25:00 I learned about TLP maybe two or three years ago. And it's been awesome. And I love, like Wes said, it's a kind of a set it and forget it sort of thing. So I have it as a, on my main sort of install script and I just don't even think about it. But the ThinkPad stuff has been really nice. But one question I have around that is, how is a regular user,
Starting point is 00:25:18 you know, someone who's new to Linux and it's just a desktop user supposed to know about these things that they're available? It seems like it took me years to find it really. And it was almost by mistake. And so how do we spread this stuff around, right? Yeah, I agree.
Starting point is 00:25:31 Elle, I think you ran into something similar. Like earlier you were having battery drain issues and I mentioned to go try out PowerTop. Again, it's sort of like, how do you even know about PowerTop? Well, and one of the things that I ran into that I was joking around the IRC room that I'm raising my hand
Starting point is 00:25:44 is a lot of my battery drain issues were happening when my system was supposed to be idle. I'd shut it down or I'd put it in suspend mode and I'd come back. And a lot of these tools, I couldn't find the logs to go find out what was happening when I didn't actively have them running. Yeah. You know, the battery drain on idle is so frustrating. That is like, it's like, what are you doing, computer? You're just sitting here. What is wrong with you? And if you don't have the logs, or you don't have the tools to expose that information,
Starting point is 00:26:10 it's just a black box. You're trying to fix it. But I do want to hit the pause button here, because MiniMech is flagging me, and he's saying it's not always all roses. You've had some problems with TLP, Mini? Well, I had the same problem. I was trying to get down my power consumption
Starting point is 00:26:26 when in idling state. So I was tuning like hell and all of a sudden my computer freezed and it didn't wake up again and I was not knowing why. Until in the end I found out that I had a firmware bug in my SSD and once the SSD went to sleep,
Starting point is 00:26:43 it didn't wake up again. And it was really difficult to do an upgrade for the firmware because you need Windows to do the firmware upgrade of the SSD and you know what. So you can go too far when it comes to the configuration with TLP.
Starting point is 00:27:00 Yeah, it sounds like if you hit a weird firmware bug, there's not much you can do about that. And how would you even know until you try something like this? Well, it took me days. It took me days to find out. Oh, man. All right, that is a good disclaimer. That's good to know. Do you happen to recall what the brand of that SSD was, or maybe even the model, just so the audience has a heads up?
Starting point is 00:27:24 I still use it. It's Transcend MST400. It's used in a lot of Chromebooks. You can still buy it. And I guess with the new versions, the firmware has been upgraded, so there's no problem now. But when I bought the computer,
Starting point is 00:27:40 there was still the old firmware. Yeah, and if you got that old firmware, it only updates through Windows. That's a bit of a chore. Back to you, Brent. You were wondering why Firefox versus Chrome for me? Yeah, you mentioned it a few times, and I wondered what that's about.
Starting point is 00:27:53 I've noticed that the overall battery drain on Firefox seems to be significantly less than Chrome. I don't know what that fully is. The generous side of me would like to say, well, the Mozilla developers have really optimized Firefox, but then like the, the skeptic enemy is like,
Starting point is 00:28:12 well, that's because Chrome is just like using like Ram and CPU, like a madman or render pages as fast as possible. I don't know which one's better. Really. I don't know. I don't technically know the reason, but I've,
Starting point is 00:28:22 I've definitely experienced this now. Cheese. I know you wanted to jump in earlier. Have you had a chance to play with TLP at all? I haven't had a chance to play with it, but I did want to comment just reading through the article and some of the documentation. What's kind of interesting is that you can set up these configurations, but you can set these up all the way down to maybe even enabling or disabling integrated radios so maybe it could be a software software type switch for your bluetooth and wi-fi or whatever whenever you're at a conference or someplace you don't feel comfortable it could act as that software kind of switch that you see on some of these hardware devices that are
Starting point is 00:29:03 available and or coming down the pipeline. You know, now you say that, man, I could see like having like conference mode TLP config where it just shuts off all the radios. Just go dark and save battery power while you're at it. I like that. If you're out there and you've got a good config or you've got a war story like MiniMac did,
Starting point is 00:29:21 linuxunplugged.com slash contact. Send it in and let us know. Now, this next story, this is a hard one because it depends on your bias. When you read this story, you're either going to read it two different ways. I mean, it's all about money, really. Show me the money! What we have now is a company that is quasi-independent, calling themselves fully independent. And I'm talking about your good friends over at SUSE. They have announced that they are once again an independent company that is owned by an investment firm.
Starting point is 00:29:56 I'm not quite sure on that. It kind of depends on your definition of independent and if being owned by a private equity investor counts as independent. Yeah, and I mean, as long as we're just going to play the technicality game too, Wes, like there are big promotions all over their blog. It's in every press release. They are now the largest independent open source company. The only problem with that, I mean, again, we're just playing technicalities here, is the Red Hat IBM acquisition isn't done yet.
Starting point is 00:30:24 So technically, Red Hat's still the largest independent open source company. Well, that's what you get for reading blog posts and PR articles, Chris. That's so true. That is so true. And they've gone through a few hands over the years. Oh, yeah. I mean, I can't think of that many other companies that have kind of been passed around so much. Way back when, they were first acquired by Novell. Oh, yes,
Starting point is 00:30:51 Novell in 2004. And then, okay, that stuck around for a little while. In 2010, AttachMate bought up Novell, which then a little less time now, Microfocus in 2014 bought AttachMate. At that point, things got a little bit better for Zeus because they were turned into an independent division. But then, well, just last year in 2018, they were sold to EQT. Right. And I believe they are still the primary owner. EQT is what's called a, quote, growth investor. So it could be that SUSE is an independent corporation that is getting growth investment from EQT. So they're not actually owned so much by EQT,
Starting point is 00:31:24 but independent is still debatable. Oh, SUSE. We'll see what this means and if it actually, like, there have been some replacements of various leadership positions, so perhaps that will have long-term outcomes for the company, but only time will tell. Yeah, and everybody bear in mind, this doesn't really change anything for OpenSUSE, which is the distribution we often talk a lot more about. SUSE here is, this is the enterprise product. This is the product they're trying to position as a solid competitor to Red Hat Enterprise Linux. Hence, this now renewed focus on being an independent open source company.
Starting point is 00:31:56 It's kind of, it's a reverse jab saying we're not owned by IBM. But you got to ask yourself, like, you look at the market and you look at IBM's acquisition of Red Hat. It does kind of, and this is my opinion, but to me, it seems like it's only a matter of time until somebody else comes along and buys Seuss. Just like I would imagine that if Canonical went public or if Canonical wasn't in its current financial raising stage, it would likely get bought up too. It's just the reality of the marketplace right now. Yeah, it does say something about the value proposition of some of these companies. Well, we'll see how long they can hold out
Starting point is 00:32:30 and if anything actually happens. And I am surprised to see it is popular in some embedded spaces. I've seen it of the Linux I see at like various point of sale machines. I think SUSE is still the most common. Yeah, and they do have a pretty legitimate and large vendor ecosystem around
Starting point is 00:32:48 them. When you've been around for like 25 years like they have, you build out deep industry relationships, and those are things they can still leverage, and maybe even more so now. So I think at the end of the day, the takeaway from this story is SUSE is in a better spot than
Starting point is 00:33:04 they have been in a long time. They're independent again, and they've got the deep pockets of EQT should they need it. That's actually a pretty competitive spot for them to be in. I wonder how Seuss being passed around like that has affected their community and their community involvement. I mean, if you look at, say, the community around Ubuntu or something like that, or even the Red Hat CentOS community,
Starting point is 00:33:29 it just seems more vibrant, maybe? I do agree. It seems larger. However, I feel like OpenSUSE, being its own separate thing, has insulated a lot of the enthusiast community from these changes at Sousa. Like as an open Sousa user, it's almost always been sort of the footnote of all of these stories. Oh, by the way, if you use open Sousa, this doesn't affect you.
Starting point is 00:33:57 Like that's been the footnote for all of these purchases so far. And in a way, that's sort of been like a buffer between all of the corporate shenanigans and the end enthusiast users who are using the distribution. I think it's, I mean, you're right. It is hard to say if there's been a cost and their community doesn't seem to be as large as some of the other distributions. But it's still a pretty large, healthy community overall when taken in totality. And it survived a lot of change of hands, which is kind of impressive.
Starting point is 00:34:27 Oh yeah, absolutely impressive that they're able to forge along with, I wouldn't say that it's turmoil, but I remember way back in 2004, whenever the first acquisition happened and thinking that was going to be a real growing point for them. Their marketing is wonderful. But sometimes I'm curious if that marketing is directed where it
Starting point is 00:34:51 should be. You mean YouTube videos instead of something more directly beneficial and contributing to the community? Yeah. I mean, given a little something more back to the community, if you're going to spend that kind of money, I think it could better be better spent on other things, other projects, and just opening up and, and accepting it with open arms, the community and what, what they want to see.
Starting point is 00:35:16 People do love them though. They love those videos. I want to just, I didn't do it earlier. I want to mention, we've got Brent in the virtual lug today, Bruce cheese, who you're just hearing from L's in their mini Macch and uh thor thor hop hello mr thor nice to have
Starting point is 00:35:30 you join us that's that's new i think we've had thor in there before um and uh cheese is hard at work right now on refreshing the look of our logos for the shows. And man, I am so excited by this process, Wes. And it's awesome. Yeah, yeah. And I don't know, man. I just, geez, I just, we're not going to say much yet because it's still early days. It's, yeah, we don't want to spoil nothing.
Starting point is 00:35:57 But we've got a new fresh look that, geez, is hard at work on right now. And we've had some great, great input from the Linux Academy design team too. And I'm just really happy with the way things are going. And if, this is a big if, but if everything kind of syncs up and lines up, our current plans and intentions
Starting point is 00:36:19 are to reveal the new look, the new logos, new swag at LinuxFest Northwest this year. Yeah, that deserves a bell. It's a big undertaking. There's a lot of work that's already been done. There's a lot of work that's still going into it. And just the scope and scale of this is, I think, is pretty dramatic. Yeah, it's every show.
Starting point is 00:36:41 Plus all the different iterations you have for social media and for the websites and for the MP3 badges and all all these there's hundreds of different ways we use the logo that people don't even really realize because you know it's just all part of what we do and uh i so many so many times have i wished we've had the resources to uh clean these up and update them over the years so just super excited to have a here cheese working on that. So I know we can't say much because it's early days. Yeah. I will say that, uh,
Starting point is 00:37:09 I think people will enjoy a kind of unified look. Yeah. There'll be some familiarity, but it'll be a nice clean unified look across everything. Just like our new friends over at the Mate desktop version 1.2.2.0 is out this week. There's the new mate panel with a crazy ton of rework especially for wayland support and the number one absolutely no doubt about it most important feature wanda the fish has now been updated to work properly on high dpi displays it's about time
Starting point is 00:37:42 i know and never fear wes it's still pixelated on purpose because Wanda the fish is supposed to be pixelated. I actually don't know who Wanda is. I haven't met Wanda yet. Could someone? You got to go Google Wanda the fish. You got to do it. Yeah, it's maybe one of the best panel plugins, extensions,
Starting point is 00:37:59 whatever you want to call it ever. So, you know, GNOME extensions really have a legacy going back to gnome 2 where you could put these little applets up in the um up in the toolbar little eyes to follow your mouse around whatever yep x eyes was another one and so wand of the fish and you could go you go search for one of the fish gnome or mate and you'll see what i'm talking about uh i don't know why anybody wants to spend CPU cycles on something like that. And yet at the same time,
Starting point is 00:38:28 I love that it's, let's see, it's not the first feature, but it is one, two, it's the fourth feature that they list. This is what I noticed. All the most important stuff is buried at the bottom. Things like improving stability by closing memory leaks and fixing build warnings,
Starting point is 00:38:42 removing deprecated code, a whole bunch of updated documentation, and they put in a bunch of work to get their CI better, having clean builds on major distros. That's huge. And it's at the bottom. I know. Like that's going to improve every future release
Starting point is 00:38:56 from here on out. Like that's how big that feature is, but it's on the bottom. But Wanda the fish is at the top, man. And it's below the calculator now supports 15 characters of accuracy, which is great. And I like that a lot personally, but reorder this. Yeah. Yeah. It is nice to see that GTK cleanup and that Wayland support coming along.
Starting point is 00:39:17 There's something that just tickles me about this classic oldstyle interface paradigm that is modern, high DPI, GTK3, ready to go, running on Wayland. Like, it just tickles me. It just really does. I want to mention a story that's a little frustrating right now. And this is one of our last ones for the week. And it's KDE Connect. Just such a great tool.
Starting point is 00:39:43 I've met Albert. He is a fantastic, talented developer. And he tweeted today that Google has yanked KDE Connect, the Android side that you need to connect to your Plasma desktop. They've yanked it from the Play Store on grounds of violation of a new policy for apps that access your SMS. of violation of a new policy for apps that access your SMS. Now, this policy does have an explicit exception for companion apps,
Starting point is 00:40:15 like many others, but KDE Connect, for whatever reason, was not granted that explicit permission. Now, those scammer apps that are stealing your SMS contacts and uploading those to Chinese servers, still good to go. Now, it has been resubmitted to the Play Store, right? Yeah, I believe so. It's just so frustrating, though, because this is one of my favorite applications, and I am one of the things I'm the first thing to install whenever I reinstall my Android phone.
Starting point is 00:40:36 Yeah, and it had to get resubmitted without the SMS reading support. Yeah, that's it. They don't have that capability anymore, which I have other means around that, but it's kind of one of the prize features of the application, at least for users still stuck on SMS. It's an obvious, obvious sort of failure on the Play Store side
Starting point is 00:40:55 because this app has legitimate use for this data, and it's been using something that has been allowed up until this point. And then where it really falls down, though, is there's really no humans he can talk to. Yeah, and I think as Brent points out, and he can chime in more,
Starting point is 00:41:09 but there are competitive marketplaces. So if the Play Store wants to be seen as a place to get safe, legitimate software, they're doing exactly all the wrong things. So maybe we should be using F-Droid. Yeah, this is probably it, right, Brent? I mean, this is the opportunity for people to try something different.
Starting point is 00:41:24 Yeah, so true. I've been using F-Droid for a few years, just as it started out as a bit of an experiment just to see, oh, what's in there? But it's really come into its own in the last year. So I use it exclusively, actually. I just checked my phone since the intro where you mentioned KD Connect, and almost all of the apps I use daily are from F-Droid. mentioned KD Connect and almost all of the apps I use daily are from F-Droid. And so if anybody doesn't know about F-Droid, it's just basically a repository for open source focused apps that
Starting point is 00:41:51 you can get on Android. So you don't need any crazy logins or permissions to install it. You can go get it at f-droid.org. But for KD Connect, it's on there. They're updating it all the time. And I was really sad to hear what the news was here on KD Connect, but to hear, for me at least, that it was pulled from the Play Store doesn't really affect me any. So I'd encourage anybody who is interested in Linux Unplugged, they'd probably love F-Droid if you're not in it already. Yeah, you could always use both, too.
Starting point is 00:42:21 They're not mutually exclusive either, so if there's some things in the Play Store, you could still do that. Or you might be able to get rid of the Play Store, depending on what you really need, and just stick with F-Droid. Is that what you do, or are you mixing it up, Brent? Well, I've been mixing it up now
Starting point is 00:42:34 because I have thought that I needed to. And one of the last apps that I thought I needed to do that with was Signal Messenger, which I use quite a bit. Which I wonder if that got pulled too, because it definitely has access to your SMS, but you mentioned there were some exclusions. But I noticed that that was the last app and you can just get it from their own website. So I just checked and none of the Play Store apps I'm actually using on a daily basis. It's mostly
Starting point is 00:43:04 all the cruft that comes with the phone. I would say I'd be totally fine with running FDroid 100% of the time now. There's been a huge increase in the amount of usable apps in there and the quality of them, so it's been great. That's nice. That's really good to hear because it's probably been a year
Starting point is 00:43:20 since I've checked it out. So I think I will load it up on my Pixel and I will give it another go because I'm a big, big fan of KDE Connect. And I think this is the killer app right there to really make me give it another try. You might have some problems, but I'm not sure with the GNOME
Starting point is 00:43:35 experience, but on KDE the KDE Connect just gets better and better and better and better every single month. So the features are amazing. There you go. There's your unplugged app pick again. Not quite an app pick, but it is a bit of an app pick. After it. We're knocking out of the park team.
Starting point is 00:43:52 I am really happy to see that. And I hope that Google works with the KDE Connect folks. The real issue is, and their main complaint has been, we just haven't been able to talk to anybody. We just want to explain what our version of the story is and see if you'll work with us. But we don't even have that opportunity. And that's the classic complaint about Google, right? When their machines do it correctly, they're kind of great and streamlined. But when there's any kind of kink in the system that you
Starting point is 00:44:17 need a human to resolve, there are no humans around. I'm sure the game stream service, though, that's going to be great. All right. Well, I want to talk about eBPF. Don't call it eBPF, just call it BPF. No, it's not your Berkeley packet filter anymore. It's something much, much cooler built into the Linux kernel that kernel developers and performance engineers like Brandon Gregg at Netflix are absolutely excited about.
Starting point is 00:44:42 So just a brief moment of housekeeping. There's really only one thing I want to tell you about this week, and that is LinuxFest Northwest 2019 coming very soon. And we've set up a telegram group. Go to jupiterbroadcasting.com slash LinuxFest, and you can get in on our Linux Fest Northwest community telegram group. And in fact, I want to extend this invitation to even those of you who can't make it to Linux Fest. We'll likely be using this URL for Texas Linux Fest and other fests that go on around the country or the world. So I encourage you to join if you want to contribute positively to the
Starting point is 00:45:24 conversation. And the other reason is, as you heard, we're going to be updating the show logos and the network logo. So I thought one thing that might be kind of cool to do is do a big old series of giveaways in that Telegram group of the old retro sticker logos while we still got them. Did you say retro swag? Yeah, man. Well, I mean, it's current swag now, but it's soon to be retro. Yeah. So we'll start doing that as LinuxFest Northwest gets closer for folks in that room. And I don't know, we're kind of kicking around. Like
Starting point is 00:45:56 if you show up at our booth at LinuxFest and you show that you're in our telegram group, maybe we might have a little something extra for you. And it's not a bad place to go anyways, because that's where we coordinate things like the parking lot barbecue, which I got to say, Wes, Emma is getting me so hyped. Emma from System76 and I are chatting now like on a daily basis about like, hey, what about this? Hey, do you think we could do this? Like today we were discussing the table situation, you know?
Starting point is 00:46:21 She is a great organizer and really knows how to throw a fantastic party. So I'm sure it's going to be even bigger and better than last year, which was already amazing. I feel like we should get her on here sometime and have her maybe a week or two before and have her throw her hype game out there for it. That is a great idea.
Starting point is 00:46:38 I will suggest that to her. And really, I should mention, make sure on air that System76 is providing a ton of the food and drink too like everybody's bringing something but they're bringing i would say the bulk of the meat and that's not cheap and i just i just it's so cool because it's not necessarily like going to change a thousand lives but it might make you know maybe like you know 50 to 100 people really happy and there's and they're still invested in doing doing that. And that's one of the reasons I'm in LA right now.
Starting point is 00:47:07 I'm bringing the RV back up from Texas to get it up to Bellingham for LinuxFest Northwest. So like quite literally, the wheels are in motion to make this a huge event. We have all of the details at meetup.com slash Jupyter Broadcasting. That's where the barbecue meetup information is at. And that telegram
Starting point is 00:47:26 group, which we'll probably use for future Linux Fest 2, but right now it's for Linux Fest Northwest. That's at Jupiter Broadcasting dot com slash Linux Fest. And that is where I'll be giving away the soon-to-be retro stickers. So if you want to get in on that, or maybe a little extra swag at the booth, you go get in that telegram
Starting point is 00:47:41 group, you hang out, contribute positively to the conversation, and we'll all have a great time. All right, that's it. Just a real quick, you know, a little short housekeeping this week, because really I want to hear about EBPF. I'm not often like starstruck when I see people, but Brandon Gregg, he's got this, he's got this amazing look about him. It's, he's got a coif of hair that looks like it's always being blown in the wind. But there is no wind. You're like, well, how does this work? Right. And what did you say, Wes? It makes it look like he's always having a good time the way it is. I mean, giving a talk at scale or fighting performance problems in
Starting point is 00:48:21 production at Netflix or surfing on a beach. I imagine he looks exactly the same. That's exactly it. That is the perfect way to describe his look. He's got, you know, he had this great ensemble, a pink shirt, a super bright red belt and some red pants and just really caught the eye. And we talked about this a little bit last week. And we talked about this a little bit last week. He did some incredible takedowns of Minecraft performance using eBPF, which I think I'm doing it a disservice, Wes. I'm about to hand it over to you.
Starting point is 00:48:52 But I think maybe the closest parallel is it has a lot of same benefits a tool like DTrace might have, which has a lot of hype around it. Yeah, exactly. And it can be a little confusing because BPF is fundamentally a virtual machine. It's a bytecode that runs on a virtual machine inside the kernel. And so it has a huge number of use cases. BPF is obviously Berkeley Packet Filter and came from the use case of filtering packets. That's not what we're talking about today and not really what Brendan's doing.
Starting point is 00:49:18 He's talking about tracing. And one of the new tools on the block that is very similar to DTrace in some aspects is BPF Trace, which is kind of a command line playing around handy one-line scripting utility whose command language is modeled after DTrace. It kind of looks like awk. So you might be wondering, okay, what does BPF Trace do? Well, it allows you to write small programs that execute whenever an event occurs. All right, that's not really a useful explanation.
Starting point is 00:49:45 I know, what's an event? Well, an event could be a system call, a function call, or even something that happens inside a function call, like 50 milliseconds has elapsed since the last time something happened, or a page fault occurred. Once you get an event, this tooling lets you do something, right? Like log something, compile statistics about what's happening, and you have access to interesting information here, like the PID, stack trace, time, all the arguments on the call stack,
Starting point is 00:50:08 the return value, all these nitty little details that you might want to understand how your program is really running. Now, do I get those details because the BPF virtual machine is living in the kernel so it can learn what the kernel knows? I guess all of that sounds good, but why being a virtual machine in the kernel, why is that the important part? We're going to get into that. And basically it's for performance reasons because you don't have to incur a context switch or try to go dump a bunch of data from kernel memory into user space. Instead, you can compile statistics inside the kernel. Once you've computed those, just do one copy at the end of the final computed value instead of having to share all the intermediate data, which as Brendan will talk about, sometimes that can be like gigabytes a second. We should also note here that we're
Starting point is 00:50:54 talking about cool tools that you can use now. And that is one of the big takeaways is that this stuff has been around for a little while, but it's matured. And finally, most distros are going to have kernels and possibly even packages for you to use. So these tools exist. But to really understand some of the motivation and background, I thought we should talk about the history. And we can't not talk about DTrace. I mean, you already brought it up, Chris. And DTrace is a full system dynamic tracing framework originally developed by Sun. And dynamic tracing, it's all those things we've just talked about. And then the dynamic part is usually you don't have to recompile, right? You don't have
Starting point is 00:51:29 to have worked with the developers to go pick points that you want to specifically trace. On the fly, you can add new trace points so that you can understand what's actually happening on your production systems. And this is a huge capability and Linux hasn't had it. Yeah. And this is critical for very high performance workloads where you need to understand what components are getting slowed down at what times and what is the root cause. And imagine a Netflix scenario, for example, where you're serving up streaming video to millions of people, a few seconds, even a second of delay times a million is unacceptable. And so the requirements and the pressure for extremely high performance applications sort of necessitate this tracing ability where it is exactly what the word implies.
Starting point is 00:52:18 You can trace the steps that the application went through, what resources it accessed, and use that to sort of walk back a story of what it was doing and where it slowed down. Now, you may wonder, okay, DTrace was actually put under, re-licensed under the GPL just last year in 2018. Shouldn't we just be using that? Why is Linux reinventing the wheel here? But as you'll see, eBPF is nice both because it has, you know, this general virtual machine that is already used for other features in the kernel, and so is a simplification and a unification of code paths in that way.
Starting point is 00:52:49 But also, in some ways, it's more powerful. Before we get into that, though, let's try to sympathize, because for a long time, Brendan was the expert on t-trace, right? He made all kinds of great tooling around it, spent a lot of time working at Sun on these systems. And then he went to work at Netflix on Linux, where he didn't have any of these tooling. In fact, I think he was a bit of, I don't think a Linux new, but it wasn't his daily driver. And he, like you said, is a big fan of DTrace. And the reason why I want to underscore that is DTrace has become one of
Starting point is 00:53:20 those projects that has its fans. And it becomes a holy war when you start talking about different methods of tracing. And if it's not D-Trace, it's garbage to some people. And I'm not saying Brandon was one of those types of characters, but he was familiar with that camp, and he was kind of a D-Trace fan. And to
Starting point is 00:53:40 see him make this move and appreciate what BPF can do and how you can use it, not only is that fascinating, but the journey of joining Netflix that got him here is also an incredible story. Yeah, let's let him tell a little bit more of it. Okay, thanks for choosing this talk. My name is Brennan Gregg. I am a senior performance architect at Netflix. And as of tomorrow, I'll have been at Netflix for five years. Time flies. That means I'll have worked on Linux full-time for five years.
Starting point is 00:54:08 When I came to Netflix, I was a DTrace expert and performance analyst. And coming to work on Linux full-time, I knew that I'd have a challenge of lacking all of the tools that I created. But I knew this challenge would also motivate me to find out new ways to accomplish things. And I discovered early on that Linux had Ftrace.
Starting point is 00:54:33 And so early on at Netflix, I created a suite of tools called perf tools that were based on Ftrace, and they let me solve a lot of problems. I also met Alexey Storytoyov, who was working on a new virtual machine for the kernel called eBPF. And I saw how that could be used
Starting point is 00:54:51 to do more programmatic things. And so I've also created a lot of tools using eBPF. And that's the thing, is he's just trying to pick up whatever framework comes along that can actually help him solve his real-world problems on whatever operating system
Starting point is 00:55:04 he happens to be using. Very pragmatic. The nice part here too is that it's kind of been around long enough that it's easy to access and he was working on that problem right at scale. And so now five years on at Netflix, I can finally do what I want to get done in production using all of these new tools. It's really amazing and exciting. And also we're at the point with these technologies where early on we made sure they got into the kernel because that takes a long time to propagate and now we're getting them packaged. And so I was swapping emails with Canonical yesterday to make sure the BPF trace package appears for the Ubuntu distributions, which would be
Starting point is 00:55:45 really awesome. They've already created a snap for it. And we have BCC, which is the other front-end, has been packaged. So we're at the point where these superpowers, you can use them for analysis just by doing a package add to a system.
Starting point is 00:56:01 I like that point because he's trying to underscore that they are here or they're coming. Really, they're here. You have these tools. You can download scripts. You can install packages. I do note there that he's using package add, which is the FreeBSD command. But really the point is, this is
Starting point is 00:56:18 stuff you should learn. You don't have to be a programmer. You don't have to be able to write really complicated scripts because a lot of this stuff is pre-packaged for you. So let's learn more about what it can do. Enhanced BPF, also known as just BPF, can do lots of things. It's kind of crazy to explain. It began life by a company called Plumgrid. They were doing it for software-defined networking, and Alexey Sartoyev came up with it. And that was so that it could handle packets and then you could define some sort of proxy or router or whatever you want in software
Starting point is 00:56:51 and it would handle it. This is really good. This is really good for us because packets can be very frequent. Packets themselves can be millions of times a second. So since this was designed from the beginning to handle very high packet or very high event rates, it means it's been optimized. And so we can use it for things like off-CPU analysis and schedule analysis.
Starting point is 00:57:11 It's been used for lots of other things as well. Denial of service mitigation, intrusion detection, container security, observability, what I do, BP filter, even device drivers. There was an infrared device driver written in BPF. I mean, yeah, you can just use it for basically everything. And that means people have been speculating it might be taking over the kernel. There's been a number of discussions about BPF taking over everything to the point where it seems that the ability to write a user-defined
Starting point is 00:57:40 program and have the kernel run it, and that user-defined program to have more and more capabilities sounds a lot like a microkernel. So microkernels is where you write stuff in user space and you have a minimal kernel that runs it. And so it's a little bit scary to think about microkernels and Linux, but anyway.
Starting point is 00:57:59 I think it was Jonathan Corbett who first came up with that realization that we're heading towards a microkernel. I want to underscore here, too, there is a step where there's an analyzer that takes the BPF program, and the BPF bytecode itself has some nice properties, like there are no loops, so in some ways you can guarantee that it will halt. So there are some safety checks. And because there are disparate systems in the kernel using this stuff,
Starting point is 00:58:21 I know that the lot of I's thing is often a fallacy, but it's true, this is just being tested a lot and it means we're not having disparate code paths that are all doing slightly different things. They can all be tested in one unified architecture. The other thing I think that we should make clear, and I didn't really realize, is what's with the name? Because
Starting point is 00:58:37 maybe we're doing a couple stuff. There are networking applications, but that's not really what we're talking about. So why are we still calling it Berkeley Packet Filter? So the question was last year, we wanted to change the name of BPF, because BPF is kind of a terrible name. BPF, maybe I should have said it, it stands for Berkeley Packet Filter. But nowadays what we're doing has nothing to do with Berkeley,
Starting point is 00:58:59 little to do with packets, and little to do with filtering. And so a better name would be something like Virtual Kernel Instruction Set, VKIS. Virtual Machine... Anyway, Alexei and I are engineers and we're terrible at naming, and we couldn't come up with a better name. And Alexei has settled on BPF because he sees it as... And he wants it to be BPF and not eBPF because he sees it as equivalent and he wants it to be BPF and not eBPF
Starting point is 00:59:25 because he sees it as equivalent to x86 and ARM. Because it is, BPF is an instruction set. And so this is a virtual machine instruction set. So he wants it to be three letters like everything else, x86, ARM, BPF. So that's why we're stuck with BPF. All right, don't call it eBPF, it's BPF. I understand.
Starting point is 00:59:45 You know, it is. That three letters does make all the difference. Okay, so that's like a little bit of practical foundation. It is this, you know, machine language. You probably don't want to write that. And it can be a little bit complicated to understand what your next steps are because there are multiple front ends.
Starting point is 01:00:01 There's lots of front ends for BPF. Raw BPF is where you write instructions like this, BPF instruction level programming. There's some samples inside the kernel source code. I think very few people are ever going to need to do this. It's really hard. There's also, if you look in the kernel source code, there's C examples as well, which is a little bit higher level. But we've spent years trying to make it even easier. So we've come up with a BCC frontend which has a Python interface, a C++ interface
Starting point is 01:00:32 and a Lua interface so far. And I imagine people are going to add other interfaces to BCC as well, other languages. And so that lets you define your kernel program in C and then the frontend that manages it in Python or whatever that is. And that's really pretty handy. He'll talk about this a little bit more, but it means you can have one part of your program
Starting point is 01:00:52 actually do all the complicated little BPF stuff, and then rely on nice high-level Python libraries to do, if you're writing in a REST API on top of this monitoring tool, whatever you might be working on. That is what we should contrast with BPF trace, which is what we started talking about. And that is not really for standalone tools. It's for one-off scripting and exploration.
Starting point is 01:01:12 And there's another front end called BPF trace, which I was working on a lot last year. BPF trace is good for powerful one-liners and custom scripts. And so with BPF trace, I can say BPF trace, T is for trace point, syscall, sysenter open, print out the file name. Or do a
Starting point is 01:01:32 histogram of the read size distribution by process. And that sounds actually pretty darn handy. You do need to know how to do that. Thankfully there's extensive documentation. And maybe this is a good point to underscore. This kind of tracing is kind of opening up new bounds,
Starting point is 01:01:49 stuff that we haven't really seen before, not just in Linux, but anywhere. EPFF is solving new things. Off-CPU analysis was this cool thing we really wanted to do, but it was so prohibitive to trace scheduler events. Now EPFF is letting us do it. Another thing it's letting us do is I can save stack traces when a thread blocks.
Starting point is 01:02:09 I can save stack traces when a wake-up event happens and I can associate wake-up threads with blocked, wake-up stack traces with blocked stack traces. So I can take that off-CPU time example further with Minecraft because sometimes when you're looking at a lock and you're saying I'm blocked on this lock, your next question is, well, why? Why was I blocked for 10 milliseconds on this lock? Who was holding the lock for 10 milliseconds? I need to know them. Well, you can know them
Starting point is 01:02:35 if you trace the wake-up events. So the kernel has to manage this. So a thread releases a lock. The kernel then does a wake up from that thread to the blocked thread. So you grab the stack trace there and you associate it here. Doing that association was something we've never done before in kernel context. Dtrace could not do it,
Starting point is 01:02:55 but it's something that BPF can do. So you can kind of see why he's excited. This is genuinely neat stuff. I like that example because some of the like technicalities of the various cape robes and kernel fixtures that you're attaching to may be beyond a lot of people. But trying to understand what other part of the system is in contention with you or hogging resources, I think we've all been trying to diagnose those problems. But okay, maybe you don't want to write BPF trace scripts or anything. Is this still applicable and useful? And I got to
Starting point is 01:03:23 say, yes, a lot of these, you can just run on the command line and they will tell you stuff about your system that you might want to know. And you're already installing debugging tools, right? People are installing stuff to monitor what network connections are happening, stuff to monitor what disk space is using
Starting point is 01:03:36 or watching IO latency. These are some of the best tools, especially for end users. If you're an end user, the BCC repository has lots of canned tools, so you can just use them straight away. I only demoed two so far, Profile and OffCPUTime, but there's lots.
Starting point is 01:03:54 The tools have man pages, example files, documentation, and usually you can get BCC on a system nowadays just by doing apt-get install or yum install. Which, I mean, is super easy, and clearly he's used Linux a little bit there. Yeah, there was no doubt. Actually, watching him work, it was pretty clear he knew exactly what he was doing.
Starting point is 01:04:12 And even if, you know, so in this case, in this example, right, he was showing Minecraft. But, you know, in his day job, of course, it's this massive, massive scale stuff. And so it's fascinating that they've created something that a very, very small portion of people could write direct bytecode for all the way up to abstracted layers with tools that anybody can just pass some flags to, and it does all of the hard BPF interfacing for you. It's a whole range. Yeah, and the tools aren't hard to use. One of them is biolatency. As an example, just to have one in the slides, this is a BCC tool called biolatency. It's showing the disk IOLatency as a histogram. It's efficient. So the
Starting point is 01:04:52 count column is what's maintained in kernel context, and it just copies the count column to user space and user space prints this out. Prior implementations, I had to dump out every disk event and post-processing user space, and that's too expensive. So you can actually just get a really nice histogram right in your terminal, install it from your package repo, and you can see a histogram of block latency.
Starting point is 01:05:15 Or another cool example is using and monitoring whatever people are typing into the readline library. Let's hear about OpenSnoop, which is also really cool. If you want to go see whatever TCP connections are happening on your system, well, there's OpenSnoop about OpenSnoop, which is also really cool. If you want to go see whatever TCP connections are happening on your system, well, there's OpenSnoop. OpenSnoop shows all the files that are opened.
Starting point is 01:05:31 In fact, it's great for locating config files and log files and things that can help you troubleshoot or debug software. Yeah, so maybe you're running some new software you've never run before, and you're trying to wonder where are the configuration files? What files are touching or modifying on my system?
Starting point is 01:05:48 OpenSnoop tells you in real time. That's another sneaky app pick right there for the episode. OpenSnoop is another great tool that people should go grab. Yeah, another one right there with it is ExecSnoop, which is the same thing, but you can watch as users on your system are running applications. You can just watch whatever they're executing. ExecSnoop tells me what's happening when Minecraft starts up. So I can say, okay, so that ran, and then it ran this thing,
Starting point is 01:06:12 and then it ran these other things. Oh, he just has the best presentation tile, right? I love listening to Brendan Craig. There were so many cool tools, Wes, that he covered during this talk. A couple of times I leaned over to you and I'm like, man, we cannot tell people about this. Oh my gosh, yes, right? There's just so many that you might want to use.
Starting point is 01:06:29 EXT4 slower comes to mind, which is where you can just go watch slow EXT4 stuff. You can actually debug the file system separate from how it's interacting with the block device. So you can actually isolate where the part of the problem on your system is. You can also instrument things like TCP open or close calls so you can understand them. Now, unfortunately, there are some gaps. You may notice that there's no UDP
Starting point is 01:06:50 commands here, but this is all a project run under the IOvisor name. That's a bit weird, but it's actually under, you never would have guessed it, Chris, the Linux Foundation. And that's where BCC lives. That's where all these cool cool tools are you can just install them, start playing with them we'll have linked in the show notes this great graphic that just sort of instruments the stack and tells you like here's how you do application level debugging like there's one to go look for slow MySQL queries just like built right in
Starting point is 01:07:17 you don't have to do anything to specially tune it just run that command so it's super easy to find and play with and really the reason I wanted to talk about this today is because this is new technology, and I think Brendan says it best, but we should all be sharing the cool stuff you can do with it. So takeaways, you can easily explore systems
Starting point is 01:07:34 in powerful new and custom ways. You can also contribute. And also please, if you can, share war stories and blog posts and give talks about these tools. It's a lot of new stuff. And if you come up with a cool usage, it's going to help the BPF community to share it. We are finally living in the world that we've all really wanted,
Starting point is 01:07:55 where we have a functional D-trace for Linux or something even better. And the future is probably going to be GUIs and other tools, but it's not going to get there unless we build it. Yeah, I think that's the important thing for people listening to keep in mind is if you're an expert at this kind of stuff, it's totally ready for you to jump in right now. But in a year or two,
Starting point is 01:08:16 Brandon thinks that we'll probably see graphical applications where you check a few boxes, click a few buttons, and run it against the application, and it does a lot of this deep analysis for you in a few boxes, click a few buttons, and run it against the application. And it does a lot of this deep analysis for you in a very consumable way in a graphical session. And we're not there yet, but those tools are likely coming. And it's kind of exciting because this is a major new feature that's been retrofitted into our lovable Linux operating system. Yeah, really. I mean, eBPF is here to stay. Start playing with it.
Starting point is 01:08:46 You can use it for all kinds of better ways to understand your system. And in the future, hey, it might just replace your firewall. But that is for another show. Yeah, and a big thank you to Brandon for giving that talk. And he kind of inspired us,
Starting point is 01:08:58 you know, at the end there, and he was like, spread the word about this stuff. This is really cool things that we can do now. And it's a challenging topic sometimes to talk about because it's not necessarily applicable to everybody's day-to-day life. And it's a slightly technical thing, but at the same time, it's a massive kick-ass feature that our favorite operating system now has, and it is worth spreading the word on that stuff. So
Starting point is 01:09:19 thank you for grabbing those clips, Wes. All right. Well, we do have to kind of wrap it up there. We could keep going all day, but at some point I do have to hit the road and keep on moving on because I got to get back up to that studio. There's nothing like hanging out in the studio with Wes. Hey, I think we've learned it's not safe for you to stay in one place for too long.
Starting point is 01:09:38 You know what's funny too, man? You think about it is I drive around with a live tracker in my RV posted at jupiterbroadcasting.com slash rover. And I have never had a problem from an audience member. It's never been an issue. The people that I had issues with probably had, they would have no idea that I had a tracker in there. Although if they had stolen the RV, we would have known where they take it. The thing is too, is I've got two different trackers in this RV. So even if you saw the visible one, there's a hidden tracker as well.
Starting point is 01:10:10 So we totally would have been able to find it. And that would have been a hell of a story. Just not one I want to share. I'm glad it didn't go that way. Hey, go check out Wes on TechSnap. They just did a killer episode on machine learning and the ethics of AI. I learned so much from that episode. TechSnap.systems. Go check it out. He's at Wes Payne. I'm at Chris LAS. And if you're craving more Linux news, go check out LinuxActionNews.com.
Starting point is 01:10:39 A weekly Linux news podcast between Joe and I, about 30 minutes every week. But the most important thing you could do is join us live on a Tuesday over at jblive.tv. See you next Tuesday! The Unplugged Program. All right, guys. Let's title this thing, jbtitles.com. You know, I didn't think about doing this in the main show. Well, I kind of thought about it, but, Wes, I've decided to out you in the post-show. Ladies and gentlemen, it has come to my attention that Mr. Wes Payne has gotten hooked on the disco dingo sauce.
Starting point is 01:12:09 So what do you think so far, Wes, of the old 1904 beta? Or I guess I'm not even sure if it's beta yet, you maniac. I mean, I did grab it from the dailies, so I don't think so. That's what you got to do. You got to do that. It is what you got to do. Honestly, it's been a lot of fun. You just kept talking about it on that there Linux Action News program that I enjoy so much. And I was like, okay, well, I know Chris, and I know what he's been through with GNOME. So if he's talking about this, and then you mentioned some other stuff about Disco.
Starting point is 01:12:35 So I was like, that's going to be what I'm going to run. I was really happy. Honestly, Neon's been working just fine for me. Almost no issues. Super Rock Solid wasn't in a hurry. I mean, I've got other partitions for trying stuff out. I wasn't in a hurry to repave there. Something about Disco, though, it's getting me in that fever.
Starting point is 01:12:51 I don't think I'll wipe it just yet, but I have been spending almost all my time on the live install, yeah. Huh, you know, I'll tell you, the reason what's really drawn me in, and I don't know how long this is going to last, so this is kind of an interesting experiment in a sense, is it's not often, it's not very often that you install something and it is perceptibly much faster. That's what struck me. I just was like, this is super pleasant and I could
Starting point is 01:13:17 stay here. Yeah. I mean, it's, it's, that's fun. And you know, often you'll get that with just a fresh install, but I have installed GNOME a few times, and I'm familiar with what a fresh GNOME shell install is like. And this is different. This is a totally different beast. Rawhide's version's great, too. It really is, but DiscoDingo just seems like perhaps they're a little bit further along in their implementation
Starting point is 01:13:38 and a little more thoughtful. And, you know, I got to say, like, credit where credit is due. The Fedora camp and the Red Hat team has plugged away on GNOME Shell for a very long time. They've fixed some important things. But it is without a shadow of a doubt in my mind that Gnome is getting in a much, much better state now that Canonical is involved in the project. They're putting their efforts into the project, too. And we are seeing the collective results of more people, more talented people working on Gnome Shell, and it's just simply making it a better product.
Starting point is 01:14:10 And man, if that's not great, and if that isn't just one of the best damn things about open source, because these two companies are competitors, yet they're making it a better product. Right, we can find some collaborative shared resources and infrastructure that we can all invest in and we all get to benefit. It's so great. It's just so great. And that's not to take anything away from Plasma or Mate or any other great desktop environment. No, actually, I was wanting to go play with that new Mate release, but I was like, well,
Starting point is 01:14:39 I'm already kind of playing with a different desktop environment release, so maybe I'll wait a little bit. But I do always love Mate, too.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.