Chris: Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
Wes: My name is Wes.
Brent: And my name is Brent.
Chris: Hello, gentlemen. Coming up on the show today, off the shelf, just didn't cut it.
Chris: So we built the tool we needed using open hardware and open source.
Chris: You're going to learn the basics of how to build your own ESP32 project,
Chris: whether it's for your own rig, an RV, or home automation system,
Chris: or something like a smart chicken coop.
Chris: Or maybe you just love hearing about no cloud, no nonsense tech,
Chris: But we've got something for you this week, and then we'll round it out with
Chris: some great boosts, some picks, and a lot more.
Chris: So before I go any further, let's say time-appropriate greetings to our virtual
Chris: lug. Hello, Mumble Room.
Mumble: Hey, Chris. Hey, where's the name? Hello.
Chris: It's a smaller, quiet listening crew and a larger on-air crew this week.
Brent: Ah, lovely.
Wes: Grated.
Chris: JupiterBroadcasting.com slash mumble if you want the details.
Chris: And a big good morning to our friends at TailScale.
Chris: TailScale.com slash unplug. TailScale is the easiest way to connect your devices
Chris: and services to each other, wherever they are, protected by wild gold.
Chris: And if you go to TailScale.com slash unplugged, you'll get it for free on 100
Chris: devices, three users, no credit card required. And then you get secure remote
Chris: access to your production systems, your servers, whatever it might be, super fast.
Chris: And it's privacy for every individual or every organization.
Chris: And it has an intuitive, easy to use interface where you can set and manage
Chris: your privacy and your rules. And it's so quick to get started.
Chris: You got five minutes, you're going to get it working on three systems.
Chris: They'll build out a flat mesh network called your tail net.
Chris: And then that tail net persists between all of those machines.
Chris: Maybe it's your mobile device. It's a couple of VPSs, a VM, container app, you name it.
Chris: Since I've built this out and it really changed the way I do networking,
Chris: I then deployed it at Jupyter Broadcasting. So that way the backend services
Chris: that are in different VPS data centers and actually one of them is in an actual
Chris: data center. It's a colobox.
Chris: Like, they're all communicating on this LAN.
Chris: It's so powerful, but yet safe and private. Thousands of companies like Instacart,
Chris: Hugging Face, and Duolingo have all switched to Tailscale.
Chris: And, of course, so many in our audience use it as well.
Chris: That's right. Go check out Tailscale. Tailscale.com. Slash.
Chris: Unplugged. You support the show. You get it for free up to 100 devices and three
Chris: users. Not a limited time trial.
Chris: And then you're really going to kick the tires with that. That's the kind of
Chris: trust they have. Check it out. tailscale.com slash unplugged.
Chris: Well, we got some really good news for iOS users, which I don't think we've said that in a while.
Chris: And that is Castomatic, which is one of the pinnacle of the podcasting 2.0 apps.
Chris: It's just absolutely fabulous.
Chris: Has version 11 shipping with live support.
Chris: Now, why do we love live support so much, Wes?
Wes: Is it because we're live right now?
Chris: Yeah, there's that. It's a way to be live by just simply putting a couple of lines in an RSS feed.
Wes: And then your podcast client, if it has support like Cast-O-Matic now,
Wes: it'll just show up like a regular podcast in the same place you go to listen to us.
Chris: No stinking Twitch, no stinking YouTube needed, no X, no big tech involved at all.
Chris: Whatever streaming platform you want, whatever mode of streaming,
Chris: video, audio, you just define it in your RSS feed and these clients read it
Chris: and incorporate it just like your existing shows like Wes said.
Chris: No digging around for links, no switching to another platform.
Chris: You just open your podcast app and you tap play.
Chris: It's so rad. And the podcasts that take advantage of this are standing out from the pack.
Chris: So Castamatic 11 is already a fantastic iOS podcasting 2.0 app.
Chris: But to see Castamatic 11 now with live support is so great. I've been waiting for this for a while.
Chris: You can find it at castamatic.com. It is free.
Chris: I don't know if it's open source. I don't think so. But it is a fantastic app.
Chris: It has iCloud Sync support.
Chris: It has Gap Zapper. It has a nice automatic leveler if you have some podcasts
Chris: that don't pay as much attention to their levels. Smart playlists.
Chris: I love it. And I've been waiting forever to get lit support, and it's great to see it.
Wes: Maybe boost in if you give it a try.
Chris: Many years ago, I upgraded my RV, aka Lady Jupiter, aka Jupes,
Chris: from a stock power system with a couple of golf batteries and a cheap inverter
Chris: to a full zombie apocalypse off-grid capable machine.
Chris: And ever since then, I've been trying to plug in different Linux components
Chris: or different devices to try to pull metrics and organize and manage all of this.
Chris: And I've built up a pretty mean system with one major problem.
Chris: All that gear can overheat, especially when you need it the most.
Chris: When the system is producing a lot of power, it also produces a lot of heat.
Chris: So you can imagine in the summer, that's a big problem.
Chris: I've always wanted to address this, but there was not really the right product.
Chris: I mean, besides trying to figure out how to physically install it and how to
Chris: vent the system, I also needed a practical way to trigger it.
Chris: Ideally one that doesn't require direct intervention, say while I'm driving.
Chris: And I wanted something that would reliably trigger a blower.
Chris: So I wouldn't, I wouldn't have to worry about maybe it's not running or if I
Chris: don't have internet, it won't start the automation.
Chris: So I had all these requirements and I figured there was probably an open source
Chris: angle to this because it uses DC power.
Chris: It has to be able to work offline with no cloud integration.
Chris: Ideally, it could be integrated into Home Assistant so I can collect metrics and do automations.
Chris: So I need something that provides data so I can see the difference of when we
Chris: had it in place and used and when we're not using it.
Chris: And since I'm installing it in my home, I want it to have a 10-year lifespan or longer.
Chris: I don't think the perfect commercial device that's pre-built exists for this.
Chris: Especially when you get into the no cloud 10-year user.
Wes: Yeah, that cuts out a lot of options, I would think.
Chris: And if I'm putting it literally in my home, like I'm mounting it to the walls
Chris: or in the walls, I want it to be open source.
Chris: I don't want it to be a proprietary piece of software that has like a limited lifespan.
Wes: And that you don't really understand and can fail for unknown reasons at any
Wes: time, that your only option is to replace the entire thing.
Chris: And if it's a proprietary piece of equipment, it's probably no longer made.
Wes: Right.
Chris: You know, it's hard to get the exact one-to-one replacement.
Chris: I want something common enough that if in six years, seven years,
Chris: it dies, I can order a new one on Amazon and have it in two days.
Chris: That doesn't exist. That just doesn't exist. So we had to build one.
Chris: And this is the perfect introduction to ESP devices.
Chris: They're low-cost, Wi-Fi and Bluetooth-enabled microcontrollers produced by,
Chris: is it Espressif? How do you say their name? I never say it right.
Brent: I think you're pretty good. Espressif.
Chris: Yeah. Now, they're pretty well-known in the IoT space. And these things are,
Chris: when I say affordable, I mean $9 gets you a four-pack of these things or something
Chris: like that off of Amazon. I mean, affordable is ridiculous.
Chris: Low power consumption, there are three volts, and you can combine them with
Chris: another open source project called ESPHome, which is now part of Home Assistant,
Chris: and it gives it a Home Assistant-friendly framework that makes it really easy
Chris: to integrate and start setting up.
Wes: Yeah, right. You kind of have like one part, which is this like microcontrollery
Wes: ecosystem. You can do stuff like what Arduino or MicroPython or Tasmodo or,
Wes: you know, all kinds of different options for what you run on there.
Wes: And then you compare that if you're a home assistant user with ESPHome,
Wes: which makes this like very user friendly layer on top to like manage it and
Wes: interface between the two.
Chris: So these little ESP32 devices, they're typically running, like Wes said,
Chris: there's a several different Tasmodo, you know, but they're typically running
Chris: free RTOS, which is a tiny little real-time operating system.
Chris: You can even operate these things essentially bare metal, but the nice thing
Chris: about free RTOS is it kind of does exactly what we need for this job.
Chris: It handles task scheduling, memory management, and the interrupts,
Chris: and it also is aware of the GPIO pins and their layout and all of that.
Wes: Just enough of a tiny little operating system that you can then run what you
Wes: need to like get on Wi-Fi appropriately and have an API that Home Assistant
Wes: can talk to but without having to reinvent the whole world or program it all yourself in C++.
Chris: And the main chip for these things, it's not much bigger than a quarter.
Chris: They're really small and they're in all kinds of different pre-built packages as well.
Chris: Now, did you know that Amazon bought free RTOS back in 2017?
Wes: Vaguely now i they've but i had totally forgotten.
Chris: Yeah i.
Wes: Guess that means either no one paid attention or they haven't done anything
Wes: super horrible to it since.
Chris: Yeah it's still mit licensed okay great i mean it's even
Chris: used on the mars rover so it's like from esp32 devices
Chris: all the way up on mars um so that's pretty
Chris: nice and then like wes was saying you combine that with esp home which
Chris: is that open source firmware project and it gives you a simplified
Chris: way to manage these like my yaml configuration
Chris: for what we're about to talk about with spacing and you know clean formatting
Chris: and comments 35 lines and it's with a lot of spacing and whatnot i'll put an
Chris: example link in the show notes so you use esp home to kind of get you this really
Chris: simple to configure little device and it's leveraging free rtos underneath the hood,
Chris: And they make it maintainable to send over-the-air updates throughout the device's life cycle.
Wes: So that's pretty killer, right? So you have to plug it in to get it flashed the first time.
Chris: Yes.
Wes: But then after that, you can just update it over the air.
Chris: Yes.
Wes: That's so great. Especially if you have a bunch of these deployed in your walls or whatever.
Chris: Yeah, and you can update all of them in one push. It does a build check first.
Chris: So if the build fails, it won't flip them to production.
Chris: So there's also a bit of a safety net there.
Brent: Quite insane.
Chris: And you can do things like, oh, I actually wanted to use this or change the
Chris: temperature sensor sensitivity from 60 seconds to 30 seconds.
Chris: You can do all that without having to physically go to the device.
Chris: You can push the config. It does a build in ESPHome and then sends it all out
Chris: there and boots the device.
Chris: It's just really nice. And you're all doing it over your LAN, you know?
Brent: I mean, better have a good LAN.
Chris: Yeah, well, yeah, yeah. And some RAM, yeah. But it's all right there in the
Chris: Home Assistant dashboard these days.
Chris: You just have to get the add-on going. So for our setup, we used an ESP8266
Chris: device and a DC relay and a temperature sensor all hanging off of this ESP8266.
Chris: And then we used ESPHome working with Home Assistant to configure the temperature
Chris: sensor, which can trigger the blower fan automatically when the RV power system
Chris: gets too hot. And then it logs all of it in Home Assistant.
Wes: Okay. So the ESP is playing both relay for the temperature sensor back to Home Assistant Central.
Wes: And then it's also playing endpoint sort of like control to trigger the relay.
Chris: Yes, it triggers the relay that turns the fan on. And so these are just the
Chris: perfect tools for the job. So a little recap, right? DC powered,
Chris: everything's DC in this system.
Chris: Offline operation, zero cloud dependency, home assistant integration for monitoring
Chris: control, data logging and temperature and fan status.
Chris: And depending on how we build it, which we'll get into, I think we can get a
Chris: 10 plus year lifespan out of this.
Chris: So like I said, we had an ESP8266, we picked up a DHT22 temperature sensor,
Chris: and we started a building.
Chris: we also needed a couple of other things we needed a fan and these esps don't
Chris: just run off of straight 12 volts so we had to get another component as well.
Brent: A little buck converter they call them i don't know why they're called that
Brent: someone will eventually write in and tell me but that converts the 12 volt that
Brent: is well pretty common in cars but also chris's rv and converts that dc directly
Brent: to 5 volts which can power this little esp and the temperature sensor as well.
Brent: So it does a little bit of, I don't know, electron magic for us to make it all
Brent: work in a nice little package.
Chris: And we also added to our little design here, a little fuse in here.
Chris: So you could, you know, these are things to consider.
Chris: You're going to need to step down converter. If you're coming from 12 volt or
Chris: a battery, you may want to fuse.
Chris: So just those things are something to know about. And yeah, you can then,
Chris: you know, sort of build to your heart's desire.
Chris: And then ultimately you need to, you need to be able to get these little ESP
Chris: devices, either plugged into your home assistant or on Wi-Fi,
Chris: and then you can start pushing configurations to them.
Chris: So that's sort of the background. Oh, and one other thing I think you should
Chris: probably know before we get into the project is these ESPs, like a Raspberry
Chris: Pi, have GPIO pins on them.
Chris: And these, some of them have particular functions. So in our example,
Chris: our thermostat sensor is plugged into GPIO-14, which is often labeled D5 on the board.
Chris: And then we have a relay plugged into GPIO 5, which is also called D1.
Chris: So there's all these pins on here and you just plug stuff into them.
Chris: And then in the YAML configuration, you say on this pin, this is a sensor.
Chris: And on this pin, that's a relay. And that's all you have to say.
Brent: I have to confess that originally when I looked at Raspberry Pis,
Brent: I saw the little, you know, GPIO pins and thought, I'm never,
Brent: ever, ever going to use those.
Brent: I know some people will, but like, I'm not going to use that on my Raspberry
Brent: Pi or any other device. I don't know.
Brent: Why do I even need that? Everything changed this week.
Chris: Yeah. And, you know, PJ points out, and something people should be aware of,
Chris: some of these pins have special functions. But the ones we used,
Chris: GPIO 14 and GPIO 5, they are not tied to any special boot functions.
Chris: So they don't output any expected signals at startup.
Chris: They're really clean. They're good to use for sensors and relays.
Wes: So some of these general purpose input outputs have specific purposes, you're telling me?
Chris: And they do things at boot. You need to be aware of it. But generally,
Chris: GPIO 14 and GPIO 5 are safe for this.
Brent: Lucky numbers.
Chris: So this, for me, and managing all this, was the really easy part because Home
Chris: Assistant took care of it for me. But Wes, you took another crack at it.
Wes: Yeah, okay. So I've been doing Home Assistant, but on NixOS,
Wes: knowing that I'm doing it the hard and now unsupported way.
Wes: And just figuring, well, let's see what it's like. I'm reserving the option
Wes: to just run it in a VM or a container later if that seems worth it for what I want to do with it.
Wes: But until then, see how far I can get. so for you guys right you're running
Wes: the whole operating system right and so you have the add-on store and so esp
Wes: home the like software itself not the integration but the actual dashboard and
Wes: like management stuff that's just an add-on yeah.
Chris: For for a little bit of context my home assistant system in the rv is using
Chris: the home assistant yellow hardware which is a cm4 based,
Chris: system and has about two gigs of RAM, which can be pushing it when you're trying
Chris: to do a bunch of builds for ESP Home.
Chris: And one of the things you can do is you can go into the configuration for ESP
Chris: Home's add-on and you can tell it to limit itself to one thread,
Chris: which because you're using only one thread instead of like four,
Chris: it uses less RAM, but it takes longer.
Chris: Just a little bit of context there. So yeah, I'm using it on a CM4 based system.
Chris: I imagine this Nix box you're using it on is probably more powerful.
Wes: Yeah.
Brent: Yeah, I find it interesting because, Chris, you're doing the most supported
Brent: way, and you might be arguably doing the least supported way,
Brent: and I like that difference.
Wes: So, thankfully, ESPHome is packaged in Nix, and it has an XOS module.
Wes: So you can just run it yourself, which is handy if you're trying to do troubleshooting
Wes: and just want to manually flash something, just a little command you can run.
Wes: But the module's pretty easy, pretty much just, you know, enable equals true.
Wes: So the main difference in the experience there is that instead of being like
Wes: another thing that you go to inside the Home Assistant tab, it's like a separate
Wes: tab for a service running on a separate port or, you know, put it behind a reverse
Wes: proxy or whatever you want to do.
Wes: Otherwise, basically the same, though, as usual with Nix, you kind of get a
Wes: bit more of a look under the hood sometimes, especially if there's something
Wes: goes wrong, you're troubleshooting or figuring out how to make it work.
Wes: and to do some of all of its magic, it turns out ESPHome does want to download
Wes: some binaries, including some special compilers, to make all that magic work.
Wes: This is done by something called Platform.io under the hood.
Wes: So Nix handles this by using what's called build FHS environment,
Wes: which uses bubble wrap to create a
Wes: more traditional Linux FHS hierarchy environment to run that software in.
Chris: So ESPHome's not on the wiser. it's on a weird NixOS file system.
Wes: Yes, and in particular, the rando binaries it runs to try to compile your build
Wes: also don't have to deal with that.
Chris: Solid solution, really.
Wes: As a result, too, the NixOS module does a good job, you could argue,
Wes: enabling as much of the system dehardening stuff.
Wes: You know, because if something's downloading some random binaries that's running,
Wes: maybe you want it to not have to have full write over your full system or whatever.
Chris: Yeah, definitely, right.
Wes: But that caused me a little bit of an issue. I don't know if there's something
Wes: that changed or just some details in the module that needs to get worked out.
Wes: But by default, it was writing to, like,
Wes: var lib esp home, but was set up to use like private users for security and
Wes: dynamic users and basically that meant that when it was running systemd does
Wes: some bind mounts and it was adding the no exec flag so everything was working
Wes: except i was getting permission denied trying to actually run the compiler to compile the.
Chris: It was essentially being overly cautious and saying you don't want to execute this.
Wes: Yes and so i figured out pretty quick i could just tell platform
Wes: io to use slash temp for all the stuff
Wes: and then that worked and then I did a little more work
Wes: for it and I was able to modify the systemd file
Wes: we'll see maybe I'll try to submit this or see what other people think but
Wes: basically have a separate cache directory which is
Wes: the thing systemd supports for a service so you can say like hey make a slash
Wes: var slash cache just for this service so use
Wes: that for all the platform IO stuff so unlike with
Wes: slash temp it won't get cleared at boot but it is in a place because it can
Wes: be re-downloaded that you know systemd knows that
Wes: it can get cleared if needed and then you can add
Wes: something called exec paths which is an
Wes: option to basically tell systemd only allow to
Wes: exec things from these paths but do allow those
Wes: paths so then i tell it like you know go use the slash bin from the package
Wes: to run all the esp home bits and allow the cache that i've just set up and then
Wes: after that it pretty much just worked wow yeah so So then I was able to get
Wes: another 8266 thing that producer Jeff kindly gave me. Yeah. Got it flashed. Worked just fine.
Chris: So you had a lot more initial setup to get it working, but you came away with
Chris: a lot clearer understanding of how it works under the hood.
Wes: This is true.
Chris: And now you have that config forever. So you could always reproduce this.
Wes: Yeah.
Chris: Now, if you really want it easy, you don't need Home Assistant.
Chris: You don't have to set it up like Wes did. you can actually go to web.esphome.io
Chris: and do some of the initial setup right there in your web browser.
Chris: The catch is it has to be Chrome because they take advantage of,
Chris: like, some serial port API stuff.
Chris: Right. And you do need to be in the dial-out group and have the permissions
Chris: to access the USB device and all of that.
Chris: But if you have all of those prerequisites checked off, you can get these things
Chris: started and dump a YAML config on there from just their hosted website at web.esphome.io.
Chris: and everything runs 100% in the browser locally.
Wes: That's pretty great. Because then all you need, I mean, if you do want to even
Wes: still do Home Assistant, you just have to have the integration on that side
Wes: and you can add the devices.
Brent: Turns out even hardware requires a browser.
Chris: Onepassword.com slash unplugged. That's the number one password.com slash unplugged. It's all lowercase.
Chris: If your employees are bypassing security to use unapproved apps that they feel
Chris: they need to do their jobs, you're not alone.
Chris: And fortunately, with one password extended access management,
Chris: security and productivity, they don't have to be at odds anymore.
Chris: You can check compliance off your list. You see, Treleka by one password inventories
Chris: every app you use at your company.
Chris: Then it pre-populates app profiles and it figures out SaaS risk.
Chris: Letting you manage access.
Chris: Employees can request access to services and all that.
Chris: And you can optimize the spend, make sure you're not using licenses that you
Chris: don't need or you don't have redundant application. But the most important part,
Chris: you can enforce security best practices across every app your employees use.
Chris: You can manage shadow IT like contractors that just show up one day or apps you didn't know about.
Chris: You can onboard and offboard employees with a process, and you can make sure
Chris: you're meeting compliance goals.
Chris: You see, Treleka by 1Password provides a complete solution for SaaS access and governance.
Chris: It's just one of the ways extended access management helps teams strengthen
Chris: compliance and security.
Chris: Now, I love that 1Password brought really good password practices to the world,
Chris: and they made that really easy.
Chris: And you know 1Password's well-regarded.
Chris: It's used by over 150,000 businesses out there, IBM to Slack.
Chris: And of course, now they're taking things to the next level and making the complete
Chris: system with 1Password Extended Access Management.
Chris: Take the first step to better security for your team by securing credentials
Chris: and protecting every application, even unmanaged shadow IT.
Chris: Learn more by going to 1Password.com slash unplugged. That's 1Password.com slash
Chris: unplugged, all lowercase.
Chris: Check it out, learn more, and support the show at 1password.com slash unplugged.
Brent: So now we get into building the actual thing well in
Brent: the morning when we first got started chris and i looked at each other and we
Brent: tried to divvy up the the work and uh
Brent: chris was going to do the software which as you can hear was nice and
Brent: simple and then i was going to get started on the hardware well it
Brent: turns out that's a bit more of a challenge but
Brent: we've got a good team producer jeff sent us
Brent: a bunch of consults and diagrams and well
Brent: years ago even taught us about these devices so we took out
Brent: a big box filled with devices from what 2023
Brent: is the last time we kind of dove into this project box and we're like oh yeah
Brent: we've done this before it's not that hard it'll just take us like what an hour
Brent: to put things together and we'll put esp home together and all the configs and
Brent: we'll just have it up and running by noon yeah and that should be pretty easy i.
Chris: Thought we'd get lunch and then we'd probably switch gears to a separate project around 2 p.m.
Brent: Yeah, but then the first part was just figuring out where to get power from, right?
Brent: You need power for all these devices, so we were going to get a little bit of power.
Clips: Well, if we're going to hook up a fan, we need power. So the first thing we're
Clips: doing before we screw anything into the wall or run any ducts is making sure
Clips: we have a place we can tap power into, and we need 12 volts because it's a 12-volt fan brand.
Clips: I think we did that by design, right? Yeah. The only problem is to add the fan,
Clips: I need to turn the light off, but I'm using the light to see what I'm doing.
Clips: We're going to steal 12 volts from a 12-volt light that's in the storage bay
Clips: and tap off of that, which we've done before.
Clips: Jeff's done that successfully. But yeah, then we lose light.
Clips: Yeah. Maybe if you squint hard.
Chris: I wish the lighting was our biggest challenge.
Wes: I'm confused. Why didn't Brent have his headlamp on it?
Chris: I know, right?
Brent: This was pre-headlamp deployment, and it did encourage me to deploy headlamp.
Chris: He always has it on him, of course. But what really slowed us down,
Chris: I think, is what kind of snags you up on all kinds of new projects where you're
Chris: not familiar with the little details.
Chris: All the little parts, all the little idiosyncrasies of the ecosystem.
Wes: The stuff that looks good at a high-level plan, and then you're like, oh, wait.
Chris: Like, we got an ESP board. We thought we were being so clever because we got
Chris: an ESP board originally that had the ESP and two relays on it.
Chris: And so like a couple of hot shots, we figured we just supply five volt voltage
Chris: to this ESP and everything's going to work.
Chris: And instead, when we powered it up, it did like this crazy relay dance and click,
Chris: click, click, click, click. And all the lights started flashing like clearly.
Chris: And so we had to realize like, oh, no, we have to provide two separate types of power.
Chris: There's there's a five volt system on the same board. And this thing's smaller
Chris: than a Raspberry Pi. And then there's like a whole other like three volt or
Chris: 12 volt depends on the equipment on this thing. And we didn't realize that could even be a possibility.
Chris: Or, you know, for example, we'd order a lot of these parts in 2023,
Chris: like Brent said. So we didn't really know what all we had.
Chris: So we were kind of making it work with what we did have and nothing was really
Chris: meant to go together. The wire sizes aren't the same.
Chris: The gauges aren't right. Like layer one can be a real turd when you're just
Chris: trying to get started. You know, if this is something we did every weekend,
Chris: I think we would have busted this out by noon.
Clips: Sometimes things just take longer than you expected. You know, I couldn't tell you.
Clips: We got ourselves this fancy ESP, and maybe that wasn't the right way to go.
Clips: So we went and got ourselves one of our classics that we had,
Clips: and I plugged it in. It wasn't working.
Clips: I plugged in the next one. It wasn't working. Four ESPs later,
Clips: none of them were working.
Clips: I thought, okay, maybe it's something wrong with the groups I'm in.
Clips: and it turns out I needed to be in dial out.
Clips: Kept digging around trying to figure out why can't my bluefin system.
Clips: Detect this esp over usb um bad
Clips: usb cable took me way too long to figure out bad usb it's
Clips: always layer one chris i know so once i got
Clips: the right usb cable uh we got it built we have esp
Clips: home on there it's configured on our wi-fi and we
Clips: have pre-configured the gpio pins jeff gave me
Clips: an example config i could basically just copy and modified
Clips: to my needs so this guy is ready and you've been
Clips: soldering which i know you love uh i think i love soldering
Clips: as much as i love building computers i hate building
Clips: pcs and you've soldered i guess this is kind of a
Clips: temporary power thing so we can kind of put all this together and
Clips: test to make sure we have it all working yeah we had a power issue
Clips: earlier this morning might have been one of the cables you just mentioned but
Clips: we've been trying to power this board with a variety of power sources with no
Clips: luck so i'm trying yet another wreck around and it involves lots of soldering
Clips: but it feels like once we get that bit done then it's kind of just connecting
Clips: all the pieces and wiring things up but i thought this would be the easy part.
Clips: So we'll see.
Chris: Now, if you're new to some of this, like we were,
Chris: I think, Brent, you'd agree having a breadboard where you can prototype some of this is really handy.
Brent: Yeah, that was really nice because you end up with this basically,
Brent: I don't know, small circuit that you could just plug things into,
Brent: provide power to the entire board, and then just very visually and in an organized
Brent: way access those GPIO pins that you were mentioning.
Chris: Yeah, because the 80s, whatever it is, sits right in the breadboard, just pops right in.
Brent: Yeah, the whole ESP development board, you can just kind of work its way into
Brent: this development or the breadboard, which just does a bunch of electrical connections
Brent: and then plug a bunch of other things to it.
Brent: But by the end of it, it was a bit of a spaghetti mess of me trying to just
Brent: really power this thing so you could see it on the Wi-Fi.
Chris: What kind of adds to the spaghetti mess is these all need to be on the same common ground.
Chris: That's a really important aspect for this functioning properly.
Chris: So you end up with wires kind of going everywhere.
Brent: I learned that the hard way. Yeah, the relay that we're using to try to trigger
Brent: this fan that's going to cool the battery bay, that needs to share a ground
Brent: with things like the temperature sensor and also,
Brent: well, all the power sources that you have and all of that.
Brent: So everything needs to all be in a nice, cohesive connection.
Wes: Sometimes it's quite the jump from what the circuit diagram looks like to the implementation.
Chris: Yeah, especially the wiring, original wiring diagram. But it was nice to prototype
Chris: it and sort of validate it that way.
Chris: So we kind of had an idea we were moving in the right direction and it was time
Chris: to make sure that, you know, we could actually make some of these temporary
Chris: connections a little less temporary and take them off the breadboard and actually
Chris: plug them in in a way that we can really use for a bit.
Chris: But time was just not our friend this day. All day long, we were constantly
Chris: running against the clock and everything that could go wrong did go wrong.
Chris: You know, from like screws falling out of stuff to we go to plug in a cable
Chris: and the end falls off. Just a lot of cheap parts. temperature.
Brent: Sensor one of them was defective the first one we used.
Chris: Just by chance so you one of the i think one of the reasons they they all all
Chris: this stuff comes in kits like when you buy the temperature sensor you get like
Chris: five of them it's because like almost always one of them is bad,
Chris: At least that's been our, that was our experience this day. And some of it had
Chris: been sitting around for a long time, but it was all still wrapped in the packaging
Chris: in the, you know, the static bag and all of that.
Chris: But Brentley worked steadily, his hands moving fast, the smoke from the solder
Chris: filling the RV and getting sucked out by the fantastic fan all night long.
Chris: And I kept tweaking the SP home config. It was great. PJ would like,
Chris: all right, I'll do a test build. And he did a test setup too.
Chris: And he's like, okay, I validated the build works.
Chris: Ironically, it failed for him because he had a bad relay.
Chris: So it really kind of started to come together, and it was time to really take
Chris: it down to the actual power bay, hook it all up, and see if once triggered, it works.
Clips: Well, one bad sensor, one bad wire, and a bad USB cable later,
Clips: and a bunch of soldering, we have the first test wired up.
Clips: I mean, like this looks like it should be it.
Clips: Everything's in place. You got everything hooked up to the 12 volts.
Clips: So once the ESP boots, I should be able to trigger the fan from Home Assistant.
Clips: I hope so. Yeah, me too, man.
Clips: It's been a long day. It's 9 p.m. right now.
Clips: I've learned a lot today. Let's just put it that way. Yeah, you've become a
Clips: better solder. Your soldering skills have improved.
Clips: I'll use it next year. There's that. Next year? We're probably not done soldering.
Clips: But shall we try it? Yep, it looks like it's online. Should I hit it?
Clips: Okay, here we go. Survey says...
Clips: Survey says... Oh! Oh, it did work. It's just my home assistant app was...
Clips: Oh, it was just the home assistant app. It totally got us. Alright,
Clips: let's try it again. The home assistant app is connected now.
Clips: Oh! There it goes! It just took off.
Clips: It worked!
Clips: It blew itself off.
Clips: It's powerful.
Chris: It moves a lot of air.
Brent: It worked really well, I would say.
Chris: Yeah, it's designed for a bilge of a boat. So it moves air.
Chris: Now, we're doing a couple of things to actually try to make this thing last 10 years.
Chris: Besides putting a fuse on it to help protect it, we're going to put it in,
Chris: right now it's not in this box, but that's what we're doing tomorrow,
Chris: is installing a waterproof junction box for this thing.
Chris: We're just going to put all the components in there. It's got like a little
Chris: pegboard on the back so you can peg stuff to it.
Chris: And then ultimately, build in a bypass system as well.
Chris: That's probably like, I guess, phase two, is build a bypass system.
Chris: And either by a switch on this junction box or just by cords that I can move.
Chris: So if there, for some reason, was a failure, I could still go manually activate the fan.
Wes: Okay, that sounds smart.
Chris: And it's clean, and, you know, as long as you get the wiring done and,
Chris: you know, rents done, what do you call that heat wrapping that you did?
Brent: Oh, it's shrink wrap, and we got, thankfully, some really nice stuff that shrinks.
Brent: I think it's like three times its size and also has adhesive on these.
Brent: That's the stuff I would totally recommend.
Chris: Yeah, it's a kit on Amazon. Maybe we can find it and try to put a link in the notes.
Chris: It's great. It's great. It's clean. It holds it all together because we're trying
Chris: to build this to also handle road vibration and, you know, high temperatures
Chris: and whatnot. But this one ESP device has the relay and the temperature sensor,
Chris: which also is a humidity sensor.
Chris: And you could, inside the ESP config, trigger everything using the ESP directly.
Chris: So when the temperature sensor reads 80 degrees, turn on the switch.
Wes: Sure, you can have it all local brain.
Chris: You totally could. And that would be definitely something to consider.
Chris: It's the most probably reliable way to run this. So I'm going to do the right
Chris: thing and I'm not going to do that. And I'm going to use Home Assistant to automate this.
Chris: And the reason why is because I already have 30 other systems that are automated
Chris: and managed with Home Assistant.
Chris: So to keep it consistent with what it sort of has as a standard,
Chris: I'm going to do it that way.
Chris: And so I'll build what will essentially be a little dashboard or can already
Chris: have one with the different temperatures on it.
Chris: And you just go to that dashboard and you set the temperature you want and that
Chris: fan will run until it reaches that temperature.
Wes: Welcome to Fan Control Central.
Chris: Yeah, I'm looking forward to that. And I'm feeling pretty good. It's going to last.
Chris: We already have other ESP devices in the walls that have been working great for years.
Wes: What do you think the approximate build cost was?
Chris: Great question.
Wes: Maybe not including, you know, you
Wes: don't have to include all of the extra soldering equipment or whatever.
Chris: So we had to buy the fan and a couple of vents. The fan's like $20.
Chris: The vents are like $5 each or so.
Brent: Something like that.
Chris: And then, you know, a pack of ESPs is about $9.
Brent: Relay?
Chris: Relay's a few bucks, four bucks, five bucks.
Chris: So it's pretty, pretty cheap. And then con, you know, a little conduit for the
Chris: fan. You know, it's nothing.
Brent: We ended up using the PineSill, which is the really nice open hardware soldering
Brent: pencil that we've been using for a couple of years. Also recommended by our dear community.
Brent: And Jeff, thank you for sending this one along.
Chris: It's really handy because it's powered off of USB-C.
Brent: Oh, so great.
Chris: And we had a high wattage portable battery that's small, but high wattage.
Chris: And so Brent was able to just do that and just, he could take it with him wherever he needed to go.
Brent: So that, that was really great. I would also say part of the cost just goes
Brent: towards having like the accessories. So some wiring that's appropriate,
Brent: having heat shrink, having, you know, this little breadboard.
Brent: You don't absolutely need it, but it sure does help.
Chris: Do you, do you think he could have built a 10 year device that lasts without soldering?
Chris: Um, with clip connect? I just don't think so. I mean, if it wasn't maybe in a moving vehicle.
Brent: Yeah, I think you'd probably take a bit of a different route.
Brent: Like there are cables specifically made to slip over the GPIO pins.
Brent: You could maybe glue those into place, or I know you can use like nail polish
Brent: to like waterproof certain things, and that might keep things in place.
Brent: But really, soldering was one of the best ways that we could,
Brent: for instance, the ESP were powering with a USB cable that I created with this
Brent: buck converter built into the cable.
Brent: I made my own like super high fancy cable. Apple should hire me at this point.
Chris: It's pretty slick.
Brent: And I was able to, because of soldering and like some of these wires are teeny
Brent: tiny, I was able to make a cable that actually looks really quite clean and
Brent: small and slick and waterproof and all of this.
Brent: So in that way, I don't think I could have made that cable with connectors in the same way.
Chris: Sort of depends on what your quality threshold is here.
Brent: Yeah. As you know, mine tends to be maybe a little high.
Chris: Well, and I mean, how proud would you be if this thing last,
Chris: you know, 12 years or something like that's a pretty big, like we come back
Chris: to this in a decade and that thing's still in use.
Brent: Well, I think especially for you, Chris, like a device that you end up mounting
Brent: in the guts of your RV, you don't look at it every day.
Brent: You're not like you don't have an eye on, oh, this thing's starting to come
Brent: apart or, oh, there's a little bit of corrosion here or something like that.
Chris: That is, though, one of the nice things about Home Assistant.
Chris: You do know if it's online, when it's last been working. So you do get some data.
Chris: But you're right. Like, I'm not eyes on it. I'm not checking it every day.
Brent: Yeah, exactly. I also think, you know, these devices can apply to more than
Brent: just this 12-volt RV situation.
Chris: That's the unlock. And that's the thing, I think, the big takeaway that if you
Chris: wrap your head around what we've talked about today, anything that's really
Chris: on a switch, you can automate with an ESP and a relay.
Chris: And it's a massive unlock. And it's stuff that you can actually take a stab
Chris: at doing because you're not going to get rugged in three years when the cloud service shuts down.
Wes: Yes, commodity hardware and open source software.
Chris: And the folks behind ESPHome, well, that's the Home Assistant Foundation.
Chris: Like there's a foundation model there to make sure that it's vendor neutral and all of that.
Chris: It's here for the long haul. You can like I literally have it installed in walls and it works.
Chris: You know, it's as reliable as any smart device I've ever had.
Chris: It's you just need to have Wi-Fi.
Brent: It reminds me of the Raspberry Pi in the sense that it has a massive community
Brent: of people building all sorts of things around it. I think, really,
Brent: we're late to the party in this particular one.
Chris: Yeah, no, there's huge. And so many devices.
Brent: Yeah, so anything you're hoping to do with it has probably been done already,
Brent: and you can find some assistance, some support, some examples of this happening.
Brent: People are 3D printing their own cases.
Brent: They're making their own PCBs around these platforms. So it's a very rich ecosystem.
Brent: And the beautiful thing about the little tiny device that you and I made,
Brent: Chris, which is probably the reason we wanted to spend, I don't know,
Brent: this many hours on pulling our hair out to build the thing.
Chris: It's going to be like, yeah, three days of work all said and done.
Chris: We thought it'd be an afternoon of work or a morning, but yeah.
Brent: It reminds me so much, though, of when I first was learning Linux.
Brent: It's like, oh, there's all these systems that I don't quite understand.
Brent: You get little snippets of like
Brent: how it all, and then you put together your first project and it works.
Chris: It starts clicking.
Brent: Yeah, and now that knowledge carries forward to build on top of.
Brent: Well, for us, this little ESP plus relay is like, okay, you're using it in your
Brent: RV with 12-volt power, but I can install this thing in my cabin with 120-volt power.
Brent: These relays also support up to 240, so in Europe they can use it.
Brent: So now we've got the knowledge, and hopefully we're a bit faster next time,
Brent: to build a bunch of these and use them in any context that we find ourselves
Brent: in, whether it's outdoors or indoors or anywhere.
Brent: So it's this massive unlock, or at
Brent: least that's what I'm telling myself to justify the time we put into it.
Chris: Unraid.net slash unplugged. Go over there, support the show,
Chris: and check out Unraid. Unleash your hardware.
Chris: Unraid's a powerful, easy-to-use NAS operating system built on top of modern
Chris: Linux with a modern kernel in there that gives you control, flexibility,
Chris: and efficiency in managing your data and your applications.
Chris: You'll hear us talk about things like Home Assistant or Jellyfin or some of
Chris: the LLM apps that are a lot of fun.
Chris: You can spin these up in just seconds on top of Unraid. Additionally,
Chris: if you have mismatched disks, Unraid will help you manage all of that.
Chris: They have some of the best virtualization support out there,
Chris: making it easy to pass through hardware or share graphics cards amongst multiple virtual machines.
Chris: And if you're getting into ZFS or you've already got ZFS, well,
Chris: Unraid has something for you.
Chris: And they really kicked things up recently in Unraid 7.1 if you haven't taken
Chris: a look. They make it possible now to support and import the existing pools on
Chris: your Ubuntu system or maybe your Proxmox box or a FreeNAS box.
Chris: You know, you want to step it up to something a little classier and more powerful.
Chris: You can now just import it, boom, right into Unraid. It's such an awesome move and feature.
Chris: But beyond that, they've also just taken the ZFS level support all the way there.
Chris: They've got a bunch of file system support, but very impressed to see how they've
Chris: completed that circle in Unraid 7.1.
Chris: Also in there now is wireless networking support. So if you're like me at home, I can't run ethernet.
Chris: So everything has to be on Wi-Fi, or I suppose Zigbee or Z-Wave or something.
Chris: So having out of the box Wi-Fi support makes that a lot nicer.
Chris: Also, I've been playing around with reusable VM templates. So think about this.
Chris: System just, you get it working, you like it a lot, boom, that's a template
Chris: now. And now you can reuse that over and over again.
Chris: Lots of very awesome features.
Chris: I think as a longtime Linux user, the thing I appreciate the most is that they
Chris: truly do follow Linux development. They watch that driver space.
Chris: They watch the file system space.
Chris: And they incorporate it intelligently and safely into Unraid.
Chris: They are really taking an active role in that position.
Chris: And they're not falling behind and forgetting about updating the kernel and
Chris: that kind of stuff. They make sure they track that.
Chris: When they ship a new version of Unraid, you get Linux features that have been
Chris: tested, tried, and the ones you want for this kind of system.
Chris: That's part of what I really like about it. And I think that's why it's awesome
Chris: they actually have a monetization strategy for Unraid.
Chris: That's what's made this possible for all these years. So get started now.
Chris: Go to unraid.net slash unplugged. See how far your imagination and your server
Chris: can go while you're supporting the show.
Chris: You get a free 30-day trial, no credit card required. Kick the tires.
Chris: See what we're talking about.
Chris: Unraid.net slash unplugged.
Wes: Well if you're ahead of us on the esp journey maybe uh ride in boost in let
Wes: us know what crazy or uh super useful things you've built i know we're all excited
Wes: about uh you know where we can take this and as usual our audience is light years ahead now.
Brent: It's just a little reminder that next week well chris is finally coming to canada
Brent: to pay me a visit we're going to be taking the Van from the JB Studio that we've
Brent: been working on for, oof, feels like two months now.
Brent: And also Lady Joops, so it's going to be a bit of a road trip.
Brent: That means we will not be live next week for Linux Unplugged,
Brent: but there will be a regular episode coming as usual.
Chris: And we start with our baller booster, okay, who comes in as Tui Tickler with 63,300.
Chris: and 33 sats.
Chris: I'm just saying your bootleg membership needs a try before you buy option.
Chris: Like when Costco gives you a bite-sized hot dog and a slice,
Chris: and then suddenly you're buying 48 packs.
Brent: That's so true of Costco.
Chris: You guys make a reference. Now let me snack on it.
Brent: Delicious.
Chris: I am very, very proud of the bootleg. I actually think the bootleg should be
Chris: heard by more, more listeners.
Chris: So you're going to get your wish, Tui Tickler.
Chris: Stay tuned. perhaps sooner than you expect you're going to get to hear some
Chris: of the bootleg stuff thank you for being our baller it's nice to hear from you
Chris: and your username is hilarious.
Wes: A wine eagle boosin with 22 272 cents,
Wes: thank you for browse oh yeah I was able to authorize leer to sync gmail with
Wes: not much plus eric and emacs and neomut support wow,
Wes: all on my headless nicks them NAS that required going through an OAuth screen on a browser with JS.
Chris: Whoa.
Wes: That is an impressive setup, Wine Eagle.
Brent: So how many points is that?
Chris: The things people are willing to do is pretty impressive. That's quite the although fun, I imagine.
Wes: Thank you for telling us.
Chris: Wow. That's pretty great. Damn. Thank you for the update. That's good to hear. Keep them coming.
Brent: Well, Jordan Bravo boosted in a row of ducks. I know the 2AE challenge has ended,
Brent: but I have a recommendation.
Brent: systemctl-tui is a tui for systemd as the name suggests it is of course written
Brent: in rust and available in x packages.
Chris: Yeah this.
Wes: One this is one also I think that's sticking with me.
Chris: From the challenge I want to say I hope the tui challenge continues without
Chris: us you could be doing it right now and then send us updates it's something we'd
Chris: love to hear people check in on even though we're done with it you don't have
Chris: to be just listen to the episodes and follow along you're.
Wes: The linux tui am I right.
Chris: Yeah that's yeah I think so Magnolia Mayhem's back with 7,777 sats.
Chris: Man, I wish I could have taken part in the TUI challenge. I've been coordinating
Chris: with a bunch of activists and need my laptop as usable as possible,
Chris: such as the nature of being politically active in Mississippi.
Chris: That said, I hope you'll accept a late submission one day. I really enjoyed
Chris: the BSD challenge, and I'm still running free BSD on an FX8350 server and on a VPS to this day.
Chris: So do I get bonus points for a TUI on BSD? I'm going to say yes.
Wes: Yeah, I'm down with that.
Brent: BSTUI.
Chris: Yeah, yeah. Oh, he never got the veggie dog. Brent, will you follow up on that?
Brent: Yeah, I can do that.
Chris: Thank you.
Wes: Fortidoo boosts in with 4,200 sets.
Wes: Sounds like you guys found some of my faves. I don't know how I ever lived without
Wes: Helix, Yazzie, and Zelish.
Wes: I definitely appreciate these for their no-hassle power right out of the box.
Wes: Ranger and NNN are my runner-ups for file management, though.
Wes: Mike Rowe is, of course, another great text editor with more standard key bindings.
Wes: and I'll be checking out Jellyfin Tui right now.
Wes: It looks like a new staple and reminds me of Mock, M-O-C, which is my go-to
Wes: simple Tui music player.
Chris: I tried Mock. Yeah, yeah, I liked Mock. Thank you for the value.
Chris: Really appreciate that. Nice to hear from you. Forty deuce.
Chris: Deuce. Deuce. Deuce.
Brent: Well, Jan Holbo sent in another Forty Deuce set. Here is from the Future Boost.
Chris: Ooh, whoa, cool.
Brent: I'm trying to catch up on the library and just listen to self-hosted 150.
Brent: I'm looking forward to getting the occasional self-hosted story in Linux Unplugged.
Brent: Welcome to this week's content.
Brent: Question for you. You talked about using Nix OS instead of Docker.
Brent: Well, does Nix OS support virtual IP addresses for different apps,
Brent: say Image, Nextcloud, Notify, Smokeping, etc., on the very same host?
Brent: boost is also a postcode boost in this case divide the boost with two and hint
Brent: here lives an ever young lady with a tail.
Chris: What brent.
Wes: You're on that hint you're my hint guy.
Chris: It's a zip code i don't see it you see it in there i'm i am slow on these what's
Chris: my problem do you see it with well.
Brent: You take maybe the boost i gotta get my divided by two.
Chris: I think and you get.
Brent: Some crazy number.
Chris: Oh there it is let's see here jeez i.
Wes: Know it's kind of sharp.
Chris: It's huge i.
Wes: Don't know why i polish it.
Chris: Don't tape all these extra extensions onto it.
Wes: Yeah well you know mars the moon they're relevant.
Chris: 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?
Wes: Um Give me a Give me a Why don't you Unfold the other section I know That's why I need a sec.
Brent: This thing has six sides It's crazy.
Wes: Yeah well It's a higher dimensional object Is the thing.
Brent: Is that a laser?
Chris: Yeah, it's weird that he used all this tech for the map. Like,
Chris: we could have used this for all sorts of stuff.
Brent: Here we are soldering, and he's got this, like, eight-dimensional cube map.
Brent: Well, I'm trying to break down the hint here. So the hint is,
Brent: here lives an ever-young lady with a tail.
Brent: And, well, our dear friend AI, in some case, thinks maybe it means a mermaid?
Brent: That could be a thing.
Wes: Yeah, okay, so then my guess is somewhere near DY in New South Wales,
Wes: Australia, where I guess maybe as Brent is saying, there is a well-known mermaid statue.
Brent: Really?
Wes: Australia boost, I love it, if so.
Chris: I hope that's true, that's pretty neat. Okay, well True Grits,
Chris: thank you for the boost, and thank you for a zip code math.
Chris: True Grits is here with 5,000 sets.
Chris: regarding the graphene os story in the members feed with them not getting the
Chris: oem device tree files i wonder if this could be a place for collaboration between
Chris: rom projects since i doubt the problem is going to be unique to graphene os
Chris: you wonder perhaps they will have to form some sort of alliance they seem like
Chris: they like to do their own thing though so that's going to be a,
Chris: But put it out there in the universe, True Grits, and maybe it'll come true.
Chris: Because they need friends right now.
Wes: I like your energy. Ten Moose comes in with a Robodox. First time booster, long time listener.
Chris: Yes!
Wes: Loving the Fountain app.
Chris: Thank you for going through the setup and getting the SATs. It's been a minute,
Chris: I think, since we heard from a newbie. Well done, Ten Moose.
Wes: Oh, and we get a server report. I'm running Red Hat Home Server on an individual
Wes: developer license with Cockpit to manage my containers and VMs. yes.
Chris: Yes yes all right i'm gonna make that as a vote for the red hat content right there.
Wes: Yeah there is another one down in uh if we want to pull up one from the thanks
Wes: from forward humor voting for open shift coverage so all.
Chris: Right thank you forward humor.
Brent: Hey did we in the last boost answer the question about nix os and various ips.
Wes: Oh no we moved right on because we got you know distracted well
Wes: that map is flashy yeah it depends exactly what
Wes: you're wanting to do i don't think there's generally i mean
Wes: like some if you add more ips to your
Wes: system and the services support listening
Wes: on a specific address then you can do it that way but there's no
Wes: nix os support out of the box for like the docker style
Wes: networking you can do whatever you
Wes: want on top in terms of you know systemd services
Wes: modifying the setup i've made a
Wes: sort of copy of that for per service network namespaces so you could try that
Wes: too but no there's not an exact copy of like each service automatically lives
Wes: in a network namespace with its own ip address but i'm not sure if that's exactly
Wes: what you're asking so maybe boost back in and let us know thank.
Chris: You everybody who does boost in of course you can be a member and support the
Chris: show's production directly you set that on autopilot at linuxunplugged.com membership
Chris: and you get the bootleg and you get the ad free as a thank you and it really
Chris: means a lot but then we also have this option to support each individual production.
Chris: It's your vote on how the show was, how the episode content was, what you thought of it.
Chris: And it's a way to give back if you got value from this particular episode.
Chris: And you heard it there from old moose.
Chris: One of the best ways to do it is fountain FM because they host everything for you.
Chris: They get it really simple to set up and they integrate with strike,
Chris: which is available in more and more countries as a great company.
Chris: There's lots of paths you can take, including totally self-hosted options because
Chris: it's all an open source peer to peer network.
Chris: Thank you everybody who boosts in we had 27 of you not bad you always use a
Chris: little more but we had 27 streaming sats you stack 26 907 sats when you combine
Chris: that with our boosters we had a total of 140 246 sats,
Chris: Maybe not our strongest episode ever, but we really do appreciate any of the support we do get.
Chris: And if you got some value from this episode, you can send it right back to us
Chris: in a way that you think keeps us going.
Chris: And your contribution not only goes to the show, it goes to Editor Drew,
Chris: it goes to the developer of the app you're using, and a little bit goes to the
Chris: podcast index. It's a great way to go.
Wes: And I remembered, there's also built-in NixOS containers you can do with Systemd
Wes: N-Spawn for another way to do that.
Wes: Just in case my answer was turning you off from NixOS too much.
Chris: You do need to focus.
Wes: I got to be, I got to be thorough.
Chris: You got to focus.
Brent: There's a flow here.
Chris: We're doing the thing now. You both did it. We're doing the thing.
Chris: All right. We got a thing and we're doing it. All right. But it is good to know. Thank you, everybody.
Chris: Now, this pick is one that I've just been using the crap out of all week.
Chris: So I had to mention it on the show and I wasn't sure if you two had seen it
Chris: yet. So I'm really hoping I'm introducing it to you for the first time.
Chris: It's called High Tide. And it is a third party, unofficial title music client that's native on Linux.
Chris: It works on mobile or your desktop. It's nice. It's high quality.
Chris: It's technically a GNOME app. Works fantastic on Plasma. Even the media keys.
Chris: Supports the highest quality setting.
Wes: Wow.
Chris: Yeah. Not affiliated with Tidal at all, but it's fantastic. I believe it's GPL3 as well.
Chris: So it's called Hytide, and it brings Tidal to a native app on Linux. And I love it.
Chris: Check it out if you're a title user.
Wes: It's a Python project. Neat.
Chris: Now, I know not all of you are, you know, title users. So I wanted to do something
Chris: for those of you who are like, Chris, come on. I'm an Apple Music listener.
Chris: Well, I wanted to remind you, they had a release not too long ago,
Chris: about an app that is one of my solid daily go-tos on all my systems.
Chris: And if I don't have this, I never know what's going to happen when I click a
Chris: link. It's called Junction.
Chris: And it's a browser chooser. It works, again, great on Plasma or Genome. It's GPL3.
Chris: And what it basically does is become your default browser. So you click a link
Chris: and say your chat app of choice.
Chris: Instead of just launching the browser, and I have one of these chat apps,
Chris: it doesn't matter what my default browser is.
Chris: If it's not Junction, it just always opens things in Chrome.
Chris: I don't know why. But if I put Junction in there, I then get a chooser screen.
Chris: And I can choose Firefox, or I actually have ridiculous, like four browsers
Chris: installed for various reasons.
Chris: And I can launch that link in any of them right there. So I get a little chooser
Chris: screen before the browser launches and then it sends it to the correct browser.
Chris: I get to pick and I get to pick per link, which I really like.
Chris: So it's called Junction.
Chris: I've talked about it before on the show. I know that, but I'm bringing it up
Chris: again because I use it every day on my systems since I talked about it on the
Chris: show. And that's been years ago.
Chris: So it just definitely every now and then an app is so dang good.
Chris: It deserves another mention.
Chris: Junction. I'll put a link to it in the show notes. I love it.
Chris: High Tide and Junction, totally different areas, but a couple ones I love.
Chris: Very good. And both GPL3.
Wes: I'm glad to hear you're still using Junction. It's clearly stuck with you over the years.
Chris: If I could have one feature change, it would be that it doesn't necessarily
Chris: open under where your mouse cursor is at.
Chris: So I'll click a link, and then I'm quick like a ninja.
Chris: I'll move the cursor to the screen I know the browser is going to be at because
Chris: I have KWIN rules like a gentleman.
Chris: and then Junction will open up on the monitor where I click the link instead
Chris: of under the mouse where I'm at now,
Chris: and now you got to go move the mouse all the way back yeah i gotta go back and
Chris: i gotta click it and then i gotta go back and so i would love it if it just
Chris: spawned the junction window wherever your mouse cursor was out there may be
Chris: a technical limitation there.
Brent: I think i have another feature request just imagining that.
Chris: One um.
Brent: It would be cool if you could click a link and get this window as you say but
Brent: then have like short keys for each browser so.
Chris: Maybe if you hit.
Brent: One uh you get you know the browser in the first.
Chris: Place but i'll tell you what else it has it has an abort like an x You click
Chris: the X, which is just a teeny little thing down in the corner,
Chris: it doesn't open any browser.
Brent: Oh, it's like an oops.
Chris: Yeah, I didn't mean to click that. Or I clicked it twice because my finger's dumb or something.
Wes: Ooh, it says keyboard navigation.
Chris: Yeah, I thought so.
Brent: I thought so.
Chris: I had a feeling. Yeah, I had a feeling. It's great. Great app.
Chris: Really appreciate that developer.
Chris: So go check them out. Links are at linuxunplugged.com slash 0620.
Chris: We also would love you to boost in or write us and tell us about your ESP-based
Chris: projects and tell us what you've been doing.
Chris: Keep an eye on that calendar because it is the summer travel schedule,
Chris: so there will be, like Wes mentioned, no live episode next week,
Chris: but we'll have a regular release for you. Oh, Brent mentioned it?
Brent: One of us.
Chris: I don't know. Whoever I told to mention it.
Wes: Delegate A.
Chris: Yeah.
Wes: Delegate B, actually.
Chris: The person I delegated that to said it, so I'm just reminding you.
Chris: We're a little fried. It's been a couple of days of projects,
Chris: okay? And, you know, let me tell you, when you know you've got a show and you
Chris: want to get it working by the show, that is a real motivator.
Wes: I'm very impressed with all of your handiwork this week.
Brent: It is working.
Chris: Yes, it is, which is great because we're going on that summer road trip and
Chris: things are about to get hot.
Chris: All right, details about our mumble room, our matrix, all of that,
Chris: that's over at linuxunplugged.com. You go over there, you get that info, you can figure it out.
Chris: Of course, you can also join our matrix chat, jupyterbroadcasting.com slash
Chris: matrix. We got a general chat and a couple of dedicated, detailed, overdone.
Chris: I don't know. There's too many of them, but there's log chat rooms and there's
Chris: LUP chat rooms and there's unplugged chat rooms. There's lots of chat rooms.
Chris: And you can find them on our matrix server. And then last but not least,
Chris: you can get the details of when we're
Chris: live or when we're not live at jupiterbroadcasting.com slash calendar.
Chris: We'll be out either way, usually Sunday evening, Monday morning.
Chris: So you don't really have to overthink it.
Chris: Thanks so much for joining us on this week's episode of the Unplugged program.
Chris: We'll see you right back here next Tuesday, as in Sunday.