Skip to main content
LawHub
Search

Nix's Magic Cookbook

Mar 16, 2025
Listen to this episode

We have stories to share, guests joining us, insights from our week at Planet Nix, and Brent's big bombshell.

Sponsored By:

Support LINUX Unplugged

Links:

Transcript

WEBVTT 00:00:14.500 --> 00:00:19.220 Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris. 00:00:20.160 --> 00:00:21.320 And my name is Brent. 00:00:22.000 --> 00:00:26.960 Hello, gentlemen. Well, coming up on the show today, we just got back from Planet 00:00:26.960 --> 00:00:30.660 Nix, and boy, do we have stories to share, guests joining us, 00:00:30.720 --> 00:00:33.580 and insights from our week at Planet Nix. 00:00:33.720 --> 00:00:37.620 Then we'll round out the show with some great boosts, some picks, and a lot more. 00:00:37.720 --> 00:00:42.160 So before we get into all that shenanigans, I want to say time-appropriate greetings to our virtual... 00:00:42.160 --> 00:00:42.580 My name is Wes. 00:00:42.840 --> 00:00:43.780 Hello, Mumble Room. 00:00:44.900 --> 00:00:47.080 Hey, Chris. Hey, Wes, and hello, Brent. 00:00:47.620 --> 00:00:52.140 Nice to have you there. JupyterBroadcasting.com slash mumble if you want to 00:00:52.140 --> 00:00:54.100 get in on that action when we're live on Sundays. 00:00:54.720 --> 00:00:59.360 And a big good morning to our friends at TailScale. TailScale.com slash unplugged. 00:00:59.440 --> 00:01:00.520 That's where you want to go. 00:01:00.800 --> 00:01:05.200 TailScale.com slash unplugged to support the show and try it for free on 100 00:01:05.200 --> 00:01:09.260 devices, three accounts, no credit card required, not a limited time thing. 00:01:09.520 --> 00:01:12.400 I mean, you must be on the free plan, Wes, right? Indeed. 00:01:12.620 --> 00:01:15.900 Yeah, it's great. And then what we did is we all started on the free plan, 00:01:15.900 --> 00:01:19.500 and we love it because you get a flat mesh network that is protected by. 00:01:20.460 --> 00:01:24.280 And it's very quick to set up and get going. I mean, if you've got five minutes, 00:01:24.340 --> 00:01:25.980 you can probably get it running on three machines. 00:01:28.806 --> 00:01:33.766 I'm not kidding, was the easiest thing to get running on FreeBSD of all the things I tried. 00:01:33.926 --> 00:01:37.646 And it's true for Nix, too. It's like a one-liner in Nix, and you've got Tailscale working. 00:01:37.986 --> 00:01:41.186 So we all love it for our personal home labs and our networks. 00:01:41.346 --> 00:01:43.866 And then we started using it here at Jupyter Broadcasting. 00:01:44.046 --> 00:01:46.966 And I think that's true for a lot of our listeners out there because it is an 00:01:46.966 --> 00:01:48.166 enterprise-grade system. 00:01:48.366 --> 00:01:51.466 I mean, there are just tons of companies out there, ones you've heard of, 00:01:51.586 --> 00:01:53.826 that are using Tailscale for their back-end infrastructure. 00:01:53.826 --> 00:01:58.266 And you can bridge what would be otherwise very complex networks, 00:01:58.406 --> 00:02:02.346 like multiple providers, multiple data centers, VPSs, on-premises, 00:02:02.686 --> 00:02:06.506 mobile devices. You can bridge all of that into one flat mesh network. 00:02:07.326 --> 00:02:11.986 That's why companies like Duolingo and Hugging Face and Instacart love it. 00:02:12.206 --> 00:02:13.246 So try it out for yourself. 00:02:13.706 --> 00:02:18.946 Get it for 100 devices for free when you go to tailscale.com slash unplugged. 00:02:19.366 --> 00:02:23.666 Well, we're back in town. Last week was our eBPF special. while we were away, 00:02:23.986 --> 00:02:27.326 hard at work, covering and capturing all of Planet Nix. 00:02:27.826 --> 00:02:31.366 And I felt like we kind of found a pretty good groove for our Planet Nix and 00:02:31.366 --> 00:02:34.666 scale coverage, don't you think? I think we, you know, we didn't overdo it. 00:02:35.626 --> 00:02:38.526 There was a lot to take care of. Yeah. I think we went to more talk. 00:02:43.266 --> 00:02:48.106 Yeah. Maybe put together. Did you enjoy the trip? Okay. I did, yeah. It was, you know. 00:03:04.266 --> 00:03:05.226 Yeah, that was great. 00:03:13.846 --> 00:03:14.206 True. 00:03:15.846 --> 00:03:17.206 Yeah, a million years ago. 00:03:17.346 --> 00:03:19.286 Or wants to know more. Yeah, that's true. 00:03:25.798 --> 00:03:26.958 Yeah, you heard from the man himself. 00:03:27.218 --> 00:03:27.778 Brandon, Greg. 00:03:28.638 --> 00:03:30.258 Observability, performance, tracing, you know what? 00:03:30.278 --> 00:03:31.118 I was reflecting on the trip. 00:03:31.498 --> 00:03:35.418 There were some tough moments for sure. I don't think I'd rather do it with anybody else. 00:03:36.638 --> 00:03:39.018 We as a unit have really got this work. 00:03:39.018 --> 00:03:40.418 How hard drives don't like it when you yell at them. 00:03:40.418 --> 00:03:41.518 And a big shout out to my wife. 00:03:41.638 --> 00:03:44.198 Adia, who does a lot of the heavy lifting when it comes to the bookings, 00:03:44.738 --> 00:03:46.058 figuring out where we can stay. 00:03:46.578 --> 00:03:49.198 And all the logistics there. Brandon, you're a big world traveler. 00:03:49.338 --> 00:03:52.538 I think we've got a good, tight little group now for covering these things. 00:03:52.778 --> 00:03:54.758 Yeah, I think we have a pretty good routine going. 00:03:54.758 --> 00:03:58.078 And we got, you know, we do an Airbnb and I'll hang out and that gives us a 00:03:58.078 --> 00:04:03.378 little bit of downtime together between all of the extra coverage that we do during the day. 00:04:04.218 --> 00:04:09.138 And we like, we didn't even have to this time talk about who was going to do what. 00:04:09.278 --> 00:04:13.878 We just kind of know our place and our positions and who's going to handle what part. 00:04:14.098 --> 00:04:17.978 And like a huge thanks to listener Jeff or producer Jeff, I should say, 00:04:18.118 --> 00:04:22.198 who just helped us throughout the entire process. So thank you, Jeff. 00:04:22.598 --> 00:04:23.038 Absolutely. 00:04:23.278 --> 00:04:24.538 Thank you guys. Always fun. 00:04:24.758 --> 00:04:30.438 And it was nice to be able to have Jeff there with us because he's always down to help in whatever way. 00:04:30.438 --> 00:04:32.198 It does do some networking stuff still to this day. 00:04:32.418 --> 00:04:36.078 I was really glad that we had kind of figured, we kind of settled into a routine 00:04:36.078 --> 00:04:38.838 because it meant every night we got the clips processed and. 00:04:38.838 --> 00:04:40.098 You know, labelled and collected. 00:04:40.818 --> 00:04:46.678 So we're finally at that point now where we have pretty much everything sorted by the time we get home. 00:04:47.098 --> 00:04:49.618 And then there's just a little bit of, you know, final polish to put on things. 00:04:51.458 --> 00:04:54.958 And, you know, before too long, in the same decade, it made its way over to 00:04:54.958 --> 00:04:56.938 Linux in the form of TCP DOM. 00:04:57.058 --> 00:04:59.238 And already you're seeing this thing, right, where you can kind of use user 00:04:59.238 --> 00:05:03.158 space to help better observe what's going on in your system. 00:05:03.158 --> 00:05:07.138 But they also made it possible for us to end up in Pasadena and bring you all the information. 00:05:07.138 --> 00:05:12.038 And they didn't ask us to cover it in any particular way. They just facilitated us to get down there. 00:05:12.558 --> 00:05:16.338 And they, you know, worked with us whenever we had questions or wanted to know 00:05:16.338 --> 00:05:20.478 who was who. And I think they're really going to be something special going down the road. 00:05:21.100 --> 00:05:23.400 What you have, right, is this complexity of Nix. 00:05:23.400 --> 00:05:26.460 Yeah, and that's how the implementation works. And Flox is all about simplifying it for developers. 00:05:27.420 --> 00:05:28.220 And so you get reproducible. 00:05:28.340 --> 00:05:30.320 You get portable dev environments that are powered by Nix. 00:05:30.320 --> 00:05:32.740 You don't have to have the learning curve. 00:05:32.740 --> 00:05:36.280 The point is it's like a very limited, restricted bytecode that can only do 00:05:36.280 --> 00:05:37.540 certain things relevant to. 00:05:37.580 --> 00:05:39.320 At first, filtering packets. 00:05:39.480 --> 00:05:42.700 And that lets you make sure that the company is crazy, you can't go into infinite 00:05:42.700 --> 00:05:45.560 loops, all kinds of other nice things. You have to optimize it. 00:05:46.020 --> 00:05:49.200 So Flox lets you manage and share environments effortlessly with people that 00:05:49.200 --> 00:05:50.820 already have an existing workflow. 00:05:51.100 --> 00:05:54.380 Packet and anything else that you need to focus on building great software and 00:05:54.380 --> 00:05:57.420 then the machine executes and ultimately that's how you tell like do I accept 00:05:57.420 --> 00:05:59.060 the packet or do I drop the packet, 00:05:59.720 --> 00:06:05.340 but at first it was a you know a very limited I think I had like a two registers 00:06:05.340 --> 00:06:06.840 to use super limited thing, 00:06:07.960 --> 00:06:13.080 but eBPF extended BPF was introduced in Linux 3.18 and of course they got an 00:06:13.080 --> 00:06:16.360 eye on you know so BPF have been around for a while there have been various 00:06:16.360 --> 00:06:17.360 developments so we're super grateful for. 00:06:17.360 --> 00:06:18.080 Their support so. 00:06:18.080 --> 00:06:19.520 Check them out at flux.dev. 00:06:19.520 --> 00:06:21.780 See how they're bringing the magic I think of NICs to everybody. 00:06:21.980 --> 00:06:25.300 A big thank you to everyone. At Flox, we're making it possible for this episode. 00:06:25.300 --> 00:06:29.560 It had some of those register limitations. So they upgraded to 64-bit registers, 00:06:29.780 --> 00:06:30.700 added more instructions. 00:06:31.020 --> 00:06:33.520 Now, Flox kept a pretty serious kernel. 00:06:33.740 --> 00:06:36.680 Which is a big part of it that lets you analyze the PDF programs to make sure 00:06:36.680 --> 00:06:39.840 they're safe. No infinite loops. They don't do invalid memory. We're fine with that. 00:06:40.020 --> 00:06:41.460 We're there to work, too. Gosh darn it. 00:06:41.560 --> 00:06:45.240 Right. It's because it's like you're loading something from userspace into the 00:06:45.240 --> 00:06:46.860 kernel. That's a big security concern. 00:06:46.860 --> 00:06:47.760 It is about 6 a.m. 00:06:47.760 --> 00:06:48.800 So you want to make sure that you have that. 00:06:48.800 --> 00:06:49.800 And it's Thursday. 00:06:49.800 --> 00:06:52.300 And Planet Nick starts at 9.15. 00:06:52.300 --> 00:06:57.880 A.m. But you've got to do the L.A. travel math and the getting your registration sorted. 00:06:58.952 --> 00:07:04.512 So really, we're probably out of here about 8.30. So I'm going to go take my really awkward shower. 00:07:04.512 --> 00:07:07.632 So that was kind of like the raw stuff. And then I'll be fresh and ready for 00:07:07.632 --> 00:07:08.632 all the people. How exciting. 00:07:09.132 --> 00:07:13.472 Oh my gosh. So I think I'm the biggest Airbnb critic on the planet. 00:07:13.672 --> 00:07:15.732 Because I've never really stayed at an Airbnb I've liked. 00:07:16.252 --> 00:07:18.752 And it's always in part because of the shower situation. 00:07:18.892 --> 00:07:23.112 Their products have a bunch of EVPF stuff for Kubernetes offerings. 00:07:23.492 --> 00:07:26.752 And this one was no exception. Plus, we got better compilers out in the public hall. 00:07:26.752 --> 00:07:31.552 Or compile once run everywhere so like compilers have better support to be able 00:07:31.552 --> 00:07:35.672 to make you can compile your BPF program and not have to worry about as much 00:07:35.672 --> 00:07:38.552 necessarily depending on what you're doing with it about how compatible it will 00:07:38.552 --> 00:07:41.592 be with the kernel where you compiled it versus where you're running it, 00:07:48.552 --> 00:07:48.992 right, 00:07:51.132 --> 00:07:56.492 this has been so successful that's not why we were there newer versions of D-Trace on Linux We. 00:07:56.492 --> 00:07:58.152 Got the bodies cleaned and the stank off of us. 00:07:58.252 --> 00:08:02.112 They're basically just some extra user space stuff that uses EBPF and other 00:08:02.112 --> 00:08:03.252 kernel primitives under the hood. 00:08:03.312 --> 00:08:06.952 It's just about time for the kickoff of Planet Nix. We've got our seats, 00:08:07.052 --> 00:08:12.252 and Brent brought a gigantic backpack. How much food is in there versus gear? 00:08:12.272 --> 00:08:16.072 One important thing with the extended product is they were also able to make 00:08:16.072 --> 00:08:19.072 the instruction set be more sympathetic to modern hardware. 00:08:19.072 --> 00:08:20.132 Wait, you didn't bring us food up. 00:08:20.132 --> 00:08:22.632 And they implemented just-in-time compilation as well. 00:08:22.672 --> 00:08:25.592 Now, Wes, do you have something to take notes with over there? 00:08:25.592 --> 00:08:27.292 Really fast. I have my phone. 00:08:27.292 --> 00:08:27.292 And I have log-seek. I have my phone. 00:08:27.532 --> 00:08:32.172 And I have log-seek. All right, and I've got the audio. I'll take the audio 00:08:32.172 --> 00:08:33.872 notes, West takes the text notes. 00:08:34.032 --> 00:08:34.712 And Brent will do the snack. 00:08:34.712 --> 00:08:35.932 If you do that, there's no guarantees. 00:08:36.172 --> 00:08:37.472 And it works pretty well. That's kind of on the tin. 00:08:37.852 --> 00:08:41.412 But there is some stable interfaces that you can use, which is nice. 00:08:42.458 --> 00:08:46.658 So, the other important point to know is there's kind of various things it can do. 00:08:47.378 --> 00:08:51.838 There's XDP, which is Express Data Path, which intercepts packets, 00:08:52.058 --> 00:08:54.678 basically, like the earliest point that you can. 00:08:55.278 --> 00:08:59.578 You have limitations on what you can do, but it can be super level and performing. 00:08:59.678 --> 00:09:03.058 And so you can see this sometimes maybe on the DDoS attacks where. 00:09:03.058 --> 00:09:05.538 We're getting flood-up traffic that you have. 00:09:05.918 --> 00:09:09.358 Maybe you can identify various ways that you can program in here. 00:09:09.358 --> 00:09:11.258 You show up just at the end of the talk, you can catch them in the room. 00:09:11.258 --> 00:09:13.678 Hey, could you step outside for a few minutes and do a chat with us? 00:09:13.738 --> 00:09:16.618 That kind of thing. So we're both trying to take in as much information. 00:09:16.618 --> 00:09:20.258 Yeah, that's the idea. It doesn't do as much of the very general and powerful, 00:09:20.278 --> 00:09:23.218 but, you know, full-featured Linux kernel networking. 00:09:23.218 --> 00:09:24.478 There was a moment where Ron from 00:09:24.478 --> 00:09:27.978 Floss talked about why Planet Nix and thought I'd share that with you. 00:09:28.298 --> 00:09:31.778 A journey into Planet Nix. So this is a little sneak peek. I don't know if we 00:09:31.778 --> 00:09:32.258 have any magic to gather fans out here. 00:09:32.258 --> 00:09:33.958 Yeah, one way to say it's limited context, but maximum. 00:09:33.958 --> 00:09:37.138 I'm kind of a geek on it. We're going to do something. You'll see. 00:09:37.258 --> 00:09:39.018 Okay, so then you can also do various types of K-prones. 00:09:39.018 --> 00:09:40.198 But otherwise, Planet Nix. 00:09:40.198 --> 00:09:41.738 So Nix, obviously, it's Nix. 00:09:41.898 --> 00:09:45.398 The other fact is that for years we've been trying to reinstate Pluto as a planet. 00:09:45.398 --> 00:09:46.798 It hasn't been really successful. 00:09:46.798 --> 00:09:48.778 You can hook almost any kernel function. 00:09:48.798 --> 00:09:49.978 It's called Nix, right? 00:09:50.038 --> 00:09:52.118 That's why it'll go call Nix Nix. 00:09:52.118 --> 00:09:54.238 You can ask him later about that. There's no clear definition of what you're going to get. 00:09:54.238 --> 00:09:56.818 You have to go look at the function you're hooking into. It's all going to be 00:09:56.818 --> 00:09:59.218 dependent on that. You've got no kernel internals. 00:09:59.218 --> 00:10:03.058 The thing is, we're starting a mission to try and reinstate Pluto as a planet. But a lot of them. 00:10:03.178 --> 00:10:03.198 Yeah. 00:10:03.198 --> 00:10:06.218 And then eventually have a real moon for a real planet called Nix. 00:10:06.818 --> 00:10:08.338 That's why we call it Planet Nix. 00:10:08.438 --> 00:10:09.118 I can get behind that. 00:10:09.668 --> 00:10:10.568 I think Pluto deserves it. 00:10:10.588 --> 00:10:12.428 So that's where a lot of some of the power comes from, right? 00:10:12.748 --> 00:10:16.288 But that may or may not be stable. There's no guarantee about it being stable across Coral versions. 00:10:16.288 --> 00:10:17.168 It's one of our biggest risks. 00:10:17.188 --> 00:10:20.068 It changes any time. People can update the signatures. That's one of the things 00:10:20.068 --> 00:10:22.208 that's been happening in the Rust discussion. 00:10:22.348 --> 00:10:22.708 It's still a planet. 00:10:23.168 --> 00:10:25.828 The kernel, many developers expect to be able to make a change like that. 00:10:25.828 --> 00:10:26.308 Maybe that's where we can find it. 00:10:26.308 --> 00:10:27.248 Because they have one big code 00:10:27.248 --> 00:10:30.248 base, they can update it everywhere and be able to do it in a factory. 00:10:30.248 --> 00:10:31.308 There was also an analogy made that I thought was pretty good. 00:10:31.428 --> 00:10:37.008 Ron calls Nix kind of like his mom's veggie gulag. And this is how he explains Nix to his family. 00:10:37.008 --> 00:10:40.828 The way I like to think about NICS to folks that are non-NICS initiated or maybe 00:10:40.828 --> 00:10:43.268 not super technical is like veggie goulash. 00:10:43.468 --> 00:10:49.208 So I have very mixed background in my heritage. So I had a great grandmother 00:10:49.208 --> 00:10:52.488 from Poland, and she would make this amazing veggie goulash. 00:10:53.208 --> 00:10:55.728 She sadly passed away a long time ago. 00:10:55.888 --> 00:10:57.468 But the recipe lived on. 00:10:57.868 --> 00:11:03.008 But everybody has these kinds of recipes that they kind of pass from person to person in the family. 00:11:03.808 --> 00:11:05.028 It's ink on paper. 00:11:05.028 --> 00:11:09.608 It tells you what ingredients you need it tells you how to put it in maybe it 00:11:09.608 --> 00:11:13.148 tells you Fahrenheit or Celsius and you do the conversion yourself and at the 00:11:13.148 --> 00:11:17.768 end of the day it never comes off as the same thing because recipes are not reproducible. 00:11:19.148 --> 00:11:22.788 Here's a big but and how I like to think about Nick's I like to say hey mom, 00:11:23.248 --> 00:11:25.068 imagine you had a magic cookbook, 00:11:25.608 --> 00:11:29.588 imagine that magic cookbook was written by our great grandmother and again it 00:11:29.588 --> 00:11:34.708 had all those recipes but when she wrote down two tomatoes one zucchini you 00:11:34.708 --> 00:11:40.268 know little paprika or whatever it is that magic cookbook actually materialized, 00:11:40.868 --> 00:11:46.148 that exact tomato that was grown in the exact soil with the exact acidity that 00:11:46.148 --> 00:11:50.428 she had in her backyard or at the farmer's market and that showed up in your 00:11:50.428 --> 00:11:53.908 kitchen when you were starting to cook that veggie goulash what. 00:11:53.908 --> 00:11:54.088 Do you think, 00:12:37.671 --> 00:12:41.771 And I think one of the insights and takeaways I had from Planet Nix this year 00:12:41.771 --> 00:12:48.071 was what you just described is becoming more and more something that the software 00:12:48.071 --> 00:12:50.771 industry is expected to provide to the enterprise. 00:12:50.771 --> 00:12:53.531 The enterprise wants to know exactly what's in this. 00:12:53.631 --> 00:12:56.511 They want to know if it complies with certain requirements. 00:12:57.031 --> 00:13:00.491 And they want to be able to reproduce it and move it around every single time. 00:13:00.551 --> 00:13:04.191 These tools, make sure you check all the regular system monitoring tools first, 00:13:04.211 --> 00:13:09.851 because we'll see as a theme, like, you know, your H-tops and B-tops and all kinds of things. 00:13:10.331 --> 00:13:12.791 Kind of get a broad look, and you can see some specifics. 00:13:13.591 --> 00:13:18.231 Whereas you can make broad... And this is where Ron's chat with Kelsey Hightower came in. 00:13:18.311 --> 00:13:20.311 Kelsey was on the show just a couple of weeks ago. 00:13:20.311 --> 00:13:22.491 Kind of teasing what he talked about. Like one thing like disk latency or something 00:13:22.491 --> 00:13:23.711 specific to the file system. 00:13:23.771 --> 00:13:27.111 And he went in further detail about his discovery when he finally had a little 00:13:27.111 --> 00:13:28.931 bit of time to read the Nix white paper. 00:13:29.111 --> 00:13:33.211 Kind of what you think about Nix and maybe having kind of a frank conversation about it. 00:13:34.409 --> 00:13:38.509 Yeah, I read the Knicks paper last year, and I was like, look at this, 00:13:38.689 --> 00:13:41.089 in my view, this buried treasure. 00:13:41.629 --> 00:13:46.229 And it feels like there was a fork in the road a couple of decades ago where 00:13:46.229 --> 00:13:48.109 this problem was definitely apparent. 00:13:48.929 --> 00:13:51.329 Back then, I was a big user of systems like Red Hat. 00:13:51.489 --> 00:13:53.449 I started my career on FreeBSD. 00:13:53.749 --> 00:13:57.809 And there was this situation of how do you get more than one thing on a system 00:13:57.809 --> 00:14:00.869 without them overriding each other or fighting each other? 00:14:00.869 --> 00:14:05.329 Then I spent the rest of my career putting one app per VM because no one solved 00:14:05.329 --> 00:14:09.749 the problem 10 years later that just came to think you did then we got tools 00:14:09.749 --> 00:14:13.369 like RVM in the Ruby community because your gem files would literally fight 00:14:13.369 --> 00:14:18.369 with each other and you taught them to behave I also worked on tools like Virtual 00:14:18.369 --> 00:14:19.649 N in the Python community, 00:14:20.229 --> 00:14:25.849 and then Docker came out and I think Docker leaned into the reality was that 00:14:25.849 --> 00:14:30.269 no one had solved this problem because every programming language also came 00:14:30.269 --> 00:14:34.409 with their own package manager and ways of doing things. 00:14:35.149 --> 00:14:38.409 And then Golang came out and it was like, forget libc altogether. 00:14:39.449 --> 00:14:43.869 Build static binaries and we just skipped that entire step. And in many ways 00:14:43.869 --> 00:14:45.829 it felt like Docker had won. 00:14:46.049 --> 00:14:49.989 Not just because it figured out reproducible software. 00:14:50.689 --> 00:14:54.309 So you can filter out a business system, but I think it's especially useful 00:14:54.309 --> 00:14:56.729 on a system you think should be relatively quiet. 00:14:56.909 --> 00:15:01.089 It's non-deterministic. people do all kind of weird things because the focus 00:15:01.089 --> 00:15:04.189 went from operating systems to applications. 00:15:05.349 --> 00:15:09.809 And Docker became the perfect format for people to get that done and distribute it to each other. 00:15:10.329 --> 00:15:12.629 And so I read next paper after going through this whole journey. 00:15:12.689 --> 00:15:13.869 It's like, where were you? 00:15:14.669 --> 00:15:17.389 Two decades ago, when I was at that fork in the road. 00:15:17.549 --> 00:15:19.529 Maybe we would have went in a different way. 00:15:19.929 --> 00:15:21.769 And so a lot of my initial feedback has been. 00:15:22.869 --> 00:15:24.429 This ain't usable for that. 00:15:25.811 --> 00:15:30.531 When you show, it's like showing people Vim for the first time when all they know is Microsoft Word. 00:15:30.911 --> 00:15:31.191 Yeah. 00:15:31.671 --> 00:15:32.971 How do I get out of this thing? 00:15:33.051 --> 00:15:34.211 I do. So a few years ago. 00:15:34.311 --> 00:15:37.451 Why'd you turn off your computers? I was admin in the DPS box. 00:15:37.471 --> 00:15:38.811 I wasn't totally in charge of it. 00:15:38.871 --> 00:15:41.571 And I did that before, right? To get out of Vim, I had shame. 00:15:41.751 --> 00:15:45.031 I just turned the whole thing off. Turned my computer back on. 00:15:45.151 --> 00:15:46.171 I was like, I'm out of there. 00:15:46.431 --> 00:15:48.231 I noticed some of the statistics first. 00:15:48.431 --> 00:15:48.711 That felt sort of fair. 00:15:48.711 --> 00:15:49.411 The metrics were a little long. 00:15:49.431 --> 00:15:50.191 That felt like a fair analogy. 00:15:50.491 --> 00:15:53.371 And I went on and I started just kind of doing regular updates and poking around 00:15:53.371 --> 00:15:56.991 at the system. And I noticed that I wasn't able to actually update the data. 00:15:56.991 --> 00:16:02.251 Now, you got to your point specifically around the bomb or the bill of materials 00:16:02.251 --> 00:16:07.471 and how maybe Nix could improve software distribution even if we stuck with Docker. 00:16:07.971 --> 00:16:09.471 And so the hands-on approach is like. 00:16:09.471 --> 00:16:13.531 How could you make Docker better if you had something like Nix in the middle? 00:16:13.531 --> 00:16:15.071 So if you've never used Docker before. 00:16:15.571 --> 00:16:17.831 There's this Docker file. If you look at these Docker files. 00:16:17.951 --> 00:16:21.211 It's like a big-ass bash script, the way most people do things, right? 00:16:21.211 --> 00:16:26.371 So this was maybe closer to when I really started playing with these tools. 00:16:26.491 --> 00:16:28.371 Download all the NPM modules just in case I need one. 00:16:29.171 --> 00:16:30.591 And so they were already available. 00:16:31.131 --> 00:16:36.311 And then you shipped this four-terabyte thing to servers. You like a repeatable software. 00:16:37.211 --> 00:16:40.951 And then you spend half your time scanning, looking for vulnerabilities. 00:16:40.951 --> 00:16:42.551 And then that led me to look at some weird file paths. 00:16:42.551 --> 00:16:47.391 We're right back to where we were 20 years ago. And I also started, I did an exec snoop. 00:16:47.471 --> 00:16:52.311 And that showed similar file paths running on them. They just packaged it in 00:16:52.311 --> 00:16:53.391 another artifact this time. 00:16:53.611 --> 00:16:56.391 And so people have worked on slinging technologies where. 00:16:56.391 --> 00:16:59.391 You know, you try to start the app, look at the system calls. 00:16:59.531 --> 00:17:02.411 Run an S-Trace, and figure out exactly what it needs. 00:17:02.711 --> 00:17:06.891 You run it into production, and you find out you miss one. So we've been doing 00:17:06.891 --> 00:17:10.911 a lot of reverse engineering, and I was like, what if we were able to do this differently? 00:17:11.591 --> 00:17:13.351 So after the whole SolarWinds debacle. 00:17:13.791 --> 00:17:16.851 There has been a rising interest in secure software supply chain. 00:17:17.791 --> 00:17:21.171 And I think now people are open to a different approach. I think people are 00:17:21.171 --> 00:17:22.391 a little tired of the brute force. 00:17:22.791 --> 00:17:26.631 And so the premise of Nix is that we can be a little bit more exact. 00:17:26.931 --> 00:17:31.651 So instead of generating an SBOM after you built the application through reverse engineering. 00:17:31.871 --> 00:17:34.231 What if it could be way more explicit up front? 00:17:34.331 --> 00:17:35.651 So that's been appealing to 00:17:35.651 --> 00:17:38.891 me. So I've been looking at how do we take the current situation we're in. 00:17:38.951 --> 00:17:40.851 Especially the one that's baked in containers. 00:17:41.191 --> 00:17:44.691 And then can Nix add value to that scenario. 00:17:45.291 --> 00:17:46.671 That seems like a pretty realistic goal. 00:17:46.751 --> 00:17:49.871 Yeah, all kinds of stuff, file system-specific stuff. They've got things for, 00:17:49.971 --> 00:17:52.511 you know, looking at network connections, TCP connections. 00:17:52.671 --> 00:17:55.211 They've got stuff for monitoring databases. It's broad. 00:18:10.814 --> 00:18:11.894 Definitely useful, yeah. 00:18:12.174 --> 00:18:13.974 And of course, he was asked one spicy question. 00:18:14.134 --> 00:18:15.514 And that was if you could only choose one. 00:18:15.674 --> 00:18:17.414 Nix or Docker, which would you choose? 00:18:17.714 --> 00:18:23.114 Like you mentioned Docker, obviously, Nix or Docker. You had to choose one. Right. 00:18:23.334 --> 00:18:25.574 And the more, you know, depending on... 00:18:25.574 --> 00:18:26.934 There's like a church of Nix out there. 00:18:26.934 --> 00:18:29.734 See exactly where they're looking to modify the purpose. I have to say. 00:18:29.814 --> 00:18:34.054 Kelsey was like, I'm super excited about talking. I'm like, I feel this is going 00:18:34.054 --> 00:18:35.214 to be different. I'm like, hell yeah, that's going to be different. 00:18:35.214 --> 00:18:37.174 It's a limited subset of C that does the BPS stuff. 00:18:37.174 --> 00:18:41.054 If I had to choose one, I'm choosing Docker. And you would say, why would I do that? 00:18:41.054 --> 00:18:43.514 But there's a bunch of Python utilities around it to wrap it. 00:18:43.674 --> 00:18:48.714 Most people that are writing code, your whole number one objective is in the packaging. 00:18:48.974 --> 00:18:53.394 Or to try to preserve specific things once you identify a particular problem or threat. 00:18:53.394 --> 00:18:56.114 So if you're a developer, you look at all the things that you can ship to. 00:18:56.534 --> 00:18:59.554 Heroku, Cloud Run, Lambda, IBM. 00:18:59.954 --> 00:19:03.894 And then you got to work on a team of other people. 00:19:04.334 --> 00:19:07.714 And the hardest thing I've seen in technology is to get global consensus. 00:19:08.474 --> 00:19:15.774 We agree on something. ip addresses dns linux as a distribution that stuff takes 00:19:15.774 --> 00:19:20.234 decades sometimes and so the docker ecosystem is rich why is it rich is it a 00:19:20.234 --> 00:19:25.454 better packaging tool the next no do people know it yes, 00:19:26.294 --> 00:19:31.154 that cute little well did something people identify with it so when you say 00:19:31.154 --> 00:19:34.654 docker a lot of people understand what that means you're probably going to have 00:19:34.654 --> 00:19:39.594 a docker file that move the needle in terms of at least knowing how to rebuild software. 00:19:40.114 --> 00:19:42.514 There's still a lot of companies, maybe you work for some of them, 00:19:42.794 --> 00:19:47.214 they pride themselves that only one person knows how to build certain software 00:19:47.214 --> 00:19:49.394 on a specific laptop and no one 00:19:49.394 --> 00:19:52.234 touches that laptop because it's the only thing that can build a thing. 00:19:52.794 --> 00:19:57.054 And for a lot of people, Docker moved the needle for them. And the ecosystem's 00:19:57.054 --> 00:20:00.694 rich. There's Docker registries, there's metadata, there's all of these things. 00:20:01.594 --> 00:20:04.774 So if I had to choose only one, it would probably be Docker. 00:20:04.934 --> 00:20:10.234 So what would you take away from that what makes docker work it's not one versus 00:20:10.234 --> 00:20:12.514 the other it's just this usability curve, 00:20:13.114 --> 00:20:16.074 it meets people where they are then shows them 00:20:16.074 --> 00:20:19.634 what's next and i've been a part of a lot of technology movements that just 00:20:19.634 --> 00:20:23.434 focused on here's the next thing it's like so what do i do now to go from where 00:20:23.434 --> 00:20:26.874 i am to that and you're like i don't know man delete everything you have and 00:20:26.874 --> 00:20:31.134 start the right way just doesn't work right but i'm hoping that the two can 00:20:31.134 --> 00:20:33.474 find some synergies where it's pragmatic. 00:20:33.654 --> 00:20:38.274 And I do think Nix inside of a Dockerfile for a lot of people will solve the 00:20:38.274 --> 00:20:43.334 reproducible build problem without giving up the distribution and ease of use 00:20:43.334 --> 00:20:44.854 for other platform problem. 00:20:45.074 --> 00:20:48.974 And I think that's probably where you're going to get a lot of new people learning 00:20:48.974 --> 00:20:52.654 about this technology for the first time. So when you see them, welcome them. 00:20:53.494 --> 00:20:56.214 I think it was a good dose of reality to start the whole event, 00:20:56.954 --> 00:20:59.214 right? That's the keynote. That's the, hey, here's your reality. 00:20:59.294 --> 00:21:00.254 This is the state of the market. 00:21:02.397 --> 00:21:07.137 Yeah, so there are tools that you can just run like we've been talking about, 00:21:07.357 --> 00:21:09.217 but how did those tools come to be? 00:21:09.397 --> 00:21:13.597 Well, that's where some of those abstractions and a framework comes in that 00:21:13.597 --> 00:21:17.437 allows basically embedding C code directly within Python scripts. 00:21:18.257 --> 00:21:20.777 And then BCC's tools also sort of handle. Okay, well, the first talk is done. 00:21:21.017 --> 00:21:24.737 Kelsey Hightower and Ron had a great chat. You know, we're shifting things around 00:21:24.737 --> 00:21:28.217 a little bit. I think it's sort of for there to be some scheduling issues. 00:21:28.577 --> 00:21:31.857 It handles loading it into the kernel for you and attaching it to the right hooks. 00:21:31.857 --> 00:21:35.517 Not too bad it started a little bit late really and it was a good chat i think 00:21:35.517 --> 00:21:39.497 the room was pretty engaged lots of questions so the next thing that i'm looking 00:21:39.497 --> 00:21:44.217 at is actually being hosted by an employee of anthropic the folks behind cloud, 00:21:48.437 --> 00:21:49.397 onepassword.com. 00:21:49.397 --> 00:21:54.137 Slash unplugged that's the number one then password slash unplugged all lowercase 00:21:54.137 --> 00:21:58.457 go check it out this probably would have bought me another 10 years in it and 00:21:58.457 --> 00:22:01.377 and this is how i So your end users always. 00:22:01.517 --> 00:22:03.597 I mean, actually, literally. 00:22:03.597 --> 00:22:09.137 Always, without exception, only work on company-owned devices and only use apps 00:22:09.137 --> 00:22:10.057 that have been approved by IT. 00:22:10.057 --> 00:22:14.377 He uses XTP. And so there's a simple C program that has a function called XTPDropAll. 00:22:14.377 --> 00:22:17.237 I would love for that to be true. So the next obvious question is, 00:22:17.317 --> 00:22:18.457 then how do you keep your company's data? 00:22:18.457 --> 00:22:21.517 And so we get like a little data summary of the packet info, 00:22:21.637 --> 00:22:22.657 which we're not going to care about. 00:22:23.037 --> 00:22:27.237 All we're going to do is return XTPDrop, which is a magic value that tells the call. 00:22:27.337 --> 00:22:28.597 Hey, just dropped this. 00:22:28.597 --> 00:22:35.057 1Password Extended Access Management helps you secure every sign-on for every app on every device. 00:22:35.197 --> 00:22:39.057 It's built to solve problems that IAMs and MDMs just can't touch. 00:22:39.497 --> 00:22:43.217 Go check it out because 1Password's award-winning password manager is not only 00:22:43.217 --> 00:22:46.517 trusted by millions of users and over 150,000. 00:22:46.517 --> 00:22:47.797 Businesses from IBM and Slack. 00:22:48.337 --> 00:22:52.437 But now they're securing more than just passwords with 1Password Extended Access Management. 00:22:52.797 --> 00:22:57.657 It's the first solution that brings all these unmanaged devices and apps and identities together. 00:22:57.657 --> 00:22:58.857 Under your control. 00:22:58.857 --> 00:23:00.637 And that's because we attach it to that specific interface. It ensures that 00:23:00.637 --> 00:23:05.397 every app is strong, every credential is protected, and every device is known 00:23:05.397 --> 00:23:08.157 and healthy, and every app is visible. 00:23:08.957 --> 00:23:12.857 That's the power of 1Password. So go to 1Password.com slash unplugged. 00:23:13.017 --> 00:23:18.677 Secure every app, device, and identity, even the unmanaged ones. Eat like contractors. 00:23:19.197 --> 00:23:22.737 This would have changed the game for me. Go check it out. Support the show. 00:23:22.897 --> 00:23:25.837 Go to 1Password.com slash unplugged. 00:23:26.501 --> 00:23:29.141 It's all lowercase. They got a bunch of information up there. 00:23:29.541 --> 00:23:31.041 It's a really great opportunity. 00:23:31.461 --> 00:23:31.741 Check it out. 00:23:32.341 --> 00:23:33.221 OnePassword.com. 00:23:33.581 --> 00:23:37.781 I can't stop it, but I do have a sneaky console here. 00:23:37.821 --> 00:23:41.701 What I really appreciated was Kelsey gave kind of the overall perspective of 00:23:41.701 --> 00:23:44.101 how we should see the planet in Nix. 00:23:44.321 --> 00:23:49.261 And then Anish, specifically from Anthropic, gave how to implement this. 00:23:49.541 --> 00:23:53.241 Yeah, so like that wasn't that much work. This is just an Ubuntu 24-04 box. 00:23:53.561 --> 00:23:54.561 I'm a proud digs user for almost a decade now since college. 00:23:54.981 --> 00:23:58.841 My claim to fame is that I wrote the original implementation of Override Adders, 00:23:58.941 --> 00:24:01.301 which we all use every day, back when it was four lines of code. 00:24:02.261 --> 00:24:05.581 But for my career, I've been in the industry almost the same time, 00:24:05.641 --> 00:24:08.481 and I've been really focused on developer experience and developer tooling. 00:24:08.921 --> 00:24:11.781 Previously, I was at Lyft, leading their languages team for six and a half years. 00:24:11.961 --> 00:24:16.381 And since about a year ago, I'm at Anthropic, which is an AI safety research company. 00:24:16.821 --> 00:24:21.161 We make products like Claude, as well as we do AI safety research, 00:24:21.321 --> 00:24:24.501 such as building a Claude. and have to worry about messing up my implementation 00:24:24.501 --> 00:24:26.141 in a way that's going to crash the box. 00:24:26.201 --> 00:24:29.021 And at Anthropic, I'm on the builds and deploys team. 00:24:29.241 --> 00:24:33.721 I had high hopes for this talk because you know they got scale, right? 00:24:33.861 --> 00:24:37.541 And they're solving problems that some of us have never even thought about. 00:24:37.601 --> 00:24:38.361 And so in reality. 00:24:38.601 --> 00:24:41.221 You want to do some sort of filtering. And he's kind of still new. 00:24:41.261 --> 00:24:44.701 So he was coming in and discovering some of the issues they're having scaling. 00:24:44.801 --> 00:24:45.721 Oh, is this one I want to block? 00:24:45.721 --> 00:24:49.481 I got to Anthropic a year ago. They told me we use industry-centered tools. 00:24:49.661 --> 00:24:50.401 Obviously a lot of Python. 00:24:50.421 --> 00:24:55.401 Because it's an AI shop. we're using kubernetes and at the time the main point to show that. 00:24:55.401 --> 00:24:56.681 Was that this bcc framework. 00:24:56.681 --> 00:24:59.581 That image was 35 gigabytes large uncompressed tools but 00:24:59.581 --> 00:25:02.581 normally when people talk about a large docker image they're talking like because 00:25:02.581 --> 00:25:06.181 a couple hundred megabytes is big like a couple gigabytes is enormous and this 00:25:06.181 --> 00:25:09.481 is basically another level like the closest thing to dtrace there's good reasons 00:25:09.481 --> 00:25:12.501 for it if you don't want to use the email libraries will monomorphize their 00:25:12.501 --> 00:25:15.841 kernels for different hardware architectures of accelerators you have researchers 00:25:15.841 --> 00:25:19.101 adding things that they needed one time and maybe didn't remove since then um 00:25:19.101 --> 00:25:21.681 there's good reasons for it um but, 00:25:22.500 --> 00:25:24.920 There was also just some inefficiency in the build that hadn't been cleaned 00:25:24.920 --> 00:25:29.840 up. When I got there, I pretty quickly cut out about 20% of it. 00:25:29.980 --> 00:25:34.660 You basically get a nice targeted little scripting language to write tracing 00:25:34.660 --> 00:25:36.780 programs that use the trace points. 00:25:36.840 --> 00:25:39.760 We were seeing four-minute times to pull anything, which is really painful. 00:25:40.620 --> 00:25:42.400 It's all meant that the rebuild times were almost an hour. 00:25:42.440 --> 00:25:43.120 There are some other options. 00:25:43.300 --> 00:25:44.260 There's a program called Ply 00:25:44.260 --> 00:25:48.440 that I haven't tried, but it's also nice that BPF trace is quite popular. 00:25:49.220 --> 00:25:51.020 We talked about XDP. 00:25:51.320 --> 00:25:54.300 There's the Kprobe stuff. But a few months into my tenure, we had a new, 00:25:54.600 --> 00:25:58.000 very high-priority initiative that require compiled software where people are 00:25:58.000 --> 00:25:58.960 going to be changing this multiple times a day. 00:25:58.960 --> 00:26:05.040 So you can do bpftrace-l or the BCC tools has TP list, which is also just a solid trace point. 00:26:05.820 --> 00:26:09.260 It also shows you can do other users-based stuff, but we're not going to talk about that today. 00:26:09.260 --> 00:26:11.940 We're going to talk about Nix Sidecar, which is a thing I built to address this, 00:26:12.060 --> 00:26:13.800 and then we'll give some closing thoughts at the end. 00:26:14.060 --> 00:26:17.880 We have the full link for the talk in the show notes with the time code. 00:26:17.880 --> 00:26:21.760 And it's fascinating just when you realize the scale they're dealing with and 00:26:21.760 --> 00:26:25.680 the limitations that they had to struggle with across, you know, 00:26:25.820 --> 00:26:28.340 hundreds of thousands of servers. 00:26:28.520 --> 00:26:29.340 So here's sort of like. 00:26:29.460 --> 00:26:32.040 And he had to build some software to make it all work. 00:26:32.120 --> 00:26:36.120 Dirty buffer. It tells you you get a dev device, you get a sector and a size. 00:26:36.280 --> 00:26:38.880 And so, you know, those are the things you can work with. And then it has a 00:26:38.880 --> 00:26:41.860 name and you just tell it that you want to trace that thing. 00:26:42.720 --> 00:26:46.400 So this came up because, you know, we talked a little bit about BCC having file 00:26:46.400 --> 00:26:51.240 system specific tools. Like, oh, I want to watch for slow operations from ButterFS, say. 00:26:51.300 --> 00:26:54.440 Especially really competitive AI companies that you know are moving fast. 00:26:54.440 --> 00:26:57.080 I suppose I should step up or someone should step up and add these, 00:26:57.160 --> 00:27:00.220 but there isn't yet a BcacheFS version of these tools, right? 00:27:02.020 --> 00:27:05.800 Obviously, probably what you want to do is just fork the existing ButterFS one 00:27:05.800 --> 00:27:08.380 and modify it and make it work right for BcacheFS. 00:27:09.200 --> 00:27:13.280 But if you want to be ad hoc about it, BPF Trace can handle this too. 00:27:13.280 --> 00:27:18.220 So, I did tplist and then grepped that for things that said bcachefs. 00:27:25.040 --> 00:27:28.540 So, here's just like a list of some of what the trace points look like. 00:27:41.418 --> 00:27:42.218 I never knew that. 00:27:42.358 --> 00:27:46.658 And so these would all be things that Kent or team have put in explicitly so 00:27:46.658 --> 00:27:51.778 that there's a way to easily and with low overhead watch these things. 00:27:55.198 --> 00:28:00.298 Right. And again, not an issue for me, but when you're talking hundreds of systems, 00:28:00.438 --> 00:28:02.938 so you can't do certain tasks in parallel, it's a killer. 00:28:04.698 --> 00:28:07.838 There's a lot of BPF terms. So here's one that stood out. 00:28:08.718 --> 00:28:11.878 Copy GC, wait. and bcashfs is 00:28:11.878 --> 00:28:15.198 a copy on write file system and it does this bucket based allocation and 00:28:15.198 --> 00:28:18.038 so it has what's called a copying garbage collector so as 00:28:18.038 --> 00:28:20.858 you're copying files it'll handle moving things around so 00:28:20.858 --> 00:28:24.018 that it can then like get good bucket allocation and 00:28:24.018 --> 00:28:28.158 defragment things on the fly that kind of thing so copy 00:28:28.158 --> 00:28:30.938 gc wait is a trace point that tells you when 00:28:30.938 --> 00:28:33.978 you're when bcashfs is waiting for copy gc 00:28:33.978 --> 00:28:36.778 to complete so it can be a reason that your 00:28:36.778 --> 00:28:39.718 file system is being slow or not responding especially if you're moving or copying 00:28:39.718 --> 00:28:45.778 files around so you can see on your screen uh just a little tiny script yeah 00:28:45.778 --> 00:28:51.058 sudo bpf trace dash e and then you pass it a little string and we tell it we 00:28:51.058 --> 00:28:56.378 want to use the trace point bcash yeah they got in trouble i guess with aws just so much. 00:28:56.378 --> 00:28:57.178 Bandwidth and that gives you an. 00:28:57.178 --> 00:29:00.118 Idea of the scale when aws is knocking on the door saying hey 00:29:00.118 --> 00:29:02.858 you're extracts you're using too much number from that 00:29:02.858 --> 00:29:06.538 you don't have to do that and then all it does is print what device 00:29:06.538 --> 00:29:09.858 we're waiting on and how much we're waiting yeah and 00:29:09.858 --> 00:29:12.498 so it's you know i don't know 10 lines of code and you 00:29:12.498 --> 00:29:23.078 get it and then 00:29:23.078 --> 00:29:27.538 so on my system i'm just doing it on you know one rudifest disk so i knew which 00:29:27.538 --> 00:29:30.098 disk it would be it was just kind of interesting to see like i went around and 00:29:30.098 --> 00:29:33.458 i dd'd some big files and copied them around and i could see like oh yeah right 00:29:33.458 --> 00:29:37.878 the operation completes and then immediately the print tells me that oh we waited that much. 00:29:51.243 --> 00:29:54.523 So, like, it turns out that like this, there's actually probably a fair amount 00:29:54.523 --> 00:29:57.943 of situations where single trace points just on their own might be something 00:29:57.943 --> 00:29:58.843 you want to look at, right? 00:29:58.923 --> 00:30:03.103 So other ones for BcacheFS, write buffer flush, that's an important event, 00:30:03.103 --> 00:30:07.123 or journal writes, you might be wanting to know stuff about how the journal works. 00:30:07.883 --> 00:30:11.983 But you can also use the scripting language and the fact that eBPF supports 00:30:11.983 --> 00:30:18.563 basic data structures like maps and histograms to make more complicated combined programs. 00:30:18.563 --> 00:30:23.223 So I had an LLM, I fed it the output of that TP list stuff that told it the 00:30:23.223 --> 00:30:26.683 available trace points and what the structures looked like. So I knew how to 00:30:26.683 --> 00:30:27.903 write the right code for it. 00:30:30.043 --> 00:30:34.983 And BPF trace makes it easy to have stuff that runs at an interval, right? 00:30:35.043 --> 00:30:38.983 So you can set up all the traces and then every five seconds it can print out 00:30:38.983 --> 00:30:40.143 a little summary that it's done. 00:30:40.243 --> 00:30:44.963 And so each time it traces it can update a variable and then it can calculate latencies or deltas. 00:30:44.963 --> 00:30:50.363 So i made this is a quick one that it did that looks at that right buffer flush trace point, 00:30:51.123 --> 00:30:54.943 and it samples it over every five seconds and then it tells you how many flushes happened, 00:30:55.523 --> 00:30:59.503 how many buffers were flushed how many were skipped how many were fast path 00:30:59.503 --> 00:31:03.543 flushes and then the total amount of data that was flushed so just like a quick 00:31:03.543 --> 00:31:07.823 way to get you know an accurate little like every five second little printout, 00:31:13.043 --> 00:31:14.903 it's one of the more performant ways to do it yeah. 00:31:20.583 --> 00:31:25.163 So then to kind of further stress just how far this whole having an ai help me out would go, 00:31:25.743 --> 00:31:29.643 uh i got i had an idea i did ultimately tone it back a bit but basically like 00:31:29.643 --> 00:31:32.923 what if i wanted to monitor some of the mesh network traffic that was going 00:31:32.923 --> 00:31:35.883 on there's a lot of options for that but can this do this too? 00:31:36.183 --> 00:31:41.003 And so it built me a little script that you give it an interface and you bring 00:31:41.003 --> 00:31:44.563 it all together and they're moving way faster. 00:31:44.863 --> 00:31:49.163 And so the infrastructure goes from a bottleneck that's holding up the product 00:31:49.163 --> 00:31:54.323 and product development in an incredibly competitive space to now facilitating 00:31:54.323 --> 00:31:56.683 product rollout and product development and testing. 00:31:57.003 --> 00:32:01.963 It's a massive shift. The IT infrastructure went from a holdup to a facilitator with these changes. 00:32:03.155 --> 00:32:06.735 Yeah, right. And so the combination of the built-ins at eBPF and then the built-ins 00:32:06.735 --> 00:32:11.235 into BPF trace, which has some of the stuff to do nice histogram display and 00:32:11.235 --> 00:32:12.735 stuff from their print command. 00:32:14.115 --> 00:32:17.435 It's, you know, this is a little bit longer. Some of it's kind of because there's 00:32:17.435 --> 00:32:19.455 a print statement for each thing we're printing. 00:32:19.655 --> 00:32:22.555 It's like five different things we're measuring, right? So it takes up some 00:32:22.555 --> 00:32:26.795 space on the screen, but like it's a single page of code here. 00:32:26.915 --> 00:32:29.675 So it's not crazy to start trying to understand it. 00:32:29.675 --> 00:32:32.895 Another talk that we wanted to attend was the creator of Nix. 00:32:33.095 --> 00:32:39.175 Elko Dostras had a bit of, I guess, an announcement and a demo to give on configurable 00:32:39.175 --> 00:32:40.715 flakes. And he had our attention. 00:32:40.875 --> 00:32:44.035 And so under the hood, it is tracing something called NetDev Start Transmit. 00:32:44.035 --> 00:32:46.015 So I submitted this stock proposal 00:32:46.015 --> 00:32:48.815 and it got accepted. So then I actually had to go and implement it. 00:32:48.835 --> 00:32:50.355 It filters on interface name from that data. 00:32:50.515 --> 00:32:56.155 But as proof that it actually works. I mean, I should say this is very work 00:32:56.155 --> 00:33:00.755 in progress. and there are a lot of rough edges and certainly the design needs 00:33:00.755 --> 00:33:04.655 to be figured out completely. 00:33:04.955 --> 00:33:08.655 And then it also does a trace point for SID packets with NetDev transmit. 00:33:08.895 --> 00:33:12.715 And then it grabs the start time if it exists for its thread identity. 00:33:13.035 --> 00:33:16.995 And then it can compute how long it took to send from that. And then that's 00:33:16.995 --> 00:33:20.655 where it can use the histogram stuff to print out a nice little thing now that it's tracking latency. 00:33:22.015 --> 00:33:28.575 And then it has another trace point to use NetDev received and flags to them on the comment line. 00:33:29.235 --> 00:33:31.775 And now you can. So here I have a little flake. 00:33:31.815 --> 00:33:34.535 Explain this to me, Wes, why this is a significant development. 00:33:34.535 --> 00:33:37.215 The fact that you can now pass arguments to a flake and whatnot. 00:33:44.475 --> 00:33:48.315 Now it does mean, right, like you can't use it if you don't have trace points you care about. 00:33:48.415 --> 00:33:52.075 And so you have to start understanding some kernel internals and like what trace 00:33:52.075 --> 00:33:53.495 points might matter and what they mean. 00:33:54.095 --> 00:33:59.075 But if you have a specific problem, or a mystery on your system that you're 00:33:59.075 --> 00:34:02.335 trying to look into and you're willing to try to chase down hypotheses using 00:34:02.335 --> 00:34:04.735 these tools, I think you could get pretty far. That's for sure. 00:34:15.335 --> 00:34:16.195 Yeah, a lot of them. 00:34:38.237 --> 00:34:41.717 There's also user space tracing you can do. So if you set it up right, 00:34:41.857 --> 00:34:45.717 you can trace like JVM events or Ruby things or Python stuff. 00:34:46.397 --> 00:34:51.277 And so you have products now too that'll use things like open telemetry or other tracing standards. 00:34:51.297 --> 00:34:55.157 And you can have a trace then that can have both the kernel side via the eppf 00:34:55.157 --> 00:35:00.697 stuff and the user space stuff without necessarily having to do as much custom 00:35:00.697 --> 00:35:05.757 observability implementation in the code base because they can kind of do more dynamic. 00:35:07.057 --> 00:35:10.677 And you might be able to then see stuff right where like oh there was a problem 00:35:10.677 --> 00:35:13.417 on the kernel layer and then that's why we started seeing increased latency 00:35:13.417 --> 00:35:14.557 in the application layer, 00:35:15.997 --> 00:35:19.477 and but you don't know you can use that there's a lot of open source products 00:35:19.477 --> 00:35:23.077 or open core things and there's just a lot of sort of primitives in one layer 00:35:23.077 --> 00:35:27.517 above primitives that are probably already on the kernel I. 00:35:27.517 --> 00:35:33.937 Don't think it's intended to be this it has to go this way but it's presented as, 00:35:37.037 --> 00:35:40.537 I got the sense we're going to try this. This is an idea. This is our approach. 00:35:41.297 --> 00:35:44.677 If this works, maybe people want to adopt it. Maybe something else will work. 00:35:44.857 --> 00:35:48.817 But to me, it was just interesting to see this, like you said, 00:35:48.957 --> 00:35:51.377 answer this kind of original complaint. Yeah. 00:35:58.117 --> 00:36:03.097 Yeah. I mean, it's been around for long enough now that it's well packaged in most distros. 00:36:08.737 --> 00:36:13.677 Well maybe we can add a trace point to firefox to keep track at least yeah, 00:36:30.057 --> 00:36:33.577 hey i just got set up with them and it was in fact very easy. 00:36:44.657 --> 00:36:47.997 That's fantastic yeah yeah i love that, 00:36:52.977 --> 00:36:54.337 oh boy, 00:37:02.357 --> 00:37:04.797 sure the configuration uh-huh, 00:37:15.697 --> 00:37:24.937 but use the flake for other right you get a great message a little display, 00:37:28.697 --> 00:37:29.837 yeah that's what i'm thinking, 00:38:01.433 --> 00:38:04.493 Oh, that's nice. Okay. 00:38:10.493 --> 00:38:11.153 Mm-hmm. 00:38:11.413 --> 00:38:11.813 Oh, hoo. 00:38:37.313 --> 00:38:40.573 We have the full talk with the time code because they're like eight-hour streams. 00:38:40.733 --> 00:38:42.093 We have the time code linked in the show notes. 00:38:42.333 --> 00:38:46.213 And if this fascinates you, it's worth it to just look at the demo that Elko 00:38:46.213 --> 00:38:48.333 gives. Yeah, he kind of... 00:38:56.633 --> 00:38:58.433 Day one, we packed a lot in. 00:38:58.433 --> 00:39:03.833 It is officially the end of day one of planet nix in fact we just got done visiting 00:39:03.833 --> 00:39:08.833 the flocks after party dinner and i think one thing really stood out to everybody 00:39:08.833 --> 00:39:13.293 we talked to they're super excited this is happening almost to the point where 00:39:13.293 --> 00:39:15.933 they had a hard time absorbing day one. 00:39:16.973 --> 00:39:21.173 Yeah i think so we were trying to pry out some details right like what are you 00:39:21.173 --> 00:39:24.893 most excited for what were the things that like you know really got you keyed 00:39:24.893 --> 00:39:27.413 up cool i think everyone was just I love success stories like this. 00:39:27.433 --> 00:39:29.533 Vibin' hard on Nick's murdery. 00:39:29.553 --> 00:39:31.713 So it's hard to soak it all in. 00:39:31.813 --> 00:39:34.693 And you had to have a little pizza and maybe a beer or something. 00:39:34.853 --> 00:39:38.693 Something to drink to, you know, relax and... Sink into it. Yeah, 00:39:38.833 --> 00:39:41.313 exactly. Figure out what your next flake you're going to make is. 00:39:41.733 --> 00:39:48.093 I think, too, it was like just the final chance, everybody finally getting the 00:39:48.093 --> 00:39:52.033 chance to talk to someone else about something that they're interested and excited 00:39:52.033 --> 00:39:54.773 about that is Nick's, right? because usually a lot of the people here are the 00:39:54.773 --> 00:39:56.553 only person in the room that knows Nix. 00:39:56.833 --> 00:39:59.293 And so even when they're at work, they don't really get to share in that. 00:39:59.413 --> 00:40:02.713 And here, everybody knows the language and they get to talk about it, 00:40:02.793 --> 00:40:04.593 much like it was when I went to the early Linux Fest. 00:40:05.553 --> 00:40:09.413 Yeah, right. You don't have to assume like, oh, you've got the NT experience. 00:40:09.813 --> 00:40:12.973 You don't have to explain what Linux is. And here, you don't have to explain 00:40:12.973 --> 00:40:17.513 what Nix is or compare it and make a bunch of bad analogies to other tools. 00:40:17.993 --> 00:40:23.153 I also really like seeing a lot of the folks who gave talks today were here tonight. 00:40:23.353 --> 00:40:28.613 And you could tell that maybe the question that you have or have a question, 00:40:28.773 --> 00:40:33.133 have a comment or like conversation starter that doesn't make sense to ask in 00:40:33.133 --> 00:40:37.593 a room full of hundreds of people might make sense to ask while you're both having a bite to eat. 00:40:37.773 --> 00:40:41.133 And you could see those kinds of connections or different folks working in different 00:40:41.133 --> 00:40:45.473 companies all using necks in different ways, sharing tips and tricks. 00:40:45.473 --> 00:40:49.053 Yeah, and that's what's great is you just get right to the problem-solving yeah 00:40:49.053 --> 00:40:51.533 What do you do? Oh, yeah? Oh you solve this? 00:40:51.813 --> 00:40:55.993 Oh, how'd you do that? And that's that's every conversation at dinner. It's pretty great. 00:40:56.393 --> 00:40:58.793 Hopefully day two is also just as great. 00:41:01.706 --> 00:41:05.426 So you've wanted to get in on the boosting fun, or maybe even stack some sats, 00:41:05.646 --> 00:41:08.986 but you know there's a lot of crap, grift and scams in crypto, 00:41:09.146 --> 00:41:12.626 so you've just avoided the whole thing. Your instincts are right. 00:41:13.566 --> 00:41:20.966 99% of all of it is just crap. There's a term for it, but since we're in polite company, I won't use it. 00:41:21.926 --> 00:41:25.546 So let me tell you how I do it, the services and systems I use. 00:41:26.006 --> 00:41:27.986 I've been following this industry since before. 00:41:28.106 --> 00:41:33.206 It was an industry about 14 years. and I've really landed on just a couple of really safe paths. 00:41:33.486 --> 00:41:36.566 The number one thing you need to look out for is Bitcoin only. 00:41:37.346 --> 00:41:41.966 Wherever you're getting your sats, Bitcoin only. Don't mess with anything else. 00:41:42.146 --> 00:41:44.546 If you think about it from just a technology platform. 00:41:45.046 --> 00:41:47.306 Every stupid crypto is its own platform. 00:41:47.326 --> 00:41:51.386 It needs its own nodes and its own software kit, everything. 00:41:51.586 --> 00:41:56.086 So the more coins you support, the more just vulnerability surface area you 00:41:56.086 --> 00:42:00.626 have, complexity you have, orchestration you have. Just go with Bitcoin only. 00:42:00.866 --> 00:42:04.146 It's deep enough and complex enough that a company should focus on it. 00:42:04.246 --> 00:42:05.866 And that's why I like River. 00:42:06.746 --> 00:42:11.566 JupiterBroadcasting.com slash River is our link. That'll get you some sats and us some sats. 00:42:11.706 --> 00:42:17.526 What I like about them is they are U.S., Bitcoin only, proof of reserves. 00:42:17.806 --> 00:42:23.386 They have zero-fee recurring buys. They have free automatic withdrawal self-custody. 00:42:23.626 --> 00:42:27.186 They give you all the tax information you need. They support Lightning. 00:42:27.186 --> 00:42:32.046 And they have a bunch of great security features and they have a 3.8% Bitcoin interest on cash. 00:42:32.786 --> 00:42:36.046 And it's a great way to safely buy sats and then send them to a lightning wall. 00:42:36.166 --> 00:42:38.966 That's river at jupiterbroadcasting.com slash river. 00:42:39.226 --> 00:42:42.686 If you're in Canada, I think the Bitcoin well is fantastic. 00:42:42.966 --> 00:42:46.126 I've met with these companies. I have used these companies. 00:42:46.906 --> 00:42:51.626 I am a customer of these companies and I have sat on video calls and had them 00:42:51.626 --> 00:42:52.646 answer all of my questions. 00:42:53.961 --> 00:42:58.841 Bitcoin well.com slash Jupiter. This is great in Canada and in the US. 00:42:59.021 --> 00:43:03.261 They're really slick because they do custody first. Everything is self custody. 00:43:03.441 --> 00:43:05.221 They never even hold your book. It doesn't fit every activity. 00:43:05.501 --> 00:43:06.361 So it's sort of a general use in spring of time. 00:43:06.361 --> 00:43:08.441 You buy it and it goes to your wallet or your Lightning wallet. 00:43:08.701 --> 00:43:11.561 That's really slick. And it's great for a self custody setup. 00:43:11.721 --> 00:43:14.821 And when you think about some of the properties of Bitcoin, the self hosting 00:43:14.821 --> 00:43:16.541 and self custody is one of the most powerful aspects. 00:43:16.781 --> 00:43:19.201 That's Bitcoin well.com slash Jupiter. 00:43:20.381 --> 00:43:24.261 If you're outside the U.S. and Canada, if you can, I would use Strike, 00:43:24.501 --> 00:43:28.461 another Bitcoin-only company, really solid infrastructure, run by great people. 00:43:28.601 --> 00:43:31.301 I've got a dual monitor set up in the sort of main office. 00:43:31.301 --> 00:43:32.621 Strike is an app, and it's available in 110 countries. 00:43:32.641 --> 00:43:33.181 Just a single. 00:43:33.601 --> 00:43:36.481 You buy the stats, and they're on the Lightning Network, and you send them over 00:43:36.481 --> 00:43:37.901 to a podcasting app or your own wallet. 00:43:37.961 --> 00:43:38.461 Sort of desk. 00:43:39.301 --> 00:43:40.381 This is not a paid spot. 00:43:40.661 --> 00:43:42.201 I'm just trying to make it clear to you how I do it. That's for the casual work 00:43:42.201 --> 00:43:43.741 where I want to do stuff but with the TV on. 00:43:43.741 --> 00:43:48.681 You know, sometimes there are very attractive looking companies out there, 00:43:48.781 --> 00:43:53.701 like things like Coinbase that really try to lure you in or Crypto.com. Don't use those. 00:43:54.201 --> 00:43:57.741 You're never going to hear me plug those or mention those on the show. 00:43:58.061 --> 00:44:02.121 It's River at jupiterbroadcasting.com slash River. It's Bitcoinwell, 00:44:02.561 --> 00:44:06.161 bitcoinwell.com slash Jupiter, or it's the Strike app. 00:44:06.641 --> 00:44:11.021 I have no affiliate link for them, but I still recommend them. 00:44:11.021 --> 00:44:13.901 And I just want to give you that tip because if you want to get it on the boosting 00:44:13.901 --> 00:44:17.781 and support the show, those are safe, easy, cheap ways to do it. 00:44:18.141 --> 00:44:23.161 I think probably strike is the cheapest of the batch and then river and then Bitcoin will. 00:44:24.021 --> 00:44:27.141 That's my hot tip. Thanks for listening to my PSA. 00:44:29.950 --> 00:44:33.710 Well, day two went pretty quickly, but we did get a recap from the night before. 00:44:33.990 --> 00:44:38.610 Here we go. It's day two of Planet Nix, and the vibe is a little more serious. 00:44:38.950 --> 00:44:42.150 It's a little more focused. It's a little bit more let's get things done. 00:44:42.230 --> 00:44:45.450 In fact, just in our walk-in, we're hearing people that are here with their 00:44:45.450 --> 00:44:47.410 laptops, and they're ready to take the plunge. 00:44:47.870 --> 00:44:51.910 But I think some of us perhaps stayed up a little too late watching Star Trek. 00:44:52.330 --> 00:44:56.550 Too late? I mean, isn't that tradition? Wes and I stay up later than everyone 00:44:56.550 --> 00:44:59.150 else, and then we have our, like, moments together. there. 00:44:59.830 --> 00:45:01.870 But Wes, you seem to be doing all right. Maybe you paced yourself? 00:45:02.590 --> 00:45:06.130 I did. Yeah. I think, you know, I only had one or two beers, 00:45:06.350 --> 00:45:08.130 had some pizza last night. 00:45:08.370 --> 00:45:13.810 So, uh, and despite yesterday's enterprise being on, we managed to go to bed before midnight. 00:45:14.310 --> 00:45:17.790 It is a great episode. It is a great episode. And then I woke up in the morning 00:45:17.790 --> 00:45:20.650 before you boys and it was paused and I finished the episode. 00:45:21.990 --> 00:45:23.010 We wrote down our time. 00:45:24.110 --> 00:45:25.830 I do think that'll be in one of my future. 00:45:26.030 --> 00:45:29.570 Oh, good. You You should. You should finish that one. So we're going to do the first talk. 00:45:29.810 --> 00:45:32.670 One of the things we'll be doing in the first talk of the day is we'll be saying 00:45:32.670 --> 00:45:34.550 hello to the crowd, introducing the podcast. 00:45:34.890 --> 00:45:38.010 And then it's talk after talk. And we're going to try to cram in a few interviews. 00:45:38.410 --> 00:45:40.910 This one's a busy one. What if I want a chain display together? 00:45:41.250 --> 00:45:44.530 We are not famous people. We are not celebrities of any kind, 00:45:44.530 --> 00:45:47.430 except for when we go to Nix events and Linux events. 00:45:47.970 --> 00:45:51.350 So I had a chance to introduce the team to the crowd. But most of us, 00:45:51.450 --> 00:45:54.310 I think probably most of them are probably familiar with this and we're listening 00:45:54.310 --> 00:45:55.910 to the shows already. So hello, everybody. 00:45:56.690 --> 00:46:01.450 Um, and one of the folks that we wanted to grab was Ross from Phlox because, 00:46:01.870 --> 00:46:05.370 well, we always enjoy chatting with him just even off air, but he had a great 00:46:05.370 --> 00:46:08.310 analogy in one of these sidebar conversations. And I was like, 00:46:08.370 --> 00:46:10.450 you know what, boys, we got to go back and get that on mic. 00:46:11.317 --> 00:46:15.417 Returning to the show at Planet Nix. Ross, thank you for joining me. 00:46:15.657 --> 00:46:18.257 Thanks for having me. I have just like a couple of questions for you. 00:46:19.977 --> 00:46:24.497 Number one is you gave me a great analogy yesterday, and I'm wondering if you 00:46:24.497 --> 00:46:26.257 could repeat it for the audience now that we have a microphone. 00:46:26.617 --> 00:46:30.157 And it was the selling seats to people that are already sitting down. Oh, yeah. 00:46:31.497 --> 00:46:36.377 We're trying to figure out in the Phlox and Nix ecosystem what that barrier to entry is. 00:46:36.477 --> 00:46:39.077 And more often than not, what I'm finding is that people are just like, 00:46:39.197 --> 00:46:39.997 it's not the right moment. 00:46:41.057 --> 00:46:43.657 And you're like, no, hey, we have this amazing thing for you. 00:46:43.777 --> 00:46:45.377 It's going to change the way you do everything. And they're like, 00:46:45.437 --> 00:46:48.297 I don't want to change the way I do everything right now. 00:46:48.597 --> 00:46:52.097 And I've started to realize that what we're doing is we're selling chairs. 00:46:52.297 --> 00:46:55.277 We're selling really comfortable chairs. And it's like, it's got a cup holder 00:46:55.277 --> 00:46:59.237 and it's got a back pillow and it's got a seatbelt to keep you safe and a heater 00:46:59.237 --> 00:47:01.477 and an air conditioner and all these things. And that's what we're selling. 00:47:01.637 --> 00:47:04.977 And people are like, nah, I already stuffed this pillow behind here and I bungee 00:47:04.977 --> 00:47:06.997 corded my drink to the side and I'm good. 00:47:07.137 --> 00:47:09.517 I'm good. Don't bother me right now. I'm already sitting down. 00:47:09.517 --> 00:47:10.877 I'm already sitting down. Exactly. 00:47:11.097 --> 00:47:12.897 And we're like, no, but this chair is amazing. And they're like, 00:47:12.997 --> 00:47:15.137 you know what? Catch me on the way back from the bathroom. 00:47:15.277 --> 00:47:15.597 Yeah, you're right. 00:47:15.637 --> 00:47:17.617 That's good. Maybe I'll try it then. Maybe I'll try it then. 00:47:17.717 --> 00:47:20.357 Maybe I'll stand up and you'll get a moment there and I'll sit down in your 00:47:20.357 --> 00:47:23.557 new chair and I'll probably find something that I don't quite love about it 00:47:23.557 --> 00:47:25.377 because I'd already figured out my old chair. 00:47:25.637 --> 00:47:28.837 Yeah. You know? Yeah. And that's when somebody's already comfortable. It's a tough sell. 00:47:28.997 --> 00:47:33.537 It is. It is. And especially when you're doing something really disruptive like Nix. 00:47:33.677 --> 00:47:38.697 Yeah. You're saying, I'm going to change the way you deal with all your software. 00:47:38.957 --> 00:47:42.217 Right. I mean, that's not a tiny thing to ask somebody to do. 00:47:42.317 --> 00:47:45.397 That's a huge thing to ask somebody to do. And so you have to be really clear 00:47:45.397 --> 00:47:46.397 about what are the benefits. 00:47:46.517 --> 00:47:47.117 What are the reasons. 00:47:47.217 --> 00:47:49.617 What's driving you over that hill. 00:47:49.757 --> 00:47:51.257 And that means it is broadly used, too. 00:47:51.257 --> 00:47:55.617 What is filling your bladder enough to make you stand up and go and then come 00:47:55.617 --> 00:47:58.297 back and sit down in a different chair? That's great. 00:47:58.537 --> 00:48:02.837 Okay, so then something else that I noticed is yesterday you had, which is day one. 00:48:02.957 --> 00:48:05.357 As we record, you had to talk about Nix in the Wild. Yes. 00:48:05.477 --> 00:48:06.897 And so I sent you an example. 00:48:06.897 --> 00:48:09.437 I guess I didn't really understand this last time. 00:48:10.266 --> 00:48:14.526 You actually have people doing surveys of actual customers, asking them questions 00:48:14.526 --> 00:48:17.526 of how it's going. You're actually collecting data of Nix in the wild. 00:48:17.766 --> 00:48:21.606 Well, you might say it like that. I would say we collect stories. 00:48:21.846 --> 00:48:25.886 So this is an interview process. Kind of probably similar to what you do a lot 00:48:25.886 --> 00:48:28.526 is we'll find somebody who's using Nix in the wild, and we'll say, 00:48:28.606 --> 00:48:29.846 are you willing to tell us your story? 00:48:30.366 --> 00:48:33.646 We invite them onto a call with us. They talk for 45 minutes. 00:48:33.746 --> 00:48:35.046 We ask them basic questions. 00:48:35.186 --> 00:48:37.046 What are you using it for? How did you find it? 00:48:37.066 --> 00:48:37.866 What is your process? 00:48:38.086 --> 00:48:39.126 And all these things. And under that, there's rules. 00:48:39.126 --> 00:48:40.386 And then we write an article. 00:48:41.006 --> 00:48:43.926 What I want to do in the future is even more than that. 00:48:44.046 --> 00:48:47.106 I want to have more data in these articles. I want to have more code snippets 00:48:47.106 --> 00:48:49.406 in these articles and more guidance, more quotations. 00:48:49.526 --> 00:48:53.486 And then I'd love to do some analysis. We have maybe eight or nine of them now. 00:48:53.546 --> 00:48:54.466 But when we have like 30. 00:48:54.706 --> 00:48:58.046 We can start to do some pattern matching. The things we've already figured out 00:48:58.046 --> 00:48:59.926 are really interesting. 00:49:00.186 --> 00:49:05.006 We figured out that generally Nix happens in a nucleus at a company and starts growing from there. 00:49:05.546 --> 00:49:08.006 We found that generally it's not the first thing people choose. 00:49:08.006 --> 00:49:11.346 They see it, and they go, oh, that sounds like exactly what I want, 00:49:11.366 --> 00:49:14.046 but I am not willing to confront that yet. 00:49:14.346 --> 00:49:16.066 And then they go and they try a few other things. 00:49:16.246 --> 00:49:18.706 They attempt to circumnavigate the problem in 10 different ways, 00:49:18.706 --> 00:49:21.166 and then they come back and go, all right, take a deep breath. 00:49:21.546 --> 00:49:22.646 Let's climb this mountain. 00:49:22.746 --> 00:49:25.086 And so we find that that's a pattern that's interesting. 00:49:25.326 --> 00:49:29.166 But, you know, you can do specific reports that you want to watch. 00:49:29.286 --> 00:49:31.746 You can do specific IPs, host names, TCP states. 00:49:31.746 --> 00:49:34.486 I guess what I thought was interesting, though, is you're probably getting stories 00:49:34.486 --> 00:49:38.506 after story of how people are solving problems with Nix. And I think one of 00:49:38.506 --> 00:49:42.086 the things that I'm discovering this year in particular is a lot of people here 00:49:42.086 --> 00:49:44.486 are a little bit more willing to talk about how they're using Nix in production. 00:49:44.886 --> 00:49:48.406 And there hasn't been a lot of that. So I love the idea of publicly sharing these stories. 00:49:48.406 --> 00:49:49.806 Maybe there's something you're trying to hunt for. You find it here, 00:49:49.846 --> 00:49:51.826 and then you can go do the TCP dump to capture the traffic. 00:49:51.826 --> 00:49:54.726 People are solving it. And even maybe some of the code they use to fix those 00:49:54.726 --> 00:49:57.846 problems. That could really help people just solve the same issue. 00:49:58.246 --> 00:50:01.466 Absolutely. I mean, if you look at the Nix community this year versus last year, 00:50:02.406 --> 00:50:03.846 it's notably different. 00:50:04.046 --> 00:50:05.266 Well, you kind of hinted at this a bit. 00:50:05.266 --> 00:50:10.606 The level of conversations one higher. The things that people are asking about. 00:50:10.826 --> 00:50:16.766 The things that people are trying to solve, are one level more sophisticated. We're starting to see. 00:50:17.286 --> 00:50:21.426 I think, people having real production use cases. I agree. People who've gotten 00:50:21.426 --> 00:50:24.786 to day 1000, and they're like, okay, here's the day 1000 experience. 00:50:25.066 --> 00:50:26.886 And it's not what I thought it was gonna be. 00:50:27.790 --> 00:50:33.050 More vibrant and more interesting and more challenging, but also more valuable. 00:50:33.230 --> 00:50:35.230 Yeah, and you're not hearing people say, we got to this point, 00:50:35.350 --> 00:50:36.570 and now we're sick of it, we're bailing. 00:50:36.750 --> 00:50:39.550 What you're hearing is, we're going to continue to use it, we're going to go even further. 00:50:39.750 --> 00:50:42.910 Yeah, they're like, we're waist deep, we're in it. Thank you, Ross. 00:50:43.190 --> 00:50:44.050 So think of all those things like CYSTL. 00:50:44.050 --> 00:50:46.970 Well, we always love chatting with Ross and getting an update every year. 00:50:47.050 --> 00:50:51.090 But we also got to see one of our favorite listeners, Olympia Mike, 00:50:51.290 --> 00:50:56.810 was there taking in the Nix, but also showcasing one of his newest Nix projects. 00:50:57.570 --> 00:51:02.010 Man, this is wild, right? If you think about, I was thinking about this in the room. 00:51:02.370 --> 00:51:06.230 We went from the summer of immutability, and I was like, what are these guys 00:51:06.230 --> 00:51:07.590 talking about, this Nix thing? 00:51:07.770 --> 00:51:11.910 And now we're sitting here, what, two, three years later, at Planet Nix, 00:51:12.270 --> 00:51:16.650 you know, which is just wild. Are you blaming us for your trajectory? 00:51:16.810 --> 00:51:20.710 Yeah, 100%. Okay, got it. I think I had a slide dedicated to blaming you guys 00:51:20.710 --> 00:51:21.990 for my discovery of NixOS. 00:51:22.810 --> 00:51:25.730 So what are you doing with NixOS these days? So, oh, boy. 00:51:25.930 --> 00:51:29.730 Well, I'm doing a bunch of stuff. So I just got done finishing my talk on building 00:51:29.730 --> 00:51:32.070 a Chromebook replacement with NixOS. 00:51:32.190 --> 00:51:33.730 Yeah, and they kind of make the case here too. 00:51:33.730 --> 00:51:39.130 I almost named it NixOS for your mom. You know, because the idea is like setting 00:51:39.130 --> 00:51:44.110 up NixOS for a general user, basic user use. But like NixOS for your mom. 00:51:44.410 --> 00:51:46.490 I'm not going to hand-tune all your dynamic web workers. 00:51:46.750 --> 00:51:48.370 So you decided on a different name? Yeah. 00:51:48.450 --> 00:51:49.790 So basically, you know. 00:51:49.870 --> 00:51:52.910 People that want a Chromebook-like experience, but without the creepy Google 00:51:52.910 --> 00:51:56.090 stuff, right? They just want it to be automatic. They just want everything to work. 00:51:56.530 --> 00:51:58.810 They want everything to be one-click install. 00:51:59.330 --> 00:52:02.790 And so, yeah, that's why I've built that with NixOS and I've been deploying 00:52:02.790 --> 00:52:05.650 it out there in the real world for friends, family, and local people. 00:52:06.530 --> 00:52:10.230 And yeah, so I give a talk on how I did that and hopefully get more eyes on the project. 00:52:11.194 --> 00:52:15.454 Tell us a little bit more about why you built this, because it sounds like you 00:52:15.454 --> 00:52:19.094 have a project in which you're giving back to the community, 00:52:19.094 --> 00:52:23.414 and that was kind of the thrust to use Nix to make your job a little easier. Yeah, absolutely. 00:52:23.714 --> 00:52:27.694 So if you were to look at a heat map of Linux users, there's probably a giant 00:52:27.694 --> 00:52:29.054 red spot in Olympia, Washington. 00:52:29.514 --> 00:52:34.454 And that's because for the past five years, I've been getting donation computers 00:52:34.454 --> 00:52:39.214 from people, people that are just, I have this old laptop sitting in my closet, 00:52:39.374 --> 00:52:42.094 don't know what to do with it, and they give it to me. 00:52:42.254 --> 00:52:48.134 And I've even buddied up with school districts and companies that are getting rid of old hardware. 00:52:48.334 --> 00:52:53.294 And so they know that I'm a safe place to bring it because I securely wipe everything 00:52:53.294 --> 00:52:54.414 before anything goes out. 00:52:54.534 --> 00:52:57.214 And some people want data off their drives or whatever. 00:52:57.514 --> 00:53:05.774 So what I do is I take these machines and I Linux them up and donate them back out to the community. 00:53:05.774 --> 00:53:09.674 And what I was doing was doing Linux Mint because Linux Mint is, 00:53:09.934 --> 00:53:15.394 you know, love it or hate it, it is definitely the most friendly environment 00:53:15.394 --> 00:53:17.594 and UI for somebody coming from Windows. 00:53:17.994 --> 00:53:22.034 And overall that worked great, but I noticed there were some issues with Linux 00:53:22.034 --> 00:53:25.114 Mint, people not doing updates, a little package confusion stuff. 00:53:25.114 --> 00:53:31.294 And so what I thought was, what if I built this in Nix and was able to like 00:53:31.294 --> 00:53:38.174 rebuild Linux Mint, you know, in Nix with all the upgrades that I wanted to do. And I did. 00:53:38.614 --> 00:53:42.954 You said you basically built your own distribution, but I would imagine Nix 00:53:42.954 --> 00:53:47.034 enabled you to do that in a way that you would have never considered doing without it. Oh, absolutely. 00:53:47.414 --> 00:53:51.254 Yeah, yeah. Linux from scratch or even, you know, back in the day, 00:53:51.374 --> 00:53:55.174 before I discovered Nix, how I did this was basically like Arch. 00:53:56.046 --> 00:53:59.066 Shell scripts like install arch and then run this script sounds scary 00:53:59.066 --> 00:54:02.366 already it sounds scary already yeah yeah sure enough and yeah it never bit 00:54:02.366 --> 00:54:07.026 me sure i'm lying yeah it sounds like a little bit of pain points but also just 00:54:07.026 --> 00:54:12.806 you mentioned you're now taking care of 400 to 500 laptop yeah so i have uh 00:54:12.806 --> 00:54:16.606 there's probably four at least four to five hundred of these i call them nix books, 00:54:17.346 --> 00:54:22.046 out there in the world and uh and and many of them are in my house as well so 00:54:22.046 --> 00:54:25.326 i have my kids My parents, they're all using Nixbook. 00:54:25.546 --> 00:54:28.166 And it's just, it's fantastic. 00:54:28.446 --> 00:54:32.006 It really is that perfect zero maintenance. 00:54:32.286 --> 00:54:35.706 Open it up and it just works. All the updates are done for you. 00:54:35.866 --> 00:54:37.486 You just never need to worry about anything. 00:54:37.786 --> 00:54:41.906 And it's just that all the guarantees and the security that you get with Nix 00:54:41.906 --> 00:54:46.826 for a general user. I mean, it kind of is perfect. 00:54:47.106 --> 00:54:52.386 It was great to see Olympia Mike. He had a great talk. and we wanted to wrap 00:54:52.386 --> 00:54:57.326 it up with Ron, who we started this adventure with Ron, who is co-founder of 00:54:57.326 --> 00:54:59.566 Phlox and of course the chair of the NixOS Foundation. 00:54:59.726 --> 00:55:05.486 And we wanted to check in with him a day after things just to see how it had gone for him. 00:55:05.566 --> 00:55:09.706 And now that he's just attending regular old scale, what's it been like just 00:55:09.706 --> 00:55:12.626 with the average folks who are coming for a general Linux convention? 00:55:12.846 --> 00:55:17.206 How do you feel the first Planet Nix went? I mean, I think it was incredible. 00:55:17.426 --> 00:55:20.166 Yeah. I can only speak for myself for just the energy in the 00:55:20.166 --> 00:55:23.086 room but seeing over 300 people standing room 00:55:23.086 --> 00:55:26.326 only on two tracks yeah workshops talks 00:55:26.326 --> 00:55:28.986 all that i think that was incredible you know what i noticed and i 00:55:28.986 --> 00:55:32.546 wonder if you picked up on this is it felt like both in 00:55:32.546 --> 00:55:37.626 terms of talks and in terms of attendees people were talking about how they 00:55:37.626 --> 00:55:41.606 use nyx at work more out in the open like we're using it here we're replacing 00:55:41.606 --> 00:55:44.486 this with nyx did you see more of that did you hear more of that this year i 00:55:44.486 --> 00:55:48.726 100 did and And I think that was the thing when we intentionally really tried 00:55:48.726 --> 00:55:50.346 to communicate with Planet Nix. 00:55:50.686 --> 00:55:56.706 It's going to be a bit different. It's going to be a bit more Nix beginners, Nix at work doing that. 00:55:56.806 --> 00:56:00.586 And I think it was received so well that that's kind of the ecosystem that showed up here, right? 00:56:00.766 --> 00:56:04.486 We have a good mix of advanced contributors, but also a good mix of folks that 00:56:04.486 --> 00:56:10.386 finally felt really comfortable being able to talk about, hey, 00:56:10.446 --> 00:56:12.866 I just want to bring it in. I'm not an expert. What do I do? 00:56:13.206 --> 00:56:17.126 And I love those conversations. Yeah, because you walk away with like real solutions. 00:56:17.286 --> 00:56:20.386 Like, oh, that's how you fix that. Like there's been a couple of conversations. 00:56:20.826 --> 00:56:23.926 Where people just had breakthroughs. Like, oh, that's how you're doing that? 00:56:24.166 --> 00:56:26.946 Oh, what a brilliant idea. Because there's always a lot of ways to solve problems. 00:56:27.306 --> 00:56:30.006 Exactly, exactly. And I think it's, look, I mean, think about it. 00:56:30.166 --> 00:56:34.306 We're a pretty tight-knit community. We're a pretty extreme technical community. 00:56:34.346 --> 00:56:39.726 It must be, and it probably is, kind of scary to come in and say, 00:56:39.946 --> 00:56:43.966 hey, how do I do this thing for a commercial reason, right? open source, 00:56:44.126 --> 00:56:46.146 commercial, that already has a little bit of friction. 00:56:46.346 --> 00:56:49.106 So when you're like, all I want it to do is to solve a problem. 00:56:50.117 --> 00:56:56.317 Apple, at Anthropic, at, you know, take name of presenter that attended this year. 00:56:56.577 --> 00:56:59.957 I think it's kind of scary, and I'm really happy to see that folks were talking about it. 00:57:00.037 --> 00:57:04.457 I think it means that we kind of removed the barriers a bit and opened our arms 00:57:04.457 --> 00:57:06.177 a bit wider for folks like that. 00:57:06.337 --> 00:57:10.737 So putting your Phlox hat on, we're standing right here at the Phlox booth in 00:57:10.737 --> 00:57:13.057 the scale side of the event in the Expo Hall. 00:57:13.477 --> 00:57:18.837 What's the average scale attendee interest been in Phlox and the solving problems 00:57:18.837 --> 00:57:21.517 that Phlox solves? I mean, I think we're seeing the transition, 00:57:21.737 --> 00:57:22.877 right? We're seeing kind of that. 00:57:23.157 --> 00:57:27.277 We were here two years ago, actually at a Nix booth, right? Because we hosted 00:57:27.277 --> 00:57:29.377 the first Nix booth ever at scale two years ago. 00:57:29.497 --> 00:57:32.277 And folks were coming by and being like, what's Nix? 00:57:32.957 --> 00:57:37.377 Now, folks are coming by and being like, oh, you're that, are you that thing 00:57:37.377 --> 00:57:39.957 that bridges all the gaps that I currently have with containers? 00:57:39.977 --> 00:57:44.477 And they're coming to us with a, hey, I want to, I've started to use this instead 00:57:44.477 --> 00:57:47.317 of homebrew, or I've, you know, this has improved my life over here. 00:57:47.317 --> 00:57:50.297 So that's a really amazing feeling, right? 00:57:50.377 --> 00:57:54.197 You're kind of, folks are starting to that discovery phase and the excitement 00:57:54.197 --> 00:57:56.317 phase, both about Nix and about Phlox. 00:57:56.497 --> 00:58:01.637 And I'm seeing a lot of scale attendees who are not specifically from the Nix 00:58:01.637 --> 00:58:06.177 ecosystem come up, recognize, mention already being, you know, 00:58:06.357 --> 00:58:09.397 looking into it, which is always a more lovely deep conversation. 00:58:09.577 --> 00:58:12.437 It's such a great opportunity because the conversations are so high bandwidth. 00:58:12.597 --> 00:58:13.977 So you just get so much more context. 00:58:14.357 --> 00:58:17.637 You know, that's something that I really appreciated about us being here is 00:58:17.637 --> 00:58:21.657 I feel like we just understand a lot more about what people are working on and 00:58:21.657 --> 00:58:25.997 what's really kind of on front of people's mind right now and what they're thinking of. 00:58:26.317 --> 00:58:28.537 Like there's just the bandwidth you get in these conversations. 00:58:28.537 --> 00:58:32.597 It's so much richer than the online communications. I almost wish we could do it more than once a year. 00:58:33.277 --> 00:58:36.697 I do too. I think that would be lovely. I mean, the fact that we can, 00:58:37.077 --> 00:58:42.197 you know, user, a person, an attendee shows up and it's like, here's my problems. 00:58:42.917 --> 00:58:45.697 Show me how you solve them for me. And what we do 00:58:45.697 --> 00:58:48.537 is like crack open a laptop and you know 00:58:48.537 --> 00:58:52.677 the person leaves with like a holy cow i think i think i got this licked i can 00:58:52.677 --> 00:58:57.797 i can solve this yes yeah yeah it's hard to get not in person not face to face 00:58:57.797 --> 00:59:01.357 and yeah and that's incredible well ron thank you thank you for bringing us 00:59:01.357 --> 00:59:03.837 down here and thanks for putting on a great event we really enjoyed it we're 00:59:03.837 --> 00:59:06.277 gonna do it again next year with you guys so i'm excited all right. 00:59:06.277 --> 00:59:09.717 I hope so you know because before we went down i was like oh is it worth it 00:59:09.717 --> 00:59:13.337 you know we could probably do a lot of this just remotely but man is it so worth 00:59:13.337 --> 00:59:17.937 it just things to figure out the context you get the insights all of that is 00:59:17.937 --> 00:59:19.617 just is really super worth it and you agree, 00:59:40.637 --> 00:59:44.517 Brent, I wonder if you noticed this too, but it feels like there is an ecosystem 00:59:44.517 --> 00:59:48.277 assembling here with different vendors providing solutions built on top of Nix. 00:59:48.417 --> 00:59:50.217 That's been kind of fascinating to watch too. 00:59:50.877 --> 00:59:54.277 Yeah, it seemed really exciting that the ecosystem is maturing, 00:59:54.277 --> 00:59:55.997 even from what we saw last year. 00:59:56.457 --> 01:00:00.777 And Chris, you mentioned this quickly, that it seems like the corporate world 01:00:00.777 --> 01:00:02.977 is now okay to share what they're doing with Nix. 01:00:03.077 --> 01:00:09.397 And we heard sort of in the hush hush that there's a lot of businesses who are 01:00:09.397 --> 01:00:10.437 household names, really, 01:00:10.657 --> 01:00:14.577 that are using Nix and maybe aren't willing to talk about it right now, 01:00:14.717 --> 01:00:18.217 but are being sort of convinced to talk about all the really neat things they're 01:00:18.217 --> 01:00:19.797 doing with Nix and NixOS. 01:00:20.357 --> 01:00:25.397 So I thought, at least from a perspective of going from last year to this year 01:00:25.397 --> 01:00:29.197 and seeing where that trend is going, I think we're in for a good time here. 01:00:30.777 --> 01:00:34.257 Now you heard some of our biggest takeaways from Planet Nix. 01:00:34.257 --> 01:00:38.277 We, of course, have so many more, and it's a treat if you're in person to grab 01:00:38.277 --> 01:00:42.117 those, but we also have a little treat from our community. 01:00:42.397 --> 01:00:46.917 So the first one was we had a little invitation by System76, 01:00:46.917 --> 01:00:51.137 longtime friends of the show, to do a little laser tag. 01:00:51.337 --> 01:00:54.797 And this was not planned. They just invited us last minute. 01:00:55.077 --> 01:00:58.057 And Chris, were you up for this at first? 01:00:58.637 --> 01:01:01.377 I mean, I was in full Let's Watch MacGyver mode. 01:01:01.557 --> 01:01:05.117 So, you know, you think about it. You start your day 7 a.m.-ish, 01:01:05.457 --> 01:01:07.197 which means you're really up 5.30. 01:01:07.457 --> 01:01:10.617 And, you know, you're eating breakfast and you're getting out the door at 7 01:01:10.617 --> 01:01:15.437 a.m. And so to get through this, plus all of the, you know, walking around all 01:01:15.437 --> 01:01:20.477 day long and doing interviews, I thought, well, what we'll do is we'll have a super chill evening. 01:01:20.637 --> 01:01:24.057 We'll get like some sandwiches and we'll watch the first episode of MacGyver. 01:01:26.057 --> 01:01:31.837 And to make this possible, we were trying streaming, but the Airbnb connection was a bit spotty. 01:01:32.057 --> 01:01:36.537 So Wes facilitated by quickly standing up a local jellyfin instance. 01:01:39.045 --> 01:01:44.305 I agree. I think lesson learned. And Wes, being a long-time, 01:01:44.565 --> 01:01:48.905 perhaps lifetime MacGyver fan, of course had the means and necessary access 01:01:48.905 --> 01:01:50.245 to get us the MacGyver files. 01:01:50.625 --> 01:01:55.465 So we had ourselves a night planned. And I was pretty committed to this idea. 01:01:55.465 --> 01:01:58.065 You might say it's what carried me through the day, perhaps. 01:01:58.245 --> 01:02:03.205 It was my shining star, my light at the end of the tunnel, to get through the hard day. 01:02:03.345 --> 01:02:07.385 And we, no joke, we get home and we start talking about dinner. 01:02:07.385 --> 01:02:13.065 And, you know, Wes has got the laptop running and we get a text message from Emma from System76. 01:02:14.085 --> 01:02:17.285 And she's like, guys, you got to come out. You got to play laser tag with us. 01:02:17.645 --> 01:02:20.405 And I'm like, no way, not going to happen. 01:02:20.845 --> 01:02:23.905 We just are about to get our lazy on. And then like the next message from Emma 01:02:23.905 --> 01:02:26.485 is like, tell Chris it'll be a lot of fun and he should do it. 01:02:26.745 --> 01:02:28.385 She knew I was going to say something. 01:02:33.165 --> 01:02:37.745 Yeah, yeah. So we're like, all right, let's do this. So we pile up in the rental 01:02:37.745 --> 01:02:40.185 car that we had and we set off to the laser tag place. 01:02:40.625 --> 01:02:43.085 Ironically, we beat them there because they were delayed by an ambulance. 01:02:43.885 --> 01:02:46.845 So we started warming up by playing some air hockey, you know, 01:02:46.965 --> 01:02:50.745 and I had surprisingly good luck at the air hockey for some reason. 01:02:50.985 --> 01:02:54.225 I don't know what my deal was with that. That was about the extent of my luck for the night. 01:02:54.345 --> 01:02:58.725 Then the System 76 crew showed up and Carl and team, most of the team were there, 01:02:59.405 --> 01:03:05.705 no part of the team. And we were kind of concerned because they play laser tag 01:03:05.705 --> 01:03:08.365 on the regular at this massive facility in Denver. 01:03:11.165 --> 01:03:13.545 I had never played until this moment. 01:03:13.885 --> 01:03:16.865 Neither did I. And my wife, Hadiyah, who was with us, had never played. 01:03:17.505 --> 01:03:22.125 So we were total beginners going up against a crew that plays on the regular. 01:03:22.425 --> 01:03:27.245 And it showed in our first round. We didn't do great in our first round. 01:03:27.245 --> 01:03:31.605 And you could tell the System 76 crew thought they had us. 01:03:31.745 --> 01:03:33.905 They were feeling pretty, pretty good. 01:03:34.085 --> 01:03:38.525 And I'll be honest, I was a little nervous. But what I realized as the games 01:03:38.525 --> 01:03:42.125 progressed is the boys just needed to get their laser feet at first. 01:03:42.265 --> 01:03:48.645 And once the preceding games got on, I discovered that my two co-hosts are absolute 01:03:48.645 --> 01:03:53.885 psychopath killers that not only can work as a team, as one killer brain, 01:03:54.005 --> 01:03:55.185 but also work independently. 01:03:56.125 --> 01:03:59.685 And they're absolute murderers. And I'll tell you, quite honestly, audience, 01:03:59.865 --> 01:04:02.705 before we went into this trip, I figured, you know, in a hypothetical situation 01:04:02.705 --> 01:04:05.385 where we're all walking around packing heat and we got into some sort of, 01:04:05.505 --> 01:04:08.505 like, Old West gun showdown, I thought I'd be the one there, 01:04:08.565 --> 01:04:10.605 you know, crouching down in a car shooting while the boys, you know, 01:04:10.665 --> 01:04:11.505 went and got help or something. 01:04:11.605 --> 01:04:14.245 No disparagement, man. But I didn't figure you'd be the ones that would be doing 01:04:14.245 --> 01:04:16.585 the killing. I thought that duty would fall upon me. 01:04:17.245 --> 01:04:20.905 Of course, I've thought of this. However, now that we've played laser tag, 01:04:21.105 --> 01:04:24.445 I realized I'll be the one running for help and you two will be the one doing the murder. 01:04:24.625 --> 01:04:28.125 And I'm totally safe. You got my back. I was surprised. 01:04:28.425 --> 01:04:31.805 And ultimately, it meant that our team came out victorious. 01:04:32.685 --> 01:04:37.205 And we beat the seasoned laser tag System 76 crew. 01:04:39.371 --> 01:04:43.951 You know, going into this, System76 made some big promises to try to lure us 01:04:43.951 --> 01:04:45.931 out. What was some of them? 01:04:46.111 --> 01:04:48.671 I do believe some launch keyboards were promised, right? 01:04:48.751 --> 01:04:53.771 They were for the top performers. And, well, Wes was the number one top performer 01:04:53.771 --> 01:04:57.851 across all rounds that we played. And your dear Brent was number two. 01:04:58.091 --> 01:05:02.951 Killer. I just like laser. And shooting people, apparently. 01:05:04.011 --> 01:05:06.391 And turns out I placed number two. 01:05:06.991 --> 01:05:07.931 Yeah, yeah. 01:05:08.591 --> 01:05:14.071 And the other thing they suggested was the loser would show up on someone's 01:05:14.071 --> 01:05:17.831 podcast and admit that they had lost. 01:05:18.151 --> 01:05:20.231 I don't see them in the mumble room. Do you see them in the mumble room? 01:05:20.291 --> 01:05:21.571 I don't think they're here today. 01:05:21.931 --> 01:05:25.831 That's okay. They're probably still hurting from their loss. 01:05:25.991 --> 01:05:30.151 They're thinking, how did those lazy podcasters beat us, us Denver hikers? 01:05:30.251 --> 01:05:32.731 That's probably what they're thinking. Everybody hikes in Denver, right? 01:05:33.071 --> 01:05:36.711 I think so. It was a lot of fun. And we really enjoyed our time seeing them. 01:05:37.291 --> 01:05:41.911 They also made it to our meetup, which was a blowout success. 01:05:42.091 --> 01:05:44.391 Thank you, everybody. We had well over 100 people make it. 01:05:44.591 --> 01:05:49.291 We told the restaurant there would be 40, and there was a bit more than that. 01:05:51.011 --> 01:05:52.551 And so they quickly opened up 01:05:52.551 --> 01:05:56.371 another wing for us, and we had an overflow room, and it was really nice. 01:05:58.131 --> 01:06:02.791 Anish from Anthropic made it. Carl from System76. Noah from the Ask Noah program. 01:06:03.271 --> 01:06:05.631 Of course, Alex from Self-Hosted made it. 01:06:06.251 --> 01:06:08.651 Olympia Mike was there. Cessna Mike was there. 01:06:10.411 --> 01:06:14.571 Yep. Yep. Hell 9000. Yeah, yeah, I got to meet Hell 9000. It was really great 01:06:14.571 --> 01:06:17.471 to put some names to faces. Those meetups are always really good for that. 01:06:18.371 --> 01:06:21.931 And they said, we're welcome back. Even though we blew it out, they said, don't worry. 01:06:22.751 --> 01:06:25.991 Don't worry. We'll make it work for you next time. So maybe we'll do it there 01:06:25.991 --> 01:06:28.771 again. They were super accommodating, even though we way, way overwhelmed them. 01:06:29.551 --> 01:06:33.651 But we had so much fun. And it went on for hours. And then the next morning, 01:06:33.831 --> 01:06:37.771 we had, you know, conference hard, right? And we've covered all of that. 01:06:37.931 --> 01:06:43.711 But because we're pros at this now, we had scheduled ourselves a little bit of downtime. 01:06:44.051 --> 01:06:46.991 So that way we could enjoy the fact that we were in Pasadena, 01:06:47.111 --> 01:06:48.391 California, while the weather's nice. 01:06:49.291 --> 01:06:53.231 But what do you do? What do you do with your free time? You got your boys there, 01:06:53.391 --> 01:06:55.531 but everywhere you go, it's traffic. 01:06:56.271 --> 01:06:58.251 And the tourist thing would be to go to the beach. 01:06:59.011 --> 01:07:02.371 And our first thought was, well, maybe we could just do something to torture 01:07:02.371 --> 01:07:05.271 PJ, you know, take him to some really touristy thing he hates. 01:07:09.351 --> 01:07:15.231 Yeah. But, you know, we threw a couple ideas at him to just kind of see how 01:07:15.231 --> 01:07:17.451 he'd respond. And he was like, cool with everything. 01:07:17.651 --> 01:07:19.931 He's like everything. He just he just rolled with the punches. 01:07:20.251 --> 01:07:21.451 So that wasn't going to work. 01:07:22.011 --> 01:07:28.131 But since now Jeff, myself, and my wife were all awake, but you boys were still 01:07:28.131 --> 01:07:31.751 sleeping, well, I have to be honest, we started scheming. 01:08:06.300 --> 01:08:10.820 That's right. We loaded Brent up into the car, Brent and Wes, 01:08:11.080 --> 01:08:13.560 and only kind of hinted what we were doing. 01:08:14.060 --> 01:08:18.100 And out of all the things that were available to us, Jeff's mom's house was 01:08:18.100 --> 01:08:19.320 pretty close to our location. 01:08:19.600 --> 01:08:23.700 So we thought, let's go down there. We know that Jeff's had this van parked 01:08:23.700 --> 01:08:28.680 there that he's been trying to get Brent to buy for ages, but we don't truly know the state of it. 01:08:28.840 --> 01:08:31.340 We think it's in good condition, but it'd be really good to get our eyes on 01:08:31.340 --> 01:08:35.800 it. And then, hey, wouldn't it be fun if we just for a couple of hours tried 01:08:35.800 --> 01:08:39.600 to get this bus, which is a van, parked there for six years, 01:08:39.640 --> 01:08:42.700 if we could get this thing running again? Wouldn't that just be a fun adventure? 01:08:44.540 --> 01:08:47.460 And sure enough, as we're pulling up, we're like, hey, Brent, 01:08:47.660 --> 01:08:50.240 look at this van. Brent, check this van out. 01:08:52.740 --> 01:08:56.320 I was so clueless at that point. Because I, you know, how this typically goes 01:08:56.320 --> 01:08:58.480 when we get together is we just have some free time. 01:08:58.640 --> 01:09:00.840 Someone makes some crazy decision about where we go. 01:09:01.820 --> 01:09:04.980 And then I just, I don't know, Wes, you and I are pretty agreeable. 01:09:05.100 --> 01:09:07.620 We just tag along for whatever crazy adventure is going to happen. 01:09:07.840 --> 01:09:13.100 And I had zero until the moment we pulled up to this thing. Zero idea this is what we were going to do. 01:09:13.920 --> 01:09:19.400 And then it all just hit me. Hole lay. This is the van that Jeff's been sending 01:09:19.400 --> 01:09:23.560 me photos about for the last two years, trying to convince me to take this thing 01:09:23.560 --> 01:09:25.800 off his grandfather's hands out of the driveway. 01:09:27.120 --> 01:09:31.360 And this, I mean, Chris, this is your fault. I'm completely blaming you because 01:09:31.360 --> 01:09:34.500 for years now you've been saying, hey, Brent, you know what you should do? 01:09:34.500 --> 01:09:38.060 I can't do it because I got kids and a big, huge rake, but I'm going to live 01:09:38.060 --> 01:09:39.320 vicariously through you. 01:09:39.420 --> 01:09:43.040 And you should buy this little, I don't know, a van or some kind of camper of 01:09:43.040 --> 01:09:46.420 some sort and just tour around the continent just on your own time. 01:09:47.000 --> 01:09:49.840 And so this has been years in the making. You've been razzing me about this. 01:09:49.940 --> 01:09:54.660 And like some of the first bang bus songs are just like continuing that trend 01:09:54.660 --> 01:09:57.980 of just convincing Brent he should live a different lifestyle. 01:09:58.200 --> 01:10:03.260 And sure enough, when we pulled up, it was like, oh, it's on. It is on. 01:10:03.260 --> 01:10:10.600 Yeah, what we saw was a 1990s Dodge B250 camper van built in Canada and modified 01:10:10.600 --> 01:10:14.260 into a camper van in Canada, interestingly enough. 01:10:14.680 --> 01:10:18.400 And it had been sitting, so it's rusted, but it had real potential. 01:10:18.460 --> 01:10:21.300 And we are kind of like the Avengers team. 01:10:21.460 --> 01:10:23.800 We came together. Wes did the audio recording. 01:10:24.180 --> 01:10:27.480 Brent and I started going through the RV features of the van. 01:10:27.480 --> 01:10:32.280 And we kind of quickly came to realization that, you know, it wouldn't be too 01:10:32.280 --> 01:10:33.520 hard to see if this thing's functional. 01:10:33.800 --> 01:10:37.520 And so PJ came in clutch because we needed a little electrical work. 01:10:37.520 --> 01:10:40.460 Since the thing had sat for five or six years, the battery was beyond dead. 01:10:40.540 --> 01:10:41.940 We couldn't jump it. We couldn't charge it. 01:10:42.836 --> 01:10:47.696 But we needed to know if the motor turned. And so Jeff breaks out the old drone battery. 01:10:47.816 --> 01:10:52.236 I mean, I'm talking like something that fits in the palm of your hand and starts wiring it up to the van. 01:10:52.996 --> 01:10:54.376 This is what we've been waiting for. What do you want to do, 01:10:54.536 --> 01:10:58.676 Wanda? Bubble, bubble, worries. Go ahead. Okay, turning on. Do it. 01:10:59.516 --> 01:11:01.376 Crank it. That's way more power. Crank it. 01:11:02.636 --> 01:11:05.236 There we go, it's smoking, but we got it. Yeah. Okay, kill it, 01:11:05.276 --> 01:11:06.016 Brent, kill it. We're good. 01:11:06.556 --> 01:11:10.156 So I think we're looking, it's dead now, Brent. I think we're looking at a voltage 01:11:10.156 --> 01:11:12.396 issue. Yeah, it's battery, battery's dead. But it turned, though. Yeah. 01:11:12.796 --> 01:11:15.636 Yeah, so the starters not get enough power. That's cool. That's cool. 01:11:15.636 --> 01:11:17.996 It's already warm. Just a little bit. Dude, it was smoking, yeah. 01:11:18.116 --> 01:11:20.256 Well, that's the wire that, yeah. 01:11:21.556 --> 01:11:25.296 That's all we needed to really find out for sure. Thank you. 01:11:25.596 --> 01:11:28.776 Yeah, that's great. That's good news. So the starter's in perfect condition 01:11:28.776 --> 01:11:29.856 if we can get enough voltage to it. 01:11:31.616 --> 01:11:34.156 So we could run to one of the auto stores and pick up a battery. 01:11:34.896 --> 01:11:40.456 And we did just that. Because the thing is, it was like in pristine condition 01:11:40.456 --> 01:11:43.676 under the hood. The oil, it was just changed before it was parked. 01:11:46.696 --> 01:11:50.416 Brand new transmission fluid. Brand new transmission fluid in there. 01:11:50.516 --> 01:11:53.396 And so we knew it now would turn. 01:11:53.656 --> 01:11:55.916 And I think PJ was like, oh, we could just call it good there. 01:11:56.016 --> 01:11:59.896 And I'm like, now that we know, let's go get a battery. And so sure enough, we load up in the rental. 01:12:00.236 --> 01:12:04.896 We go get ourselves a $180 California battery because this thing's big old V8 01:12:04.896 --> 01:12:08.696 with a starter that just requires a ridiculous amount of power. 01:12:09.776 --> 01:12:14.736 And we put a little bit of starter juice right down into the mouth of the engine, 01:12:15.136 --> 01:12:18.536 right into the carburetor, so that way it's got some fresh juice to start with. 01:12:19.256 --> 01:12:21.716 And we roll the dice to see if it starts. 01:12:21.976 --> 01:12:23.876 What do I need? We're going to crank it. You ready? Yeah, crank it. 01:12:24.096 --> 01:12:25.436 What do you need me for? I'm just letting you know. 01:12:29.112 --> 01:12:32.272 It's good. Are you ready, Brent? A bit airy in here, Mike. Fuck up. 01:12:33.032 --> 01:12:35.972 Yeah, you're gonna get a lot of dirt. If it turns, it's gonna blow a lot. 01:12:37.132 --> 01:12:41.232 The doghouse is open inside, so it's right at Brent's legs. Like, 01:12:41.332 --> 01:12:44.672 right at his knees. We can put it back on. Are we ready? Yeah, we're ready. 01:12:47.752 --> 01:12:49.052 Here we go. Sounds good. 01:12:51.952 --> 01:12:53.312 Yes! Yes! 01:12:55.472 --> 01:12:59.152 Give him some gas, but give him a little gas. Yeah! 01:13:01.032 --> 01:13:03.552 Yeah, keep it going because we're going to start getting the shit gas now. 01:13:05.232 --> 01:13:07.412 Yeah, it's good. It's good. Breathing. 01:13:09.832 --> 01:13:10.192 Woohoo! 01:13:12.652 --> 01:13:15.452 I did get a little dirty because it blew all over me because, 01:13:15.452 --> 01:13:18.652 like, the engine's in the cab, which makes no sense to me. Yeah, 01:13:18.812 --> 01:13:19.932 well, that's why it's got a doghouse. 01:13:20.792 --> 01:13:23.012 It's sweet. You can just touch it while you're driving down the road. 01:13:23.232 --> 01:13:24.952 Well, yeah, you got to go to the duct and everything. 01:13:25.712 --> 01:13:29.752 You want to go okay we're starting to get a little belt squeak but not bad yeah 01:13:29.752 --> 01:13:33.392 well yeah right like i mean star 01:13:33.392 --> 01:13:36.232 trek they got an engine room you just got your engine room in your cab. 01:13:36.232 --> 01:13:40.452 Yeah right there in the cockpit it's actually pretty handy so the whole story 01:13:40.452 --> 01:13:43.932 is in this week's episode of the launch and there's a lot more to it weekly 01:13:43.932 --> 01:13:48.932 launch.rocks brent joins angela and i and we go into the full story but long 01:13:48.932 --> 01:13:53.752 story short because it ran so good and it can it actually smoothed out as it continued to run, 01:13:53.932 --> 01:13:59.552 and the engine only has 60,000 miles on it, Brent decided to pull the trigger and pick it up. 01:14:01.178 --> 01:14:07.178 So, uh, now we have to actually get back down there and get the thing on the road. 01:14:07.638 --> 01:14:09.618 Tires are in rough shape. So it's going to need new tires. 01:14:10.138 --> 01:14:14.618 You know, it's, it's probably going to get about somewhere between 10 and 15 miles per gallon. 01:14:15.158 --> 01:14:18.198 It's got to get, you know, title and licensed. It's got a few repairs. 01:14:18.358 --> 01:14:21.818 Brent's going to have some woodwork to do, but the bones are in really good shape, Brentley. 01:14:22.578 --> 01:14:27.658 This is crazy. This is not what I had on my list. 01:14:27.658 --> 01:14:32.018 You know my agenda for going to scale planet nix and like hanging out with you guys, 01:14:32.518 --> 01:14:35.518 i didn't expect to come back with like a new lifestyle 01:14:35.518 --> 01:14:38.738 and a new set of wheels but i gotta 01:14:38.738 --> 01:14:41.658 say that was super fun to work on this thing with you guys we 01:14:41.658 --> 01:14:46.058 had a great time uh wes thank you for sneaky grabbing a bunch of audio it's 01:14:46.058 --> 01:14:50.298 reliving that moment when it just first started up is like yeah that's gonna 01:14:50.298 --> 01:14:56.558 stick with me for a while but chris you and i have well i think a big project 01:14:56.558 --> 01:15:00.698 coming up where we're going to head back down and really get this thing going, 01:15:00.878 --> 01:15:04.858 put new tires on it and make sure it actually rolls because we didn't actually 01:15:04.858 --> 01:15:10.178 get the chance to try that part of it and somehow get this thing back up to Canada. 01:15:10.358 --> 01:15:14.378 And Jeff's going to join us too. So early May, is that what we decided? 01:15:14.718 --> 01:15:19.118 May 1st, I booked the trip and we're going to fly down to LAX. 01:15:19.478 --> 01:15:21.978 And then with Jeff's help, we're going to get back to his mom's house. 01:15:22.418 --> 01:15:25.898 And we're going to try to get this thing on the road as fast and feasible as 01:15:25.898 --> 01:15:30.338 possible and we're going to be doing shows, we're going to be doing LUP and 01:15:30.338 --> 01:15:32.378 other shows from the road, from the van, 01:15:34.578 --> 01:15:38.658 which is going to be interesting because the interior needs some work It may or may not work out. 01:15:38.658 --> 01:15:39.678 We're going to find a. 01:15:44.047 --> 01:15:47.247 Well, and you, you know, you get it. Basically, if the bones are in good shape, 01:15:47.327 --> 01:15:48.347 the other stuff we can figure out. 01:15:48.487 --> 01:15:52.527 So our thinking is if we can get it from L.A. 01:15:52.607 --> 01:15:57.207 To Sacramento, where we'll have Jeff chasing us, then it's likely we have a 01:15:57.207 --> 01:16:01.887 pretty good shot, at least a 50 percent shot of getting from Sacramento back up to Seattle. 01:16:02.527 --> 01:16:06.927 We shall see. And we will not have it after we leave Jeff's house in Sacramento. 01:16:06.927 --> 01:16:10.327 We will have no chase car. So we will be just on our own and we'll have to be 01:16:10.327 --> 01:16:15.567 stopping and taking time to do episodes and shows from the van. It's going to be wild. 01:16:16.387 --> 01:16:19.367 And of course, we could always use the help and support because not only was 01:16:19.367 --> 01:16:23.607 this episode incredibly expensive to produce, but this wild trip is going to be crazy. 01:16:23.867 --> 01:16:27.287 So if you'd like to help the boost, boost in with some BangBus support. 01:16:27.887 --> 01:16:31.867 I got a specific clip for those of you who boost in. We have. 01:16:35.027 --> 01:16:36.647 And another BangBus boost clip. 01:16:40.107 --> 01:16:41.387 Yeah that's right so, 01:16:43.687 --> 01:16:47.027 yeah we're looking forward to it i think it's going to be i think it's going to be really great, 01:16:47.567 --> 01:16:50.287 and uh we'll have details on all of that in the future and 01:16:50.287 --> 01:16:59.527 you'll know you'll know when we're on the road the van's right there it's gonna 01:16:59.527 --> 01:17:02.827 be great friend will be giving out tours and talking about the wood he rebuilt 01:17:02.827 --> 01:17:08.307 and where the batteries are at and you know we're pulling people in there Oh, yeah. 01:17:08.467 --> 01:17:11.287 Oh, yeah. And you know we're stuffing as much Linux into this thing as possible. 01:17:11.387 --> 01:17:13.147 Maybe we build in a Linux Reaper system. 01:17:13.247 --> 01:17:15.687 A Home Assistant system is just absolutely going to happen, right, 01:17:15.747 --> 01:17:17.927 Brent? Full Linux in your bag. 01:17:17.927 --> 01:17:19.927 Yeah. Bring it on. Bring it on. 01:17:19.927 --> 01:17:20.287 All right. 01:17:23.527 --> 01:17:27.907 We do have some boosts to get into that help make this episode possible. 01:17:27.907 --> 01:17:31.427 And our baller booster this week is The Dude Abides. 01:17:34.687 --> 01:17:38.907 Coming in with a fantastic 100,000 sets! 01:17:50.015 --> 01:17:53.555 The Dude Abide writes, welcome back. Thank you, dude. 01:17:53.755 --> 01:17:57.555 Really appreciate that. That means more than ever this week. 01:17:57.715 --> 01:18:00.675 That is a great time for a baller boost like that. Thank you very much. 01:18:01.095 --> 01:18:06.275 Appreciate that. And you are our top supporter for episode 606. 01:18:13.155 --> 01:18:15.335 Also a great boost. That's cool. 01:18:27.575 --> 01:18:30.735 Oh, all subsequent kernels... 01:18:35.115 --> 01:18:37.395 I mean, it feels like we're getting there with the six series. 01:18:37.635 --> 01:18:40.175 You know how Linus gets once the number starts getting too high. 01:18:40.255 --> 01:18:41.175 So it could be happening. 01:18:41.635 --> 01:18:44.695 Would he go with seven forever? Well, he could if he was Linus for a day. 01:19:26.035 --> 01:19:30.875 Thank you and i think that's a it's a good uh play you're you're kind of like hedging with ladybird, 01:19:34.575 --> 01:19:35.255 oh good, 01:19:38.275 --> 01:19:42.855 yeah yeah that's a great set of boost adversaries thank you very much and uh 01:19:42.855 --> 01:19:46.035 i agree with you thanks for the boost now. 01:19:46.035 --> 01:19:51.495 Andrew sent in two boosts the first one here 29,402 sats. 01:19:53.415 --> 01:19:58.755 Short time, first time, but you have a new Linux convert. Windows hardware requirements got me good. 01:19:59.255 --> 01:20:04.035 And now Nexus giving me quite a head spin, but wow, is it an awesome one. 01:20:04.535 --> 01:20:08.115 Thanks for all the good work and cheers to many more invaluable episodes. 01:20:08.435 --> 01:20:11.915 P.S. Get the map, Wes, because this is a zip code boost. 01:20:14.515 --> 01:20:15.895 Did you bring the map, Wes? 01:20:19.075 --> 01:20:19.715 Does. 01:20:19.715 --> 01:20:21.475 Have extra stains I noticed. 01:20:24.055 --> 01:20:28.775 First time booster and a Linux convert Andrew you're killing it love it it's 01:20:28.775 --> 01:20:31.575 good to hear alright Wes so we gotta convert this, 01:20:39.020 --> 01:20:43.500 Ideally with Star Trek. Oh, there you go. I see Andrew also liked the deep dive, 01:20:43.500 --> 01:20:45.980 but he says we don't have to overdo it. I think that's good feedback. Thank you. 01:20:46.680 --> 01:20:49.280 All right. Where's he at, Wes? Where's he at? Charleston, South Carolina. 01:20:49.580 --> 01:20:51.940 Hey, I want to go there sometime. 01:20:52.160 --> 01:20:54.820 I would love to do a North Carolina, South Carolina thing. 01:20:57.420 --> 01:21:01.080 Yeah. Does that mean there's vinegar in the meetup? Why not? Okay. All right. 01:21:01.460 --> 01:21:04.420 Hey, speaking of somebody we got to see at Planet Nix and scale, 01:21:04.720 --> 01:21:11.960 it is Gene Bean, and He comes in with 36,510 sats. That's right. 01:21:14.480 --> 01:21:19.720 He says, if you're going to use Gentoo, don't cut corners. Oh, gosh, we got him going. 01:21:20.260 --> 01:21:24.620 Just as Nick's BSD wasn't free BSD, sidestepping what makes Gentoo unique defeats its purpose. 01:21:24.900 --> 01:21:28.500 The point of a Gentoo challenge is to learn about the stuff other distros hide. 01:21:29.040 --> 01:21:32.500 That knowledge is incredibly helpful when switching back to any mainstream distro. 01:21:32.740 --> 01:21:34.680 I agree. I can't argue with that. I agree. 01:21:35.180 --> 01:21:38.000 I think he's right about that. He did love the rust coverage in the kernel. 01:21:38.660 --> 01:21:41.980 And he asked, we asked if people are liking the deep dives. He said he enjoyed 01:21:41.980 --> 01:21:45.520 the EBPF deep dive. I wouldn't want it every episode, but once a month, maybe a quarter. 01:21:46.240 --> 01:21:48.720 This particular one was well done. I really enjoyed it. Keep up the good work. 01:21:49.160 --> 01:21:51.140 Okay. I think that's where we're starting to see a theme. It's like, 01:21:51.180 --> 01:21:53.140 yeah, from time to time, don't mind those deep dives. 01:21:53.560 --> 01:21:57.540 Just got to buckle up. Right. And then he wraps it up with Brent, Chris, and Wes. 01:21:58.360 --> 01:22:02.160 This, which was 25,400 sats, should cover the beer or cider that I wanted to 01:22:02.160 --> 01:22:05.520 get each of you during scale. as a thanks for all you do to keep this community informed. 01:22:05.720 --> 01:22:08.520 It was great getting to chat with you all while we were there, 01:22:08.560 --> 01:22:10.800 and I'm seriously looking forward to hearing your coverage of the event. 01:22:11.440 --> 01:22:15.700 Well, Jade, being having lunch with you was a highlight of our event, so it was nice to see you. 01:22:26.684 --> 01:22:29.344 Hey, thank you. I think we will. 01:22:31.644 --> 01:22:35.804 Well, flyover friend sent in a McRove ducks. 01:22:38.624 --> 01:22:45.944 JB Bang Bus, huh? Well, okay, go ahead and earmark this boost to help fund the interior cameras. 01:22:46.464 --> 01:22:48.484 I'll watch, but I'll be weird. 01:22:49.044 --> 01:22:52.664 Yeah, I like over flyover. I'm thinking cameras for sure. I mean, 01:22:52.724 --> 01:22:54.064 on the outside. I don't know about the inside. 01:23:00.484 --> 01:23:03.464 That's true oh oh god you're right okay here we go, 01:23:07.024 --> 01:23:12.404 yeah you know and uh i like some people go to interesting places with the name 01:23:12.404 --> 01:23:17.084 but of course the real story behind the name of the bang bus is that we just like alliteration a lot, 01:23:24.584 --> 01:23:29.264 that's a good point that's a good point All right. Sire comes in with 20,000 sats. 01:23:31.644 --> 01:23:35.204 Beer boost. Sorry, I couldn't do the benchmarks on FreeBSD. Okay. 01:23:35.364 --> 01:23:38.764 I'm keeping an eye on the release notes, though, to see when my Goopoo will become supported. 01:23:39.724 --> 01:23:41.644 Totally fair, Sire. That seems totally fair. 01:23:46.768 --> 01:23:49.708 And ZackAttack came in with another 20,000 sets. 01:23:53.148 --> 01:23:56.028 It has been too long since I boosted in. 01:23:56.168 --> 01:24:00.068 I remember you guys talked about note-taking apps, and I recently switched from 01:24:00.068 --> 01:24:04.808 Obsidian with SyncThing to Joplin with Tailscale and Nextcloud. 01:24:05.248 --> 01:24:10.808 While I don't like the way they format files, I do like how it handles syncing across devices. 01:24:11.328 --> 01:24:17.468 Made onboarding laptops that I tend to wipe and reinstall the OS on every quarter a lot easier. 01:24:18.088 --> 01:24:21.028 Also, on the Rust in the kernel coverage, I like hearing it. 01:24:21.188 --> 01:24:25.908 I can tell you guys spend a lot of time looking into the topics and give a good fair take on it. 01:24:26.028 --> 01:24:29.828 Would be curious on what you guys think about the latest Firefox controversy, 01:24:30.528 --> 01:24:33.588 and if it's going to cause you to jump web browsers. 01:24:34.328 --> 01:24:37.048 Also, big shout out to everyone from Michigan. 01:24:38.628 --> 01:24:43.728 Shout out Michigan! again we did talk a little firefox in our live stream members 01:24:43.728 --> 01:24:47.148 show today uh and uh i think we're gonna keep watching it and we'll probably 01:24:47.148 --> 01:24:48.988 do further coverage in the show it's a good question, 01:24:51.068 --> 01:24:54.388 that's true that is true thank you zach attack good to hear from you and it's 01:24:54.388 --> 01:25:00.268 great to hear from shy fox who comes in with 20 000 sets i'm on the wrong coast 01:25:00.268 --> 01:25:04.828 to join y'all so instead here's to a good time p.s my first computer was a pentium 01:25:04.828 --> 01:25:08.048 one that we won in a department store raffle, 01:25:08.868 --> 01:25:09.968 Oh, what an era. 01:25:11.028 --> 01:25:15.588 I wonder if that one had a fan on it. Some of the Pentiums that first shipped 01:25:15.588 --> 01:25:17.908 didn't have fans, even though they needed them. 01:25:18.168 --> 01:25:20.728 And so if you got a really early Pentium 1 system, you might have, 01:25:20.988 --> 01:25:24.308 because you have to understand the 486 and 386 systems, while some of them started 01:25:24.308 --> 01:25:27.628 having cooling, till the very end of the 486 one, they're still selling some 01:25:27.628 --> 01:25:30.468 of them without active cooling. If you can believe a CPU. 01:25:31.768 --> 01:25:34.908 But the Pentium 1s was a little bit tougher. That's a great boost. 01:25:35.268 --> 01:25:37.088 Thank you, Shy Fox. Good to hear from you. 01:25:53.847 --> 01:25:56.647 Thank you, Tomato. We did. Nice to hear from you. 01:25:57.527 --> 01:26:00.307 Amitra Hat sent in 4,500 sats. 01:26:02.447 --> 01:26:05.667 Longtime listener, core contributor, and first-time booster. 01:26:06.047 --> 01:26:08.467 Hey! Thank you on both accounts. 01:26:08.707 --> 01:26:15.327 Just wanted to say the eBPF deep dive was excellent, and I'd like to hear more of those such episodes. 01:26:15.927 --> 01:26:16.627 All right. 01:26:20.507 --> 01:26:24.547 That's great. This is really good feedback. The boys can attest, 01:26:24.727 --> 01:26:28.287 before we started getting these messages, I was telling them maybe we don't do that again. 01:26:29.307 --> 01:26:34.507 And I was like, oh, this is not looking good. But so far, now that we've actually 01:26:34.507 --> 01:26:36.567 collected the messages and time has come in and they've rolled in, 01:26:36.727 --> 01:26:40.567 I'm feeling like, yeah, we'll do it at a certain cadence, but we'll do it from time to time. 01:26:41.287 --> 01:26:42.947 Thank you also for the membership support. 01:26:44.687 --> 01:26:48.247 Night62 came in with 12,100 sats. 01:26:49.187 --> 01:26:52.127 First off, I love the deep dive episodes. Please keep them coming. 01:26:52.127 --> 01:26:54.227 All right, it's another vote for a deep dive, boys. 01:26:58.307 --> 01:27:01.267 But I can understand they may not appeal to everyone. Second, 01:27:01.447 --> 01:27:05.007 I just got back from Scale22x, which was awesome, primarily because the really 01:27:05.007 --> 01:27:08.607 great people I met and got to talk with, many of which were from the JB community. 01:27:08.847 --> 01:27:12.507 Shout out to producer Jeff, tech dev, Eric Kenji, Carl George, 01:27:12.767 --> 01:27:16.487 Kyle from Bazite, and Noel from UBlue and Aurora. 01:27:16.667 --> 01:27:19.507 It was also great to meet and hang with the JB crew, Chris, Hadea, 01:27:19.607 --> 01:27:23.007 Brent, Wes, and Alex. Thank you all for making my first scale so great. 01:27:24.147 --> 01:27:25.027 That's so sweet. 01:27:25.587 --> 01:27:28.307 And I'm glad you got a chance to say hi to folks. That's always what, 01:27:28.487 --> 01:27:32.807 you know, it can be a little, I know, nerve-wracking your first time to actually say hi. 01:27:33.067 --> 01:27:36.867 But once you start doing it, it's smooth. And people there are so easy to talk 01:27:36.867 --> 01:27:38.047 to. You'll be surprised. 01:27:38.327 --> 01:27:40.827 That's all what makes the meetup magic. I agree. I agree. 01:28:03.267 --> 01:28:07.507 You're of the two-y you're of the two-y huh love it, 01:28:14.628 --> 01:28:18.448 Okay, so that right there, it's funny he said that, because before you read 01:28:18.448 --> 01:28:21.888 that sentence, I was auto-completing in my head. The benchmark should be, 01:28:21.968 --> 01:28:25.448 is it better than a web app? That should be the benchmark. 01:28:26.828 --> 01:28:30.048 Yeah. I'm going to write that down. We'll talk about it after the show. 01:28:30.328 --> 01:28:34.208 A TUI challenge could be fun. I'd be probably more inclined to do it, 01:28:34.288 --> 01:28:35.008 if folks in the audience. 01:28:35.448 --> 01:28:38.388 That's the challenges we like the most, is when you guys also do some of them 01:28:38.388 --> 01:28:39.788 with us. You could also... 01:28:44.788 --> 01:28:46.748 Yeah, something we can start looking at to see if it's feasible. 01:28:48.888 --> 01:28:52.168 It's a great boost. We're going to write it down and talk about it. Thank you, Bean. 01:28:53.148 --> 01:28:57.168 DistroStrew boosted in what looks like a binary boost here, 10,101. 01:28:59.328 --> 01:29:03.168 Scale was great. I had been struggling with some Nix configs around Thunderbird, 01:29:03.368 --> 01:29:06.488 and I figured chatting with the Nix geniuses would set me right. 01:29:07.128 --> 01:29:12.288 They were also a little stumped, so I spent an hour with the engineer at the Thunderbird booth. 01:29:12.468 --> 01:29:16.988 Long story short, I learned a lot. filed issues on both projects, and a pull request. 01:29:17.048 --> 01:29:21.228 I could not make the JB meetup, but it was certainly nice to see you all. 01:29:21.828 --> 01:29:25.928 That sounds like a great trip experience. Little hands-on, little FaceTime, 01:29:26.388 --> 01:29:27.748 and working across projects. 01:29:27.848 --> 01:29:29.528 I heard a few other folks that did that too. I had one problem, 01:29:29.588 --> 01:29:31.348 I went to this booth, and I went and talked to people at the other booth. 01:29:31.748 --> 01:29:34.088 Might not have solved your problem that day, but got the channels opened. 01:29:37.408 --> 01:29:41.828 Yeah. Thank you for the boost. Routed Mood comes in with 18,000 two sets. 01:29:43.108 --> 01:29:46.608 Just wanted to say, I enjoyed the technical deep dive at episode 605, 01:29:46.888 --> 01:29:49.728 Live Long and Prosper. Well, thank you, sir. It's good to hear from you, 01:29:49.788 --> 01:29:50.608 and you're doing a great job. 01:29:52.288 --> 01:29:55.648 Can I just say, I think you guys are all trolling me with this deep dive stuff. 01:29:55.948 --> 01:30:02.108 I mean, you just came out with that clip, Chris, and you know how much I hate the deep dive thing. 01:30:02.248 --> 01:30:04.328 You think it's me? You think it's me? 01:30:04.648 --> 01:30:08.728 I think you're all colluding. You're all colluding to just get me to... 01:30:12.328 --> 01:30:13.748 Yep. Still hate it. 01:30:44.115 --> 01:30:47.775 That is awesome. Thank you. That's the idea, and we really appreciate it, 01:30:47.815 --> 01:30:49.835 especially this week. Thank you. 01:30:50.375 --> 01:30:52.395 Thank you very much, WH. Nice to hear from you. 01:30:52.695 --> 01:30:56.835 We also have a boost here from Magnolia Mayhem, another Spaceballs boost. 01:31:03.555 --> 01:31:05.975 No message on this one, just a bunch of plaid. 01:31:06.475 --> 01:31:09.595 Well, that's great. Thank you for the value. Thank you, everybody who boosted. 01:31:09.595 --> 01:31:12.175 We got a bunch below the 2,000-sat cutoff for on-air. 01:31:13.015 --> 01:31:15.015 Oh, we got one? We want to pull one up? Yeah. All right. 01:31:21.755 --> 01:31:23.055 All right, you got it, buddy. 01:31:27.255 --> 01:31:28.275 I hate you all. 01:31:29.535 --> 01:31:35.335 Thank you, everybody who supported episode 606. We had 48 of you stream those 01:31:35.335 --> 01:31:38.095 sats as you listened, and collectively, you did a nice lift there. 01:31:38.215 --> 01:31:44.335 You stacked 102,434 sats. When you combine that with everybody who boosted live 01:31:44.335 --> 01:31:52.075 or boosted last week's episode, we stacked a pretty handsome collective 564,906 sats. 01:31:57.415 --> 01:32:01.235 We really appreciate it. Production costs were extremely high for this episode, 01:32:01.415 --> 01:32:03.395 but we really gained a lot of great insights. 01:32:03.535 --> 01:32:05.715 It's going to help inform coverage for years to come. 01:32:05.955 --> 01:32:08.735 Thank you, everybody who supports the show directly with a boost. 01:32:08.735 --> 01:32:11.855 It's a peer-to-peer network all using open-source technology. 01:32:12.095 --> 01:32:16.075 Your message goes directly to us, and we collate it and put it into our show notes. 01:32:16.435 --> 01:32:19.995 You can get SaaS from River, from Strike, from Bitcoin Well, 01:32:20.035 --> 01:32:22.235 and then boost them into the show. We really appreciate it. It's a great way 01:32:22.235 --> 01:32:23.995 to support each individual production. 01:32:24.395 --> 01:32:27.615 Or you can set your support on Autopilot by becoming a member, 01:32:27.835 --> 01:32:28.835 one of our core contributors. 01:32:29.355 --> 01:32:33.655 And we have a link for that at linuxunplugged.com. And big shout-out to our 01:32:33.655 --> 01:32:38.855 members. you've got a hulk of a member special show for you in the bootleg this week. 01:32:38.975 --> 01:32:41.455 We hope you enjoy it. It's a big boy. 01:32:44.447 --> 01:32:46.487 Now, our picks this week were inspired 01:32:46.487 --> 01:32:50.507 by our stay at the Airbnb because I thought I was being real clever. 01:32:51.227 --> 01:32:55.067 And this is the first time I've ever done this. I packed an Apple TV. 01:32:55.467 --> 01:32:58.247 We have a spare one here. Well, it's not spare. It's one that's hooked up here 01:32:58.247 --> 01:33:01.367 at the studio that's used lightly. When people are over or whatever it might 01:33:01.367 --> 01:33:02.827 be, we fire up the old Apple TV. 01:33:03.107 --> 01:33:07.067 And it's handy because it's signed into my stuff, like my Jellyfin server and 01:33:07.067 --> 01:33:11.607 my friend's Plex servers. And it's also on my tail net. So it gets access to everything. 01:33:11.767 --> 01:33:15.527 So I thought, hey, I'll be a smart guy. and I'll just bring the old Apple TV 01:33:15.527 --> 01:33:19.467 because I know we're going to be watching Star Trek or whatever and it'll make it real easy. 01:33:19.627 --> 01:33:22.407 We'll plug it in the HDMI of the Airbnb and we're good. 01:33:23.347 --> 01:33:27.427 Well, I did just that, but of course, the genius that I am, I forgot the remote. 01:33:28.127 --> 01:33:31.887 And we show up at the Airbnb, I'm like, oh, no big deal, we'll use a Wi-Fi app. 01:33:32.067 --> 01:33:35.467 Well, it has to be on the Wi-Fi. So then we had to make a quick, 01:33:35.547 --> 01:33:40.647 quick move and Brent suggested that I set up my phone to turn on the hotspot 01:33:40.647 --> 01:33:42.047 and name it my home Wi-Fi. 01:33:42.587 --> 01:33:44.667 The Apple TV joined that, and then we were able to control it and get on the 01:33:44.667 --> 01:33:49.227 Airbnb Wi-Fi. But then we had the actual problem of how the hell do you control 01:33:49.227 --> 01:33:53.227 an Apple TV when you don't have their little Apple TV remote and you don't have an iPhone? 01:33:53.567 --> 01:33:59.607 And you found a Python library for Apple TV and AirPlay devices that lets you 01:33:59.607 --> 01:34:05.207 control things that are iOS TV 15 and tvOS 15 and later. 01:34:05.467 --> 01:34:09.007 It also supports apparently audio streaming via AirPlay to receivers like the 01:34:09.007 --> 01:34:10.307 HomePod and the Airport Express. 01:34:16.127 --> 01:34:20.547 Of course. And so you pulled that down, and you were using that sometimes to 01:34:20.547 --> 01:34:22.907 control the Apple TV. Yeah, we all know. 01:34:42.147 --> 01:34:43.367 Ultimately, there's a couple of. 01:34:54.427 --> 01:34:57.167 Yeah. You remember whatever? Yeah. So, Pi ATV. 01:35:08.627 --> 01:35:12.207 Wow. Yeah, in like the system tray area. Okay, okay. I don't, 01:35:18.627 --> 01:35:18.647 Yeah. 01:35:31.391 --> 01:35:35.571 It might work. Yeah. It may work. Yeah. If anybody has any other great ways 01:35:35.571 --> 01:35:41.351 to control an Apple TV from Linux or Android that aren't loaded with ads or scans, I'd love to know. 01:35:41.551 --> 01:35:44.011 Because that was like navigating a minefield in the Play Store. 01:35:46.291 --> 01:35:49.751 Yes. Right. Thank you, Wes. Thank you. We try to remember to mention that. 01:35:50.731 --> 01:35:54.151 We'll have a link to both of those in the show notes. Of course, 01:35:54.211 --> 01:35:56.311 that's at linuxunplugged.com slash 606. 01:35:56.751 --> 01:36:00.291 Also, just again, a big thank you to Phlox for getting us out to Planet Nix 01:36:00.291 --> 01:36:02.531 and scale. We had a great time. 01:36:02.771 --> 01:36:06.651 So many stories to continue to share and good connections we made too. 01:36:07.071 --> 01:36:10.171 And I'm looking forward to next year already. And don't forget, 01:36:10.331 --> 01:36:13.771 you can boost in to support Brent's Bang Bus efforts if you'd like, 01:36:13.851 --> 01:36:18.091 but also your feedback on event coverage like this, because these are also tricky 01:36:18.091 --> 01:36:20.651 episodes, sort of like the deep dives. They don't apply to everybody. 01:36:20.951 --> 01:36:24.091 So we try to frame the coverage in a way that even if you're not a Daily Nix 01:36:24.091 --> 01:36:25.651 user, you might still find informative. 01:36:25.911 --> 01:36:29.631 And I'd love to know if we hit that note. So you can send us a boost with that 01:36:29.631 --> 01:36:32.251 or go to linuxunplugged.com slash contact. 01:36:32.571 --> 01:36:36.631 And I also invite you to join us live. Make it a Linux Tuesday on a Sunday. 01:36:36.851 --> 01:36:41.151 Join us at noon. Nope. We now do it at 10 a.m. Pacific, which is noon Eastern. 01:36:44.771 --> 01:36:48.551 Except for when we change it. But then we like to lock it in. 01:36:48.671 --> 01:36:51.831 And if you just have a podcasting 2.0 app, you don't have to worry. 01:36:51.971 --> 01:36:54.611 We try to mark it pending about 24 hours or so beforehand. 01:36:54.931 --> 01:36:58.211 And we go live. Boom. Boom. It's just live right there in the app. 01:37:01.931 --> 01:37:04.871 Yeah we do have time zones at jupiterbroadcasting.com slash 01:37:04.871 --> 01:37:07.691 calendar also we have our mumble and matrix 01:37:07.691 --> 01:37:11.471 info there we'd love to have you join us in those places as well but that's 01:37:11.471 --> 01:37:14.291 really all you need to know other than the links which i already told you about 01:37:14.291 --> 01:37:19.711 at uh unplugged.com slash 606 you know with the linux in front of it i think 01:37:19.711 --> 01:37:22.191 that's it for us hope you enjoyed the episode thank you so much for joining 01:37:22.191 --> 01:37:25.771 us on this week's episode we'll see you next tuesday as in sunday.
Previous episode Next episode

Related episodes

Search

Search