Skip to main content
LawHub
Search

Not Your Distrohopper's Distro

Jan 19, 2025
Listen to this episode

With more criticisms of NixOS than ever—do they have a point? We'll dig into the tough critiques and give our perspective.

Sponsored By:

Support LINUX Unplugged

Links:

Transcript

WEBVTT 00:00:00.005 --> 00:00:03.725 This week, we're going to respond to some of the toughest criticisms around Nix OS. 00:00:04.265 --> 00:00:10.365 And a couple of years ago, the Changelog podcast had a guest on that had a few critiques themselves. 00:00:10.565 --> 00:00:13.405 And I think it sets a theme. I want to play this for you. We'll link to the full clip. 00:00:13.565 --> 00:00:18.425 This was sent in to us, and we'll start today's show with something I think 00:00:18.425 --> 00:00:20.985 we can hopefully respond to by the end of the episode. 00:00:21.205 --> 00:00:24.865 I like to think about Nix, for example. You know, Nix OS, Nix, 00:00:25.085 --> 00:00:29.425 like it's a very interesting, very cool idea, right? 00:00:29.425 --> 00:00:34.585 It was some fatal flaws, unfortunately, but it does so much interesting stuff, 00:00:34.605 --> 00:00:36.425 and it changes the whole game. 00:00:36.565 --> 00:00:42.085 And I like to think about how Nix is kind of like 1950s sci-fi authors. 00:00:42.305 --> 00:00:48.805 I'm rereading Foundation, right? And their vision of the future was adorable, right? 00:00:48.825 --> 00:00:51.445 It's like, oh, yeah, I could see how this would work, like spaceships without 00:00:51.445 --> 00:00:55.505 computers, and you would actually manually align the stars and navigate that 00:00:55.505 --> 00:00:56.525 way, right? It's kind of cute. 00:00:57.205 --> 00:01:00.505 But you could totally see how that future could have been a reality. 00:01:00.765 --> 00:01:07.025 And to me, things like Nix fit into there. If Nix had won, arguably Docker never 00:01:07.025 --> 00:01:10.045 would have existed, at least in terms of like an image format, right? 00:01:10.305 --> 00:01:15.245 And so, I don't know, EVPF, Wasm, I think they're fantastic. 00:01:15.525 --> 00:01:17.345 Maybe that means you should not buy their stock. 00:01:28.685 --> 00:01:33.325 Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris. 00:01:33.485 --> 00:01:34.145 My name is Wes. 00:01:34.425 --> 00:01:35.265 And my name is Brent. 00:01:35.725 --> 00:01:38.985 Well, hello, gentlemen. Coming up on the show today, as I teased, 00:01:39.065 --> 00:01:42.465 we'll be responding to a recent wave of criticisms around Nix, 00:01:42.505 --> 00:01:45.705 and we'll try to take on some of the toughest complaints and share our thoughts, 00:01:45.805 --> 00:01:49.885 and then stick around because the pick segment, it's worth the price of admission alone. 00:01:50.465 --> 00:01:53.625 The boys were cracking hard this week to get some great picks. 00:01:53.625 --> 00:01:57.325 And then we'll round out the show with some boosts and much, much more. 00:01:57.445 --> 00:02:00.725 Before I go any further, let's say time appropriate greetings to our virtual 00:02:00.725 --> 00:02:02.585 lug. Hello, MumbleRook. 00:02:06.298 --> 00:02:06.958 Hello. 00:02:07.658 --> 00:02:13.618 And a big good morning to our friends over at TailScale, TailScale.com slash unplugged. 00:02:13.918 --> 00:02:19.698 TailScale is the easiest way to connect your devices and services to each other, wherever they are. 00:02:19.858 --> 00:02:24.118 It is a modern networking solution for connecting your devices securely, 00:02:24.118 --> 00:02:26.218 and it's powered by Wagon. 00:02:26.838 --> 00:02:30.838 Yeah, and it's secure, it's fast, and it's really quick to get up and running. 00:02:31.018 --> 00:02:37.098 And it makes old legacy VPNs look just, well, old. And if you're in a corporation, 00:02:37.098 --> 00:02:40.158 you're going to love how it'll plug in with your existing authentication infrastructure. 00:02:40.218 --> 00:02:44.838 And when you go to our URL, you can try it for free for up to 100 devices and three users. 00:02:45.298 --> 00:02:48.318 No credit card required. You can really just try it. Thousands of companies 00:02:48.318 --> 00:02:54.118 like Instacart, Hugging Face, Delingo, I don't know, Jupyter Broadcasting, others use Tailscale. 00:02:54.538 --> 00:02:56.898 I pull the boosts over Tailscale every week. 00:02:56.978 --> 00:03:00.698 That's right. It's just so good. It's so good. I mean, like all of my phone's 00:03:00.698 --> 00:03:02.138 private data syncs over Tailscale. 00:03:02.418 --> 00:03:06.978 I got no inbound ports. I love it. It's privacy for everyone and every organization, 00:03:06.978 --> 00:03:10.178 and it's easy to use, and it's programmable, too. 00:03:10.618 --> 00:03:13.918 Check it out. Go to tailscale.com slash unplugged. 00:03:16.318 --> 00:03:18.698 Okay, we just have a couple of things we got to nag you about. 00:03:18.818 --> 00:03:22.578 We're not going to do it a bunch, but, you know, episode 600 is just around 00:03:22.578 --> 00:03:24.798 the corner. It's February 2nd. 00:03:25.418 --> 00:03:26.958 Brent, did you see how many meetups we have now? 00:03:27.238 --> 00:03:33.318 I can't believe this. Yeah, we have 11 meetups happening a little all over the world. 00:03:33.838 --> 00:03:34.578 Whoa. Oh. 00:03:38.339 --> 00:03:40.499 So I'm going to list them all for you because I think it's a lot of fun. 00:03:40.579 --> 00:03:43.879 And if you, as a listener, want to join one of these, like, go for it. 00:03:43.979 --> 00:03:48.199 You can go to colonyevents.com slash events to see them all listed there. 00:03:48.259 --> 00:03:49.379 You can even host your own. 00:03:49.539 --> 00:03:52.919 That platform allows you to make your own. So if you want to invite some listeners 00:03:52.919 --> 00:03:56.579 in your neighborhood to join your meetup, that's a great place to post it all. 00:03:56.659 --> 00:03:58.079 And that's where we're keeping everything central. 00:03:58.199 --> 00:04:02.479 So we have a meetup in London. There's one in Central Florida as a listening 00:04:02.479 --> 00:04:03.959 party. There's one in Berkeley. 00:04:04.739 --> 00:04:07.579 I guess there's one in, what is it, Central MA? What's MA? 00:04:08.399 --> 00:04:10.199 Or something like that. There's one happening there. 00:04:10.519 --> 00:04:11.879 It's pronounced, it's match-a-touch-nuts. 00:04:12.179 --> 00:04:15.279 Ah, yes, right, right, right. Sorry. I didn't get that memo. 00:04:15.559 --> 00:04:18.099 That's happening at the Quest Archery, which sounds really cool. 00:04:18.819 --> 00:04:22.779 There's also, of course, a listening party in New York. There's one in Toronto 00:04:22.779 --> 00:04:24.499 with our good folks over there. 00:04:24.719 --> 00:04:25.079 Awesome. 00:04:25.559 --> 00:04:28.619 Pacific Northwest. Wait, that's ours. We're hosting a little party. 00:04:28.739 --> 00:04:31.539 Aren't we? Yep, we are. I don't think we'll be at the studio, 00:04:31.659 --> 00:04:32.619 but it'll be near the studio. 00:04:32.799 --> 00:04:35.559 I just don't know yet. It will be in the studio area. 00:04:35.679 --> 00:04:38.659 Yeah, but our idea is we'll be able to wrap up the show, get it out the door, 00:04:38.779 --> 00:04:40.779 and then we'll just head up and, you know, go party. 00:04:41.019 --> 00:04:43.679 But that way we can do all the post-show stuff and not, you know, 00:04:43.959 --> 00:04:46.039 make mistakes like we sometimes do when we throw parties. 00:04:47.639 --> 00:04:52.359 We also have listed here a meetup in Walla Walla. That's in Southeastern Washington. 00:04:52.999 --> 00:04:54.419 Let's go to that one. You are. 00:04:54.619 --> 00:04:59.999 All right. We'll just, we'll do the, if we had a Concord, that's what we need. 00:05:00.079 --> 00:05:03.859 We could just go to each meetup, you know, spend like 15, 20 minutes with people 00:05:03.859 --> 00:05:05.119 there and then move on to the next one. 00:05:05.339 --> 00:05:06.559 Well, the best we can do is mumble. 00:05:06.739 --> 00:05:10.359 It's the best thing now uh i'm not quite done with the list i'll there's one 00:05:10.359 --> 00:05:16.699 in what what is this one listening party midwest and what's mnwi wichita am 00:05:16.699 --> 00:05:23.659 i getting that properly who has the canadian guide help me out here all. 00:05:23.659 --> 00:05:28.039 Right so you got one in the midwest there's one in michigan and there's one in pennsylvania yeah. 00:05:28.039 --> 00:05:32.079 Bloom bloomsburg bloomsburg how about that. 00:05:32.992 --> 00:05:38.592 So 11 meetup events in total coming up on February 2nd. 00:05:39.192 --> 00:05:45.152 And you can also just join us in the Mumble Room from your pad because we're 00:05:45.152 --> 00:05:48.412 hoping a lot of these will virtually all connect via our Mumble Room. 00:05:48.952 --> 00:05:52.952 So if you can't make it to one of the events, you can't always still join us in our virtual lug. 00:05:53.112 --> 00:05:57.012 You just need the Mumble software. We have details at jupiterbroadcasting.com slash Mumble. 00:05:57.812 --> 00:06:00.892 So there are a couple of events that we are going to be at. First of all is 00:06:00.892 --> 00:06:05.012 Planet Nix, which runs March 6th through the 7th at Pasadena, California. 00:06:05.352 --> 00:06:08.112 That runs along Scale 22X. 00:06:08.532 --> 00:06:13.412 The Southern California Linux Expo is back, and we're going to be there. 00:06:13.572 --> 00:06:16.572 That runs March 6th through the 9th at the Pasadena Convention Center. 00:06:16.672 --> 00:06:21.712 So the nice thing about that is if you're a Nix person, you go to one spot, 00:06:21.752 --> 00:06:24.352 and you can check off Planet Nix and Scale and hang out with your boys. 00:06:24.972 --> 00:06:31.292 And then not too long after that, April 25th through the 27th is LinuxFest Northwest, the 25-year. 00:06:31.592 --> 00:06:33.092 That's going to come up fast. 00:06:33.272 --> 00:06:35.472 Yeah. So those are all coming up. We just want to make you aware of it. 00:06:36.152 --> 00:06:38.952 If you like to participate, then we encourage you. 00:06:39.012 --> 00:06:41.832 And if you don't care, then we are moving right along. Thank you for your patience. 00:06:46.032 --> 00:06:52.572 So we thought we would talk about a growing chorus online of complaints about 00:06:52.572 --> 00:06:57.872 Nix. And one of the ones I think caught our attention recently was a post titled 00:06:57.872 --> 00:07:00.392 Nick's Death by a Thousand Paper Cuts. 00:07:00.652 --> 00:07:06.332 And sort of the thrust of the piece is that Nick's probably isn't even really 00:07:06.332 --> 00:07:10.532 ready for experienced Linux users on the desktop. 00:07:10.772 --> 00:07:13.972 Yeah, the TLDR at the top is in its current state, 2025. 00:07:14.112 --> 00:07:21.052 I don't generally recommend desktop use of Nick's OS, even for seasoned Linux users. 00:07:21.052 --> 00:07:24.232 That caught my attention, I think caught all of our attention, 00:07:24.252 --> 00:07:28.812 because there has been a reoccurring theme in some of the complaints that we've been seeing. 00:07:29.586 --> 00:07:33.086 And we have a different perspective on some of these things. 00:07:33.526 --> 00:07:37.126 And we'll go through maybe this post and just respond to a few of them. 00:07:37.486 --> 00:07:42.606 And Brent, I thought maybe we'd start with the author talking about major version upgrades. 00:07:43.026 --> 00:07:46.386 Yeah, the author here generally thinks it's fairly easy, but here's a quote. 00:07:46.886 --> 00:07:54.206 This does not work for everything. When in Nix OS 23.11, I wanted to try KD6, but it was not so simple. 00:07:54.206 --> 00:07:59.566 I would have to do some channel foo to make unstable the default instead of 00:07:59.566 --> 00:08:05.546 just using unstable for kde and stable for other packages as many of us do. 00:08:05.546 --> 00:08:08.406 Yeah so this is in the so so 00:08:08.406 --> 00:08:11.266 section there's the good section which we're kind of skipping over 00:08:11.266 --> 00:08:14.346 uh for the moment there's the so so section and 00:08:14.346 --> 00:08:17.546 then there's the bad section which we'll get to and i 00:08:17.546 --> 00:08:20.246 just wanted to call this out here because i think the authors 00:08:20.246 --> 00:08:23.046 write major versions in general are a strong point of nix 00:08:23.046 --> 00:08:25.686 right you uh it's very explicit when you do it 00:08:25.686 --> 00:08:28.466 you have more safety than a lot of other systems in terms of you know 00:08:28.466 --> 00:08:31.126 hoping you're about to upgrade doesn't go wrong and all 00:08:31.126 --> 00:08:33.826 of that uh but i think this is something 00:08:33.826 --> 00:08:36.566 we should be careful of in general and just pay attention to as we 00:08:36.566 --> 00:08:40.146 go along being able to try a new 00:08:40.146 --> 00:08:43.506 major version of a desktop is i think not 00:08:43.506 --> 00:08:49.206 something most other common desktop linux distributions really even offer as 00:08:49.206 --> 00:08:53.466 a feature so i think we just like it's fine to criticize nix and nixos and there's 00:08:53.466 --> 00:08:57.426 a lot too and if it's going to improve we have to but i think it's worth being 00:08:57.426 --> 00:09:03.286 clear are we criticizing something that it's kind of unique or at least semi-unique in doing yeah. 00:09:03.286 --> 00:09:08.406 One theme i'm seeing here and i think we'll see this as we go through is nixos 00:09:08.406 --> 00:09:14.426 does allow you to do new things but they don't necessarily, 00:09:15.326 --> 00:09:19.466 allow you to do new things easily. 00:09:19.766 --> 00:09:23.386 What I mean is you're doing something super experimental and you're expecting 00:09:23.386 --> 00:09:29.146 that to be as easy as everything else in NixOS when that feature isn't even 00:09:29.146 --> 00:09:30.946 available in other places. 00:09:31.166 --> 00:09:34.186 And I think that's one of its strengths. It allows you to do some of this stuff, 00:09:34.326 --> 00:09:41.126 but it feels to me a little disingenuous to criticize it for allowing you to do these fancy things. 00:09:42.506 --> 00:09:45.406 I understand the dream. I'll steel man the argument here. 00:09:45.486 --> 00:09:49.066 I think the dream is that with Nix and its complexity, what you get with that 00:09:49.066 --> 00:09:51.266 is this ability to mix and match a lot of things. 00:09:51.606 --> 00:09:53.906 And to a large extent, this is very true. 00:09:54.726 --> 00:09:58.426 If you're trying to do this with Nginx or Postgres, probably going to be fine. 00:09:58.546 --> 00:10:00.946 If you're trying to do this with HTOP, probably going to be fine. 00:10:02.226 --> 00:10:09.726 Plasma is a big one. It touches everything. And so it touches the display system. It touches SystemD. 00:10:09.966 --> 00:10:11.726 It touches the login manager. 00:10:12.226 --> 00:10:15.806 Obviously, it touches all the desktop applications. And so you're pulling in 00:10:15.806 --> 00:10:18.366 dependency after dependency after dependency after dependency. 00:10:19.739 --> 00:10:23.019 So it's kind of like the worst case example. This is a little bit easier with 00:10:23.019 --> 00:10:26.719 GNOME, and then it gets exponentially easier with the simpler desktops. 00:10:28.019 --> 00:10:33.119 And this is just the reality of software in the free software world where you 00:10:33.119 --> 00:10:37.019 have all these dependencies is you're going to have like this sprile that happens 00:10:37.019 --> 00:10:38.419 or whatever the word is I'm trying to look for. 00:10:38.739 --> 00:10:44.919 So I think that's kind of – this is a hard one for anybody to get right. 00:10:44.919 --> 00:10:47.439 But one of the things that Nix allows you to do is rollbacks. 00:10:47.439 --> 00:10:51.099 And so I have unstable on my system. 00:10:51.279 --> 00:10:55.899 I've had unstable on my main system at home since we started experimenting with the real-time kernels. 00:10:56.299 --> 00:11:00.479 The whole OS is on unstable, which means I also get super fresh plasma. 00:11:01.179 --> 00:11:07.319 And if something breaks, I'll just roll back. And I'll just wait for the upstream thing to fix it. 00:11:07.699 --> 00:11:11.379 And I'll try again in a few days. And if that doesn't work, I'll just roll back. 00:11:11.379 --> 00:11:16.719 And so it allows me to maybe run a little bit more on the unstable side than 00:11:16.719 --> 00:11:19.399 i normally would have and so in a way it's just a simpler approach. 00:11:19.399 --> 00:11:22.999 Yeah uh that makes me think you could you could solve it multiple ways right 00:11:22.999 --> 00:11:26.619 there's the version where you kind of integrate it more smoothly into your config 00:11:26.619 --> 00:11:29.299 in a permanent manner and then there's that you're just like i'm gonna yolo 00:11:29.299 --> 00:11:34.219 to unstable for a while try it out then i can go right back with very few consequences i. 00:11:34.219 --> 00:11:35.879 Have this parachute here if something goes wrong. 00:11:35.879 --> 00:11:41.039 It makes me think how would you accomplish this in another distribution I remember 00:11:41.039 --> 00:11:46.039 pinning packages previously to different versions, but is this something that 00:11:46.039 --> 00:11:47.199 you can accomplish elsewhere? 00:11:47.639 --> 00:11:52.539 Well, I don't know. I just think if you added a PPA for a new major version 00:11:52.539 --> 00:11:56.059 of Plasma and got it going on your system, that would be messy. 00:11:56.199 --> 00:11:58.199 I mean, that's kind of what Neon is. Yeah. At scale. 00:11:58.219 --> 00:11:59.459 Yeah, there are specialty things for that. 00:11:59.539 --> 00:12:01.959 So if you build a whole bunch of tooling around it, you can do it. 00:12:02.753 --> 00:12:06.253 You know, I mean, it's totally possible, but you're kind of no longer using 00:12:06.253 --> 00:12:08.833 Ubuntu anymore, or at least not the release version of Ubuntu. 00:12:09.593 --> 00:12:14.153 Now, something I think we do see that comes up that I actually kind of can see 00:12:14.153 --> 00:12:16.853 where people are coming from, especially if they're used to Arch and the AUR, 00:12:17.033 --> 00:12:19.813 is kind of this variability of package versions. 00:12:20.333 --> 00:12:23.353 You know, Nix is kind of famous for having this massive package repository, 00:12:23.353 --> 00:12:26.053 and the author touches on this as well, Brent. Yep. 00:12:26.313 --> 00:12:29.253 For example, Duplicati and Rclone 00:12:29.253 --> 00:12:33.113 are widely used programs, but their Nix integration could use some love. 00:12:33.493 --> 00:12:37.773 Both have some options, but if you want them to have declarative configs, 00:12:37.893 --> 00:12:40.733 it's time to roll your own sleeves and get dirty. 00:12:40.733 --> 00:12:44.893 I think this is definitely true. You can have packages that are out of date. 00:12:45.153 --> 00:12:49.313 You can have packages that, you know, just install and you still have to do 00:12:49.313 --> 00:12:51.413 all the manual configuration yourself. 00:12:51.933 --> 00:12:56.353 It's kind of part and parcel of, you know, community support, unfortunately. 00:12:56.973 --> 00:13:01.013 And a lot of times these extra options for the declarative side is another case 00:13:01.013 --> 00:13:06.273 of, you know, by and large, most other systems don't have those options at all. 00:13:06.273 --> 00:13:10.533 Yes you're not really losing anything you're just not gaining anything in this particular case, 00:13:11.673 --> 00:13:15.233 that seems like a pretty reasonable compromise on nix because in some cases 00:13:15.233 --> 00:13:18.933 you will get the option to do declarative configuration and in some rare cases 00:13:18.933 --> 00:13:22.453 you won't but you can still run those things side by side. 00:13:22.453 --> 00:13:26.053 Yeah the author kind of goes on here to say this is why i have a notes file 00:13:26.053 --> 00:13:29.173 that enumerates all the manual steps i need to take to bring up that system 00:13:29.173 --> 00:13:32.393 with things like there's a list of you know manual options firefox extensions 00:13:32.393 --> 00:13:36.693 whatever and i think that is actually a pro-tip in disguise. 00:13:37.173 --> 00:13:40.993 You know, we often have those kinds of things, notes, commented bash script, 00:13:41.173 --> 00:13:43.053 whatever, in other distributions. 00:13:44.033 --> 00:13:47.333 And it's totally okay to have that with Nix and NixOS too. 00:13:47.473 --> 00:13:50.553 You know, like, I think there's this instinct that you have to put it all in 00:13:50.553 --> 00:13:53.013 the Nix config, and if you can, it's often great to do so. 00:13:54.161 --> 00:13:57.541 You know, you already get half the way there if you get stuff installed and 00:13:57.541 --> 00:14:00.201 then you have a documented approach to configure it from there. 00:14:00.341 --> 00:14:02.521 I mean, it's not ideal. Maybe it won't work for a thousand machines, 00:14:02.661 --> 00:14:06.401 but if you have two home servers and a workstation, it'll be totally fine. 00:14:06.521 --> 00:14:09.241 Well, then you have a really nice declarative base. So, you know, 00:14:09.361 --> 00:14:11.881 OK, the services are getting started this way. 00:14:12.461 --> 00:14:18.701 Docker got installed this way. And that is a really lean, mean fighting machine 00:14:18.701 --> 00:14:23.201 that is awesome to then run containers or VMs on top of. 00:14:23.201 --> 00:14:28.921 You got this nice reproducible base that has rollbacks and can easily roll forward. 00:14:29.081 --> 00:14:32.501 And then you've got the isolation of the applications and you could, 00:14:32.521 --> 00:14:34.061 you know, you could run it just that way. 00:14:34.201 --> 00:14:39.781 I think I want to talk about granular package control because that came up in this post. 00:14:39.881 --> 00:14:42.861 And Brent, there's a quote in here about the Nix solution and how it creates 00:14:42.861 --> 00:14:43.841 all this additional cruft. 00:14:43.961 --> 00:14:48.181 The Nix solution for this is to create an additional reference to the whole 00:14:48.181 --> 00:14:50.861 Nix packages repo at a certain checksum. 00:14:51.701 --> 00:14:56.661 Then have the package source that particular checksum the next way is not terrible 00:14:56.661 --> 00:15:02.721 but package pinning contributes to the cruft that will inevitably accumulate in your configs. 00:15:02.721 --> 00:15:05.621 Yeah the context here is like let's say you have a new release 00:15:05.621 --> 00:15:08.321 of a program and you're like you know it doesn't work for your use case 00:15:08.321 --> 00:15:11.381 you're waiting for the point one release to follow you like so you 00:15:11.381 --> 00:15:14.221 just you don't want to upgrade that one thing and yeah 00:15:14.221 --> 00:15:18.441 in nix often you would import a specific commit or maybe this is where you pull 00:15:18.441 --> 00:15:25.121 it from stable if you're running unstable on your system i think the you know 00:15:25.121 --> 00:15:29.261 if it's cruft or not is maybe a matter of perspective and i think there's also 00:15:29.261 --> 00:15:33.101 a factor of nix maybe makes it more apparent right like okay. 00:15:33.101 --> 00:15:35.761 Well first why do people call it cruft what do they mean is it because there's 00:15:35.761 --> 00:15:37.541 multiple versions lying around. 00:15:37.541 --> 00:15:42.061 I mean it's additional lines of code it's additional you know yeah copies in 00:15:42.061 --> 00:15:48.001 your disk usage and that's a theme we'll see here is cruft uh messy is another 00:15:48.001 --> 00:15:50.561 adjective used later on okay in the post. 00:15:50.801 --> 00:15:56.101 So I think there is this aspect of perceived organization, perhaps, 00:15:56.321 --> 00:16:02.041 or maybe what looks like a workaround or a hack, depending on how you're viewing it. 00:16:02.161 --> 00:16:02.261 Okay. 00:16:03.566 --> 00:16:08.906 I guess, to me, it seems like that is a, first of all, I don't have to directly 00:16:08.906 --> 00:16:11.446 interact with that crufter mess. There's tooling around that. 00:16:11.646 --> 00:16:14.426 And then, second of all, containers often have a lot of cruft, 00:16:14.566 --> 00:16:17.906 just as an aside. But with that, you get reproducibility. 00:16:18.146 --> 00:16:22.326 You get some guarantees that you don't otherwise have. That seems like a pretty 00:16:22.326 --> 00:16:24.206 fair tradeoff, especially on production systems. 00:16:24.466 --> 00:16:28.766 Yeah, right. So, in this case, like, okay, I have to go get a commit to the 00:16:28.766 --> 00:16:32.426 version that has the package that isn't broken or is the version that I need. 00:16:32.426 --> 00:16:35.386 And then I kind of have to like add that into my flake and I kind of have to 00:16:35.386 --> 00:16:38.866 thread it through and pass it through and then do the override so that like 00:16:38.866 --> 00:16:42.486 if I use the next package option, it uses the overwritten right version of the 00:16:42.486 --> 00:16:45.566 package and it's like a little bit of work in your config. That's definitely true. 00:16:46.026 --> 00:16:49.806 But the author says in Pac-Man based distros, I can just roll back a package 00:16:49.806 --> 00:16:53.766 to an old version in my cache and tell Pac-Man to ignore upgrades on that package. 00:16:54.226 --> 00:16:57.406 I think that counts as cruft just as much, if not more. 00:16:57.886 --> 00:17:01.366 And it's going to be hidden in your Pac-Man config and you have to rely on the 00:17:01.366 --> 00:17:03.886 mutable state of, do you have that in your cache? 00:17:04.006 --> 00:17:06.686 If you're going to set up another system, is that in Arches cache still? 00:17:07.486 --> 00:17:10.826 Yeah, it's inside the package manager. It's not defined anywhere in the system 00:17:10.826 --> 00:17:14.106 that you can go review and change later without having to interact again with the package manager. 00:17:14.206 --> 00:17:14.386 Right. 00:17:15.006 --> 00:17:20.166 Well, and I would argue as, you know, the author said, this is not really a 00:17:20.166 --> 00:17:25.906 desktop that they would recommend for a desktop Linux, even someone who's quite advanced. 00:17:26.446 --> 00:17:31.906 I think I'm fairly advanced compared to most computer users. 00:17:32.746 --> 00:17:40.106 And I've never felt the need to like pin an application like this in my everyday use of NixOS. 00:17:40.246 --> 00:17:42.326 Chris, I would imagine you haven't either. 00:17:42.726 --> 00:17:46.666 No, I mean, we have a couple of production apps that we've set once and never 00:17:46.666 --> 00:17:49.126 really had to bother with again, but that's about it. 00:17:50.774 --> 00:17:52.774 And I think it works pretty well for that use case. 00:17:52.954 --> 00:17:56.034 And do you think there are times where you want to pin if you're all unstable, say? 00:17:56.234 --> 00:17:58.654 Oh, yeah, sure, I can see that. Or if you have a lot of complicated changes 00:17:58.654 --> 00:18:02.494 and one package is broken and you don't care about updating that right now. 00:18:02.514 --> 00:18:02.794 Yes. 00:18:02.994 --> 00:18:08.474 You can also sometimes just uncomment it. Depending on how crucial it is for this particular time. 00:18:08.494 --> 00:18:08.974 That's my move. 00:18:09.254 --> 00:18:12.254 I mean, oftentimes you have it if it's just convenient because it's in the packages 00:18:12.254 --> 00:18:14.394 and it doesn't cost too much to have. 00:18:14.894 --> 00:18:18.714 I do think there's some truth, right? Like, on some systems, 00:18:18.954 --> 00:18:22.474 if I just wanted to upgrade one package, you can do that without updating the whole world. 00:18:22.614 --> 00:18:26.834 But again, you may be compromising your reproducibility of that system, 00:18:26.894 --> 00:18:29.214 and you now have more state. 00:18:29.474 --> 00:18:34.874 So it kind of comes down to how important is, you know, which version do you prefer? 00:18:35.274 --> 00:18:39.474 There's also, and we might talk about this more throughout, but you don't necessarily 00:18:39.474 --> 00:18:43.174 have to put everything in your system config, right? 00:18:43.174 --> 00:18:48.674 You can also have per project or per, you know, whatever flakes and stuff that 00:18:48.674 --> 00:18:51.414 have additional tools that can be pinned to differently. 00:18:51.634 --> 00:18:54.454 And that means you don't have to mess up your main config for that stuff. 00:18:54.574 --> 00:18:56.394 You also don't have to rebuild your whole config if you're just, 00:18:56.534 --> 00:18:58.974 you know, you don't, you need it all the time. I don't need it in every place, 00:18:58.974 --> 00:19:01.894 but I know that when I do specific activities, I just activate this environment. 00:19:01.894 --> 00:19:06.674 Right. So, you know, it's not a whole system thing. So that's the so-so system section. 00:19:06.954 --> 00:19:10.514 Let's move to the bad section. And I don't I don't want to make it sound like 00:19:10.514 --> 00:19:13.754 we are railing on the author here because like one of the things that they say 00:19:13.754 --> 00:19:16.734 is, quote, first off, I'm well aware that some of these issues mentioned below 00:19:16.734 --> 00:19:18.854 are likely exacerbated by my own faults. 00:19:18.874 --> 00:19:22.094 Like they're they fully acknowledge that they're not perfect. 00:19:22.294 --> 00:19:25.214 They're not like, you know, and I think we're not we're kind of using this as 00:19:25.214 --> 00:19:28.014 a discussion. We're not using this to like particularly go after them. 00:19:28.414 --> 00:19:31.974 But there is a couple of things in this bad section that I thought we should 00:19:31.974 --> 00:19:34.534 talk about and respond to. 00:19:35.594 --> 00:19:40.794 The author notes here it's possible that the fact that nix is always quote in 00:19:40.794 --> 00:19:44.814 the way between me and linux it may have soured me. 00:19:44.814 --> 00:19:49.514 I've heard this sentiment before it's in the way i just i just want to do x 00:19:49.514 --> 00:19:51.774 but i have to go through nix then i have to build it. 00:19:51.774 --> 00:19:56.434 I mean it is it that is true right i think this is where maybe it can be more 00:19:56.434 --> 00:20:01.254 difficult for experienced linux admins in particular i'll. 00:20:01.254 --> 00:20:03.514 Give you an example right adding 00:20:03.514 --> 00:20:05.954 a new user account for example you just want to i just want to add a new. 00:20:05.954 --> 00:20:08.594 User yeah user add i know the flags like no problem i. 00:20:08.594 --> 00:20:11.974 Don't want to have to like go add it to my config and then build a new version 00:20:11.974 --> 00:20:13.034 of my system with that user. 00:20:13.034 --> 00:20:16.734 And you know there's been research in this area and many people have talked 00:20:16.734 --> 00:20:20.674 about ideas of like could you do that and then have nix capture the stain and 00:20:20.674 --> 00:20:24.754 we may get to a place where you know tools ai tools who knows like can't reliably 00:20:24.754 --> 00:20:29.234 do that that may be something but for the moment you're right like you you really 00:20:29.234 --> 00:20:31.314 have to adapt to like, no, I'm not going to do that. 00:20:31.534 --> 00:20:35.274 To make this change, I have to go to my config file and put it there and then 00:20:35.274 --> 00:20:38.914 rebuild the system and now I'll get my user. And that can seem like handcuffs. 00:20:39.154 --> 00:20:43.354 That's, it's, I think what's at the root of that complaint is a workflow change. 00:20:43.494 --> 00:20:44.314 You know, if you talk about, 00:20:45.500 --> 00:20:49.580 The difference there, people that maybe are already living like a DevOps workflow 00:20:49.580 --> 00:20:53.240 where they're making their changes and then they're putting it up on GitHub, 00:20:53.720 --> 00:20:54.520 right? They're checking it out. 00:20:54.820 --> 00:20:58.700 They have version control. And then, you know, they're pulling it down on systems 00:20:58.700 --> 00:21:01.980 like they are already living in a world where if they want to make that kind 00:21:01.980 --> 00:21:05.780 of change, they go make that change somewhere else and then push it to the system. 00:21:05.920 --> 00:21:10.000 So for them, it's not really that much of a transition. But if you're maybe, 00:21:10.140 --> 00:21:13.500 again, saying you're typically used to Ubuntu, Fedora, or Arch, 00:21:13.600 --> 00:21:17.820 and you just want to add a user, this feels like it's, quote, in the way, I think. 00:21:18.020 --> 00:21:21.340 It reminds me, it's maybe not a perfect analogy, but I think there's at least 00:21:21.340 --> 00:21:23.540 something because Nix is a functional programming language. 00:21:23.700 --> 00:21:28.480 And in the development area, I have found that it can be sometimes more difficult 00:21:28.480 --> 00:21:32.280 for experienced object-oriented programmers to adopt a functional style than 00:21:32.280 --> 00:21:35.840 it is if you're teaching someone who's a less experienced programmer. 00:21:36.320 --> 00:21:37.840 You know, there's just less unlearning. 00:21:37.840 --> 00:21:42.360 Yeah, there's less to unlearn and there's less bias towards how things should 00:21:42.360 --> 00:21:43.800 be working or how you expect them to work. 00:21:43.880 --> 00:21:46.540 Right. And if you don't have that expectation, maybe you can be a little more 00:21:46.540 --> 00:21:50.660 free to try several different approaches and land on the one that's a more natural 00:21:50.660 --> 00:21:52.000 fit for the environment you're in. 00:21:52.000 --> 00:21:58.240 I'd like to argue that my personal experience with the Nix config is that the 00:21:58.240 --> 00:22:04.800 abstraction is actually a superpower for me because I've often struggled with, 00:22:05.060 --> 00:22:06.860 oh yeah, how do I do that user thing again? 00:22:06.860 --> 00:22:09.080 And the last time I did that was like a year and a half ago, 00:22:09.080 --> 00:22:11.020 and I don't quite remember how to do that. 00:22:11.180 --> 00:22:18.280 And so I have this vast directory of notes of like just quick hints to myself 00:22:18.280 --> 00:22:23.460 of how to do these like Linux-y commands that I only do once in a while. 00:22:24.140 --> 00:22:28.420 And I found that the abstraction in the NixOS config was actually really nice 00:22:28.420 --> 00:22:34.500 for someone like me because, A, it's there and I can see exactly what's being defined in the system. 00:22:34.500 --> 00:22:40.040 But also a new user is like a copy paste away and it's super straightforward and i don't, 00:22:41.517 --> 00:22:47.657 pretend to understand the nix language at all but like a quick copy and paste 00:22:47.657 --> 00:22:53.337 for something like a new user for me is a super nice uh use case that i find 00:22:53.337 --> 00:22:58.417 is making my linux life actually much simpler which i really appreciate. 00:22:58.417 --> 00:23:01.557 Right if you don't have to unlearn the part where you're like i already know 00:23:01.557 --> 00:23:05.357 how to do this then just knowing that oh there's this there's gonna be one spot 00:23:05.357 --> 00:23:08.817 that i know that i will have to do this can kind of be nice and simple. 00:23:08.817 --> 00:23:12.257 Brent there was that section in the blog, too, where he kind of tries to warn 00:23:12.257 --> 00:23:14.817 off even experienced Linux users. 00:23:14.977 --> 00:23:19.997 I'm on the fence if Linux is better for experienced or new Linux users. 00:23:20.317 --> 00:23:23.357 But this point is driven home when I find at Nix conferences, 00:23:23.357 --> 00:23:27.437 a bunch of high schoolers who package Nix derivations for fun. 00:23:27.737 --> 00:23:32.577 Perhaps I'm not the best developer, or maybe my experience is what's actually in the way. 00:23:32.977 --> 00:23:37.417 Also, the fact that I don't like the Nix language may be due to my middle-aged 00:23:37.417 --> 00:23:40.837 brain being hard to teach new tricks? I don't know. 00:23:41.697 --> 00:23:44.977 I think this is another area where, I mean, it may be that there is just more 00:23:44.977 --> 00:23:49.197 barrier of you expect things to work a certain way. Maybe you're not especially 00:23:49.197 --> 00:23:50.337 interested, which is totally fine. 00:23:50.457 --> 00:23:53.717 Nix doesn't need to be for everyone. And it is a very different approach than 00:23:53.717 --> 00:23:57.377 a lot of mainstream DevOps and even programming tools. 00:23:57.677 --> 00:24:01.837 Going back to that changelog quote where their guest said, it's kind of like a 1950s sci-fi novel. 00:24:03.697 --> 00:24:10.017 The bit where I agree is i think the the switch that i had in my head even though 00:24:10.017 --> 00:24:15.217 i don't really even understand you know a part of of the nix language like. 00:24:15.217 --> 00:24:18.317 I don't think could either of you identify a nix function or you know write 00:24:18.317 --> 00:24:21.557 a hello world or a function that takes in a number and adds one to it. 00:24:21.557 --> 00:24:25.437 I could definitely reproduce one if i saw one yeah but i don't know i could 00:24:25.437 --> 00:24:29.637 write it from scratch no and i and i have never needed to yet maybe one day 00:24:29.637 --> 00:24:33.997 i will and i've kind of taken i had this shift when I've, 00:24:34.017 --> 00:24:38.137 after we tried the next challenge and I wrapped my head around immutability 00:24:38.137 --> 00:24:44.077 and then I wrapped my head around Nick's the shift that I had was this kind of, Oh. 00:24:45.550 --> 00:24:49.830 We should have always been doing it this way. This is how computers should always 00:24:49.830 --> 00:24:53.670 be because now you're programming the machine through the whole stack. 00:24:53.890 --> 00:24:58.450 It's no longer kind of this black box where I go in and I adjust various vague 00:24:58.450 --> 00:25:00.070 settings throughout the entire stack. 00:25:00.270 --> 00:25:03.070 And then the machine sits there and reproduces what I want for a while. 00:25:03.130 --> 00:25:06.330 But then I change something like I upgrade. It's fragile and it no longer does 00:25:06.330 --> 00:25:08.930 the thing. That's not how it works with Nix. 00:25:09.670 --> 00:25:14.670 And it should never have gone the way it has. And so once you kind of look at 00:25:14.670 --> 00:25:17.090 it and go, oh, this is you need to program the machine. 00:25:17.490 --> 00:25:18.730 It's a machine that needs to 00:25:18.730 --> 00:25:22.210 be told what to do and it needs to be told what to do in a specific way. 00:25:22.370 --> 00:25:25.330 And if you do it, you can reproduce that and you can tell all the machines to 00:25:25.330 --> 00:25:27.990 do it this way. And that's how we should be doing this. 00:25:28.490 --> 00:25:33.890 And so when something doesn't work for me, I don't think of Nix as doing it wrong. 00:25:34.150 --> 00:25:38.270 I think of, oh, we've probably had a bad practice of how we've been packaging, 00:25:38.430 --> 00:25:40.910 how we've been distributing, how we've been running this thing. 00:25:41.570 --> 00:25:46.530 And that needs to be addressed. and Nix gives me the tooling and the runway 00:25:46.530 --> 00:25:50.050 to learn how to actually make it feasible and how to actually do it. 00:25:50.170 --> 00:25:54.790 And there has been multiple times now where something's not available or it's not the right version. 00:25:54.930 --> 00:25:59.070 And in the past, we never would have created a deb or an RPM out of it because 00:25:59.070 --> 00:26:00.430 of the massive complexity. 00:26:00.630 --> 00:26:03.630 But now in-house, it's something we can actually do. 00:26:03.890 --> 00:26:08.350 And it does take a little bit of upfront work, but that works done once and 00:26:08.350 --> 00:26:13.350 then it pays dividends for years and when i had that kind of realization i stopped 00:26:13.350 --> 00:26:17.230 thinking of oh it's such a pain in the butt that i have to use you know the 00:26:17.230 --> 00:26:20.310 config file to add a user account i just want to use user ad. 00:26:21.510 --> 00:26:25.130 No i probably should have always been defining them this way and then now when 00:26:25.130 --> 00:26:28.070 i lift that config and i drop it on my new machine guess what my user accounts 00:26:28.070 --> 00:26:31.290 there it's using the fish shell it's in all the right groups every single time. 00:26:31.290 --> 00:26:36.770 I think you're hitting on you know there's a strong philosophy behind Nix and NixOS. 00:26:37.050 --> 00:26:41.010 And there are times where that puts it very at odds with traditional approaches 00:26:41.010 --> 00:26:42.770 and what people are familiar with. 00:26:42.890 --> 00:26:46.310 And sometimes it's just pure painful, you know, it could just be better outright. 00:26:47.250 --> 00:26:50.610 So I do think if you are going to adopt Nix and NixOS, 00:26:50.790 --> 00:26:55.570 it helps to really vibe with and get and be on board with the philosophy because 00:26:55.570 --> 00:27:00.610 sometimes that explains why you may want to make certain trade-offs or be doing 00:27:00.610 --> 00:27:03.650 something and bearing the cost of doing something in a particular way. 00:27:03.910 --> 00:27:07.070 Because it's serving a larger, maybe abstract goal. 00:27:07.390 --> 00:27:12.370 Well, the author continues here, using a Nix system often feels like using a programming language. 00:27:12.590 --> 00:27:17.290 There are many ways to do the same thing, different philosophies, old ways, new ways, etc. 00:27:17.890 --> 00:27:21.630 I mean, certainly true. One aspect is like, I mean, it is a programming language. 00:27:21.890 --> 00:27:25.270 This is sort of embedded in a larger discourse, I think, in the world of configuration 00:27:25.270 --> 00:27:27.130 management. You have... 00:27:28.059 --> 00:27:33.199 Things that are aiming to be declaratively done in more of a configuration language, 00:27:33.519 --> 00:27:39.079 like the proliferation of YAML files everywhere, like a YAML file for Ansible. 00:27:39.239 --> 00:27:41.739 Although Ansible's done a lot on top, you know, see the article, 00:27:42.019 --> 00:27:44.619 Ansible is a lisp, for instance, for all the things you can do with it. 00:27:45.299 --> 00:27:48.919 But contrast that with Chef, which is no longer as popular, but for a while 00:27:48.919 --> 00:27:54.539 was, which used specifically a domain-specific language in Ruby to be a programming language. 00:27:54.759 --> 00:27:57.219 And Nix is kind of on this side of the spectrum. 00:27:57.779 --> 00:28:01.799 Personally, that's my preference. I think it does mean you need to manage, 00:28:02.099 --> 00:28:03.419 you know, don't go too crazy with it. 00:28:03.499 --> 00:28:07.879 You do kind of want it to not be, you know, way out there. You want some standardization. 00:28:08.079 --> 00:28:11.419 But I think we have seen that oftentimes if you go the other route, 00:28:11.519 --> 00:28:14.879 you end up having to re-implement programming on top of YAML, 00:28:14.959 --> 00:28:16.459 like look at CloudFormation templates. 00:28:16.759 --> 00:28:19.199 Yeah, and you're often kicking out to bash scripts at the end of the day and 00:28:19.199 --> 00:28:21.319 whatnot to really do some of the fine touches and whatnot. 00:28:21.459 --> 00:28:24.839 But I do think it's totally fair, right? Like Flakes is a big thing that's made 00:28:24.839 --> 00:28:25.959 this all more complicated. 00:28:26.419 --> 00:28:31.239 There does if you are going to dive into actually writing nix the language it 00:28:31.239 --> 00:28:34.279 doesn't mean you're going to have to learn all the stuff that goes along with 00:28:34.279 --> 00:28:37.399 writing a language which is developing the sense of taste and how you like to 00:28:37.399 --> 00:28:39.179 do it and which way you should do it. 00:28:39.179 --> 00:28:44.339 And i think that is a key insight right there is you kind of look at approaching 00:28:44.339 --> 00:28:48.719 building a nick system like you might approaching maybe a software project at 00:28:48.719 --> 00:28:53.039 certain high levels and so you use the same tooling and And so a common complaint 00:28:53.039 --> 00:28:54.939 you'll see, it's in our chat room right now, 00:28:55.259 --> 00:28:58.459 probably the number one complaint is the next documentation's bad. 00:28:58.819 --> 00:29:01.559 And then adjacent to that, the next error messages are bad. 00:29:02.354 --> 00:29:06.114 And for everyday sysadmins and people that have been using Ubuntu, 00:29:06.234 --> 00:29:08.754 Fedora, and DNF, and Apt, absolutely true. 00:29:09.254 --> 00:29:13.914 For a developer, pretty par for the course, the type of messages you get back from a system. 00:29:13.914 --> 00:29:18.854 And with tooling like Claude and ChatGPT and Llama, 00:29:19.094 --> 00:29:23.994 you can actually take these error messages and you can derive substantial information 00:29:23.994 --> 00:29:30.374 from them and quickly get to resolutions that are not actually as commonly available 00:29:30.374 --> 00:29:33.514 to say something on Fedora or Ubuntu, Arch, et cetera. 00:29:34.114 --> 00:29:38.554 Because it's a programming thing. It's a syntax thing often. 00:29:38.734 --> 00:29:41.994 It's a language thing. And that's what these things excel at. 00:29:41.994 --> 00:29:45.674 And they can produce configurations that you can then riff off of and tweak 00:29:45.674 --> 00:29:48.954 to your needs in a way that you just don't really get when you're trying to 00:29:48.954 --> 00:29:51.474 troubleshoot a problem on a Debian system. 00:29:51.694 --> 00:29:54.554 Yeah, this was another area where I think we had some divergence with the author 00:29:54.554 --> 00:29:58.834 because they kind of write here speaking about, you know, figuring out and debugging. 00:29:59.594 --> 00:30:04.794 And when I've exhausted all my options, I find myself turning to chat GPT to straighten things out. 00:30:05.154 --> 00:30:08.634 Sometimes it's helpful, but like most things, it ends up producing the same 00:30:08.634 --> 00:30:10.594 spaghetti that I was dealing with in the first place. 00:30:10.594 --> 00:30:13.634 Garbage in garbage out and like that is definitely true 00:30:13.634 --> 00:30:17.214 right garbage in garbage out especially with llms i think 00:30:17.214 --> 00:30:20.374 it probably does like we've probably all experimented and 00:30:20.374 --> 00:30:23.074 found some ways work well in some ways don't in terms 00:30:23.074 --> 00:30:26.034 of interacting with nix and llms in particular i found that 00:30:26.034 --> 00:30:29.234 most of them are a lot worse at generating 00:30:29.234 --> 00:30:32.254 nix code and even nix configurations they can 00:30:32.254 --> 00:30:34.934 do like a basic rust or go module package or something like 00:30:34.934 --> 00:30:37.894 that they can do very basic nix system configs but what 00:30:37.894 --> 00:30:42.134 they are good at doing is making changes to them tweaking them finding syntax 00:30:42.134 --> 00:30:44.974 errors yeah finding syntax areas pointing you at things where you maybe have 00:30:44.974 --> 00:30:51.794 a typo uh and if you can do the paste your config and your stack trace or you 00:30:51.794 --> 00:30:55.374 know your trace back they're also good at suggesting areas to look at. 00:30:55.374 --> 00:30:58.474 That's just it that is just it and it's been really powerful. 00:30:58.474 --> 00:31:02.574 Which i think is fair like nix tracing could be a lot better i'm hopeful that 00:31:02.574 --> 00:31:06.414 eventually that will improve yeah uh so i'm glad to see that there are some 00:31:06.414 --> 00:31:08.354 things, but it is a real concern that we should acknowledge. 00:31:08.734 --> 00:31:12.614 Wes, I'm quite happily going to disagree with your first point that it's not 00:31:12.614 --> 00:31:18.414 very good at producing configs because I have found a recent superpower of mine 00:31:18.414 --> 00:31:25.354 is to use perplexity to help me solve problems to integrate into my config. 00:31:25.654 --> 00:31:30.014 So, Hey, I want to add this new application and I've never used it before. 00:31:30.194 --> 00:31:32.634 What's the best way to go about that? 00:31:33.656 --> 00:31:36.656 To use an LLM to help me with that 00:31:36.656 --> 00:31:41.336 scenario instead of pouring through the documentation or people's blog posts 00:31:41.336 --> 00:31:48.476 has gotten me to answers within a couple minutes and really helped me build 00:31:48.476 --> 00:31:54.596 out my system in a way that has felt a lot more natural than it has even six 00:31:54.596 --> 00:31:56.416 months ago when I wasn't using that technique. 00:31:56.416 --> 00:32:00.736 So I think, actually, there's a lot of power in it. 00:32:00.756 --> 00:32:04.276 And I found some great success using especially Perplexity to do just that. 00:32:04.556 --> 00:32:08.336 And it provides references. So if I want to go read the documentation to get 00:32:08.336 --> 00:32:12.396 more info, that has been a really nice path for me. So that's my new workflow. 00:32:12.956 --> 00:32:16.036 I love it. And it's a great reminder, too, that, you know, especially with these 00:32:16.036 --> 00:32:18.696 tools, they're constantly changing and they're only going to get better next. 00:32:18.696 --> 00:32:23.016 And as Magnolia Mayhem points out in our live chat, if you have the fancy version 00:32:23.016 --> 00:32:28.276 of chat GPT, you know, where you pay like 20 bucks a month, you can get access to custom GPTs. 00:32:28.356 --> 00:32:31.796 And there's a couple of good ones in there for NICs that are trained on NICs. 00:32:31.856 --> 00:32:33.356 So they're a little bit better than the average quality. 00:32:33.856 --> 00:32:37.496 Well, I want to jump ahead, though, because the author, I mean, 00:32:37.556 --> 00:32:39.576 it's an extensive piece. And, of course, we'll link to it in the show notes 00:32:39.576 --> 00:32:40.216 if you want to read it yourself. 00:32:41.056 --> 00:32:45.276 But they do talk about something that I think is true and is a current problem for NICs. 00:32:46.476 --> 00:32:52.496 And that's the CDN. CDN is a huge burden right now and it's massive and we've 00:32:52.496 --> 00:32:57.356 talked about this but TLDR Wes is this is sort of like what you get with Nix 00:32:57.356 --> 00:32:59.916 is this massive massive sprawling CDN. 00:32:59.916 --> 00:33:04.996 Yeah I mean you know you you end up having to build because you have this functional 00:33:04.996 --> 00:33:08.676 closure right where you have this sort of root and everything builds off of 00:33:08.676 --> 00:33:12.916 that and if you change something low down near the root you kind of have to 00:33:12.916 --> 00:33:19.216 rebuild everything after that so you have just sort of a you know the functional nature, 00:33:19.336 --> 00:33:20.896 the reproducible nature of it imposes, 00:33:22.408 --> 00:33:29.148 More disk usage. And also, to make it so that you don't have to run a Gen2-like system, 00:33:29.488 --> 00:33:34.268 you know, there is a massive cache and big build servers to handle doing that 00:33:34.268 --> 00:33:38.048 so that you get closer to like an Arch-type experience in many ways. 00:33:38.248 --> 00:33:41.348 And that creates a burden for the NixOS Foundation. 00:33:42.128 --> 00:33:48.468 I do think, you know, we saw last year that one of the reasons for that is at 00:33:48.468 --> 00:33:51.948 the moment, or at least then, they literally hadn't deleted anything basically 00:33:51.948 --> 00:33:54.508 since, you know, sometime ages ago. 00:33:54.728 --> 00:33:58.748 So it wasn't just the cache for like the current stuff or the last couple of 00:33:58.748 --> 00:34:01.788 years. It's like it's all the inputs and it's all the outputs. 00:34:02.008 --> 00:34:06.768 So they were looking at doing some fancy like extended extend the next garbage 00:34:06.768 --> 00:34:09.168 collection algorithm to work through the cache kind of thing. 00:34:09.728 --> 00:34:13.508 So I'm hopeful this can be improved. It's also, I think, one of the bigger things 00:34:13.508 --> 00:34:18.088 on the foundation's agenda in terms of long-term support for the project. 00:34:18.248 --> 00:34:20.768 Yeah. And maybe we'll get an update at Planet Nix this year. 00:34:20.868 --> 00:34:24.908 I would hope to see one because that was sort of one of the big issues identified there. 00:34:25.608 --> 00:34:28.008 And it's a source of where they need funding, too, I think. 00:34:28.928 --> 00:34:34.328 You, Wes, found a brilliant clip that I think really encapsulates this, 00:34:34.408 --> 00:34:36.148 even though it's not about Nix at all. 00:34:36.148 --> 00:34:42.888 Uh yeah so this is a talk from rich hickey the creator of closure from i think way back in 2011, 00:34:43.648 --> 00:34:48.608 uh and rich rich likes to get into word definitions and sort of explore the 00:34:48.608 --> 00:34:51.908 history of things we're not gonna play all of it but in this talk he's exploring 00:34:51.908 --> 00:34:55.528 the words simple and easy so. 00:34:55.528 --> 00:34:56.108 Let's look at easy, 00:34:57.346 --> 00:35:01.766 I think this notion of nearness is really, really cool. In particular, 00:35:02.426 --> 00:35:04.786 obviously, there's many ways in which something can be near. 00:35:05.566 --> 00:35:07.646 There's sort of the physical notion of being near. 00:35:08.606 --> 00:35:14.486 Is something right there? And I think that's where the root of the word came from. 00:35:14.806 --> 00:35:18.486 This is easy to obtain because it's nearby. It's not in the next town. 00:35:18.566 --> 00:35:21.366 I don't have to take a horse or whatever to go get to it. 00:35:21.486 --> 00:35:24.506 We don't have the same notion of physicality necessarily in our software, 00:35:24.506 --> 00:35:30.766 But we do sort of have our own hard drive or our own tool set or sort of the 00:35:30.766 --> 00:35:36.246 ability to make things physically near by getting them through things like installers and stuff like that. 00:35:36.866 --> 00:35:42.686 The second notion of nearness is something being near to our understanding or 00:35:42.686 --> 00:35:44.166 in our current skill set. 00:35:44.566 --> 00:35:50.286 And I don't mean in this case near to our understanding meaning a capability. 00:35:50.526 --> 00:35:53.366 I mean literally near something that we already know. 00:35:53.946 --> 00:35:57.526 So the word in this case is about being familiar. 00:35:59.806 --> 00:36:05.406 I think that collectively we are infatuated with these two notions of easy. 00:36:05.626 --> 00:36:12.326 We are just so self-involved in these two aspects. It's hurting us tremendously. 00:36:12.826 --> 00:36:16.786 All we care about is, you know, can I get this instantly and start running it in five seconds? 00:36:17.206 --> 00:36:21.746 It could be this giant hairball that you got, but all you care is, you know, can you get it? 00:36:23.366 --> 00:36:27.206 In addition, we're fixated on, oh, I can't read that. 00:36:29.346 --> 00:36:35.346 I can't read German. Does that mean German is unreadable? No. I don't know German. 00:36:37.146 --> 00:36:41.326 So this sort of approach is definitely not helpful. 00:36:41.606 --> 00:36:45.726 In particular, if you want everything to be familiar, you will never learn anything 00:36:45.726 --> 00:36:49.166 new because it can't be significantly different from what you already know and 00:36:49.166 --> 00:36:51.346 not drift away from the familiarity. Okay. 00:36:52.618 --> 00:36:57.578 There's a third aspect of being easy that I don't think we think enough about, 00:36:58.318 --> 00:37:03.818 that's going to become critical to this discussion, which now is being near to our capabilities. 00:37:04.918 --> 00:37:08.378 And we don't like to talk about this because it makes us uncomfortable because 00:37:08.378 --> 00:37:10.178 what kind of capabilities are we talking about? 00:37:10.318 --> 00:37:14.778 If we're talking about easy in the case of violin playing or piano playing or 00:37:14.778 --> 00:37:19.718 mountain climbing or something like that, well, you know, I don't personally 00:37:19.718 --> 00:37:23.638 feel bad if I don't play the violin well because I don't play the violin at all. 00:37:24.938 --> 00:37:29.618 But the work that we're in is conceptual work. So when we start talking about 00:37:29.618 --> 00:37:36.158 something being outside of our capability, it really starts trampling on our egos in a big way. 00:37:37.218 --> 00:37:43.878 And due to a combination of hubris and insecurity, we never really talk about 00:37:43.878 --> 00:37:45.798 whether or not something is outside of our capabilities. 00:37:46.118 --> 00:37:51.598 It ends up that it's not so embarrassing after all. 00:37:51.778 --> 00:37:55.218 Because we don't have tremendously divergent abilities in that area. 00:37:56.518 --> 00:38:00.518 The last thing I want to say about easy, and the critical thing to distinguish 00:38:00.518 --> 00:38:03.258 it from simple, is that easy is relative. 00:38:04.398 --> 00:38:07.858 Playing the violin and reading German are really hard for me. 00:38:08.598 --> 00:38:10.998 They're easy for other people, certain other people. 00:38:12.178 --> 00:38:15.458 So unlike simple, where we can go and look for interleavings, 00:38:15.578 --> 00:38:18.838 look for braiding, easy is always going to be easy for whom? 00:38:19.678 --> 00:38:22.858 Or hard for whom? It's a relative term. 00:38:23.398 --> 00:38:26.218 The fact that we throw these things around sort of casually saying, 00:38:26.418 --> 00:38:29.218 oh, I like to use that technology because it's simple, and when I'm saying simple, 00:38:29.298 --> 00:38:33.138 I mean easy, and when I'm saying easy, I mean because I already know something 00:38:33.138 --> 00:38:34.658 that looks very much like that, 00:38:34.938 --> 00:38:39.058 is how this whole thing degrades, and we can never have an objective discussion 00:38:39.058 --> 00:38:43.038 about the qualities that matter to us in our software. 00:38:46.682 --> 00:38:53.462 1Password.com slash unplugged. That's all lowercase. It's the number 1Password.com slash unplugged. 00:38:53.922 --> 00:38:56.782 Imagine your company's security is like the quad of a college campus. 00:38:56.962 --> 00:39:01.302 You have those nice brick paths between the buildings, and those are your company-owned devices. 00:39:01.462 --> 00:39:05.142 You know what I mean? The IT-approved apps and the managed identities of your employees. 00:39:05.842 --> 00:39:08.902 And then there's the past that people actually use. You know, 00:39:08.982 --> 00:39:12.782 the shortcuts worn through the grass, the actual straight line from point A 00:39:12.782 --> 00:39:17.062 to point B. Those are like your unmanaged devices or your shadow IT apps or 00:39:17.062 --> 00:39:20.182 maybe non-employee identities, things like contractors, everyday stuff. 00:39:20.822 --> 00:39:25.542 The reality is most security tools, they only work on those happy brick paths. 00:39:26.142 --> 00:39:30.062 But a lot of the security problems take place on the shortcuts. 00:39:31.162 --> 00:39:35.942 1Password Extended Access Management is the first security solution that brings 00:39:35.942 --> 00:39:40.362 all these unmanaged devices, apps, and identities under your control. 00:39:40.362 --> 00:39:43.482 It ensures that every user's credential is strong and protected. 00:39:43.702 --> 00:39:47.382 Every device is known and healthy, and every app is visible. 00:39:47.962 --> 00:39:51.762 1Password Extended Access Management solves problems traditional IAMs and MDMs 00:39:51.762 --> 00:39:55.462 just can't touch. It's security for the way we actually work today. 00:39:55.782 --> 00:39:59.142 And it's generally available with companies that have Okta, Microsoft Enter, 00:39:59.242 --> 00:40:02.142 or it's in beta for Google Workspace customers, too. 00:40:02.522 --> 00:40:07.482 I love 1Password and how they make this so straightforward, because it is very 00:40:07.482 --> 00:40:11.462 hard to strike the balance between something that makes IT happy and something 00:40:11.462 --> 00:40:14.862 that makes the end users happy and doesn't pit the two groups against each other. 00:40:15.162 --> 00:40:19.262 That's what they've done. Plus, you already know 1Password's award-winning password manager. 00:40:19.382 --> 00:40:23.522 It's trusted by millions of users, over 150,000 businesses from IBM to Slack. 00:40:24.022 --> 00:40:28.742 And did you know 1Password has regular third-party audits and the industry's 00:40:28.742 --> 00:40:33.322 largest bug bounty? Because 1Password exceeds the standards set by various authorities 00:40:33.322 --> 00:40:35.122 and leaders in the security industry. 00:40:35.622 --> 00:40:39.542 Secure every app, every device, and every identity, even the unmanaged ones. 00:40:39.982 --> 00:40:47.262 1password.com slash unplugged. All lowercase. That's the number 1password.com slash unplugged. 00:40:50.336 --> 00:40:54.156 Now, the author here talks about reaching Nix nirvana. Here's a quote. 00:40:54.376 --> 00:40:58.236 You will often hear the trope that there is a high learning curve to Nix, 00:40:58.436 --> 00:41:01.156 but then you'll reap major benefits going forward. 00:41:01.816 --> 00:41:06.696 I find this to be mostly true, particularly if you are just deploying some simple 00:41:06.696 --> 00:41:11.556 services or just love Nix and want to spend your days in Nixing things. 00:41:11.796 --> 00:41:15.676 But if that's not your case, there's no real getting ahead here. 00:41:15.896 --> 00:41:20.136 It's true. You may always be seeing the amazing benefits of Nix. 00:41:20.336 --> 00:41:25.276 But you will also constantly be struggling with or mucking with configs. 00:41:26.016 --> 00:41:29.576 This is where many of us find ourselves, Nix purgatory. 00:41:29.856 --> 00:41:34.076 You have seen the light and can't imagine going back to the disorganized chaos 00:41:34.076 --> 00:41:37.116 of the old days, but damn, Nix is painful. 00:41:37.416 --> 00:41:39.756 I guess ignorance really was bliss. 00:41:40.076 --> 00:41:46.356 Or, as one user put it, Nix OS is shit. The problem is, all other OSs are even worse. 00:41:47.276 --> 00:41:51.256 Yeah, I was really curious to explore this. One, because we've seen other people 00:41:51.256 --> 00:41:54.876 in our community kind of comment that they resonated with some of this. 00:41:55.256 --> 00:41:58.436 And then I wanted to just, I think there's something interesting going on because, 00:41:58.696 --> 00:42:01.556 I mean, I really like Nix, but I was kind of always going to like it because 00:42:01.556 --> 00:42:03.716 I'm a weird functional programmer guy anyway. 00:42:04.416 --> 00:42:09.676 But you two are having a great time with Nix. You've deployed it for family members. 00:42:09.956 --> 00:42:11.236 We don't come from a programming background. 00:42:11.436 --> 00:42:14.256 No, right? Like you don't, you're not writing a bunch of modules and flakes. 00:42:14.576 --> 00:42:16.516 And Brent's brother really loves Nix too. 00:42:16.516 --> 00:42:20.676 Well, and I can easily explain why if you're interested. 00:42:20.896 --> 00:42:26.056 And it's because the reproducibility of previous Linux systems, 00:42:26.276 --> 00:42:28.836 you know, whenever I just mentioned that my brother, you know, 00:42:28.876 --> 00:42:30.036 I got a new laptop recently. 00:42:30.216 --> 00:42:33.556 Well, putting Nix on there was like super fast because everything was already 00:42:33.556 --> 00:42:36.996 set up and he could just like deploy it and it was done. 00:42:36.996 --> 00:42:43.376 Where previously it was like a multi-hour process to try to approximate where 00:42:43.376 --> 00:42:48.016 you had been, and yet it'll take you two weeks to remember all the things you needed to get there. 00:42:48.016 --> 00:42:52.576 Yeah, yeah, that's true. I think there's also, I've heard this before, 00:42:52.816 --> 00:42:56.976 the sentiment is echoed in this quote that Brent read here about how he's always 00:42:56.976 --> 00:42:58.156 mucking with his configs. 00:42:59.696 --> 00:43:04.716 And so when I read that line, I went and looked, and the last time I updated 00:43:04.716 --> 00:43:08.936 my Nix config was like the first week of December of 2024. 00:43:10.186 --> 00:43:14.026 I don't, I think maybe when I first was getting my system set up, 00:43:14.526 --> 00:43:17.686 maybe I mucked with my config, you know, every couple of days. 00:43:18.546 --> 00:43:21.466 But once the system's set up, I don't really ever touch the config. 00:43:21.686 --> 00:43:25.046 No, I go through periods of like, oh, I'm trying to get X to work and then I 00:43:25.046 --> 00:43:27.526 figure that out and then it kind of just sits there. 00:43:27.686 --> 00:43:27.846 Yeah. 00:43:28.246 --> 00:43:32.126 I also, you know, and maybe this is another matter of how you want to use your machine. 00:43:32.126 --> 00:43:38.406 I think you do, I in practice run my NixOS desktops a little different than I did my Arch. 00:43:38.406 --> 00:43:41.386 You know art to be kind of you just didn't get in that loop where 00:43:41.386 --> 00:43:46.366 every time you open a terminal you do a syu yeah uh i do not do that with nyx 00:43:46.366 --> 00:43:51.346 really at all uh maybe like once a week you know yeah and i think that can help 00:43:51.346 --> 00:43:54.866 especially if you're on unstable just in terms of random broken packages but 00:43:54.866 --> 00:43:58.986 also just reducing the amount of you know big old closure that you have to download, 00:43:59.486 --> 00:44:03.226 so i think there's i don't know i find that there's 00:44:03.226 --> 00:44:05.906 a promise of nyx and nyx os and it's like 00:44:05.906 --> 00:44:09.026 very pure and very declarative and in 00:44:09.026 --> 00:44:11.946 truth we probably are only 60 70 80 00:44:11.946 --> 00:44:14.886 percent of the way there and i find 00:44:14.886 --> 00:44:18.466 personally that a key is kind of recognizing where you're okay with those trade-offs 00:44:18.466 --> 00:44:22.766 because you can get a crazy amount of benefit and then if you're just okay with 00:44:22.766 --> 00:44:26.126 like drawing the line sometimes i mean like i will come back to this i don't 00:44:26.126 --> 00:44:29.946 care about that this much the author has this example of they were kind of fighting 00:44:29.946 --> 00:44:32.886 with the declarative integration of flat pack management with Nix OS, 00:44:33.186 --> 00:44:38.406 that's one area where that's not as crucial to me, right? 00:44:38.486 --> 00:44:42.286 Like that's one area where a bash script with all of my Flatpaks in a loop that 00:44:42.286 --> 00:44:45.386 installs them is probably going to be about as good in a lot of ways. 00:44:45.666 --> 00:44:49.006 And that would be fine if I was having problems with the thing in there and 00:44:49.006 --> 00:44:50.286 I wouldn't lose a lot of sleep over it. 00:44:50.286 --> 00:44:53.886 That is a great example. There are folks that come up with ways to declaratively 00:44:53.886 --> 00:44:59.866 install their Flatpaks, but But I just use my Nix config to enable Flatpak, 00:45:00.046 --> 00:45:05.726 and then I just add the FlatHub repo, and then I just kind of go shopping when I set up a Nix system. 00:45:06.186 --> 00:45:10.626 And I guess I sort of – I have like a core set of packages that I install from the Nix repo. 00:45:11.266 --> 00:45:15.466 And then a whole bunch of stuff – and this is just how I've approached all immutable distributions. 00:45:15.826 --> 00:45:19.606 A whole bunch of the user space stuff I just do via manual Flatpak installs 00:45:19.606 --> 00:45:22.826 because, well, I'm feeling like doing Brave this install, or this time I'm feeling 00:45:22.826 --> 00:45:27.746 like doing Zed, you know, and I just use – So yeah, for me, I think what you're getting at is, 00:45:29.271 --> 00:45:33.151 You can take it to the exponential level where your individual text editor is 00:45:33.151 --> 00:45:36.351 getting its extensions and its fonts and everything is set by Nix. 00:45:37.051 --> 00:45:40.131 And the further you take that, the more you're going to tinker, 00:45:40.271 --> 00:45:42.971 the more edge cases you're going to hit and the more frustration you'll hit. 00:45:43.771 --> 00:45:47.311 But you can back that line up a little bit to Wes's point. You can back that 00:45:47.311 --> 00:45:48.311 up a little bit and say, you know what? 00:45:48.451 --> 00:45:52.911 I'll just install the flat packs that I want and then I'll go into Zed and I'll 00:45:52.911 --> 00:45:54.251 add the line about my font size. 00:45:54.451 --> 00:45:58.171 It kind of makes me think of automation. I mean, I think we all are big fans 00:45:58.171 --> 00:46:02.011 of automation, but we've probably also all been in cases where, 00:46:02.011 --> 00:46:06.671 like, the desire, the programmer, the nerd, the sysadmin desire is to automate it. 00:46:06.791 --> 00:46:08.771 But if you think about it from, like, a business context, like, 00:46:08.791 --> 00:46:11.611 it probably just makes sense to have a Google Calendar reminder that does this, 00:46:11.731 --> 00:46:15.011 and we pay someone to handle it the two times a year it needs to happen. 00:46:15.151 --> 00:46:17.411 Like, there are just some times where you draw pragmatic lines, 00:46:17.491 --> 00:46:22.011 and it's not necessarily the most pure or beautiful, but it's what, 00:46:22.011 --> 00:46:25.131 you know, lets you progress to the problems that are actually higher up on your list. 00:46:25.131 --> 00:46:29.771 But I think in this context, someone might argue, well, I want to configure 00:46:29.771 --> 00:46:34.431 something this one-off one time, but I can't find it in Nix because they do things so differently. 00:46:34.691 --> 00:46:37.051 So what would you say to that argument? 00:46:37.431 --> 00:46:40.831 I mean, I think it would really depend on the specifics. There probably are 00:46:40.831 --> 00:46:45.091 cases where Nix OS makes it harder with particular workflows. 00:46:46.591 --> 00:46:50.791 I'll give you an example. When I first started using Image, it was not packaged 00:46:50.791 --> 00:46:55.191 up for Nix. And so the only practical solution, really, unless I wanted to go 00:46:55.191 --> 00:46:57.431 off on an adventure, was just to use the Docker container. 00:46:57.971 --> 00:47:01.611 And then as time came along and it got packaged up in Nix and there's a module 00:47:01.611 --> 00:47:05.211 and all that, and I really liked what they did with it, I made the decision 00:47:05.211 --> 00:47:09.491 to transition from a Docker container to the native Nix installation. 00:47:09.891 --> 00:47:14.351 And I can kind of go back and forth like that as I like. And so I would say 00:47:14.351 --> 00:47:19.511 probably 65% of the software I run in my home lab is in a Docker container and 00:47:19.511 --> 00:47:21.411 the rest is installed and managed by Nix. 00:47:21.751 --> 00:47:26.211 And I just sort of pick and choose based on, you know, the 30 minutes of Googling 00:47:26.211 --> 00:47:28.071 and reading that I do before I install the thing. 00:47:28.211 --> 00:47:31.711 Right. You can kind of get a sense of like, what options does this NixOS module 00:47:31.711 --> 00:47:35.131 have? How mature does it look like? Is it going to fit the use case I have in mind? 00:47:35.311 --> 00:47:38.571 And yeah, you can really productively, I think, mix and match containers and 00:47:38.571 --> 00:47:42.831 Nix. Heck, you can even, you know, run the database with Docker and run the 00:47:42.831 --> 00:47:44.471 service with Nix or vice versa. 00:47:44.751 --> 00:47:48.291 I do think maybe to Brent's point, there are things you can learn. 00:47:48.411 --> 00:47:51.851 And this might be different if you're talking like home manager and user stuff versus system stuff. 00:47:52.051 --> 00:47:58.011 More and more, I have seen Nix OS modules adopting having an extra config parameter 00:47:58.011 --> 00:48:02.511 where you can just basically write out the raw config for the thing that you want. 00:48:02.511 --> 00:48:09.051 So between that and the basic pattern is usually like under var there's going 00:48:09.051 --> 00:48:13.491 to be the state for each service and a lot of those times you know the, 00:48:14.755 --> 00:48:18.935 If you're not managing declaratively the config via Nix, you can drop config 00:48:18.935 --> 00:48:21.155 files imperatively after the fact in there. 00:48:21.755 --> 00:48:24.535 It is a state you have to keep track of, but that's the same with other systems. 00:48:24.535 --> 00:48:25.515 Yeah, it's just like everything else. 00:48:25.615 --> 00:48:25.735 Yeah. 00:48:25.955 --> 00:48:27.055 Yeah, it's just back to how you were. 00:48:27.255 --> 00:48:29.775 But you're right. There are probably, to use escape hatches, 00:48:29.855 --> 00:48:33.055 you have to learn about and be able to figure out the escape hatches. 00:48:33.135 --> 00:48:33.895 So that can be difficult. 00:48:34.515 --> 00:48:38.255 Before we wrap up, he does touch on kind of where he's going to go from here. 00:48:38.615 --> 00:48:42.975 The author says, what I learned from Nix is we should have good reproducible 00:48:42.975 --> 00:48:48.695 systems by now. We are past having to rely on the golden images or VMs, 00:48:48.775 --> 00:48:52.775 but this should be doable with standard or mature Linux tooling. 00:48:53.215 --> 00:48:55.995 Yeah, I don't know about the last part, but I definitely agree. 00:48:56.935 --> 00:49:02.115 Reproducible systems should be, you know, something we continue progressing on. It should be a goal. 00:49:02.295 --> 00:49:04.775 It is achievable and it has a lot of benefits. 00:49:05.655 --> 00:49:09.355 The author continues here. I could cobble some things together with Docker, 00:49:09.675 --> 00:49:15.235 Stowe, or Shemua, Ansible, Flapax, but none of that would light a candle to the promise of Nix. 00:49:15.775 --> 00:49:16.095 Yeah. 00:49:16.795 --> 00:49:20.715 They continue, for now, I will likely keep NixOS on some home servers. 00:49:20.775 --> 00:49:25.375 On more active workstations, I may switch to using the Nix Package Manager and 00:49:25.375 --> 00:49:30.995 Home Manager, or maybe I'll just go back to the old days for a while before taking that red pill. 00:49:31.155 --> 00:49:33.435 It's going to hurt, but at least I'll get some work done. 00:49:33.795 --> 00:49:36.715 You know, it's interesting because what's kind of implied in here is like the 00:49:36.715 --> 00:49:40.555 sort of, oh, I got to do it the right way. I might not do it the right way. I might just do it my way. 00:49:41.415 --> 00:49:45.395 I've never really been caught up on that with Nix. It's always felt like a set 00:49:45.395 --> 00:49:47.195 of tools to just do it the way I want to do it. 00:49:47.635 --> 00:49:51.155 I don't even consider it being too many options. It's just this is what works for me. 00:49:51.455 --> 00:49:56.675 I think it is worth pointing that out. For folks coming from maybe a standard 00:49:56.675 --> 00:49:59.935 like this is a best practices playbook and there's this one way to do it. 00:49:59.935 --> 00:50:03.615 But Nix isn't necessarily, I mean, some of it is, right, with the Nix OS services 00:50:03.615 --> 00:50:07.135 and modules it is because you just kind of, they have a set of options, you can use them or not. 00:50:07.375 --> 00:50:12.355 But once you go outside of that, you are kind of handed a programming language 00:50:12.355 --> 00:50:17.515 designed to build packages and operating systems and some recipes to put them together. 00:50:18.095 --> 00:50:22.355 But it is on you after that. And that may not be everyone's cup of tea, which is okay. 00:50:22.715 --> 00:50:26.135 You know, I wonder if the way to kind of dip your toes in with Nix is to start 00:50:26.135 --> 00:50:27.775 with a particular project, right? 00:50:27.915 --> 00:50:32.995 Don't move your whole desktop. Don't move your whole home lab. Set up a NIC system. 00:50:33.495 --> 00:50:38.215 And if it's a desktop you want to do, just set a goal of trying Plasma on NICs. 00:50:38.215 --> 00:50:41.595 Or if it's you want to run Plex or Jellyfin... 00:50:42.410 --> 00:50:47.650 Maybe just try a Nix box that just is doing that and don't try to bite off, 00:50:47.750 --> 00:50:52.450 you know, this whole I'm going to do all of my work on this Nix desktop or I'm 00:50:52.450 --> 00:50:54.550 going to have my entire infrastructure on this Nix server. 00:50:54.710 --> 00:50:58.890 We didn't cover it, but the author talks a lot about development environments, 00:50:58.990 --> 00:51:02.650 which we've talked about on the show, can definitely be one of the trickier environments in Nix. 00:51:02.770 --> 00:51:06.310 The authors even use a dev end, which is one of the things we recommend for 00:51:06.310 --> 00:51:07.530 that among a lot of great tools. 00:51:07.530 --> 00:51:10.590 But that's like i i use nix 00:51:10.590 --> 00:51:14.150 on my personal laptop on kde neon 00:51:14.150 --> 00:51:16.850 for a long time before i switched to use a nix os on it 00:51:16.850 --> 00:51:19.870 as a daily driver and i didn't even think about trying to use it in like 00:51:19.870 --> 00:51:23.690 a work context besides maybe adding a flake here or there to help myself with 00:51:23.690 --> 00:51:28.030 a very you know not a super complicated environment and that's one area too 00:51:28.030 --> 00:51:32.190 where it's you know you can like with python you can set it up where every single 00:51:32.190 --> 00:51:36.950 dependency in your you know that pip installs nix knows about and it does itself. 00:51:37.270 --> 00:51:41.430 Or you can just make a single virtual environment that Nix only knows about that. 00:51:41.530 --> 00:51:46.190 And you lose some of the reproducibility, you lose some of the fine grade rebuilding, but it's simpler. 00:51:46.230 --> 00:51:50.450 Or you can just have Nix manage Python and activate a development shell and 00:51:50.450 --> 00:51:52.190 then you just install stuff with pip normally. 00:51:53.250 --> 00:51:55.970 Figuring out how to choose between those different levels and which ones really 00:51:55.970 --> 00:51:59.150 matter for you when I think is very useful. 00:51:59.370 --> 00:52:02.610 It also makes me think, it's kind of like the same advice we give to people, 00:52:03.170 --> 00:52:06.150 switching from Windows to Linux, right? Like, don't put Linux in the way, 00:52:06.410 --> 00:52:09.690 if you can avoid it, of causing you problems when you're trying to get work done. 00:52:09.950 --> 00:52:13.070 Let it put it in situations where it has a chance to succeed and you're not 00:52:13.070 --> 00:52:16.430 going to be fighting with it when you are in the right headspace and have the 00:52:16.430 --> 00:52:17.410 right time to get it done. 00:52:17.590 --> 00:52:20.250 And this is where I wanted to punt to the audience for a second and have you 00:52:20.250 --> 00:52:23.570 boost in your thoughts on this, because kind of from where I'm sitting, 00:52:23.790 --> 00:52:28.330 it does very much echo my experience early in the industry. 00:52:28.630 --> 00:52:31.670 And check me on this audience if I'm right or wrong here. 00:52:32.394 --> 00:52:36.514 When I first got into IT 20 years ago, I was constantly told we shouldn't be 00:52:36.514 --> 00:52:41.394 deploying Linux on these servers because the way we've always done things is on Windows. 00:52:41.594 --> 00:52:44.594 And we have these applications that do this specific thing. 00:52:44.994 --> 00:52:50.494 And your Linux box, while cheaper, doesn't exactly do it the way we've always done it. 00:52:50.954 --> 00:52:54.734 And you can accomplish the same end goal, but you don't accomplish it the same 00:52:54.734 --> 00:53:03.114 way. And I cannot really convey to you in 2025 how much resistance that alone 00:53:03.114 --> 00:53:05.474 created in the adoption of Linux. 00:53:05.874 --> 00:53:08.974 And if I would have listened to those people, I would have ended up deploying 00:53:08.974 --> 00:53:10.294 Windows in all of those systems. 00:53:10.474 --> 00:53:16.454 And so to me, a lot of what it comes down to is workflow friction with Nix adoption. 00:53:16.654 --> 00:53:19.614 And when you bounce off it, if you bounced off it, please boost it and tell me if I'm right. 00:53:20.334 --> 00:53:24.734 It's because you had an expectation that the system should work one way and 00:53:24.734 --> 00:53:28.894 it turns out you have to do it a different way like our user ad example or other things like that. 00:53:29.634 --> 00:53:33.794 That's kind of my assessment of it and that clip that Wes played really drove 00:53:33.794 --> 00:53:37.454 it home it's what you're familiar with I'd just like your thoughts on that and 00:53:37.454 --> 00:53:41.314 anything we've talked about in this segment to kind of check us because we tried 00:53:41.314 --> 00:53:45.174 to steel man this as much as we could internally but now it's your opportunity 00:53:45.174 --> 00:53:47.714 to kind of steel man it as well and send us your thoughts. 00:53:47.714 --> 00:53:52.534 I think I have some closing words here, too. I came to a new perspective recently, 00:53:52.534 --> 00:53:57.934 which is that I don't think NixOS is very distro hopper friendly. 00:53:58.654 --> 00:54:03.594 And I think we're used to being able to move to a new Linux for a weekend and 00:54:03.594 --> 00:54:07.614 try it out and have these fuzzy feelings of, you know, seeing new things. 00:54:09.879 --> 00:54:12.659 Just being able to play with it for a bit and understand it quite well. 00:54:13.499 --> 00:54:18.159 But I don't think Nix OS falls into that category because you can certainly 00:54:18.159 --> 00:54:22.979 install it for the weekend, but you have to relearn a whole lot of things. 00:54:23.119 --> 00:54:28.219 And that just takes time and expecting to have, you know, put the check mark 00:54:28.219 --> 00:54:32.599 beside your Nix OS, it's going to take a lot more than a weekend. 00:54:32.819 --> 00:54:35.999 And I don't think you can learn it all in one go. 00:54:36.339 --> 00:54:40.319 It is a process. And if you go into it, you know, enjoying the journey, 00:54:40.579 --> 00:54:41.999 then I think you'll have more success. 00:54:45.419 --> 00:54:49.359 Annual membership is available jupyter.party and if you sign up you get one 00:54:49.359 --> 00:54:53.819 month for free what yeah we'll have a link in the show notes for the annual 00:54:53.819 --> 00:54:56.599 version for the jupyter party need special features for all the shows you support 00:54:56.599 --> 00:55:00.119 all the shows you don't have to pick a favorite child what you can love all 00:55:00.119 --> 00:55:04.639 of them i know and of course you can support this show directly to linux unplugged.com. 00:55:04.639 --> 00:55:05.659 Slash membership, 00:55:08.879 --> 00:55:14.259 Well, we got a special boost here. Drew, our dear editor, sent in what is considered 00:55:14.259 --> 00:55:17.399 a manual boost and directly to editor Drew. 00:55:17.919 --> 00:55:20.859 He got his own boost? All right. That's great. 00:55:22.899 --> 00:55:23.419 Yeah. 00:55:23.739 --> 00:55:29.599 A DevFree17 sent Drew 10K sats to say, thanks for all the edits you do for Jupiter Broadcasting. 00:55:29.859 --> 00:55:32.559 Aversaries knows. He knows. Drew makes it better. 00:55:32.719 --> 00:55:36.539 He really does. It kind of skirted all of our systems because it was straight to the heart. 00:55:37.019 --> 00:55:39.279 Yeah. That's great. That's nice to see. 00:55:41.459 --> 00:55:49.359 And speaking of Adversary 17, they are our baller booster this week. On sale for 38,768 sats. 00:55:53.073 --> 00:56:00.013 Woo, it's across seven booths. Checking in on pass keys, Bitwarden does sync cross-platform. 00:56:00.113 --> 00:56:02.873 I use pass key from Firefox extension on my Android phone without issue. 00:56:03.153 --> 00:56:03.473 Nice. 00:56:03.693 --> 00:56:04.393 That makes me feel better. 00:56:04.533 --> 00:56:04.953 Yeah, definitely. 00:56:05.153 --> 00:56:08.133 I'm still feeling resistant to the issue, but that does make me feel better. 00:56:08.293 --> 00:56:11.813 He says, if you ask me, a better solution to pass key is Squirrel, 00:56:11.933 --> 00:56:13.133 created by Steve Gibson. 00:56:13.373 --> 00:56:18.053 It uses a single master key that can deterministically create a key pair for 00:56:18.053 --> 00:56:19.853 each site based upon the domain. 00:56:20.153 --> 00:56:21.193 Oh, neat. 00:56:21.593 --> 00:56:25.713 That is. That makes so much sense. God, it does. It's such a clever protocol 00:56:25.713 --> 00:56:28.533 and system, but because it didn't come from a big tech company, 00:56:28.673 --> 00:56:30.053 it won't see the day of light. 00:56:30.773 --> 00:56:33.753 Squirrel is kind of like Noster, but way before Noster. 00:56:34.353 --> 00:56:40.153 I do wonder if Noster will one day kind of provide a little bit of a public-private 00:56:40.153 --> 00:56:44.633 key pair system that kind of gets credibility by your social media account because 00:56:44.633 --> 00:56:45.873 it's from your public key. 00:56:46.673 --> 00:56:50.333 But Squirrel does sound really cool. That would be great. Regarding the article 00:56:50.333 --> 00:56:54.213 about Linux and why it isn't ready for the desktop, this was last week's episode. 00:56:54.313 --> 00:56:56.913 Has the person never looked at their Windows file system? 00:56:58.613 --> 00:57:00.533 I see DLLs all over the place. 00:57:01.653 --> 00:57:02.533 Binary blobs. 00:57:02.693 --> 00:57:06.773 Yeah, yeah. He says, sometimes the same runtime is installed from three different 00:57:06.773 --> 00:57:08.393 applications and it's all the same version. 00:57:09.453 --> 00:57:13.693 That's a great point. That is, most Linux users download and run software from 00:57:13.693 --> 00:57:17.293 the web without verifying it's malware free. Well, remove Linux from that statement, 00:57:17.413 --> 00:57:20.693 and you've just basically summed up 99% of all Windows users, too. 00:57:21.473 --> 00:57:24.373 Trust me, I work in corporate IT. Yeah. Yeah, I've been there, 00:57:24.393 --> 00:57:28.453 too. I could go on, but most issues presented in this article are applicable to Windows, too. 00:57:28.673 --> 00:57:32.613 Microsoft does not pay people to test. At least, it sure doesn't seem that way. 00:57:33.173 --> 00:57:34.233 Oh, ouch. 00:57:35.773 --> 00:57:38.753 He says, we in the enterprise pay thousands to even use Windows legally, 00:57:38.753 --> 00:57:41.733 and we end up being the beta testers each month for these release updates. 00:57:41.773 --> 00:57:42.253 Oh, man. 00:57:42.253 --> 00:57:45.513 I purposely wait a month before installing the next Windows patch because of 00:57:45.513 --> 00:57:49.073 that. This article is just an opinion. Yeah, great breakdown. 00:57:49.933 --> 00:57:53.933 Yeah, last week's episode, we tackled the Linux is not ready for the desktop, 00:57:53.933 --> 00:57:55.713 and then this week we decided to focus on Nix. 00:57:56.173 --> 00:57:59.133 And that's this recent round of criticism and just bang these things out of 00:57:59.133 --> 00:58:02.093 the way for 2025. You know what I mean? Just clear out the decks. 00:58:02.213 --> 00:58:02.753 Fud busting. 00:58:02.933 --> 00:58:03.933 Yep, right off the top. 00:58:04.953 --> 00:58:08.113 Ayo hell, Abusin, with 38,000 cents. 00:58:12.813 --> 00:58:15.113 Well, no message here, so just the sats. 00:58:15.353 --> 00:58:16.533 Oh, appreciate the value. Thank you, sir. 00:58:16.733 --> 00:58:20.673 But Zachely's boosting with 29,036 sats. 00:58:23.353 --> 00:58:25.833 Hey, JB, I got a zip code boost for you. 00:58:26.093 --> 00:58:26.273 Oh! 00:58:26.873 --> 00:58:27.153 Nice. 00:58:27.593 --> 00:58:29.053 Oh, did you bring the... 00:58:29.053 --> 00:58:31.853 I did. It might be frozen, though. It's chilly here. 00:58:35.018 --> 00:58:39.718 Now, since text editors are a common topic, I'd like to shout out Notepad Next, 00:58:39.978 --> 00:58:42.938 which I just discovered and is cross-platform. 00:58:43.178 --> 00:58:46.598 It's a reimplementation of Notepad++ from the Windows world. 00:58:46.838 --> 00:58:50.818 I love Notepad++, and I've been looking for a Linux replacement. 00:58:51.018 --> 00:58:55.818 I have always been a little Notepad++ envious, I will admit. So that's good to know. 00:58:55.958 --> 00:58:59.838 Quality editor, that is for sure. Okay, let me return to my map. 00:58:59.998 --> 00:59:04.898 Now, I have a rough guess, but I could be wrong. Is it a postcode? 00:59:05.158 --> 00:59:06.478 I'm curious what your map says. 00:59:06.618 --> 00:59:08.418 Yeah, I'm looking somewhere in South Carolina. 00:59:08.458 --> 00:59:09.118 Me too. Okay. 00:59:09.318 --> 00:59:09.498 What? 00:59:10.298 --> 00:59:11.018 Come on, guys. 00:59:11.818 --> 00:59:13.258 Yeah, Lexington County. 00:59:13.438 --> 00:59:13.598 Okay. 00:59:13.798 --> 00:59:15.798 Probably maybe some in Richland and Newbury. 00:59:16.398 --> 00:59:16.698 Chapin. 00:59:17.018 --> 00:59:17.178 Chapin? 00:59:17.338 --> 00:59:17.438 Yeah. 00:59:17.618 --> 00:59:17.978 Chapin. 00:59:18.218 --> 00:59:19.378 Chapin? I don't know. 00:59:19.438 --> 00:59:20.098 Did you say Japan? 00:59:20.098 --> 00:59:25.558 Tell us. What do you think? What do you think, Brent? C-H-A-P-I-N. South Carolina. 00:59:26.218 --> 00:59:30.358 I do love it when you include the town. You know? Please include town if you 00:59:30.358 --> 00:59:31.918 can. That is a lot of fun for us. 00:59:33.258 --> 00:59:36.658 Well, Forward Humor sent in a boost across three boosts, actually, 00:59:36.758 --> 00:59:39.738 for a total of 9,444 sats. 00:59:42.818 --> 00:59:45.918 First one here, Rove Duck, for a little fountain feedback. 00:59:46.178 --> 00:59:49.858 Hi, friends. I noticed the live stream in Fountain allows me to boost live, 00:59:49.858 --> 00:59:53.018 but does not stream sats live. Is that pretty normal? 00:59:53.298 --> 00:59:55.638 Thanks again for the great show and happy new year. 00:59:56.158 --> 01:00:01.138 I'll ask them. I think that technically should be working, but I will ask them. 01:00:01.138 --> 01:00:04.638 There's probably a good chance they've already spotted this if you boosted us, but I'll double check. 01:00:05.058 --> 01:00:10.978 The next boost here is a Docker question. His current system builds with ZFS storage. 01:00:11.398 --> 01:00:17.158 Do you all use the overlay 2 driver or that ZFS driver? Or do you use a different 01:00:17.158 --> 01:00:19.078 file system for containers? Any tips? 01:00:19.718 --> 01:00:23.678 ZFS can make a fantastic file system for containers. So I just want to acknowledge 01:00:23.678 --> 01:00:25.818 that up front. Because we're not anti-ZFS. 01:00:27.609 --> 01:00:29.489 But that said, I do not use it for my containers. 01:00:31.409 --> 01:00:35.409 Yeah, and if we're talking the storage driver, then I think most of the time 01:00:35.409 --> 01:00:40.429 if you're doing ZFS, folks will at least be having data sets that they mount into containers often. 01:00:40.689 --> 01:00:45.329 But you can also have it where Docker itself is provisioning things via hooks 01:00:45.329 --> 01:00:49.189 into ZFS, which can do stuff for volumes, but it can also then do stuff for 01:00:49.189 --> 01:00:51.129 storage of the container images itself. 01:00:51.289 --> 01:00:56.329 So it may kind of depend too on what pools and data sets you have available 01:00:56.329 --> 01:00:59.649 in the system and how much you care about that stuff and if you need and want 01:00:59.649 --> 01:01:03.409 the tools that ZFS offers or if you prefer to keep that just on the base. 01:01:03.489 --> 01:01:07.009 And how good you are about cleaning up because when I use that, I kind of made a mess. 01:01:07.009 --> 01:01:07.109 Did you say cruft? 01:01:07.629 --> 01:01:09.629 Yeah, that definitely ended up with some cruft. 01:01:09.889 --> 01:01:13.389 I think it's probably better now, but in the past, this was a while ago, 01:01:13.469 --> 01:01:18.069 there was sometimes some limitations where Docker would be better at fully cleaning 01:01:18.069 --> 01:01:22.409 up itself if it's using overlay 2 than if it had an issue with permissions or 01:01:22.409 --> 01:01:24.989 something on the ZFS side, then maybe you'd have to go manually clean up some 01:01:24.989 --> 01:01:27.689 of the ZFS data sets for, it's probably better now, but. 01:01:27.789 --> 01:01:30.829 And he says in here too, like he's thinking specifically, you know, 01:01:30.929 --> 01:01:35.409 image storage and then the rollback capabilities or snapshot capabilities there with ZFS. 01:01:35.609 --> 01:01:38.769 But yeah, I mean, if you're just talking about the actual like application data, 01:01:39.829 --> 01:01:41.789 ZFS or some kind of copy on, right? 01:01:41.969 --> 01:01:48.009 Yeah. And let us know what you end up with because file storage for image is top of mind over here. 01:01:48.549 --> 01:01:51.069 User 47.9 comes in with a row of ducks. 01:01:52.229 --> 01:01:56.049 This is my vote to keep the tuxies. I think it gives us a good read on the direction 01:01:56.049 --> 01:01:57.709 of things and the way they are going. 01:01:58.029 --> 01:01:58.869 I'll agree with that. 01:01:59.169 --> 01:02:02.149 All right. I'm keeping track every episode. I'm putting another mark down. 01:02:02.449 --> 01:02:04.629 I can see him looking for a pen, folks. It's true. 01:02:04.849 --> 01:02:08.389 Yeah, but you've just resorted to that giant knife and you're just scratching 01:02:08.389 --> 01:02:10.249 into the wall? What's going on over there? 01:02:10.309 --> 01:02:11.169 Well, we're out of pens. 01:02:11.909 --> 01:02:14.949 Next is blood. And if I cut myself, I won't be able to focus. 01:02:15.249 --> 01:02:17.369 So there's only one other person in the studio with me right now. 01:02:17.389 --> 01:02:21.989 Oh, well, good. While you're doing that, the immunologist boosted in with 3,333 sets. 01:02:22.789 --> 01:02:25.909 To add one more, Tuxies plus one. 01:02:26.089 --> 01:02:26.609 Oh, okay. 01:02:26.609 --> 01:02:29.329 I discovered quite some useful things to look into. 01:02:29.709 --> 01:02:30.189 Nice. 01:02:30.829 --> 01:02:34.649 Witcher 1, 2, 3 comes in with 3,930 sats. 01:02:37.509 --> 01:02:42.249 Listener since the mid 400s and a first time booster. Hey, congratulations. 01:02:42.309 --> 01:02:43.649 Thank you for taking the time. 01:02:45.329 --> 01:02:50.329 He says, I would like to say that A, I would suggest one episode dedicated to gaming. 01:02:51.149 --> 01:02:54.349 We have not done a gaming episode in a really long time. 01:02:54.749 --> 01:02:59.229 I predict at least four new Linux handhelds from major manufacturers in 2025. 01:02:59.629 --> 01:03:01.569 Well, Lenovo just announced one, so. 01:03:01.709 --> 01:03:02.489 You're getting close. 01:03:02.529 --> 01:03:06.769 You're already going closer. He says, also, if you multiply this boost by 10, 01:03:06.949 --> 01:03:12.869 you'll get a zip code from the central European country from which where I come. Oh, Wes, guess what? 01:03:15.833 --> 01:03:20.793 Oh, we got a deal this time. Okay, so let's see. 01:03:20.953 --> 01:03:24.093 We got to do math first, everybody. We got 3930. 01:03:24.653 --> 01:03:29.833 You got to add a zero by multiplying by 10, right? So 39300. 01:03:32.793 --> 01:03:35.973 Looks like it's a valid postcode in Hungary. 01:03:37.493 --> 01:03:38.453 That's awesome. 01:03:38.733 --> 01:03:39.873 Yeah, let's see if we... 01:03:40.393 --> 01:03:41.493 I'm always hungry. 01:03:43.913 --> 01:03:46.993 That's why we keep you locked away in the freezer up there thank. 01:03:46.993 --> 01:03:49.773 You witcher and thank you for taking the time to get the boost going and all of that. 01:03:49.773 --> 01:03:54.113 Oh maybe it's turkey okay i'm getting mixed results from this map here oh i 01:03:54.113 --> 01:03:56.653 gotta do a little more i'll come back to you let me double check my results. 01:03:56.653 --> 01:03:59.893 Well nord boosted in 15 000 sats, 01:04:04.793 --> 01:04:06.333 i'll be only found a route for 01:04:06.333 --> 01:04:10.393 my previous boost to brent well thank you anyways let's try again then. 01:04:10.733 --> 01:04:15.373 I hope Linus from LTT will make Brent's YouTuber prediction come true. 01:04:16.033 --> 01:04:16.513 Hmm. 01:04:18.553 --> 01:04:24.733 Good one. I'd love to see it. And good job routing, Brent. Good job. Proud of you. 01:04:25.513 --> 01:04:30.513 The Lightning Network apparently did not shine upon Brent or Wes and I. 01:04:30.613 --> 01:04:32.633 However, this came from my node. 01:04:32.853 --> 01:04:34.953 So it must have at least worked on my node. 01:04:35.253 --> 01:04:38.613 Because we see right in there that it came from my node. 01:04:38.733 --> 01:04:40.873 The Moose Network seems It seems to be working perfectly fine, 01:04:41.013 --> 01:04:42.413 so I don't see what to promise. 01:04:42.613 --> 01:04:46.093 Yeah, it always is. It always is. That's true. That's very true. 01:04:46.693 --> 01:04:49.273 All right. Well, True Grits is here with a Jar Jar boost. 01:04:50.453 --> 01:04:55.813 5,000 sats. I agree with keeping the tuxies. Wow. All right. Okay. 01:04:56.193 --> 01:04:57.013 Strong signal. 01:04:57.273 --> 01:05:00.933 Even if you don't make it a multi-network ordeal, at least it could be mentioned 01:05:00.933 --> 01:05:02.953 on the other network podcast to get the voter count up. 01:05:03.113 --> 01:05:05.433 I remember in previous years I heard it mentioned on the Ask Noah show. 01:05:05.593 --> 01:05:08.713 Also, maybe split and set aside for giving the winning projects or something. 01:05:08.873 --> 01:05:09.533 Ooh, that's interesting. 01:05:09.753 --> 01:05:13.953 So let me back up a little bit. What True Grits is talking about is there's 01:05:13.953 --> 01:05:17.393 a scenario that we're kind of down to clown about, which would be kind of a 01:05:17.393 --> 01:05:20.233 cross-podcast version of the Tuxies. 01:05:20.353 --> 01:05:22.873 We don't have any details or any plans or any specifics yet, 01:05:22.873 --> 01:05:25.453 but maybe something that goes a bit beyond just Linux Unplugs, 01:05:25.533 --> 01:05:27.193 which reflects multiple audiences. 01:05:27.693 --> 01:05:30.993 And they would also be involved in helping, you know, come up with topics and 01:05:30.993 --> 01:05:32.233 some of that and all that. 01:05:32.293 --> 01:05:34.953 It's a lot we'd have to work out. So it's all kind of in the, 01:05:34.953 --> 01:05:39.353 you know, be nice to do stage right now. But we've got some time to figure it out. 01:05:39.753 --> 01:05:44.473 Okay, update. I'm now going, my now new guess, final guess is Spain. 01:05:45.073 --> 01:05:52.113 Let's go 39300 is a city located in, let's see here, Torre la Vega. 01:05:52.373 --> 01:05:56.113 Hello, Torre la Vega, Spain. That's exciting. 01:05:56.293 --> 01:05:57.713 Tell me if I got anywhere close, please. 01:05:58.213 --> 01:06:00.413 Oh, I think Freak here has a prediction. 01:06:00.773 --> 01:06:07.353 Oh, let's find out. Freak KVH boosts in with 8,472 sats. 01:06:09.069 --> 01:06:15.009 Ubuntu Declarative Donkey. That's a great name. They got to do it with a name like that. 01:06:15.169 --> 01:06:15.329 Right? 01:06:15.789 --> 01:06:18.389 I mean, that's a perfect episode name, really. Go on. 01:06:18.449 --> 01:06:22.969 God. Well, and I just feel like, wouldn't Ubuntu just blow everybody's socks 01:06:22.969 --> 01:06:26.229 off if they came out with a declarative version of Ubuntu and they called it 01:06:26.229 --> 01:06:29.029 Declarative Donkey or something like that? Everybody would love that. 01:06:29.129 --> 01:06:29.569 So good. 01:06:29.949 --> 01:06:33.749 Well, Chris, you've got some sneaky inside info that the folks over there do 01:06:33.749 --> 01:06:35.469 love declarative systems like Nixos. 01:06:35.909 --> 01:06:40.489 That's true. That's true. Gene Bean comes in with 9,912 sats. 01:06:42.589 --> 01:06:47.149 Question for the audience. Anyone want to gather for LUP600 and a watch party 01:06:47.149 --> 01:06:48.949 in, how do you suppose you say that? 01:06:49.289 --> 01:06:49.669 Ghent. 01:06:50.209 --> 01:06:55.389 Ghent, Belgium? It's the night before configuration management camp starts, 01:06:55.389 --> 01:06:59.169 and I'll be there for the conference. If so, hit up Gene Bean in the Matrix. 01:06:59.389 --> 01:06:59.929 Oh, cool. 01:07:00.309 --> 01:07:00.769 Awesome. 01:07:01.389 --> 01:07:02.349 Gene the Traveler. 01:07:02.949 --> 01:07:07.209 Really? I tried the Zen kernel on Nix 2411 with Plasma 6, but I had to revert 01:07:07.209 --> 01:07:10.589 back due to the same lockups that Chris had when he went full RT. 01:07:11.429 --> 01:07:15.449 Oh, interesting. So you went even kind of semi-RT and he still had problems. 01:07:15.569 --> 01:07:15.689 Huh. 01:07:16.289 --> 01:07:17.069 I have not. 01:07:17.689 --> 01:07:19.249 No, the Zed's been rock solid for me too. 01:07:19.269 --> 01:07:22.689 Not a single lockup back to totally reliable. So I'm sorry to hear that, Gene. 01:07:23.149 --> 01:07:26.849 He says, I'd love to learn more about the Mesh-tastic gate monitoring setup. 01:07:27.029 --> 01:07:30.729 If the booster is willing to write maybe something up as long as a blog post, 01:07:30.889 --> 01:07:34.789 I'd happily send them a boost and thanks. And also, please do add transcripts. 01:07:36.129 --> 01:07:40.509 Notes.jupiterbroadcasting.com would be much more useful. Stay tuned on that, Gene. Stay tuned. 01:07:42.129 --> 01:07:45.729 This MeshTastic gate monitoring, I don't know. I can't remember which booster 01:07:45.729 --> 01:07:48.249 sent that in, but if you wanted to follow up with Gene, I'd love to know too. 01:07:48.369 --> 01:07:54.429 So make it public because gates, presence monitoring, like motion sensors and 01:07:54.429 --> 01:07:56.689 soil monitors, I would love to get on MeshTastic. 01:07:56.869 --> 01:08:00.869 I think that could be really awesome. I got a node at the top of a shed, 01:08:00.869 --> 01:08:04.989 so the whole yards would be covered, I would think. so it's gonna be really way to go. 01:08:04.989 --> 01:08:09.669 Exception comes in with a rodox using 01:08:09.669 --> 01:08:15.489 linux on my laptop since 2006 yeah buddy external displays with lid closed has 01:08:15.489 --> 01:08:21.789 always been a problem can confirm just got a new tell with a bunch of 2204 pre-built 01:08:21.789 --> 01:08:27.469 in it was fine initially but started to act out after a recent update we linux 01:08:27.469 --> 01:08:29.469 people need to get that right man. 01:08:29.469 --> 01:08:32.989 Nothing stinks more than when the laptop's working and then the updates come 01:08:32.989 --> 01:08:36.129 down and there's like a regression of the video driver or something like that 01:08:36.129 --> 01:08:42.109 or i wonder if he got updated to wayland or you know huh if you figure it out 01:08:42.109 --> 01:08:44.309 let us know maybe others have run into that exception. 01:08:44.309 --> 01:08:48.649 Yeah it is especially rough if you get a new rig that has an outdated lts and 01:08:48.649 --> 01:08:51.649 you just go to the new lts that's already a big change right out of the gate yes. 01:08:51.649 --> 01:08:55.329 Yes yeah if it comes with an image it's already a little old too you're just primed for it. 01:08:55.329 --> 01:09:00.289 Well we have a report of extra problems here by tebby doug with a space balls 01:09:00.289 --> 01:09:02.249 boost 1, 2, 3, 4, 5 Satoshis. 01:09:07.839 --> 01:09:12.039 I recently started experiencing network issues in my Docker stack. 01:09:12.379 --> 01:09:16.699 Being that it has been around since the beginning of my home lab about five 01:09:16.699 --> 01:09:18.619 years ago, it was a giant mess. 01:09:18.859 --> 01:09:22.459 So I decided to learn something new, Kubernetes to the rescue, 01:09:22.679 --> 01:09:27.059 and holy smokes am I the only one that found it extremely difficult to learn. 01:09:27.299 --> 01:09:31.559 I still have not quite figured out persistent volumes and persistent volume 01:09:31.559 --> 01:09:37.379 claims, But I did manage to get Olive Tin running in high availability with 01:09:37.379 --> 01:09:40.719 two replicas and a load balancer. Thank you for the show. 01:09:40.979 --> 01:09:41.439 All right. 01:09:41.579 --> 01:09:43.679 That is no small achievement. Nicely done. 01:09:43.879 --> 01:09:48.339 Tabby, I wonder if you agree with me. It's like part of it's just the language is so thick. 01:09:48.359 --> 01:09:52.299 So you're reading like a half of a web page before you even really start to 01:09:52.299 --> 01:09:54.779 get to the nuts and bolts of what you're trying to figure out. 01:09:54.779 --> 01:09:59.659 Well, and it's also, right, a lot of these systems are built for scale and also 01:09:59.659 --> 01:10:03.519 to work for our diverse use cases at different companies and stuff. 01:10:03.639 --> 01:10:06.359 So there's a lot of abstractions that you have to be able to figure out and 01:10:06.359 --> 01:10:09.539 understand the full abstraction before you can actually do the concrete case 01:10:09.539 --> 01:10:11.559 for whatever one you particularly have. 01:10:13.239 --> 01:10:18.479 OliveTen gives safe and simple access to predefined shell commands from a web interface. Neat. 01:10:18.939 --> 01:10:20.739 Super neat. Yeah. All right. 01:10:20.779 --> 01:10:21.519 Little command runner. 01:10:22.059 --> 01:10:22.579 I like olives. 01:10:23.099 --> 01:10:26.479 Yeah. I'll eat an olive right now. Thanks, Tebby. Nice to hear from you. 01:10:27.679 --> 01:10:32.419 Sohang is here with a row of ducks. That's 2,222 sats. 01:10:33.639 --> 01:10:36.859 And he writes, regarding Linux is only as good as its web client, 01:10:37.639 --> 01:10:41.019 have these people ever heard of our lord and savior, GNU Emacs? 01:10:42.199 --> 01:10:42.919 Good point. 01:10:43.199 --> 01:10:43.639 Yep, fair. 01:10:43.639 --> 01:10:45.399 Got him. Got him right there. 01:10:47.079 --> 01:10:52.979 Pod bun follows on with another row of ducks. we could have an episode for linux 01:10:52.979 --> 01:10:57.939 based roasts or roasts of linux gather everyone's roasts and have you guys say 01:10:57.939 --> 01:11:00.959 them or have people join the mumble room and say their own roasts. 01:11:00.959 --> 01:11:02.799 It could be cathartic to kind of get it out. 01:11:02.799 --> 01:11:06.879 Right probably could yeah that's so nice all your gripes the things that you 01:11:06.879 --> 01:11:08.779 know the thorns in your side is. 01:11:08.779 --> 01:11:09.779 That every week though really. 01:11:09.779 --> 01:11:11.999 That's every. 01:11:11.999 --> 01:11:14.899 Show that we do yeah that's. 01:11:14.899 --> 01:11:16.639 A great that's a great suggestion though thank you. 01:11:16.639 --> 01:11:21.579 A rotted mood did Send in 9001 Satoshis. 01:11:24.888 --> 01:11:27.988 All that just to say, getting caught up in old shows. 01:11:28.368 --> 01:11:33.688 Ah, nice to hear from you. Oh, he's at 584, Captain Mesh-tastic and the Solar Cowboy. 01:11:34.088 --> 01:11:37.068 Well, welcome to the Mesh-tastic era of the show. 01:11:37.928 --> 01:11:39.968 Glad you're getting caught up, Rotted Mood. It's good to hear from you. 01:11:40.028 --> 01:11:41.708 Solar Cowboy is PJ. 01:11:41.848 --> 01:11:46.408 Right? So good. Yeah, that's PJ. Pink Snake's here with a Jar Jar boost. That's 5,000 sats. 01:11:47.348 --> 01:11:51.188 Testing out Breeze, which is B-R-E-E-Z, a great way to boost the show without 01:11:51.188 --> 01:11:52.428 having to switch podcast apps. 01:11:52.908 --> 01:11:56.308 And it is a lightning note in your pocket. Thank you, Pink Snake. Appreciate it. 01:11:56.568 --> 01:12:02.248 Your test was successful. Autobrain comes in with 12,345 sats. 01:12:05.228 --> 01:12:10.208 Thoughts on the tuxies. Instead of doing a people's choice, maybe survey Linux 01:12:10.208 --> 01:12:11.768 podcasters and reporters. 01:12:12.028 --> 01:12:15.548 Maybe this would be less work and an opportunity for cross-promotion. 01:12:15.868 --> 01:12:20.528 And then here's some topic ideas for shows. Maybe Linux workflows for graphics, 01:12:20.728 --> 01:12:21.948 illustration, and presentation. 01:12:22.348 --> 01:12:27.008 And maybe a show related to writing tools. or a show on educational tools. 01:12:27.428 --> 01:12:28.468 Thanks for the great content. 01:12:28.928 --> 01:12:31.928 You know, I'm kind of vibing with some of what Otter Brain's putting here as 01:12:31.928 --> 01:12:34.748 far as, like, you know, working with some other folks and stuff like that. 01:12:34.808 --> 01:12:36.168 I have some deep value on this one. 01:12:37.028 --> 01:12:37.548 Thanks, Otter Brain. 01:12:37.708 --> 01:12:38.588 Otter's got brain. 01:12:38.788 --> 01:12:41.348 Yeah. Oh, that's it. 01:12:41.588 --> 01:12:43.188 That was our last boost. 01:12:43.568 --> 01:12:46.808 All right. Well, thank you, everybody, for boosting. We do have the 2000s at cutoff for time. 01:12:46.988 --> 01:12:52.408 We keep all of them, though, and we read them, and we actually save them in our doc for posterity. 01:12:52.488 --> 01:12:55.068 Yeah, we've got some test boosts. We've got some folks working out, 01:12:55.208 --> 01:12:58.348 moving to Albie. We appreciate all you're doing. 01:12:58.548 --> 01:13:01.568 Also, we see you streamers out there that stream them sats to us. 01:13:01.748 --> 01:13:04.748 We appreciate you. We had 57 of you participate in the sats streaming, 01:13:04.988 --> 01:13:09.288 and collectively, you helped the show stack 118,027 sats. 01:13:10.008 --> 01:13:19.968 So when we bring it all together, episode 598 managed to stack 329,601 sats. Not bad at all. 01:13:24.928 --> 01:13:27.728 Now, you want to get in on the fun. There's a few ways to do it, 01:13:27.788 --> 01:13:33.048 including you can get Strike to get access to sats or there's so many different ways, really. 01:13:33.188 --> 01:13:36.408 Bitcoin Well is one that I've been recommending, and we have an affiliate there 01:13:36.408 --> 01:13:37.888 at Bitcoin Well slash Jupiter. 01:13:38.388 --> 01:13:41.168 And the nice thing that they do is once you get all your account stuff hooked 01:13:41.168 --> 01:13:44.048 up, you buy and it sends directly to your Bitcoin wallet. 01:13:44.288 --> 01:13:45.788 Why are they all like that? 01:13:45.948 --> 01:13:48.308 Isn't that great? So you don't even keep the sats on their infrastructure. 01:13:48.528 --> 01:13:51.928 So that's another great way Strike and Bitcoin Well are available in the U.S. 01:13:51.948 --> 01:13:53.988 And Canada. and strikes available in 110 countries. 01:13:54.368 --> 01:13:56.908 And then you just need an app to send them, something like Breeze, 01:13:56.968 --> 01:13:59.048 B-R-E-E-Z, or Fountain.fm. 01:13:59.628 --> 01:14:03.128 And that's amongst many options, which you can find at podcastapps.com. 01:14:03.348 --> 01:14:06.328 And then if you just want to put your support on Autopilot and know the show's 01:14:06.328 --> 01:14:09.408 going to be taken care of, it's linuxunplugged.com slash membership. 01:14:09.628 --> 01:14:12.508 Thank you to all our members as well. We appreciate you. 01:14:15.581 --> 01:14:20.201 Yeah, we have a smattering of picks. Could have been the whole episode, really. 01:14:20.581 --> 01:14:24.341 But let's start with this really handy tool that you found, Brent, 01:14:24.481 --> 01:14:28.541 and I guess it's just called ISD, which helps you simplify system demanagement. 01:14:28.921 --> 01:14:32.661 Yeah, I think I'm going with iced. I like that ice iced baby, 01:14:32.861 --> 01:14:33.921 you know, that kind of feeling. 01:14:34.261 --> 01:14:34.521 Yeah. 01:14:34.821 --> 01:14:41.021 And this really seemed attractive to me because I'm not that well versed in system demanagement. 01:14:41.021 --> 01:14:44.741 And this is a little Tui that offers some fuzzy searching for units, 01:14:44.961 --> 01:14:50.161 some auto-refreshing previews, smart pseudo handling, and all sorts of customizable 01:14:50.161 --> 01:14:51.681 interface and power user stuff. 01:14:52.381 --> 01:14:57.161 And I thought, geez, I've been sort of leaning heavily towards things like lazy 01:14:57.161 --> 01:15:01.341 git and lazy docker and btop these days just because I'm lazy. 01:15:01.581 --> 01:15:06.561 And this fits right in there to allow me to do some stuff that otherwise I just wouldn't. 01:15:07.041 --> 01:15:11.201 Yeah, this looks nice. well, this is a Nix episode, so one of the things that 01:15:11.201 --> 01:15:14.841 came to my mind is if you're using the setup that converts, 01:15:15.441 --> 01:15:18.941 compose files into Podman and SystemD units that all work together, 01:15:19.141 --> 01:15:22.021 with the fuzzy searching and stuff, they all have common unit names, 01:15:22.081 --> 01:15:23.381 this could be a great way to manage those. 01:15:23.661 --> 01:15:24.701 And it just looks good. 01:15:24.841 --> 01:15:25.781 It does look good. 01:15:25.881 --> 01:15:30.361 It's a terminal user interface that looks good. And when you nail that, 01:15:30.521 --> 01:15:33.601 you got me. So, nice find, Brent. 01:15:34.101 --> 01:15:37.741 And it even has a flake in there, although it's not yet in Nix packages proper. 01:15:37.741 --> 01:15:42.941 Ooh, well, a little bird told me last night that he's working on a flake to 01:15:42.941 --> 01:15:46.021 get this going. And that's our dear Alex. So maybe we'll get that this week. 01:15:46.161 --> 01:15:46.721 Oh, cool. 01:15:47.490 --> 01:15:51.470 Well, let us know. Okay. So the next two, kind of an interesting story. 01:15:51.690 --> 01:15:57.010 I think, did we both find Planify this week and begin using it for our task management? 01:15:57.210 --> 01:16:00.470 When you say both, who do you mean? Because I was certainly looking at it independently. 01:16:00.930 --> 01:16:01.630 Yeah, you. Yeah. 01:16:02.150 --> 01:16:06.810 Oh, that's me. Yeah. You know, Chris, you and I are in this to-do management 01:16:06.810 --> 01:16:08.650 journey for the last little while. 01:16:08.790 --> 01:16:10.950 I think maybe we both adopted it as a theme. 01:16:11.570 --> 01:16:14.410 And I was looking for something nice and simple that would 01:16:14.410 --> 01:16:19.910 play really nicely with the Linux desktop and i found planify and it's has to 01:16:19.910 --> 01:16:24.290 do with support next cloud syncing support it's designed for gnome but it seems 01:16:24.290 --> 01:16:30.030 to work wonderfully on plasma as well and i'm curious uh if either of you gave 01:16:30.030 --> 01:16:32.330 this a shot because i spent a little bit of time with it. 01:16:32.330 --> 01:16:37.670 Yeah so i've been really looking you know my my holy grail is oh i'm out and 01:16:37.670 --> 01:16:42.030 about and i remember something and i add a reminder on my phone and then the 01:16:42.030 --> 01:16:45.770 next day or later that afternoon or whatever it might be i'm down at my computer. 01:16:45.950 --> 01:16:48.870 I'm sitting at my computer and I just want to pull up the list of things I need to do. 01:16:49.090 --> 01:16:51.350 I don't want to go to my phone. I want it on my computer. And then I want to 01:16:51.350 --> 01:16:52.410 check them off on my computer. 01:16:53.290 --> 01:16:57.450 Planify nails that because we use a mix of Todoist and Nextcloud. 01:16:57.670 --> 01:17:01.150 So it's really nice that Planify supports both of those things. 01:17:01.650 --> 01:17:04.870 And it's a good looking application at the same time. 01:17:05.630 --> 01:17:08.250 And it has, you know, support for all the stuff you might expect, 01:17:08.450 --> 01:17:13.350 like reoccurring due dates and reminders. So it works really well for me. So that's Planify. 01:17:13.850 --> 01:17:19.050 Yeah, I did give it a shot. I I will say I ended up off of it after a couple of days. 01:17:19.310 --> 01:17:19.690 Oh, yeah. 01:17:19.890 --> 01:17:23.450 Maybe that wasn't your experience. And the reason is, I think, a personal one. 01:17:24.510 --> 01:17:27.750 It was a little too simple for me, it turns out. 01:17:27.890 --> 01:17:31.490 I thought I was looking for something simple. And there were a couple of things 01:17:31.490 --> 01:17:34.850 that just got in the way for me. I was looking for something that would allow me to... 01:17:36.338 --> 01:17:40.898 Just do things really quickly without, um, the interface getting in the way and things like that. 01:17:41.018 --> 01:17:45.098 But, uh, I found actually a couple bugs, you know, how I do that and it's, 01:17:45.118 --> 01:17:52.078 but, um, uh, but also just, it turned out that some of the design decisions didn't work for me. 01:17:52.218 --> 01:17:55.498 So your mileage may vary. It is really beautiful. I agree with all of that. 01:17:55.678 --> 01:17:58.498 And I think it would really work for someone. Chris, I thought of you instantly 01:17:58.498 --> 01:18:01.678 when I saw this and I'm glad you're giving it a try. 01:18:02.398 --> 01:18:05.618 That said it did lead me to 01:18:05.618 --> 01:18:09.738 going back to a productivity system that well 01:18:09.738 --> 01:18:12.938 i talked about quite a few episodes ago linux unplugged 01:18:12.938 --> 01:18:16.758 553 which is called a portably predictable 01:18:16.758 --> 01:18:23.678 productivity if you will and i used this for like six months every single day 01:18:23.678 --> 01:18:27.778 and i just stopped for some reason i think i was doing a lot of travel and that 01:18:27.778 --> 01:18:33.698 broke up my routines but planify allowed me to kind of get back into the motions and realize, hey, 01:18:33.918 --> 01:18:37.698 that tool I was using, Super Productivity, actually does everything I need it to. 01:18:38.178 --> 01:18:43.838 So I jumped right back into Super Productivity. But you found some news this week, I think, Chris. 01:18:44.438 --> 01:18:47.838 Well, it sounds like, you know, they've been working on the Linux version and 01:18:47.838 --> 01:18:51.378 getting things in top shape. And so the developer reached out to us and just 01:18:51.378 --> 01:18:54.538 said, hey, you know, I've been polishing up features and the Linux version has 01:18:54.538 --> 01:18:55.918 just really gotten into a great place. 01:18:56.598 --> 01:18:58.898 And if you guys want to take a look at it again and mention on the show, 01:18:58.978 --> 01:19:00.158 I really love it. And we did. 01:19:00.278 --> 01:19:05.298 It's MIT licensed, too, so it's free, and the developer says it will always be open source. 01:19:05.618 --> 01:19:07.818 It's got every integration you could think of, Jira, GitHub, 01:19:07.998 --> 01:19:12.698 GitLab, GitT, CalDAV integration, WebDAV integration, Dropbox integration. 01:19:12.698 --> 01:19:13.758 I mean, you get my point, right? 01:19:13.818 --> 01:19:13.998 Ooh. 01:19:14.678 --> 01:19:15.018 Yeah. 01:19:15.518 --> 01:19:18.998 So this, to me, does feel like a power user's productivity tool. 01:19:19.318 --> 01:19:20.498 And you could almost have a 01:19:20.498 --> 01:19:23.318 system in here, too, because there's time tracking. You have time boxing. 01:19:23.478 --> 01:19:24.358 Oh, that is nice. 01:19:24.518 --> 01:19:25.618 Yeah. Yeah. So I'm curious. 01:19:25.798 --> 01:19:27.098 Especially if you're doing a small business or something. 01:19:27.098 --> 01:19:30.038 What Planify didn't do that this is doing for you, Brent? 01:19:30.538 --> 01:19:34.458 Well, one thing specifically was keyboard input of tasks. 01:19:34.618 --> 01:19:38.738 I realized using Planify, which is a little mouse heavy, that... 01:19:39.687 --> 01:19:43.447 I actually often do want to use my keyboard to do most of the input. 01:19:43.887 --> 01:19:47.107 And so Planify is a little more click around than enter things. 01:19:47.847 --> 01:19:54.207 And a popular use case is to allow you to define many, many, 01:19:54.267 --> 01:19:56.287 many things like to do is like this, I believe. 01:19:56.667 --> 01:20:00.787 Define tags and projects and stuff all in the text line. 01:20:01.287 --> 01:20:05.327 And super productivity allows you to do that. And I realized going to Planify 01:20:05.327 --> 01:20:09.247 that I was really missing that. And I didn't realize that that was such an important 01:20:09.247 --> 01:20:10.707 feature for me when I was looking at Planify. 01:20:10.847 --> 01:20:13.267 But it turns out you learn things about yourself when you try software. 01:20:14.847 --> 01:20:17.707 Especially to-do apps. It's something about to-do apps. 01:20:17.767 --> 01:20:18.367 It's such a personal thing. 01:20:19.747 --> 01:20:22.887 Yeah, maybe there's another great one out there that works on Linux desktop and syncs to mobile. 01:20:23.027 --> 01:20:26.967 I mean, is this also why to-do MVC is the classic front-end demo for frameworks? 01:20:27.187 --> 01:20:29.707 I always hear about to-do.txt. I always hear that, too. Like, 01:20:29.767 --> 01:20:31.447 oh, on Linux, you've got to use to-do.txt. 01:20:31.627 --> 01:20:35.507 I don't know. If somebody's got a to-do workflow that works really well and 01:20:35.507 --> 01:20:37.327 across machines, boost in and tell us about it. 01:20:37.647 --> 01:20:41.227 I'd love to – I've just started using Planify. I'm not married to it. 01:20:41.247 --> 01:20:42.587 I'd love to get something really great in place. 01:20:42.587 --> 01:20:46.347 I bet there's still some good Task Warrior users out there with their own servers going. 01:20:46.767 --> 01:20:47.267 Oh, I bet. 01:20:47.407 --> 01:20:48.267 That was me for a while. 01:20:48.307 --> 01:20:52.627 I daydream of an e-ink display by the door here so when I'm leaving, 01:20:52.627 --> 01:20:55.187 I can have reminders and to-dos right there. 01:20:55.247 --> 01:20:56.207 Ooh, like that. 01:20:56.387 --> 01:20:57.447 I just daydream of that. 01:20:57.647 --> 01:20:58.707 Your birthday is coming. 01:21:00.067 --> 01:21:01.887 Dude, next episode, the birthday. 01:21:02.867 --> 01:21:03.267 Yikes. 01:21:03.527 --> 01:21:05.967 It's on, it's an actual, it's one of the weeks where- Oh, that's right. 01:21:06.147 --> 01:21:08.427 The birthday's gonna be in the episode, so. 01:21:08.747 --> 01:21:09.627 Oh my goodness. 01:21:09.627 --> 01:21:11.787 That's how I'm still inviting my birthday is I'm doing a show. 01:21:11.947 --> 01:21:13.447 Bring your party hats, everyone. Woo! 01:21:13.667 --> 01:21:15.987 It's gonna be our birthday! Which means absolutely nothing. 01:21:16.227 --> 01:21:20.447 The real question in my mind, is it gonna be a different bat channel? 01:21:21.067 --> 01:21:26.687 Right. So we've been experimenting with a little bit earlier in the morning. We're doing 10 a.m., 01:21:27.321 --> 01:21:30.781 Pacific, which is what, 1 p.m. Eastern? Am I doing that math right? 01:21:30.781 --> 01:21:31.441 Yeah, I believe you are. 01:21:32.061 --> 01:21:35.641 And I think that's 6 p.m. UTC. I could be wrong. Always double-check Chris's 01:21:35.641 --> 01:21:39.941 math at jupiterbroadcasting.com slash calendar. Do you want to try it again next week? 01:21:40.021 --> 01:21:40.421 Let's do it. 01:21:40.541 --> 01:21:43.581 Okay. Brent, you agree we try the earlier live time next week? 01:21:44.061 --> 01:21:44.961 Yeah, I do agree. 01:21:45.701 --> 01:21:50.301 Okay. So if you're a podcasting 2-0-0 listener, we'll just mark it pending earlier 01:21:50.301 --> 01:21:51.681 in your feed and you don't have to do anything. 01:21:51.921 --> 01:21:55.401 But you can also go to jupiterbroadcasting.com slash calendar and always get 01:21:55.401 --> 01:21:58.481 those live days, hopefully. Hopefully the calendar updates. 01:21:59.721 --> 01:22:04.861 Sometimes my calendar luck is just really bad. But that'll be streamed at jblive.tv 01:22:04.861 --> 01:22:07.341 as always. So perhaps it's a new bat time and a new bat channel. 01:22:11.181 --> 01:22:15.761 Remember, we want your feedback. Help us steal, man, the other side of the Knicks argument. 01:22:16.001 --> 01:22:19.541 And if you think maybe it really does come down to just workflow expectations, 01:22:20.621 --> 01:22:21.701 I'd love to hear your thoughts. 01:22:21.901 --> 01:22:24.381 Boost in with that and anything else you'd like to talk about and respond to, 01:22:24.381 --> 01:22:27.561 even from several episodes ago. We always like it. 01:22:28.021 --> 01:22:31.581 Don't forget, links to what we talked about, you can find those on our website, 01:22:32.301 --> 01:22:34.921 linuxunplugged.com slash 598. 01:22:36.161 --> 01:22:37.401 Oh my goodness. 01:22:37.801 --> 01:22:38.481 Getting close. 01:22:39.121 --> 01:22:42.681 Shout out to our Mumble Room details at jupiterbroadcasting.com slash mumble. 01:22:42.881 --> 01:22:44.161 Thank you so much for joining us. 01:22:44.621 --> 01:22:48.461 And we'll see you right back here next Tuesday as in Sunday.
Previous episode Next episode

Search

Search