Skip to main content
LawHub
Search

Brent Loves Building Things

Jun 22, 2025
Listen to this episode

Off-the-shelf didn't cut it, so we built what we needed using open hardware and open source.

Sponsored By:

Support LINUX Unplugged

Links:

Transcript

WEBVTT 00:00:11.615 --> 00:00:16.355 Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris. 00:00:16.515 --> 00:00:17.215 My name is Wes. 00:00:17.335 --> 00:00:18.075 And my name is Brent. 00:00:18.215 --> 00:00:22.335 Hello, gentlemen. Coming up on the show today, off the shelf, just didn't cut it. 00:00:22.415 --> 00:00:26.755 So we built the tool we needed using open hardware and open source. 00:00:27.015 --> 00:00:30.535 You're going to learn the basics of how to build your own ESP32 project, 00:00:30.795 --> 00:00:33.755 whether it's for your own rig, an RV, or home automation system, 00:00:33.855 --> 00:00:35.835 or something like a smart chicken coop. 00:00:36.075 --> 00:00:39.535 Or maybe you just love hearing about no cloud, no nonsense tech, 00:00:39.535 --> 00:00:42.575 But we've got something for you this week, and then we'll round it out with 00:00:42.575 --> 00:00:44.695 some great boosts, some picks, and a lot more. 00:00:44.795 --> 00:00:48.495 So before I go any further, let's say time-appropriate greetings to our virtual 00:00:48.495 --> 00:00:49.775 lug. Hello, Mumble Room. 00:00:49.835 --> 00:00:51.495 Hey, Chris. Hey, where's the name? Hello. 00:00:53.755 --> 00:00:57.155 It's a smaller, quiet listening crew and a larger on-air crew this week. 00:00:57.275 --> 00:00:58.195 Ah, lovely. 00:00:58.455 --> 00:00:58.735 Grated. 00:00:59.355 --> 00:01:01.895 JupiterBroadcasting.com slash mumble if you want the details. 00:01:02.715 --> 00:01:05.715 And a big good morning to our friends at TailScale. 00:01:06.035 --> 00:01:10.315 TailScale.com slash unplug. TailScale is the easiest way to connect your devices 00:01:10.315 --> 00:01:15.055 and services to each other, wherever they are, protected by wild gold. 00:01:15.555 --> 00:01:19.675 And if you go to TailScale.com slash unplugged, you'll get it for free on 100 00:01:19.675 --> 00:01:24.035 devices, three users, no credit card required. And then you get secure remote 00:01:24.035 --> 00:01:28.715 access to your production systems, your servers, whatever it might be, super fast. 00:01:28.775 --> 00:01:32.375 And it's privacy for every individual or every organization. 00:01:32.375 --> 00:01:36.175 And it has an intuitive, easy to use interface where you can set and manage 00:01:36.175 --> 00:01:39.655 your privacy and your rules. And it's so quick to get started. 00:01:40.215 --> 00:01:42.715 You got five minutes, you're going to get it working on three systems. 00:01:43.095 --> 00:01:45.795 They'll build out a flat mesh network called your tail net. 00:01:46.035 --> 00:01:49.295 And then that tail net persists between all of those machines. 00:01:49.435 --> 00:01:53.315 Maybe it's your mobile device. It's a couple of VPSs, a VM, container app, you name it. 00:01:53.815 --> 00:01:57.195 Since I've built this out and it really changed the way I do networking, 00:01:57.195 --> 00:02:01.355 I then deployed it at Jupyter Broadcasting. So that way the backend services 00:02:01.355 --> 00:02:04.995 that are in different VPS data centers and actually one of them is in an actual 00:02:04.995 --> 00:02:06.415 data center. It's a colobox. 00:02:06.515 --> 00:02:09.135 Like, they're all communicating on this LAN. 00:02:09.815 --> 00:02:14.735 It's so powerful, but yet safe and private. Thousands of companies like Instacart, 00:02:14.835 --> 00:02:17.495 Hugging Face, and Duolingo have all switched to Tailscale. 00:02:17.675 --> 00:02:20.635 And, of course, so many in our audience use it as well. 00:02:20.875 --> 00:02:24.515 That's right. Go check out Tailscale. Tailscale.com. Slash. 00:02:24.875 --> 00:02:28.655 Unplugged. You support the show. You get it for free up to 100 devices and three 00:02:28.655 --> 00:02:30.055 users. Not a limited time trial. 00:02:30.695 --> 00:02:33.935 And then you're really going to kick the tires with that. That's the kind of 00:02:33.935 --> 00:02:37.295 trust they have. Check it out. tailscale.com slash unplugged. 00:02:40.190 --> 00:02:45.050 Well, we got some really good news for iOS users, which I don't think we've said that in a while. 00:02:45.370 --> 00:02:50.570 And that is Castomatic, which is one of the pinnacle of the podcasting 2.0 apps. 00:02:50.570 --> 00:02:52.010 It's just absolutely fabulous. 00:02:52.690 --> 00:02:55.990 Has version 11 shipping with live support. 00:02:56.810 --> 00:02:59.330 Now, why do we love live support so much, Wes? 00:02:59.510 --> 00:03:01.070 Is it because we're live right now? 00:03:01.170 --> 00:03:07.270 Yeah, there's that. It's a way to be live by just simply putting a couple of lines in an RSS feed. 00:03:07.270 --> 00:03:11.530 And then your podcast client, if it has support like Cast-O-Matic now, 00:03:11.830 --> 00:03:17.110 it'll just show up like a regular podcast in the same place you go to listen to us. 00:03:17.250 --> 00:03:25.430 No stinking Twitch, no stinking YouTube needed, no X, no big tech involved at all. 00:03:25.570 --> 00:03:28.350 Whatever streaming platform you want, whatever mode of streaming, 00:03:28.550 --> 00:03:33.430 video, audio, you just define it in your RSS feed and these clients read it 00:03:33.430 --> 00:03:36.470 and incorporate it just like your existing shows like Wes said. 00:03:36.470 --> 00:03:39.950 No digging around for links, no switching to another platform. 00:03:39.950 --> 00:03:42.770 You just open your podcast app and you tap play. 00:03:43.190 --> 00:03:47.830 It's so rad. And the podcasts that take advantage of this are standing out from the pack. 00:03:47.950 --> 00:03:54.290 So Castamatic 11 is already a fantastic iOS podcasting 2.0 app. 00:03:54.710 --> 00:04:00.090 But to see Castamatic 11 now with live support is so great. I've been waiting for this for a while. 00:04:00.190 --> 00:04:02.890 You can find it at castamatic.com. It is free. 00:04:03.870 --> 00:04:07.550 I don't know if it's open source. I don't think so. But it is a fantastic app. 00:04:07.670 --> 00:04:09.030 It has iCloud Sync support. 00:04:09.550 --> 00:04:13.650 It has Gap Zapper. It has a nice automatic leveler if you have some podcasts 00:04:13.650 --> 00:04:16.870 that don't pay as much attention to their levels. Smart playlists. 00:04:17.890 --> 00:04:21.970 I love it. And I've been waiting forever to get lit support, and it's great to see it. 00:04:22.450 --> 00:04:23.930 Maybe boost in if you give it a try. 00:04:27.590 --> 00:04:32.470 Many years ago, I upgraded my RV, aka Lady Jupiter, aka Jupes, 00:04:32.690 --> 00:04:36.670 from a stock power system with a couple of golf batteries and a cheap inverter 00:04:36.670 --> 00:04:40.170 to a full zombie apocalypse off-grid capable machine. 00:04:40.570 --> 00:04:44.410 And ever since then, I've been trying to plug in different Linux components 00:04:44.410 --> 00:04:48.510 or different devices to try to pull metrics and organize and manage all of this. 00:04:48.610 --> 00:04:53.730 And I've built up a pretty mean system with one major problem. 00:04:53.950 --> 00:04:58.070 All that gear can overheat, especially when you need it the most. 00:04:58.310 --> 00:05:02.030 When the system is producing a lot of power, it also produces a lot of heat. 00:05:02.070 --> 00:05:04.270 So you can imagine in the summer, that's a big problem. 00:05:04.390 --> 00:05:08.450 I've always wanted to address this, but there was not really the right product. 00:05:08.770 --> 00:05:12.150 I mean, besides trying to figure out how to physically install it and how to 00:05:12.150 --> 00:05:15.290 vent the system, I also needed a practical way to trigger it. 00:05:15.530 --> 00:05:18.330 Ideally one that doesn't require direct intervention, say while I'm driving. 00:05:18.970 --> 00:05:22.090 And I wanted something that would reliably trigger a blower. 00:05:22.610 --> 00:05:26.810 So I wouldn't, I wouldn't have to worry about maybe it's not running or if I 00:05:26.810 --> 00:05:29.270 don't have internet, it won't start the automation. 00:05:29.890 --> 00:05:33.270 So I had all these requirements and I figured there was probably an open source 00:05:33.270 --> 00:05:35.750 angle to this because it uses DC power. 00:05:36.070 --> 00:05:39.230 It has to be able to work offline with no cloud integration. 00:05:40.050 --> 00:05:44.230 Ideally, it could be integrated into Home Assistant so I can collect metrics and do automations. 00:05:44.510 --> 00:05:48.030 So I need something that provides data so I can see the difference of when we 00:05:48.030 --> 00:05:50.970 had it in place and used and when we're not using it. 00:05:51.270 --> 00:05:56.330 And since I'm installing it in my home, I want it to have a 10-year lifespan or longer. 00:05:57.510 --> 00:06:00.770 I don't think the perfect commercial device that's pre-built exists for this. 00:06:01.490 --> 00:06:04.110 Especially when you get into the no cloud 10-year user. 00:06:04.110 --> 00:06:06.710 Yeah, that cuts out a lot of options, I would think. 00:06:06.890 --> 00:06:10.750 And if I'm putting it literally in my home, like I'm mounting it to the walls 00:06:10.750 --> 00:06:13.070 or in the walls, I want it to be open source. 00:06:13.550 --> 00:06:17.470 I don't want it to be a proprietary piece of software that has like a limited lifespan. 00:06:17.670 --> 00:06:21.310 And that you don't really understand and can fail for unknown reasons at any 00:06:21.310 --> 00:06:24.090 time, that your only option is to replace the entire thing. 00:06:24.230 --> 00:06:27.570 And if it's a proprietary piece of equipment, it's probably no longer made. 00:06:27.770 --> 00:06:27.930 Right. 00:06:28.110 --> 00:06:30.150 You know, it's hard to get the exact one-to-one replacement. 00:06:30.150 --> 00:06:33.810 I want something common enough that if in six years, seven years, 00:06:33.810 --> 00:06:37.890 it dies, I can order a new one on Amazon and have it in two days. 00:06:39.453 --> 00:06:44.293 That doesn't exist. That just doesn't exist. So we had to build one. 00:06:44.533 --> 00:06:48.073 And this is the perfect introduction to ESP devices. 00:06:48.853 --> 00:06:52.933 They're low-cost, Wi-Fi and Bluetooth-enabled microcontrollers produced by, 00:06:52.993 --> 00:06:55.493 is it Espressif? How do you say their name? I never say it right. 00:06:55.593 --> 00:06:56.833 I think you're pretty good. Espressif. 00:06:57.013 --> 00:07:01.633 Yeah. Now, they're pretty well-known in the IoT space. And these things are, 00:07:01.793 --> 00:07:06.553 when I say affordable, I mean $9 gets you a four-pack of these things or something 00:07:06.553 --> 00:07:08.793 like that off of Amazon. I mean, affordable is ridiculous. 00:07:09.453 --> 00:07:15.233 Low power consumption, there are three volts, and you can combine them with 00:07:15.233 --> 00:07:19.773 another open source project called ESPHome, which is now part of Home Assistant, 00:07:19.853 --> 00:07:24.933 and it gives it a Home Assistant-friendly framework that makes it really easy 00:07:24.933 --> 00:07:27.033 to integrate and start setting up. 00:07:27.033 --> 00:07:31.333 Yeah, right. You kind of have like one part, which is this like microcontrollery 00:07:31.333 --> 00:07:37.253 ecosystem. You can do stuff like what Arduino or MicroPython or Tasmodo or, 00:07:37.453 --> 00:07:39.653 you know, all kinds of different options for what you run on there. 00:07:39.773 --> 00:07:43.373 And then you compare that if you're a home assistant user with ESPHome, 00:07:43.553 --> 00:07:47.853 which makes this like very user friendly layer on top to like manage it and 00:07:47.853 --> 00:07:48.813 interface between the two. 00:07:48.813 --> 00:07:53.333 So these little ESP32 devices, they're typically running, like Wes said, 00:07:53.433 --> 00:07:56.353 there's a several different Tasmodo, you know, but they're typically running 00:07:56.353 --> 00:08:00.673 free RTOS, which is a tiny little real-time operating system. 00:08:01.333 --> 00:08:05.233 You can even operate these things essentially bare metal, but the nice thing 00:08:05.233 --> 00:08:09.993 about free RTOS is it kind of does exactly what we need for this job. 00:08:10.133 --> 00:08:12.833 It handles task scheduling, memory management, and the interrupts, 00:08:12.853 --> 00:08:17.873 and it also is aware of the GPIO pins and their layout and all of that. 00:08:17.873 --> 00:08:23.133 Just enough of a tiny little operating system that you can then run what you 00:08:23.133 --> 00:08:28.813 need to like get on Wi-Fi appropriately and have an API that Home Assistant 00:08:28.813 --> 00:08:32.793 can talk to but without having to reinvent the whole world or program it all yourself in C++. 00:08:33.073 --> 00:08:36.273 And the main chip for these things, it's not much bigger than a quarter. 00:08:36.953 --> 00:08:41.873 They're really small and they're in all kinds of different pre-built packages as well. 00:08:42.273 --> 00:08:45.453 Now, did you know that Amazon bought free RTOS back in 2017? 00:08:46.773 --> 00:08:49.233 Vaguely now i they've but i had totally forgotten. 00:08:49.233 --> 00:08:49.673 Yeah i. 00:08:49.673 --> 00:08:53.693 Guess that means either no one paid attention or they haven't done anything 00:08:53.693 --> 00:08:55.133 super horrible to it since. 00:08:55.133 --> 00:08:57.793 Yeah it's still mit licensed okay great i mean it's even 00:08:57.793 --> 00:09:01.093 used on the mars rover so it's like from esp32 devices 00:09:01.093 --> 00:09:03.893 all the way up on mars um so that's pretty 00:09:03.893 --> 00:09:07.113 nice and then like wes was saying you combine that with esp home which 00:09:07.113 --> 00:09:10.093 is that open source firmware project and it gives you a simplified 00:09:10.093 --> 00:09:13.393 way to manage these like my yaml configuration 00:09:13.393 --> 00:09:18.113 for what we're about to talk about with spacing and you know clean formatting 00:09:18.113 --> 00:09:23.673 and comments 35 lines and it's with a lot of spacing and whatnot i'll put an 00:09:23.673 --> 00:09:28.373 example link in the show notes so you use esp home to kind of get you this really 00:09:28.373 --> 00:09:32.773 simple to configure little device and it's leveraging free rtos underneath the hood, 00:09:34.293 --> 00:09:39.813 And they make it maintainable to send over-the-air updates throughout the device's life cycle. 00:09:39.893 --> 00:09:43.433 So that's pretty killer, right? So you have to plug it in to get it flashed the first time. 00:09:43.473 --> 00:09:43.753 Yes. 00:09:43.873 --> 00:09:45.893 But then after that, you can just update it over the air. 00:09:45.993 --> 00:09:46.333 Yes. 00:09:46.433 --> 00:09:50.013 That's so great. Especially if you have a bunch of these deployed in your walls or whatever. 00:09:50.313 --> 00:09:54.493 Yeah, and you can update all of them in one push. It does a build check first. 00:09:54.493 --> 00:09:57.713 So if the build fails, it won't flip them to production. 00:09:58.453 --> 00:10:00.253 So there's also a bit of a safety net there. 00:10:00.333 --> 00:10:00.913 Quite insane. 00:10:00.913 --> 00:10:04.873 And you can do things like, oh, I actually wanted to use this or change the 00:10:04.873 --> 00:10:08.253 temperature sensor sensitivity from 60 seconds to 30 seconds. 00:10:08.413 --> 00:10:10.653 You can do all that without having to physically go to the device. 00:10:11.253 --> 00:10:14.573 You can push the config. It does a build in ESPHome and then sends it all out 00:10:14.573 --> 00:10:15.453 there and boots the device. 00:10:16.073 --> 00:10:20.393 It's just really nice. And you're all doing it over your LAN, you know? 00:10:20.593 --> 00:10:22.173 I mean, better have a good LAN. 00:10:22.453 --> 00:10:26.733 Yeah, well, yeah, yeah. And some RAM, yeah. But it's all right there in the 00:10:26.733 --> 00:10:27.853 Home Assistant dashboard these days. 00:10:27.913 --> 00:10:33.253 You just have to get the add-on going. So for our setup, we used an ESP8266 00:10:33.253 --> 00:10:39.173 device and a DC relay and a temperature sensor all hanging off of this ESP8266. 00:10:39.853 --> 00:10:43.313 And then we used ESPHome working with Home Assistant to configure the temperature 00:10:43.313 --> 00:10:48.293 sensor, which can trigger the blower fan automatically when the RV power system 00:10:48.293 --> 00:10:51.173 gets too hot. And then it logs all of it in Home Assistant. 00:10:51.513 --> 00:10:58.853 Okay. So the ESP is playing both relay for the temperature sensor back to Home Assistant Central. 00:10:59.173 --> 00:11:04.393 And then it's also playing endpoint sort of like control to trigger the relay. 00:11:04.573 --> 00:11:08.193 Yes, it triggers the relay that turns the fan on. And so these are just the 00:11:08.193 --> 00:11:10.573 perfect tools for the job. So a little recap, right? DC powered, 00:11:10.733 --> 00:11:12.173 everything's DC in this system. 00:11:12.413 --> 00:11:17.173 Offline operation, zero cloud dependency, home assistant integration for monitoring 00:11:17.173 --> 00:11:20.393 control, data logging and temperature and fan status. 00:11:20.613 --> 00:11:24.273 And depending on how we build it, which we'll get into, I think we can get a 00:11:24.273 --> 00:11:25.773 10 plus year lifespan out of this. 00:11:27.153 --> 00:11:33.633 So like I said, we had an ESP8266, we picked up a DHT22 temperature sensor, 00:11:33.953 --> 00:11:35.733 and we started a building. 00:11:36.920 --> 00:11:42.940 we also needed a couple of other things we needed a fan and these esps don't 00:11:42.940 --> 00:11:45.780 just run off of straight 12 volts so we had to get another component as well. 00:11:45.780 --> 00:11:50.000 A little buck converter they call them i don't know why they're called that 00:11:50.000 --> 00:11:54.160 someone will eventually write in and tell me but that converts the 12 volt that 00:11:54.160 --> 00:11:59.680 is well pretty common in cars but also chris's rv and converts that dc directly 00:11:59.680 --> 00:12:04.980 to 5 volts which can power this little esp and the temperature sensor as well. 00:12:05.300 --> 00:12:09.180 So it does a little bit of, I don't know, electron magic for us to make it all 00:12:09.180 --> 00:12:10.220 work in a nice little package. 00:12:10.580 --> 00:12:14.200 And we also added to our little design here, a little fuse in here. 00:12:14.320 --> 00:12:15.680 So you could, you know, these are things to consider. 00:12:15.800 --> 00:12:18.300 You're going to need to step down converter. If you're coming from 12 volt or 00:12:18.300 --> 00:12:20.220 a battery, you may want to fuse. 00:12:20.780 --> 00:12:23.760 So just those things are something to know about. And yeah, you can then, 00:12:24.000 --> 00:12:26.620 you know, sort of build to your heart's desire. 00:12:27.220 --> 00:12:30.860 And then ultimately you need to, you need to be able to get these little ESP 00:12:30.860 --> 00:12:33.420 devices, either plugged into your home assistant or on Wi-Fi, 00:12:33.580 --> 00:12:35.420 and then you can start pushing configurations to them. 00:12:35.900 --> 00:12:39.240 So that's sort of the background. Oh, and one other thing I think you should 00:12:39.240 --> 00:12:42.220 probably know before we get into the project is these ESPs, like a Raspberry 00:12:42.220 --> 00:12:45.060 Pi, have GPIO pins on them. 00:12:46.280 --> 00:12:50.460 And these, some of them have particular functions. So in our example, 00:12:50.720 --> 00:12:56.120 our thermostat sensor is plugged into GPIO-14, which is often labeled D5 on the board. 00:12:56.660 --> 00:13:02.300 And then we have a relay plugged into GPIO 5, which is also called D1. 00:13:03.240 --> 00:13:06.340 So there's all these pins on here and you just plug stuff into them. 00:13:06.480 --> 00:13:10.220 And then in the YAML configuration, you say on this pin, this is a sensor. 00:13:10.400 --> 00:13:13.640 And on this pin, that's a relay. And that's all you have to say. 00:13:14.060 --> 00:13:18.640 I have to confess that originally when I looked at Raspberry Pis, 00:13:18.760 --> 00:13:22.440 I saw the little, you know, GPIO pins and thought, I'm never, 00:13:22.620 --> 00:13:24.740 ever, ever going to use those. 00:13:24.740 --> 00:13:28.160 I know some people will, but like, I'm not going to use that on my Raspberry 00:13:28.160 --> 00:13:29.520 Pi or any other device. I don't know. 00:13:29.680 --> 00:13:32.840 Why do I even need that? Everything changed this week. 00:13:33.940 --> 00:13:37.720 Yeah. And, you know, PJ points out, and something people should be aware of, 00:13:37.860 --> 00:13:41.960 some of these pins have special functions. But the ones we used, 00:13:42.160 --> 00:13:46.780 GPIO 14 and GPIO 5, they are not tied to any special boot functions. 00:13:47.300 --> 00:13:49.760 So they don't output any expected signals at startup. 00:13:50.380 --> 00:13:53.640 They're really clean. They're good to use for sensors and relays. 00:13:53.640 --> 00:13:58.380 So some of these general purpose input outputs have specific purposes, you're telling me? 00:13:58.580 --> 00:14:01.680 And they do things at boot. You need to be aware of it. But generally, 00:14:01.940 --> 00:14:04.520 GPIO 14 and GPIO 5 are safe for this. 00:14:04.520 --> 00:14:04.960 Lucky numbers. 00:14:06.551 --> 00:14:11.771 So this, for me, and managing all this, was the really easy part because Home 00:14:11.771 --> 00:14:15.091 Assistant took care of it for me. But Wes, you took another crack at it. 00:14:15.471 --> 00:14:19.371 Yeah, okay. So I've been doing Home Assistant, but on NixOS, 00:14:19.671 --> 00:14:22.511 knowing that I'm doing it the hard and now unsupported way. 00:14:22.651 --> 00:14:26.271 And just figuring, well, let's see what it's like. I'm reserving the option 00:14:26.271 --> 00:14:30.731 to just run it in a VM or a container later if that seems worth it for what I want to do with it. 00:14:31.151 --> 00:14:35.731 But until then, see how far I can get. so for you guys right you're running 00:14:35.731 --> 00:14:41.071 the whole operating system right and so you have the add-on store and so esp 00:14:41.071 --> 00:14:45.051 home the like software itself not the integration but the actual dashboard and 00:14:45.051 --> 00:14:48.611 like management stuff that's just an add-on yeah. 00:14:48.611 --> 00:14:54.431 For for a little bit of context my home assistant system in the rv is using 00:14:54.431 --> 00:14:57.611 the home assistant yellow hardware which is a cm4 based, 00:14:58.691 --> 00:15:03.811 system and has about two gigs of RAM, which can be pushing it when you're trying 00:15:03.811 --> 00:15:05.671 to do a bunch of builds for ESP Home. 00:15:05.871 --> 00:15:09.731 And one of the things you can do is you can go into the configuration for ESP 00:15:09.731 --> 00:15:13.031 Home's add-on and you can tell it to limit itself to one thread, 00:15:13.251 --> 00:15:15.611 which because you're using only one thread instead of like four, 00:15:15.791 --> 00:15:17.551 it uses less RAM, but it takes longer. 00:15:17.891 --> 00:15:21.231 Just a little bit of context there. So yeah, I'm using it on a CM4 based system. 00:15:21.331 --> 00:15:23.831 I imagine this Nix box you're using it on is probably more powerful. 00:15:24.031 --> 00:15:24.431 Yeah. 00:15:24.431 --> 00:15:26.451 Yeah, I find it interesting because, Chris, you're doing the most supported 00:15:26.451 --> 00:15:29.591 way, and you might be arguably doing the least supported way, 00:15:29.631 --> 00:15:30.711 and I like that difference. 00:15:31.371 --> 00:15:35.711 So, thankfully, ESPHome is packaged in Nix, and it has an XOS module. 00:15:35.971 --> 00:15:39.171 So you can just run it yourself, which is handy if you're trying to do troubleshooting 00:15:39.171 --> 00:15:42.291 and just want to manually flash something, just a little command you can run. 00:15:42.571 --> 00:15:46.371 But the module's pretty easy, pretty much just, you know, enable equals true. 00:15:46.371 --> 00:15:51.111 So the main difference in the experience there is that instead of being like 00:15:51.111 --> 00:15:54.351 another thing that you go to inside the Home Assistant tab, it's like a separate 00:15:54.351 --> 00:15:57.111 tab for a service running on a separate port or, you know, put it behind a reverse 00:15:57.111 --> 00:15:58.231 proxy or whatever you want to do. 00:15:58.991 --> 00:16:02.971 Otherwise, basically the same, though, as usual with Nix, you kind of get a 00:16:02.971 --> 00:16:06.331 bit more of a look under the hood sometimes, especially if there's something 00:16:06.331 --> 00:16:09.431 goes wrong, you're troubleshooting or figuring out how to make it work. 00:16:09.431 --> 00:16:14.371 and to do some of all of its magic, it turns out ESPHome does want to download 00:16:14.371 --> 00:16:19.591 some binaries, including some special compilers, to make all that magic work. 00:16:19.771 --> 00:16:23.291 This is done by something called Platform.io under the hood. 00:16:23.851 --> 00:16:28.571 So Nix handles this by using what's called build FHS environment, 00:16:28.571 --> 00:16:30.911 which uses bubble wrap to create a 00:16:30.911 --> 00:16:36.011 more traditional Linux FHS hierarchy environment to run that software in. 00:16:36.151 --> 00:16:39.651 So ESPHome's not on the wiser. it's on a weird NixOS file system. 00:16:39.831 --> 00:16:44.831 Yes, and in particular, the rando binaries it runs to try to compile your build 00:16:44.831 --> 00:16:46.771 also don't have to deal with that. 00:16:47.823 --> 00:16:48.983 Solid solution, really. 00:16:49.143 --> 00:16:52.483 As a result, too, the NixOS module does a good job, you could argue, 00:16:52.943 --> 00:16:55.163 enabling as much of the system dehardening stuff. 00:16:55.323 --> 00:16:57.983 You know, because if something's downloading some random binaries that's running, 00:16:58.083 --> 00:17:02.083 maybe you want it to not have to have full write over your full system or whatever. 00:17:02.363 --> 00:17:03.043 Yeah, definitely, right. 00:17:03.683 --> 00:17:06.783 But that caused me a little bit of an issue. I don't know if there's something 00:17:06.783 --> 00:17:09.963 that changed or just some details in the module that needs to get worked out. 00:17:10.143 --> 00:17:14.423 But by default, it was writing to, like, 00:17:14.523 --> 00:17:19.523 var lib esp home, but was set up to use like private users for security and 00:17:19.523 --> 00:17:24.603 dynamic users and basically that meant that when it was running systemd does 00:17:24.603 --> 00:17:28.743 some bind mounts and it was adding the no exec flag so everything was working 00:17:28.743 --> 00:17:33.243 except i was getting permission denied trying to actually run the compiler to compile the. 00:17:33.243 --> 00:17:36.503 It was essentially being overly cautious and saying you don't want to execute this. 00:17:36.503 --> 00:17:39.443 Yes and so i figured out pretty quick i could just tell platform 00:17:39.443 --> 00:17:42.243 io to use slash temp for all the stuff 00:17:42.243 --> 00:17:45.363 and then that worked and then I did a little more work 00:17:45.363 --> 00:17:48.383 for it and I was able to modify the systemd file 00:17:48.383 --> 00:17:51.943 we'll see maybe I'll try to submit this or see what other people think but 00:17:51.943 --> 00:17:54.723 basically have a separate cache directory which is 00:17:54.723 --> 00:17:57.443 the thing systemd supports for a service so you can say like hey make a slash 00:17:57.443 --> 00:18:00.343 var slash cache just for this service so use 00:18:00.343 --> 00:18:03.263 that for all the platform IO stuff so unlike with 00:18:03.263 --> 00:18:06.103 slash temp it won't get cleared at boot but it is in a place because it can 00:18:06.103 --> 00:18:08.923 be re-downloaded that you know systemd knows that 00:18:08.923 --> 00:18:12.503 it can get cleared if needed and then you can add 00:18:12.503 --> 00:18:15.203 something called exec paths which is an 00:18:15.203 --> 00:18:18.483 option to basically tell systemd only allow to 00:18:18.483 --> 00:18:21.403 exec things from these paths but do allow those 00:18:21.403 --> 00:18:25.643 paths so then i tell it like you know go use the slash bin from the package 00:18:25.643 --> 00:18:31.023 to run all the esp home bits and allow the cache that i've just set up and then 00:18:31.023 --> 00:18:34.523 after that it pretty much just worked wow yeah so So then I was able to get 00:18:34.523 --> 00:18:40.683 another 8266 thing that producer Jeff kindly gave me. Yeah. Got it flashed. Worked just fine. 00:18:40.823 --> 00:18:45.603 So you had a lot more initial setup to get it working, but you came away with 00:18:45.603 --> 00:18:48.223 a lot clearer understanding of how it works under the hood. 00:18:48.403 --> 00:18:48.983 This is true. 00:18:49.223 --> 00:18:51.823 And now you have that config forever. So you could always reproduce this. 00:18:52.003 --> 00:18:52.123 Yeah. 00:18:52.363 --> 00:18:55.883 Now, if you really want it easy, you don't need Home Assistant. 00:18:55.923 --> 00:19:01.183 You don't have to set it up like Wes did. you can actually go to web.esphome.io 00:19:01.183 --> 00:19:04.923 and do some of the initial setup right there in your web browser. 00:19:05.123 --> 00:19:08.623 The catch is it has to be Chrome because they take advantage of, 00:19:08.703 --> 00:19:10.423 like, some serial port API stuff. 00:19:10.643 --> 00:19:13.283 Right. And you do need to be in the dial-out group and have the permissions 00:19:13.283 --> 00:19:15.883 to access the USB device and all of that. 00:19:15.983 --> 00:19:20.943 But if you have all of those prerequisites checked off, you can get these things 00:19:20.943 --> 00:19:26.823 started and dump a YAML config on there from just their hosted website at web.esphome.io. 00:19:26.823 --> 00:19:29.563 and everything runs 100% in the browser locally. 00:19:29.723 --> 00:19:32.243 That's pretty great. Because then all you need, I mean, if you do want to even 00:19:32.243 --> 00:19:35.483 still do Home Assistant, you just have to have the integration on that side 00:19:35.483 --> 00:19:36.363 and you can add the devices. 00:19:36.643 --> 00:19:38.403 Turns out even hardware requires a browser. 00:19:42.260 --> 00:19:49.240 Onepassword.com slash unplugged. That's the number one password.com slash unplugged. It's all lowercase. 00:19:49.400 --> 00:19:53.860 If your employees are bypassing security to use unapproved apps that they feel 00:19:53.860 --> 00:19:56.080 they need to do their jobs, you're not alone. 00:19:56.280 --> 00:19:59.080 And fortunately, with one password extended access management, 00:19:59.320 --> 00:20:02.560 security and productivity, they don't have to be at odds anymore. 00:20:02.780 --> 00:20:08.320 You can check compliance off your list. You see, Treleka by one password inventories 00:20:08.320 --> 00:20:10.660 every app you use at your company. 00:20:10.840 --> 00:20:14.440 Then it pre-populates app profiles and it figures out SaaS risk. 00:20:15.340 --> 00:20:16.940 Letting you manage access. 00:20:17.560 --> 00:20:20.380 Employees can request access to services and all that. 00:20:20.480 --> 00:20:24.580 And you can optimize the spend, make sure you're not using licenses that you 00:20:24.580 --> 00:20:27.640 don't need or you don't have redundant application. But the most important part, 00:20:27.660 --> 00:20:31.480 you can enforce security best practices across every app your employees use. 00:20:31.580 --> 00:20:36.520 You can manage shadow IT like contractors that just show up one day or apps you didn't know about. 00:20:36.700 --> 00:20:40.640 You can onboard and offboard employees with a process, and you can make sure 00:20:40.640 --> 00:20:42.040 you're meeting compliance goals. 00:20:42.580 --> 00:20:47.520 You see, Treleka by 1Password provides a complete solution for SaaS access and governance. 00:20:47.760 --> 00:20:50.780 It's just one of the ways extended access management helps teams strengthen 00:20:50.780 --> 00:20:52.460 compliance and security. 00:20:52.900 --> 00:20:57.320 Now, I love that 1Password brought really good password practices to the world, 00:20:57.460 --> 00:20:58.680 and they made that really easy. 00:20:58.820 --> 00:21:00.700 And you know 1Password's well-regarded. 00:21:00.780 --> 00:21:04.760 It's used by over 150,000 businesses out there, IBM to Slack. 00:21:05.000 --> 00:21:09.360 And of course, now they're taking things to the next level and making the complete 00:21:09.360 --> 00:21:12.420 system with 1Password Extended Access Management. 00:21:12.660 --> 00:21:16.740 Take the first step to better security for your team by securing credentials 00:21:16.740 --> 00:21:20.320 and protecting every application, even unmanaged shadow IT. 00:21:20.760 --> 00:21:25.780 Learn more by going to 1Password.com slash unplugged. That's 1Password.com slash 00:21:25.780 --> 00:21:27.560 unplugged, all lowercase. 00:21:27.760 --> 00:21:32.580 Check it out, learn more, and support the show at 1password.com slash unplugged. 00:21:36.006 --> 00:21:38.786 So now we get into building the actual thing well in 00:21:38.786 --> 00:21:41.386 the morning when we first got started chris and i looked at each other and we 00:21:41.386 --> 00:21:44.306 tried to divvy up the the work and uh 00:21:44.306 --> 00:21:46.966 chris was going to do the software which as you can hear was nice and 00:21:46.966 --> 00:21:51.286 simple and then i was going to get started on the hardware well it 00:21:51.286 --> 00:21:54.286 turns out that's a bit more of a challenge but 00:21:54.286 --> 00:21:57.446 we've got a good team producer jeff sent us 00:21:57.446 --> 00:22:01.386 a bunch of consults and diagrams and well 00:22:01.386 --> 00:22:04.366 years ago even taught us about these devices so we took out 00:22:04.366 --> 00:22:08.506 a big box filled with devices from what 2023 00:22:08.506 --> 00:22:13.526 is the last time we kind of dove into this project box and we're like oh yeah 00:22:13.526 --> 00:22:17.206 we've done this before it's not that hard it'll just take us like what an hour 00:22:17.206 --> 00:22:21.506 to put things together and we'll put esp home together and all the configs and 00:22:21.506 --> 00:22:24.706 we'll just have it up and running by noon yeah and that should be pretty easy i. 00:22:24.706 --> 00:22:28.966 Thought we'd get lunch and then we'd probably switch gears to a separate project around 2 p.m. 00:22:28.966 --> 00:22:34.166 Yeah, but then the first part was just figuring out where to get power from, right? 00:22:34.206 --> 00:22:37.146 You need power for all these devices, so we were going to get a little bit of power. 00:22:37.646 --> 00:22:40.966 Well, if we're going to hook up a fan, we need power. So the first thing we're 00:22:40.966 --> 00:22:44.506 doing before we screw anything into the wall or run any ducts is making sure 00:22:44.506 --> 00:22:49.066 we have a place we can tap power into, and we need 12 volts because it's a 12-volt fan brand. 00:22:49.646 --> 00:22:56.166 I think we did that by design, right? Yeah. The only problem is to add the fan, 00:22:56.166 --> 00:22:59.466 I need to turn the light off, but I'm using the light to see what I'm doing. 00:22:59.786 --> 00:23:02.786 We're going to steal 12 volts from a 12-volt light that's in the storage bay 00:23:02.786 --> 00:23:05.566 and tap off of that, which we've done before. 00:23:05.686 --> 00:23:08.646 Jeff's done that successfully. But yeah, then we lose light. 00:23:09.626 --> 00:23:11.506 Yeah. Maybe if you squint hard. 00:23:11.926 --> 00:23:14.326 I wish the lighting was our biggest challenge. 00:23:15.877 --> 00:23:18.737 I'm confused. Why didn't Brent have his headlamp on it? 00:23:18.737 --> 00:23:19.377 I know, right? 00:23:19.557 --> 00:23:24.137 This was pre-headlamp deployment, and it did encourage me to deploy headlamp. 00:23:24.177 --> 00:23:27.517 He always has it on him, of course. But what really slowed us down, 00:23:27.677 --> 00:23:31.037 I think, is what kind of snags you up on all kinds of new projects where you're 00:23:31.037 --> 00:23:33.297 not familiar with the little details. 00:23:33.777 --> 00:23:37.177 All the little parts, all the little idiosyncrasies of the ecosystem. 00:23:37.477 --> 00:23:40.657 The stuff that looks good at a high-level plan, and then you're like, oh, wait. 00:23:40.937 --> 00:23:44.057 Like, we got an ESP board. We thought we were being so clever because we got 00:23:44.057 --> 00:23:48.497 an ESP board originally that had the ESP and two relays on it. 00:23:48.677 --> 00:23:53.597 And so like a couple of hot shots, we figured we just supply five volt voltage 00:23:53.597 --> 00:23:55.797 to this ESP and everything's going to work. 00:23:56.177 --> 00:24:00.197 And instead, when we powered it up, it did like this crazy relay dance and click, 00:24:00.257 --> 00:24:02.937 click, click, click, click. And all the lights started flashing like clearly. 00:24:03.537 --> 00:24:07.817 And so we had to realize like, oh, no, we have to provide two separate types of power. 00:24:07.917 --> 00:24:10.997 There's there's a five volt system on the same board. And this thing's smaller 00:24:10.997 --> 00:24:14.957 than a Raspberry Pi. And then there's like a whole other like three volt or 00:24:14.957 --> 00:24:18.777 12 volt depends on the equipment on this thing. And we didn't realize that could even be a possibility. 00:24:18.857 --> 00:24:22.817 Or, you know, for example, we'd order a lot of these parts in 2023, 00:24:22.817 --> 00:24:24.997 like Brent said. So we didn't really know what all we had. 00:24:25.077 --> 00:24:27.977 So we were kind of making it work with what we did have and nothing was really 00:24:27.977 --> 00:24:30.457 meant to go together. The wire sizes aren't the same. 00:24:31.037 --> 00:24:37.237 The gauges aren't right. Like layer one can be a real turd when you're just 00:24:37.237 --> 00:24:40.737 trying to get started. You know, if this is something we did every weekend, 00:24:41.097 --> 00:24:43.017 I think we would have busted this out by noon. 00:24:43.217 --> 00:24:48.097 Sometimes things just take longer than you expected. You know, I couldn't tell you. 00:24:48.397 --> 00:24:54.197 We got ourselves this fancy ESP, and maybe that wasn't the right way to go. 00:24:54.197 --> 00:24:57.057 So we went and got ourselves one of our classics that we had, 00:24:57.137 --> 00:24:59.017 and I plugged it in. It wasn't working. 00:24:59.177 --> 00:25:01.717 I plugged in the next one. It wasn't working. Four ESPs later, 00:25:01.817 --> 00:25:02.637 none of them were working. 00:25:03.397 --> 00:25:06.617 I thought, okay, maybe it's something wrong with the groups I'm in. 00:25:06.617 --> 00:25:07.917 and it turns out I needed to be in dial out. 00:25:08.737 --> 00:25:12.257 Kept digging around trying to figure out why can't my bluefin system. 00:25:13.264 --> 00:25:17.764 Detect this esp over usb um bad 00:25:17.764 --> 00:25:21.044 usb cable took me way too long to figure out bad usb it's 00:25:21.044 --> 00:25:23.704 always layer one chris i know so once i got 00:25:23.704 --> 00:25:26.564 the right usb cable uh we got it built we have esp 00:25:26.564 --> 00:25:29.644 home on there it's configured on our wi-fi and we 00:25:29.644 --> 00:25:32.344 have pre-configured the gpio pins jeff gave me 00:25:32.344 --> 00:25:35.324 an example config i could basically just copy and modified 00:25:35.324 --> 00:25:38.144 to my needs so this guy is ready and you've been 00:25:38.144 --> 00:25:41.124 soldering which i know you love uh i think i love soldering 00:25:41.124 --> 00:25:44.384 as much as i love building computers i hate building 00:25:44.384 --> 00:25:47.084 pcs and you've soldered i guess this is kind of a 00:25:47.084 --> 00:25:49.944 temporary power thing so we can kind of put all this together and 00:25:49.944 --> 00:25:53.164 test to make sure we have it all working yeah we had a power issue 00:25:53.164 --> 00:25:56.184 earlier this morning might have been one of the cables you just mentioned but 00:25:56.184 --> 00:25:59.604 we've been trying to power this board with a variety of power sources with no 00:25:59.604 --> 00:26:04.064 luck so i'm trying yet another wreck around and it involves lots of soldering 00:26:04.064 --> 00:26:07.824 but it feels like once we get that bit done then it's kind of just connecting 00:26:07.824 --> 00:26:11.764 all the pieces and wiring things up but i thought this would be the easy part. 00:26:13.364 --> 00:26:14.164 So we'll see. 00:26:14.884 --> 00:26:16.904 Now, if you're new to some of this, like we were, 00:26:17.495 --> 00:26:21.875 I think, Brent, you'd agree having a breadboard where you can prototype some of this is really handy. 00:26:22.355 --> 00:26:24.975 Yeah, that was really nice because you end up with this basically, 00:26:24.975 --> 00:26:28.035 I don't know, small circuit that you could just plug things into, 00:26:28.315 --> 00:26:32.355 provide power to the entire board, and then just very visually and in an organized 00:26:32.355 --> 00:26:35.755 way access those GPIO pins that you were mentioning. 00:26:36.075 --> 00:26:41.635 Yeah, because the 80s, whatever it is, sits right in the breadboard, just pops right in. 00:26:41.635 --> 00:26:45.495 Yeah, the whole ESP development board, you can just kind of work its way into 00:26:45.495 --> 00:26:49.375 this development or the breadboard, which just does a bunch of electrical connections 00:26:49.375 --> 00:26:51.055 and then plug a bunch of other things to it. 00:26:51.735 --> 00:26:55.755 But by the end of it, it was a bit of a spaghetti mess of me trying to just 00:26:55.755 --> 00:26:58.255 really power this thing so you could see it on the Wi-Fi. 00:26:58.435 --> 00:27:03.035 What kind of adds to the spaghetti mess is these all need to be on the same common ground. 00:27:03.575 --> 00:27:05.915 That's a really important aspect for this functioning properly. 00:27:05.915 --> 00:27:07.695 So you end up with wires kind of going everywhere. 00:27:07.795 --> 00:27:12.255 I learned that the hard way. Yeah, the relay that we're using to try to trigger 00:27:12.255 --> 00:27:17.575 this fan that's going to cool the battery bay, that needs to share a ground 00:27:17.575 --> 00:27:21.115 with things like the temperature sensor and also, 00:27:21.515 --> 00:27:23.955 well, all the power sources that you have and all of that. 00:27:24.075 --> 00:27:27.655 So everything needs to all be in a nice, cohesive connection. 00:27:27.955 --> 00:27:32.175 Sometimes it's quite the jump from what the circuit diagram looks like to the implementation. 00:27:32.495 --> 00:27:36.735 Yeah, especially the wiring, original wiring diagram. But it was nice to prototype 00:27:36.735 --> 00:27:38.255 it and sort of validate it that way. 00:27:38.815 --> 00:27:42.975 So we kind of had an idea we were moving in the right direction and it was time 00:27:42.975 --> 00:27:45.615 to make sure that, you know, we could actually make some of these temporary 00:27:45.615 --> 00:27:48.515 connections a little less temporary and take them off the breadboard and actually 00:27:48.515 --> 00:27:50.475 plug them in in a way that we can really use for a bit. 00:27:50.935 --> 00:27:55.875 But time was just not our friend this day. All day long, we were constantly 00:27:55.875 --> 00:27:59.135 running against the clock and everything that could go wrong did go wrong. 00:27:59.255 --> 00:28:03.415 You know, from like screws falling out of stuff to we go to plug in a cable 00:28:03.415 --> 00:28:05.755 and the end falls off. Just a lot of cheap parts. temperature. 00:28:05.755 --> 00:28:07.975 Sensor one of them was defective the first one we used. 00:28:07.975 --> 00:28:11.715 Just by chance so you one of the i think one of the reasons they they all all 00:28:11.715 --> 00:28:14.575 this stuff comes in kits like when you buy the temperature sensor you get like 00:28:14.575 --> 00:28:16.755 five of them it's because like almost always one of them is bad, 00:28:18.085 --> 00:28:20.765 At least that's been our, that was our experience this day. And some of it had 00:28:20.765 --> 00:28:23.665 been sitting around for a long time, but it was all still wrapped in the packaging 00:28:23.665 --> 00:28:26.265 in the, you know, the static bag and all of that. 00:28:26.985 --> 00:28:32.565 But Brentley worked steadily, his hands moving fast, the smoke from the solder 00:28:32.565 --> 00:28:36.405 filling the RV and getting sucked out by the fantastic fan all night long. 00:28:37.205 --> 00:28:39.945 And I kept tweaking the SP home config. It was great. PJ would like, 00:28:39.985 --> 00:28:41.865 all right, I'll do a test build. And he did a test setup too. 00:28:41.985 --> 00:28:43.725 And he's like, okay, I validated the build works. 00:28:44.405 --> 00:28:46.065 Ironically, it failed for him because he had a bad relay. 00:28:47.085 --> 00:28:50.645 So it really kind of started to come together, and it was time to really take 00:28:50.645 --> 00:28:57.185 it down to the actual power bay, hook it all up, and see if once triggered, it works. 00:28:57.405 --> 00:29:02.685 Well, one bad sensor, one bad wire, and a bad USB cable later, 00:29:02.785 --> 00:29:07.425 and a bunch of soldering, we have the first test wired up. 00:29:07.585 --> 00:29:09.785 I mean, like this looks like it should be it. 00:29:10.025 --> 00:29:12.385 Everything's in place. You got everything hooked up to the 12 volts. 00:29:13.125 --> 00:29:17.425 So once the ESP boots, I should be able to trigger the fan from Home Assistant. 00:29:17.625 --> 00:29:20.605 I hope so. Yeah, me too, man. 00:29:22.105 --> 00:29:25.665 It's been a long day. It's 9 p.m. right now. 00:29:25.965 --> 00:29:29.085 I've learned a lot today. Let's just put it that way. Yeah, you've become a 00:29:29.085 --> 00:29:31.565 better solder. Your soldering skills have improved. 00:29:32.045 --> 00:29:36.785 I'll use it next year. There's that. Next year? We're probably not done soldering. 00:29:38.605 --> 00:29:41.885 But shall we try it? Yep, it looks like it's online. Should I hit it? 00:29:41.885 --> 00:29:43.885 Okay, here we go. Survey says... 00:29:48.525 --> 00:29:51.885 Survey says... Oh! Oh, it did work. It's just my home assistant app was... 00:29:52.805 --> 00:29:57.805 Oh, it was just the home assistant app. It totally got us. Alright, 00:29:57.905 --> 00:29:59.605 let's try it again. The home assistant app is connected now. 00:30:00.465 --> 00:30:02.905 Oh! There it goes! It just took off. 00:30:04.325 --> 00:30:05.185 It worked! 00:30:08.025 --> 00:30:09.865 It blew itself off. 00:30:11.905 --> 00:30:12.525 It's powerful. 00:30:13.785 --> 00:30:15.105 It moves a lot of air. 00:30:15.165 --> 00:30:16.405 It worked really well, I would say. 00:30:16.685 --> 00:30:19.785 Yeah, it's designed for a bilge of a boat. So it moves air. 00:30:21.105 --> 00:30:24.865 Now, we're doing a couple of things to actually try to make this thing last 10 years. 00:30:26.025 --> 00:30:30.505 Besides putting a fuse on it to help protect it, we're going to put it in, 00:30:30.665 --> 00:30:33.005 right now it's not in this box, but that's what we're doing tomorrow, 00:30:33.625 --> 00:30:36.965 is installing a waterproof junction box for this thing. 00:30:37.045 --> 00:30:38.705 We're just going to put all the components in there. It's got like a little 00:30:38.705 --> 00:30:40.865 pegboard on the back so you can peg stuff to it. 00:30:41.885 --> 00:30:46.125 And then ultimately, build in a bypass system as well. 00:30:47.385 --> 00:30:50.045 That's probably like, I guess, phase two, is build a bypass system. 00:30:50.165 --> 00:30:53.925 And either by a switch on this junction box or just by cords that I can move. 00:30:54.165 --> 00:30:57.525 So if there, for some reason, was a failure, I could still go manually activate the fan. 00:30:57.745 --> 00:30:58.705 Okay, that sounds smart. 00:30:59.927 --> 00:31:03.827 And it's clean, and, you know, as long as you get the wiring done and, 00:31:03.887 --> 00:31:06.647 you know, rents done, what do you call that heat wrapping that you did? 00:31:06.867 --> 00:31:10.867 Oh, it's shrink wrap, and we got, thankfully, some really nice stuff that shrinks. 00:31:10.967 --> 00:31:15.527 I think it's like three times its size and also has adhesive on these. 00:31:15.647 --> 00:31:16.947 That's the stuff I would totally recommend. 00:31:16.947 --> 00:31:19.767 Yeah, it's a kit on Amazon. Maybe we can find it and try to put a link in the notes. 00:31:20.607 --> 00:31:23.707 It's great. It's great. It's clean. It holds it all together because we're trying 00:31:23.707 --> 00:31:27.147 to build this to also handle road vibration and, you know, high temperatures 00:31:27.147 --> 00:31:32.747 and whatnot. But this one ESP device has the relay and the temperature sensor, 00:31:32.887 --> 00:31:34.147 which also is a humidity sensor. 00:31:34.867 --> 00:31:42.467 And you could, inside the ESP config, trigger everything using the ESP directly. 00:31:43.167 --> 00:31:48.567 So when the temperature sensor reads 80 degrees, turn on the switch. 00:31:48.687 --> 00:31:50.027 Sure, you can have it all local brain. 00:31:50.167 --> 00:31:53.987 You totally could. And that would be definitely something to consider. 00:31:54.327 --> 00:31:58.007 It's the most probably reliable way to run this. So I'm going to do the right 00:31:58.007 --> 00:32:01.287 thing and I'm not going to do that. And I'm going to use Home Assistant to automate this. 00:32:01.387 --> 00:32:06.467 And the reason why is because I already have 30 other systems that are automated 00:32:06.467 --> 00:32:07.667 and managed with Home Assistant. 00:32:07.887 --> 00:32:10.227 So to keep it consistent with what it sort of has as a standard, 00:32:10.647 --> 00:32:11.767 I'm going to do it that way. 00:32:11.887 --> 00:32:16.267 And so I'll build what will essentially be a little dashboard or can already 00:32:16.267 --> 00:32:18.647 have one with the different temperatures on it. 00:32:18.687 --> 00:32:22.307 And you just go to that dashboard and you set the temperature you want and that 00:32:22.307 --> 00:32:24.047 fan will run until it reaches that temperature. 00:32:24.687 --> 00:32:26.127 Welcome to Fan Control Central. 00:32:26.127 --> 00:32:30.827 Yeah, I'm looking forward to that. And I'm feeling pretty good. It's going to last. 00:32:31.027 --> 00:32:34.547 We already have other ESP devices in the walls that have been working great for years. 00:32:34.747 --> 00:32:37.967 What do you think the approximate build cost was? 00:32:38.367 --> 00:32:39.327 Great question. 00:32:39.447 --> 00:32:41.047 Maybe not including, you know, you 00:32:41.047 --> 00:32:45.467 don't have to include all of the extra soldering equipment or whatever. 00:32:45.627 --> 00:32:49.227 So we had to buy the fan and a couple of vents. The fan's like $20. 00:32:49.847 --> 00:32:51.627 The vents are like $5 each or so. 00:32:51.787 --> 00:32:52.387 Something like that. 00:32:52.567 --> 00:32:55.367 And then, you know, a pack of ESPs is about $9. 00:32:56.467 --> 00:32:56.907 Relay? 00:32:57.607 --> 00:32:59.867 Relay's a few bucks, four bucks, five bucks. 00:33:00.703 --> 00:33:05.183 So it's pretty, pretty cheap. And then con, you know, a little conduit for the 00:33:05.183 --> 00:33:06.903 fan. You know, it's nothing. 00:33:07.363 --> 00:33:13.303 We ended up using the PineSill, which is the really nice open hardware soldering 00:33:13.303 --> 00:33:17.223 pencil that we've been using for a couple of years. Also recommended by our dear community. 00:33:17.403 --> 00:33:19.323 And Jeff, thank you for sending this one along. 00:33:20.563 --> 00:33:23.223 It's really handy because it's powered off of USB-C. 00:33:23.363 --> 00:33:24.223 Oh, so great. 00:33:24.343 --> 00:33:28.263 And we had a high wattage portable battery that's small, but high wattage. 00:33:28.263 --> 00:33:32.763 And so Brent was able to just do that and just, he could take it with him wherever he needed to go. 00:33:33.603 --> 00:33:37.523 So that, that was really great. I would also say part of the cost just goes 00:33:37.523 --> 00:33:42.923 towards having like the accessories. So some wiring that's appropriate, 00:33:42.923 --> 00:33:47.183 having heat shrink, having, you know, this little breadboard. 00:33:47.363 --> 00:33:49.503 You don't absolutely need it, but it sure does help. 00:33:49.623 --> 00:33:54.563 Do you, do you think he could have built a 10 year device that lasts without soldering? 00:33:56.303 --> 00:34:00.883 Um, with clip connect? I just don't think so. I mean, if it wasn't maybe in a moving vehicle. 00:34:01.683 --> 00:34:04.923 Yeah, I think you'd probably take a bit of a different route. 00:34:05.123 --> 00:34:08.903 Like there are cables specifically made to slip over the GPIO pins. 00:34:09.283 --> 00:34:15.003 You could maybe glue those into place, or I know you can use like nail polish 00:34:15.003 --> 00:34:19.603 to like waterproof certain things, and that might keep things in place. 00:34:19.603 --> 00:34:23.703 But really, soldering was one of the best ways that we could, 00:34:23.803 --> 00:34:28.503 for instance, the ESP were powering with a USB cable that I created with this 00:34:28.503 --> 00:34:30.323 buck converter built into the cable. 00:34:30.443 --> 00:34:33.903 I made my own like super high fancy cable. Apple should hire me at this point. 00:34:33.943 --> 00:34:34.403 It's pretty slick. 00:34:34.643 --> 00:34:39.743 And I was able to, because of soldering and like some of these wires are teeny 00:34:39.743 --> 00:34:43.863 tiny, I was able to make a cable that actually looks really quite clean and 00:34:43.863 --> 00:34:46.303 small and slick and waterproof and all of this. 00:34:46.303 --> 00:34:51.563 So in that way, I don't think I could have made that cable with connectors in the same way. 00:34:51.723 --> 00:34:54.123 Sort of depends on what your quality threshold is here. 00:34:54.403 --> 00:34:57.503 Yeah. As you know, mine tends to be maybe a little high. 00:34:57.723 --> 00:34:59.923 Well, and I mean, how proud would you be if this thing last, 00:35:00.123 --> 00:35:03.643 you know, 12 years or something like that's a pretty big, like we come back 00:35:03.643 --> 00:35:05.363 to this in a decade and that thing's still in use. 00:35:06.163 --> 00:35:10.603 Well, I think especially for you, Chris, like a device that you end up mounting 00:35:10.603 --> 00:35:15.443 in the guts of your RV, you don't look at it every day. 00:35:15.443 --> 00:35:18.823 You're not like you don't have an eye on, oh, this thing's starting to come 00:35:18.823 --> 00:35:21.483 apart or, oh, there's a little bit of corrosion here or something like that. 00:35:21.583 --> 00:35:23.283 That is, though, one of the nice things about Home Assistant. 00:35:23.283 --> 00:35:27.523 You do know if it's online, when it's last been working. So you do get some data. 00:35:27.583 --> 00:35:30.163 But you're right. Like, I'm not eyes on it. I'm not checking it every day. 00:35:30.343 --> 00:35:36.003 Yeah, exactly. I also think, you know, these devices can apply to more than 00:35:36.003 --> 00:35:38.063 just this 12-volt RV situation. 00:35:38.263 --> 00:35:43.183 That's the unlock. And that's the thing, I think, the big takeaway that if you 00:35:43.183 --> 00:35:46.583 wrap your head around what we've talked about today, anything that's really 00:35:46.583 --> 00:35:49.663 on a switch, you can automate with an ESP and a relay. 00:35:49.703 --> 00:35:55.123 And it's a massive unlock. And it's stuff that you can actually take a stab 00:35:55.123 --> 00:35:59.023 at doing because you're not going to get rugged in three years when the cloud service shuts down. 00:35:59.660 --> 00:36:02.080 Yes, commodity hardware and open source software. 00:36:02.260 --> 00:36:06.140 And the folks behind ESPHome, well, that's the Home Assistant Foundation. 00:36:06.360 --> 00:36:10.280 Like there's a foundation model there to make sure that it's vendor neutral and all of that. 00:36:10.440 --> 00:36:15.360 It's here for the long haul. You can like I literally have it installed in walls and it works. 00:36:15.480 --> 00:36:19.220 You know, it's as reliable as any smart device I've ever had. 00:36:19.320 --> 00:36:21.020 It's you just need to have Wi-Fi. 00:36:21.200 --> 00:36:26.380 It reminds me of the Raspberry Pi in the sense that it has a massive community 00:36:26.380 --> 00:36:30.160 of people building all sorts of things around it. I think, really, 00:36:30.240 --> 00:36:32.080 we're late to the party in this particular one. 00:36:32.200 --> 00:36:34.460 Yeah, no, there's huge. And so many devices. 00:36:34.560 --> 00:36:37.860 Yeah, so anything you're hoping to do with it has probably been done already, 00:36:37.860 --> 00:36:41.840 and you can find some assistance, some support, some examples of this happening. 00:36:41.960 --> 00:36:43.540 People are 3D printing their own cases. 00:36:44.100 --> 00:36:50.520 They're making their own PCBs around these platforms. So it's a very rich ecosystem. 00:36:50.740 --> 00:36:53.840 And the beautiful thing about the little tiny device that you and I made, 00:36:53.900 --> 00:36:57.040 Chris, which is probably the reason we wanted to spend, I don't know, 00:36:57.480 --> 00:37:00.320 this many hours on pulling our hair out to build the thing. 00:37:00.480 --> 00:37:03.600 It's going to be like, yeah, three days of work all said and done. 00:37:03.700 --> 00:37:06.060 We thought it'd be an afternoon of work or a morning, but yeah. 00:37:06.100 --> 00:37:09.380 It reminds me so much, though, of when I first was learning Linux. 00:37:09.780 --> 00:37:13.060 It's like, oh, there's all these systems that I don't quite understand. 00:37:13.060 --> 00:37:14.400 You get little snippets of like 00:37:14.400 --> 00:37:16.780 how it all, and then you put together your first project and it works. 00:37:16.780 --> 00:37:17.300 It starts clicking. 00:37:17.820 --> 00:37:21.660 Yeah, and now that knowledge carries forward to build on top of. 00:37:21.660 --> 00:37:26.400 Well, for us, this little ESP plus relay is like, okay, you're using it in your 00:37:26.400 --> 00:37:31.580 RV with 12-volt power, but I can install this thing in my cabin with 120-volt power. 00:37:31.700 --> 00:37:34.940 These relays also support up to 240, so in Europe they can use it. 00:37:35.080 --> 00:37:40.020 So now we've got the knowledge, and hopefully we're a bit faster next time, 00:37:40.140 --> 00:37:45.040 to build a bunch of these and use them in any context that we find ourselves 00:37:45.040 --> 00:37:47.720 in, whether it's outdoors or indoors or anywhere. 00:37:47.720 --> 00:37:49.980 So it's this massive unlock, or at 00:37:49.980 --> 00:37:52.420 least that's what I'm telling myself to justify the time we put into it. 00:37:55.196 --> 00:37:58.396 Unraid.net slash unplugged. Go over there, support the show, 00:37:58.516 --> 00:38:01.156 and check out Unraid. Unleash your hardware. 00:38:01.516 --> 00:38:05.496 Unraid's a powerful, easy-to-use NAS operating system built on top of modern 00:38:05.496 --> 00:38:09.376 Linux with a modern kernel in there that gives you control, flexibility, 00:38:09.456 --> 00:38:12.156 and efficiency in managing your data and your applications. 00:38:12.716 --> 00:38:15.976 You'll hear us talk about things like Home Assistant or Jellyfin or some of 00:38:15.976 --> 00:38:17.436 the LLM apps that are a lot of fun. 00:38:17.576 --> 00:38:21.976 You can spin these up in just seconds on top of Unraid. Additionally, 00:38:22.216 --> 00:38:25.136 if you have mismatched disks, Unraid will help you manage all of that. 00:38:25.296 --> 00:38:27.896 They have some of the best virtualization support out there, 00:38:28.076 --> 00:38:33.236 making it easy to pass through hardware or share graphics cards amongst multiple virtual machines. 00:38:33.556 --> 00:38:37.756 And if you're getting into ZFS or you've already got ZFS, well, 00:38:37.876 --> 00:38:39.196 Unraid has something for you. 00:38:39.276 --> 00:38:42.916 And they really kicked things up recently in Unraid 7.1 if you haven't taken 00:38:42.916 --> 00:38:48.736 a look. They make it possible now to support and import the existing pools on 00:38:48.736 --> 00:38:52.976 your Ubuntu system or maybe your Proxmox box or a FreeNAS box. 00:38:53.076 --> 00:38:56.396 You know, you want to step it up to something a little classier and more powerful. 00:38:56.396 --> 00:39:01.616 You can now just import it, boom, right into Unraid. It's such an awesome move and feature. 00:39:01.736 --> 00:39:06.216 But beyond that, they've also just taken the ZFS level support all the way there. 00:39:06.396 --> 00:39:10.616 They've got a bunch of file system support, but very impressed to see how they've 00:39:10.616 --> 00:39:12.956 completed that circle in Unraid 7.1. 00:39:13.256 --> 00:39:18.896 Also in there now is wireless networking support. So if you're like me at home, I can't run ethernet. 00:39:19.156 --> 00:39:24.676 So everything has to be on Wi-Fi, or I suppose Zigbee or Z-Wave or something. 00:39:25.116 --> 00:39:30.116 So having out of the box Wi-Fi support makes that a lot nicer. 00:39:30.556 --> 00:39:34.456 Also, I've been playing around with reusable VM templates. So think about this. 00:39:34.796 --> 00:39:37.796 System just, you get it working, you like it a lot, boom, that's a template 00:39:37.796 --> 00:39:39.776 now. And now you can reuse that over and over again. 00:39:40.336 --> 00:39:42.256 Lots of very awesome features. 00:39:43.714 --> 00:39:48.374 I think as a longtime Linux user, the thing I appreciate the most is that they 00:39:48.374 --> 00:39:51.994 truly do follow Linux development. They watch that driver space. 00:39:52.054 --> 00:39:53.854 They watch the file system space. 00:39:53.954 --> 00:39:57.394 And they incorporate it intelligently and safely into Unraid. 00:39:57.874 --> 00:40:00.974 They are really taking an active role in that position. 00:40:01.174 --> 00:40:04.914 And they're not falling behind and forgetting about updating the kernel and 00:40:04.914 --> 00:40:06.754 that kind of stuff. They make sure they track that. 00:40:06.874 --> 00:40:09.614 When they ship a new version of Unraid, you get Linux features that have been 00:40:09.614 --> 00:40:12.034 tested, tried, and the ones you want for this kind of system. 00:40:12.634 --> 00:40:15.534 That's part of what I really like about it. And I think that's why it's awesome 00:40:15.534 --> 00:40:18.394 they actually have a monetization strategy for Unraid. 00:40:18.674 --> 00:40:22.574 That's what's made this possible for all these years. So get started now. 00:40:22.734 --> 00:40:27.354 Go to unraid.net slash unplugged. See how far your imagination and your server 00:40:27.354 --> 00:40:29.194 can go while you're supporting the show. 00:40:29.334 --> 00:40:32.614 You get a free 30-day trial, no credit card required. Kick the tires. 00:40:32.734 --> 00:40:33.594 See what we're talking about. 00:40:34.014 --> 00:40:36.254 Unraid.net slash unplugged. 00:40:39.514 --> 00:40:46.034 Well if you're ahead of us on the esp journey maybe uh ride in boost in let 00:40:46.034 --> 00:40:51.434 us know what crazy or uh super useful things you've built i know we're all excited 00:40:51.434 --> 00:40:57.754 about uh you know where we can take this and as usual our audience is light years ahead now. 00:40:57.754 --> 00:41:01.874 It's just a little reminder that next week well chris is finally coming to canada 00:41:01.874 --> 00:41:06.274 to pay me a visit we're going to be taking the Van from the JB Studio that we've 00:41:06.274 --> 00:41:08.514 been working on for, oof, feels like two months now. 00:41:08.994 --> 00:41:12.214 And also Lady Joops, so it's going to be a bit of a road trip. 00:41:12.494 --> 00:41:16.214 That means we will not be live next week for Linux Unplugged, 00:41:16.274 --> 00:41:19.734 but there will be a regular episode coming as usual. 00:41:24.714 --> 00:41:33.754 And we start with our baller booster, okay, who comes in as Tui Tickler with 63,300. 00:41:34.014 --> 00:41:35.814 and 33 sats. 00:41:42.633 --> 00:41:46.333 I'm just saying your bootleg membership needs a try before you buy option. 00:41:46.493 --> 00:41:50.653 Like when Costco gives you a bite-sized hot dog and a slice, 00:41:50.653 --> 00:41:53.013 and then suddenly you're buying 48 packs. 00:41:53.333 --> 00:41:54.713 That's so true of Costco. 00:41:54.853 --> 00:41:57.073 You guys make a reference. Now let me snack on it. 00:41:57.853 --> 00:41:58.373 Delicious. 00:41:58.713 --> 00:42:02.793 I am very, very proud of the bootleg. I actually think the bootleg should be 00:42:02.793 --> 00:42:05.113 heard by more, more listeners. 00:42:05.293 --> 00:42:07.833 So you're going to get your wish, Tui Tickler. 00:42:08.833 --> 00:42:12.313 Stay tuned. perhaps sooner than you expect you're going to get to hear some 00:42:12.313 --> 00:42:15.753 of the bootleg stuff thank you for being our baller it's nice to hear from you 00:42:15.753 --> 00:42:17.633 and your username is hilarious. 00:42:17.633 --> 00:42:23.453 A wine eagle boosin with 22 272 cents, 00:42:25.253 --> 00:42:31.833 thank you for browse oh yeah I was able to authorize leer to sync gmail with 00:42:31.833 --> 00:42:36.113 not much plus eric and emacs and neomut support wow, 00:42:36.833 --> 00:42:43.353 all on my headless nicks them NAS that required going through an OAuth screen on a browser with JS. 00:42:43.893 --> 00:42:43.993 Whoa. 00:42:45.233 --> 00:42:47.733 That is an impressive setup, Wine Eagle. 00:42:47.973 --> 00:42:49.173 So how many points is that? 00:42:49.933 --> 00:42:54.513 The things people are willing to do is pretty impressive. That's quite the although fun, I imagine. 00:42:54.673 --> 00:42:55.573 Thank you for telling us. 00:42:56.053 --> 00:43:00.573 Wow. That's pretty great. Damn. Thank you for the update. That's good to hear. Keep them coming. 00:43:01.193 --> 00:43:06.173 Well, Jordan Bravo boosted in a row of ducks. I know the 2AE challenge has ended, 00:43:06.413 --> 00:43:07.573 but I have a recommendation. 00:43:09.573 --> 00:43:14.473 systemctl-tui is a tui for systemd as the name suggests it is of course written 00:43:14.473 --> 00:43:16.473 in rust and available in x packages. 00:43:16.473 --> 00:43:17.773 Yeah this. 00:43:17.773 --> 00:43:19.793 One this is one also I think that's sticking with me. 00:43:19.793 --> 00:43:24.733 From the challenge I want to say I hope the tui challenge continues without 00:43:24.733 --> 00:43:27.953 us you could be doing it right now and then send us updates it's something we'd 00:43:27.953 --> 00:43:30.873 love to hear people check in on even though we're done with it you don't have 00:43:30.873 --> 00:43:33.133 to be just listen to the episodes and follow along you're. 00:43:33.133 --> 00:43:34.133 The linux tui am I right. 00:43:34.873 --> 00:43:40.693 Yeah that's yeah I think so Magnolia Mayhem's back with 7,777 sats. 00:43:44.648 --> 00:43:47.988 Man, I wish I could have taken part in the TUI challenge. I've been coordinating 00:43:47.988 --> 00:43:51.008 with a bunch of activists and need my laptop as usable as possible, 00:43:51.468 --> 00:43:54.168 such as the nature of being politically active in Mississippi. 00:43:54.848 --> 00:43:58.368 That said, I hope you'll accept a late submission one day. I really enjoyed 00:43:58.368 --> 00:44:05.848 the BSD challenge, and I'm still running free BSD on an FX8350 server and on a VPS to this day. 00:44:06.348 --> 00:44:10.268 So do I get bonus points for a TUI on BSD? I'm going to say yes. 00:44:10.428 --> 00:44:11.328 Yeah, I'm down with that. 00:44:11.528 --> 00:44:11.888 BSTUI. 00:44:12.068 --> 00:44:15.168 Yeah, yeah. Oh, he never got the veggie dog. Brent, will you follow up on that? 00:44:15.288 --> 00:44:15.848 Yeah, I can do that. 00:44:16.008 --> 00:44:16.368 Thank you. 00:44:17.788 --> 00:44:21.188 Fortidoo boosts in with 4,200 sets. 00:44:22.068 --> 00:44:26.448 Sounds like you guys found some of my faves. I don't know how I ever lived without 00:44:26.448 --> 00:44:28.288 Helix, Yazzie, and Zelish. 00:44:28.428 --> 00:44:32.588 I definitely appreciate these for their no-hassle power right out of the box. 00:44:33.008 --> 00:44:36.728 Ranger and NNN are my runner-ups for file management, though. 00:44:37.388 --> 00:44:41.208 Mike Rowe is, of course, another great text editor with more standard key bindings. 00:44:41.208 --> 00:44:44.368 and I'll be checking out Jellyfin Tui right now. 00:44:44.548 --> 00:44:49.028 It looks like a new staple and reminds me of Mock, M-O-C, which is my go-to 00:44:49.028 --> 00:44:50.628 simple Tui music player. 00:44:50.768 --> 00:44:55.168 I tried Mock. Yeah, yeah, I liked Mock. Thank you for the value. 00:44:55.328 --> 00:44:57.468 Really appreciate that. Nice to hear from you. Forty deuce. 00:44:58.048 --> 00:45:00.088 Deuce. Deuce. Deuce. 00:45:00.728 --> 00:45:08.408 Well, Jan Holbo sent in another Forty Deuce set. Here is from the Future Boost. 00:45:08.828 --> 00:45:10.328 Ooh, whoa, cool. 00:45:10.328 --> 00:45:15.268 I'm trying to catch up on the library and just listen to self-hosted 150. 00:45:15.628 --> 00:45:20.248 I'm looking forward to getting the occasional self-hosted story in Linux Unplugged. 00:45:20.448 --> 00:45:21.888 Welcome to this week's content. 00:45:22.428 --> 00:45:26.508 Question for you. You talked about using Nix OS instead of Docker. 00:45:26.828 --> 00:45:30.588 Well, does Nix OS support virtual IP addresses for different apps, 00:45:30.768 --> 00:45:35.908 say Image, Nextcloud, Notify, Smokeping, etc., on the very same host? 00:45:37.528 --> 00:45:42.228 boost is also a postcode boost in this case divide the boost with two and hint 00:45:42.228 --> 00:45:45.028 here lives an ever young lady with a tail. 00:45:45.028 --> 00:45:46.028 What brent. 00:45:46.028 --> 00:45:47.648 You're on that hint you're my hint guy. 00:45:47.648 --> 00:45:54.828 It's a zip code i don't see it you see it in there i'm i am slow on these what's 00:45:54.828 --> 00:45:56.788 my problem do you see it with well. 00:45:56.788 --> 00:45:59.688 You take maybe the boost i gotta get my divided by two. 00:45:59.688 --> 00:46:00.568 I think and you get. 00:46:00.568 --> 00:46:01.608 Some crazy number. 00:46:01.608 --> 00:46:07.248 Oh there it is let's see here jeez i. 00:46:07.248 --> 00:46:08.248 Know it's kind of sharp. 00:46:08.248 --> 00:46:09.148 It's huge i. 00:46:09.148 --> 00:46:10.068 Don't know why i polish it. 00:46:10.068 --> 00:46:12.268 Don't tape all these extra extensions onto it. 00:46:12.268 --> 00:46:15.408 Yeah well you know mars the moon they're relevant. 00:46:15.408 --> 00:46:27.948 We never we never even go to mexico why do you have mexico on here oh oh i see oh Wes Did you find it? 00:46:29.308 --> 00:46:36.228 Um Give me a Give me a Why don't you Unfold the other section I know That's why I need a sec. 00:46:36.228 --> 00:46:37.688 This thing has six sides It's crazy. 00:46:37.688 --> 00:46:40.348 Yeah well It's a higher dimensional object Is the thing. 00:46:45.382 --> 00:46:46.082 Is that a laser? 00:46:46.402 --> 00:46:49.022 Yeah, it's weird that he used all this tech for the map. Like, 00:46:49.082 --> 00:46:50.402 we could have used this for all sorts of stuff. 00:46:50.842 --> 00:46:54.322 Here we are soldering, and he's got this, like, eight-dimensional cube map. 00:46:56.422 --> 00:47:00.782 Well, I'm trying to break down the hint here. So the hint is, 00:47:01.002 --> 00:47:04.182 here lives an ever-young lady with a tail. 00:47:04.762 --> 00:47:11.362 And, well, our dear friend AI, in some case, thinks maybe it means a mermaid? 00:47:12.242 --> 00:47:13.482 That could be a thing. 00:47:13.482 --> 00:47:21.442 Yeah, okay, so then my guess is somewhere near DY in New South Wales, 00:47:21.602 --> 00:47:26.582 Australia, where I guess maybe as Brent is saying, there is a well-known mermaid statue. 00:47:27.082 --> 00:47:27.522 Really? 00:47:29.982 --> 00:47:31.942 Australia boost, I love it, if so. 00:47:32.062 --> 00:47:35.742 I hope that's true, that's pretty neat. Okay, well True Grits, 00:47:35.842 --> 00:47:38.222 thank you for the boost, and thank you for a zip code math. 00:47:38.502 --> 00:47:40.582 True Grits is here with 5,000 sets. 00:47:42.802 --> 00:47:46.362 regarding the graphene os story in the members feed with them not getting the 00:47:46.362 --> 00:47:50.042 oem device tree files i wonder if this could be a place for collaboration between 00:47:50.042 --> 00:47:54.022 rom projects since i doubt the problem is going to be unique to graphene os 00:47:54.022 --> 00:47:58.942 you wonder perhaps they will have to form some sort of alliance they seem like 00:47:58.942 --> 00:48:01.702 they like to do their own thing though so that's going to be a, 00:48:03.272 --> 00:48:06.212 But put it out there in the universe, True Grits, and maybe it'll come true. 00:48:06.272 --> 00:48:07.892 Because they need friends right now. 00:48:08.112 --> 00:48:15.192 I like your energy. Ten Moose comes in with a Robodox. First time booster, long time listener. 00:48:15.512 --> 00:48:15.952 Yes! 00:48:16.452 --> 00:48:17.872 Loving the Fountain app. 00:48:18.132 --> 00:48:21.692 Thank you for going through the setup and getting the SATs. It's been a minute, 00:48:21.832 --> 00:48:24.312 I think, since we heard from a newbie. Well done, Ten Moose. 00:48:24.452 --> 00:48:28.532 Oh, and we get a server report. I'm running Red Hat Home Server on an individual 00:48:28.532 --> 00:48:32.772 developer license with Cockpit to manage my containers and VMs. yes. 00:48:32.772 --> 00:48:37.872 Yes yes all right i'm gonna make that as a vote for the red hat content right there. 00:48:37.872 --> 00:48:41.352 Yeah there is another one down in uh if we want to pull up one from the thanks 00:48:41.352 --> 00:48:44.172 from forward humor voting for open shift coverage so all. 00:48:44.172 --> 00:48:45.112 Right thank you forward humor. 00:48:45.112 --> 00:48:49.792 Hey did we in the last boost answer the question about nix os and various ips. 00:48:49.792 --> 00:48:52.752 Oh no we moved right on because we got you know distracted well 00:48:52.752 --> 00:48:55.832 that map is flashy yeah it depends exactly what 00:48:55.832 --> 00:48:58.912 you're wanting to do i don't think there's generally i mean 00:48:58.912 --> 00:49:01.632 like some if you add more ips to your 00:49:01.632 --> 00:49:05.092 system and the services support listening 00:49:05.092 --> 00:49:07.972 on a specific address then you can do it that way but there's no 00:49:07.972 --> 00:49:11.192 nix os support out of the box for like the docker style 00:49:11.192 --> 00:49:14.012 networking you can do whatever you 00:49:14.012 --> 00:49:17.152 want on top in terms of you know systemd services 00:49:17.152 --> 00:49:20.092 modifying the setup i've made a 00:49:20.092 --> 00:49:25.212 sort of copy of that for per service network namespaces so you could try that 00:49:25.212 --> 00:49:30.792 too but no there's not an exact copy of like each service automatically lives 00:49:30.792 --> 00:49:34.492 in a network namespace with its own ip address but i'm not sure if that's exactly 00:49:34.492 --> 00:49:37.892 what you're asking so maybe boost back in and let us know thank. 00:49:37.892 --> 00:49:40.612 You everybody who does boost in of course you can be a member and support the 00:49:40.612 --> 00:49:45.552 show's production directly you set that on autopilot at linuxunplugged.com membership 00:49:45.552 --> 00:49:49.212 and you get the bootleg and you get the ad free as a thank you and it really 00:49:49.212 --> 00:49:52.452 means a lot but then we also have this option to support each individual production. 00:49:52.872 --> 00:49:56.972 It's your vote on how the show was, how the episode content was, what you thought of it. 00:49:57.092 --> 00:49:59.952 And it's a way to give back if you got value from this particular episode. 00:50:00.032 --> 00:50:02.132 And you heard it there from old moose. 00:50:02.812 --> 00:50:06.412 One of the best ways to do it is fountain FM because they host everything for you. 00:50:06.472 --> 00:50:08.412 They get it really simple to set up and they integrate with strike, 00:50:08.412 --> 00:50:11.132 which is available in more and more countries as a great company. 00:50:11.432 --> 00:50:14.512 There's lots of paths you can take, including totally self-hosted options because 00:50:14.512 --> 00:50:16.452 it's all an open source peer to peer network. 00:50:16.812 --> 00:50:22.312 Thank you everybody who boosts in we had 27 of you not bad you always use a 00:50:22.312 --> 00:50:27.312 little more but we had 27 streaming sats you stack 26 907 sats when you combine 00:50:27.312 --> 00:50:33.812 that with our boosters we had a total of 140 246 sats, 00:50:36.996 --> 00:50:41.976 Maybe not our strongest episode ever, but we really do appreciate any of the support we do get. 00:50:42.236 --> 00:50:45.796 And if you got some value from this episode, you can send it right back to us 00:50:45.796 --> 00:50:47.036 in a way that you think keeps us going. 00:50:47.216 --> 00:50:49.996 And your contribution not only goes to the show, it goes to Editor Drew, 00:50:50.176 --> 00:50:53.296 it goes to the developer of the app you're using, and a little bit goes to the 00:50:53.296 --> 00:50:55.436 podcast index. It's a great way to go. 00:50:55.936 --> 00:51:00.116 And I remembered, there's also built-in NixOS containers you can do with Systemd 00:51:00.116 --> 00:51:02.256 N-Spawn for another way to do that. 00:51:02.296 --> 00:51:05.656 Just in case my answer was turning you off from NixOS too much. 00:51:05.676 --> 00:51:06.276 You do need to focus. 00:51:06.276 --> 00:51:07.576 I got to be, I got to be thorough. 00:51:07.756 --> 00:51:08.416 You got to focus. 00:51:08.676 --> 00:51:09.256 There's a flow here. 00:51:09.356 --> 00:51:11.996 We're doing the thing now. You both did it. We're doing the thing. 00:51:12.136 --> 00:51:16.096 All right. We got a thing and we're doing it. All right. But it is good to know. Thank you, everybody. 00:51:18.516 --> 00:51:22.196 Now, this pick is one that I've just been using the crap out of all week. 00:51:22.196 --> 00:51:25.276 So I had to mention it on the show and I wasn't sure if you two had seen it 00:51:25.276 --> 00:51:27.916 yet. So I'm really hoping I'm introducing it to you for the first time. 00:51:28.276 --> 00:51:36.056 It's called High Tide. And it is a third party, unofficial title music client that's native on Linux. 00:51:36.276 --> 00:51:40.536 It works on mobile or your desktop. It's nice. It's high quality. 00:51:40.756 --> 00:51:44.976 It's technically a GNOME app. Works fantastic on Plasma. Even the media keys. 00:51:45.176 --> 00:51:47.116 Supports the highest quality setting. 00:51:47.516 --> 00:51:48.136 Wow. 00:51:48.896 --> 00:51:54.556 Yeah. Not affiliated with Tidal at all, but it's fantastic. I believe it's GPL3 as well. 00:51:54.936 --> 00:52:02.656 So it's called Hytide, and it brings Tidal to a native app on Linux. And I love it. 00:52:03.869 --> 00:52:05.309 Check it out if you're a title user. 00:52:05.529 --> 00:52:06.909 It's a Python project. Neat. 00:52:07.049 --> 00:52:11.009 Now, I know not all of you are, you know, title users. So I wanted to do something 00:52:11.009 --> 00:52:14.249 for those of you who are like, Chris, come on. I'm an Apple Music listener. 00:52:15.209 --> 00:52:18.089 Well, I wanted to remind you, they had a release not too long ago, 00:52:18.269 --> 00:52:23.209 about an app that is one of my solid daily go-tos on all my systems. 00:52:23.489 --> 00:52:26.669 And if I don't have this, I never know what's going to happen when I click a 00:52:26.669 --> 00:52:28.069 link. It's called Junction. 00:52:28.229 --> 00:52:33.149 And it's a browser chooser. It works, again, great on Plasma or Genome. It's GPL3. 00:52:33.869 --> 00:52:38.249 And what it basically does is become your default browser. So you click a link 00:52:38.249 --> 00:52:39.949 and say your chat app of choice. 00:52:40.149 --> 00:52:42.669 Instead of just launching the browser, and I have one of these chat apps, 00:52:42.909 --> 00:52:44.809 it doesn't matter what my default browser is. 00:52:45.249 --> 00:52:48.009 If it's not Junction, it just always opens things in Chrome. 00:52:48.469 --> 00:52:52.629 I don't know why. But if I put Junction in there, I then get a chooser screen. 00:52:53.449 --> 00:52:57.709 And I can choose Firefox, or I actually have ridiculous, like four browsers 00:52:57.709 --> 00:52:58.929 installed for various reasons. 00:52:59.129 --> 00:53:02.869 And I can launch that link in any of them right there. So I get a little chooser 00:53:02.869 --> 00:53:06.329 screen before the browser launches and then it sends it to the correct browser. 00:53:06.649 --> 00:53:10.389 I get to pick and I get to pick per link, which I really like. 00:53:10.509 --> 00:53:11.509 So it's called Junction. 00:53:11.749 --> 00:53:15.009 I've talked about it before on the show. I know that, but I'm bringing it up 00:53:15.009 --> 00:53:19.089 again because I use it every day on my systems since I talked about it on the 00:53:19.089 --> 00:53:20.129 show. And that's been years ago. 00:53:20.269 --> 00:53:22.909 So it just definitely every now and then an app is so dang good. 00:53:23.049 --> 00:53:23.969 It deserves another mention. 00:53:24.909 --> 00:53:28.009 Junction. I'll put a link to it in the show notes. I love it. 00:53:28.009 --> 00:53:33.149 High Tide and Junction, totally different areas, but a couple ones I love. 00:53:33.989 --> 00:53:35.749 Very good. And both GPL3. 00:53:35.869 --> 00:53:40.229 I'm glad to hear you're still using Junction. It's clearly stuck with you over the years. 00:53:40.329 --> 00:53:45.749 If I could have one feature change, it would be that it doesn't necessarily 00:53:45.749 --> 00:53:47.949 open under where your mouse cursor is at. 00:53:48.029 --> 00:53:51.269 So I'll click a link, and then I'm quick like a ninja. 00:53:51.429 --> 00:53:55.049 I'll move the cursor to the screen I know the browser is going to be at because 00:53:55.049 --> 00:53:56.529 I have KWIN rules like a gentleman. 00:53:57.269 --> 00:54:01.169 and then Junction will open up on the monitor where I click the link instead 00:54:01.169 --> 00:54:02.569 of under the mouse where I'm at now, 00:54:03.546 --> 00:54:06.866 and now you got to go move the mouse all the way back yeah i gotta go back and 00:54:06.866 --> 00:54:09.826 i gotta click it and then i gotta go back and so i would love it if it just 00:54:09.826 --> 00:54:13.246 spawned the junction window wherever your mouse cursor was out there may be 00:54:13.246 --> 00:54:14.266 a technical limitation there. 00:54:14.266 --> 00:54:17.086 I think i have another feature request just imagining that. 00:54:17.086 --> 00:54:17.906 One um. 00:54:17.906 --> 00:54:22.606 It would be cool if you could click a link and get this window as you say but 00:54:22.606 --> 00:54:25.186 then have like short keys for each browser so. 00:54:25.186 --> 00:54:25.906 Maybe if you hit. 00:54:25.906 --> 00:54:28.326 One uh you get you know the browser in the first. 00:54:28.326 --> 00:54:33.566 Place but i'll tell you what else it has it has an abort like an x You click 00:54:33.566 --> 00:54:35.526 the X, which is just a teeny little thing down in the corner, 00:54:35.686 --> 00:54:36.946 it doesn't open any browser. 00:54:37.106 --> 00:54:37.886 Oh, it's like an oops. 00:54:38.126 --> 00:54:41.926 Yeah, I didn't mean to click that. Or I clicked it twice because my finger's dumb or something. 00:54:42.326 --> 00:54:44.006 Ooh, it says keyboard navigation. 00:54:44.146 --> 00:54:44.566 Yeah, I thought so. 00:54:44.566 --> 00:54:45.126 I thought so. 00:54:45.226 --> 00:54:48.146 I had a feeling. Yeah, I had a feeling. It's great. Great app. 00:54:48.226 --> 00:54:49.326 Really appreciate that developer. 00:54:49.726 --> 00:54:55.246 So go check them out. Links are at linuxunplugged.com slash 0620. 00:54:56.106 --> 00:55:00.006 We also would love you to boost in or write us and tell us about your ESP-based 00:55:00.006 --> 00:55:02.266 projects and tell us what you've been doing. 00:55:02.266 --> 00:55:05.686 Keep an eye on that calendar because it is the summer travel schedule, 00:55:05.846 --> 00:55:09.346 so there will be, like Wes mentioned, no live episode next week, 00:55:09.386 --> 00:55:12.446 but we'll have a regular release for you. Oh, Brent mentioned it? 00:55:12.646 --> 00:55:13.226 One of us. 00:55:13.386 --> 00:55:15.786 I don't know. Whoever I told to mention it. 00:55:17.606 --> 00:55:18.226 Delegate A. 00:55:18.606 --> 00:55:18.926 Yeah. 00:55:19.706 --> 00:55:20.506 Delegate B, actually. 00:55:20.606 --> 00:55:23.626 The person I delegated that to said it, so I'm just reminding you. 00:55:25.286 --> 00:55:28.286 We're a little fried. It's been a couple of days of projects, 00:55:28.466 --> 00:55:32.326 okay? And, you know, let me tell you, when you know you've got a show and you 00:55:32.326 --> 00:55:34.766 want to get it working by the show, that is a real motivator. 00:55:34.786 --> 00:55:37.066 I'm very impressed with all of your handiwork this week. 00:55:37.226 --> 00:55:37.766 It is working. 00:55:37.966 --> 00:55:41.886 Yes, it is, which is great because we're going on that summer road trip and 00:55:41.886 --> 00:55:43.586 things are about to get hot. 00:55:44.346 --> 00:55:47.746 All right, details about our mumble room, our matrix, all of that, 00:55:47.806 --> 00:55:51.946 that's over at linuxunplugged.com. You go over there, you get that info, you can figure it out. 00:55:52.566 --> 00:55:56.286 Of course, you can also join our matrix chat, jupyterbroadcasting.com slash 00:55:56.286 --> 00:56:01.666 matrix. We got a general chat and a couple of dedicated, detailed, overdone. 00:56:02.406 --> 00:56:04.566 I don't know. There's too many of them, but there's log chat rooms and there's 00:56:04.566 --> 00:56:07.406 LUP chat rooms and there's unplugged chat rooms. There's lots of chat rooms. 00:56:08.006 --> 00:56:11.526 And you can find them on our matrix server. And then last but not least, 00:56:11.546 --> 00:56:13.886 you can get the details of when we're 00:56:13.886 --> 00:56:18.166 live or when we're not live at jupiterbroadcasting.com slash calendar. 00:56:18.446 --> 00:56:21.666 We'll be out either way, usually Sunday evening, Monday morning. 00:56:21.786 --> 00:56:22.686 So you don't really have to overthink it. 00:56:23.046 --> 00:56:25.606 Thanks so much for joining us on this week's episode of the Unplugged program. 00:56:25.606 --> 00:56:29.326 We'll see you right back here next Tuesday, as in Sunday.
Previous episode Next episode

Search

Search