Changelog & Friends — Episode 96
The 4 DIMM problem
Our old friend Lars Wikman returns to the show to discuss Linux distro hopping, Elixir, Nerves, embedded systems, home automation with Home Assistant, karate, and more.
- Speakers
- Jerod Santo, Lars Wikman
- Duration
Transcript(373 segments)
Welcome to Changelog and Friends, a weekly talk show about Danny LaRusso's crane kick. Thanks as always to our partners at Fly.io, the public cloud built for developers who ship.
We love Fly, you might too. Learn more at Fly.io. Okay, let's talk.
Well friends, Agentic Postgres is here and it's from our friends over at Tiger Data. This is the very first database built for agents and is built to let you build faster. You know, a fun side note is 80% of Claude was built with AI. Over a year ago, 25% of Google's code was AI generated. It's safe to say that now it's probably close to 100%. Most people I talk to, most developers I talk to right now, almost all their code is being generated. That's a different world. Here's the deal. Agents are the new developers. They don't click, they don't scroll, they call, they retrieve, they parallelize. They plug in your infrastructure to places you need to perform, but your database is probably still thinking about humans only because that's kind of where Postgres is at. Tiger Data's philosophy is that when your agents need to spin up sandboxes, run migrations, query huge volumes, a vector and text data, well, normal Postgres, it might choke. And so they fix that. Here's where we're at right now. Agentic Postgres delivers these three big leaps, native search and retrieval, instant zero copy forks and MCP server plus your CLI plus a cool free tier. Now, if this is intriguing at all, head over to tigerdata.com, install the CLI, just three commands, spin up an Agentic Postgres service and let your agents work at the speed they expect, not the speed of the old way. The new way, Agentic Postgres, it's built for agents, is designed to elevate your developer experience and build the next big thing. Again, go to tigerdata.com
to learn more. We have Losh Vigman with us. We're frenzying with Losh. You missed the
pound to find champs game. Oh yeah, that was a bummer. So did Carol. So, you know, was it really a champs game if Carol Lee PhD isn't there? I mean, she's been wiping the floor with most people. It was a good game though. Came all the way down to the wire. We had to do a last second tiebreaker, which we weren't ready for. And Matthew outlasted Taylor in the tiebreaker, but you're here now. So here's a word that you must find. No, just kidding. Welcome. Welcome. Anyways, you're fresh off of, what is this? Ninjitsu class or something? You said you had the karate. Karate. Karate. It's different, right? You're just doing karate is way different.
They are. Yeah. Similar, but different. Right. What's the difference? All from the vicinity of Japan, I would say. Right. No. No, wrong.
Jujitsu has roots, I believe in Japan. I think it originated there, but it's resurgence to my knowledge and I could be wrong, is from Grace, the guy who went to Argentina or South America somewhere and had this whole new resurgence for jujitsu. It was like Brazilian jujitsu.
Brazilian jujitsu. Is that a flavor? Yeah. The Gracie family.
No, I don't claim to be an expert. So when I say that, I'm not arguing.
Well, let's let Losh tell us. So jujitsu to my knowledge comes entirely from Japan. And most fighting in Japan comes from China. So it's like, it's history all the way back. Right. But that's usually called like traditional jujitsu at this point, because BJJ, Brazilian jujitsu has been so popular and yeah, that's what's dominating the MMA and all that. Precisely. Much better version than I gave.
My son was in jujitsu for a little bit. He loved it. I loved it for him. I love it, especially for young folks because I think in particular, it trended for us because kids don't have a lot of, there's a lot of bullying, confidence, and just knowing how to stand up for a friend even was a lot of it. It wasn't about fighting. It was about how to deal with an attack on you and really how to disarm somebody. Really how to like squash a scenario versus escalate it into something that shouldn't be. And I think for kids, like in particular, my kid and the kids that were around there, it was super cool with just giving them some confidence at like six, seven, eight years old. I said, six, seven, six, seven. But was that, do you get that large? Do you understand that six, seven reference?
Oh yeah. Yeah. I've caught, I've got traces of it. I don't.
He has little kids, right? You got like toddlers, right?
Six, seven is a, it's a specific internet thing. And I don't recall what it is.
It's an internet thing, but it also went beyond the internet to where like, almost everybody now, at least in the States. Here in America, man, you can't say the digits six and then the digits seven afterwards without getting some kids in six, seven. All right. And I'm not going to do it because I'm not a child, but there you go.
Have you ever snickered at a 69 reference or a 420?
Yeah. I mean, I'm 46, dude. Yeah.
It's like numbers.
Those are our generation six, seven, basically, you know? Yeah. I mean, I can't look at the number 69 without thinking like a child, like an adolescent.
Nice. There's one proper response. This is one proper response.
And now they've added six, seven to the list. Eventually all numbers will have been covered by memes and we won't even be able to say any number without some sort of reference. That's right. Well, 42, we have our own nerdy reference there, right? 42. Yeah. 42. That's what we need is a big lookup table in the sky. Just like, well, we have one it's called like know your meme or whatever that website is. There's your lookup table. Tell me why karate for you, Losh, because you're not a child. Adam consigned it as children, but he was not being.
Yeah. I've done martial arts a little bit in the past or rather like I've done Muay Thai, which is more sports oriented, but I mostly did for exercise, but I really enjoyed it. Went to Thailand, trained for a month there. Tons of fun. Then kind of fell out of it for a long time. My wife, after giving birth to two kids, wanted to sort of find a way to consistently work out and get back into shape. And she needs, she flourishes in a group training scenario. So she picked up, she looks around for karate. Went to a club, has really enjoyed it. She's done it for like three years now. And something I've come to realize about karate specifically, and like some martial arts are like this, some are not. Where they build a bit of community around the club. Some sports are like this, some are not. Where for some things you just show up, do the thing, and then you leave. And sure you connect with a few people there, but there's part of karate which is cultural. And the intent is to also change how you are as a person a little bit. It's like we take care of each other. There's a lot of respect involved. It's like we take care of the place we are at. There's a culture that is like, you're just trying to build a very small, specific community with just some shared values, which is a tricky thing to find sometimes these days. And I saw that that was part of it. And I'd heard people talk about karate this way before. And karate has never been topped with the list of what I wanted to learn. But I figured I'd give it a shot because I think it would benefit me and my wife, but also because I saw the potential for to have a kid, three and five, two kids, three and five. Those numbers are probably safe still.
For now.
For now.
Yeah. They mean something to me actually, three, five. I'll leave that out of here for now, but I'll tell you later. They do mean something for me. They're really emotionally triggering for me in a positive way.
I'm very sorry.
No, very good. I love three, five. Yeah.
Okay. Yeah. You're welcome. But I see like in a few years, one of them can start or maybe they can start early. It depends. But essentially get them into something which is a circumstance that has a little bit of discipline to it. It's a very soft discipline, but it's like you line up, you bow, there's ritual to it. That's something that a lot of kids, like I would have benefited from that as a young one because it's just not how I typically behave, but I would respect it in that circumstance. And it would have been beneficial to me to get into exercise that early, to get into learning how to control my own body, how to behave, figuring that stuff out in a fairly safe environment early on. And it can be something that we potentially can do as a family, but we'll see how that pans out. Like nothing, no plan survives contact with children.
Right. I think that's Mike Tyson said that, right?
Son too, actually.
Okay. The art of children. Tyson said something similar. Yeah, that's a fact. I certainly never know what's going to happen, what they're going to like, what they're going to not like. I think it's the punch in the face. Everyone says something until you get punched in the face.
Tyson, like everyone has a plan until they get punched in the face or something to that effect.
We're a good team then. Yeah. We all had half of it. For me, 3-5 was just to close the loop. When I was in the military, I was part of a team, I suppose. We had armor and we had fuel and fuel was three and armor was five classification in terms of like how you classify those resources. And so the unit I was in was a 3-5 unit. And so for me, it was very core to my military experience and really my entire career there was as part of a 3-5 unit and what we did. And so that's why it was cool for me. I like 3-5. I'm down for 3-5, man. Unfortunately, my children will grow out of it and eventually be 6-7, I suppose. Yeah, 6-7 is coming. Well, at least for a certain part of the year, it's going to be 6-8. From inside the karate community, perhaps, I'm not sure how you, if you consider yourself inside at this point or just visiting. Barely. I'm getting there. How do people react to Karate Kid? Like, is it beloved? Is it hated because it's not real karate or is it real karate and they like because it's like my whole experience as a child with karate was through Danny LaRusso and that whole experience, like I would never even had a touch point with karate had it not been for that movie. And so at a certain extent, I think it probably brought it to a lot of people who didn't know about it. But maybe sometimes if you're trying to build a small community of people that care about a certain thing, here comes a bunch of people who wouldn't necessarily care about it and now they're trying to do it. Do you have any
insight into that or would you just be guessing? I mean, I think karate has probably benefited a bunch from Cobra Kai. I don't know if you've seen the TV series, but that is a phenomenal sort of revisit of Karate Kid, where they even pull in all the original actors for reprising
their roles. They did a great job with that. They closed the loop on so many desires I had for that storyline. They revisited it. They gave backstory where we don't normally have backstory to the villain, you know? So there was even a lot of like theories that were proven correct or proven false by the traversing of the history and like even fleshing it out and whatnot. So I think that's
kind of cool. Yeah. Johnny got his comeuppance. Yeah. No, I think Karate Kid is generally decently appreciated. I think opinions vary a lot and I think a lot of people really don't like the Will Smith's Kid's version. But the original one, it at least had done some research because like Mr. Miyagi, I mean, one of the forefathers of karate, if not the forefather, it's the one we have a picture of in the dojo. Like Shoyun Miyagi is his name or was his name. And that's not an accidental reference. And I mean, in Karate Kid 2, they go to Okinawa, like the crane kick and that kind of stuff, like their references. Why are you standing on one foot and then jumping
the other foot, you know, cause so much power to come out of your body? That was always what I
wanted to know. You can always take that as a metaphor for like balance is the key to successfully doing karate or whatever. But no, I think people have a soft spot for that movie. I did Muay Thai. Kickboxer is probably the most seen like 80s iteration of that. That one is terrible. Like Jean-Claude Van Damme. Yeah. His brother gets killed in the beginning. Then he goes to train with a, I believe it's an old Chinese man in the jungles of Thailand who teaches him. I mean, Jean-Claude does karate actually. And he was a kickboxer. So fair enough. That's like what that is usually. But he's supposedly learning Muay Thai by doing kung fu with a Chinese man in Thailand. It's very strange. And then he fights a very scary, apparently Thai fighter, but I believe that actor is Mongolian and huge, which is not typical of Thai people. It's a wild, wild sort of mismatch. Muay Thai people tend to like, is it Ong Bak it's called? Cause that references older Muay Thai history and the Muay Boran, which is a
show version. Kickboxer is the one where Jean-Claude does the splits and his feet are
like up on something. I mean, he does a lot of splits in that one and he also dances. Oh, can a guy dance? You should look at the clip and determine for yourself. He certainly can do a type of dance. I don't know if I appreciate it, but it's, I kind of appreciate it now. I don't
know if I did that. He was one of my least favorite action heroes of that time period. I just never, I just didn't feel like the guy had very much charisma compared to the others, but
that was just my, I would say I prefer him to Steven Seagal. Okay. But does he count even?
Okay. For counting Steven Seagal that I can't put Jean-Claude down at the bottom. You're right. And
the thing is I come from the same town as Dolf Lundgren. Oh really? Yes. Wow. And he's terrible.
Yeah. Tell us he's terrible. Well, say more about him living in your town. Like,
is he still around? I don't believe so. I mean, he probably has some touch points there or family there. Is he the most famous person from your town? I don't know. No, probably hockey players from that region. Okay. Yeah. We have some decent hockey players we've exported. So like NHL players. Like Jarmjager? No, he's Czech, I believe. He's Czech. Gosh. But the Sandin brothers.
He's Canadian. Peter Forsberg. Mario, not Mario. Now let's do Wayne Gretzky. And then we'll have named all the hockey players that we can think of. Peter Forsberg is one of... Oh, Forsberg,
Red Wings, right? Yeah. He's been, he's been around a few different places. I used,
here's another thing. Let's complain about the kids for a moment and not the kids, but just this current age. Why do the athletes switch teams so much anymore? It used to be, you could just have an athlete. He was stuck to a team, whether he liked it or not. And he had to just be a Chicago Buller. He had to be a Detroit Lion. And you could just rely on that guy being there. Like Barry Sanders was going to be on the hapless Detroit Lions his entire career, whether he liked it or not. And we could just rest in that, you know? And now it's like, they just change constantly. It's hard to even keep up. All right. Old man yells at sports.
Yeah. Yeah. I don't follow any sports these days, but I did follow hockey a little bit in my youth. It was more or less mandatory and fairly interesting at times.
Okay, friends. Augment code. I love it. This is one of my daily driver AI agents to use. Super awesome. CLI, VS code, JetBrains, anywhere you want to be. Augment code can bring better context, better agent, and of course, better code. To me, Augment code is by far one of the most powerful AI software development platforms to use out there. It's backed by the industry leading context engines. The way they do things is so cool. You get your agent, you get your chat, you get your next edit, you get completions. It's in Slack. It's in your CLI. They literally have everything you want to drive the agent, to drive better context, to drive better code for your next big thing, for your big thing you're already working on, or whatever you have in your brain you want to dream up. So here's a prescription. This is what I want you to do. I want you to go to augmentcode.com. Right in the center, you'll see install now, and just go right to the command line. There is a terminal CLI icon there. Click that, and it's going to take you to this page. It says install via NPM. Copy that, pop into your terminal, install augment code. It's called Augie. Instantiate it wherever you want to. Type in A-U-G-G-I-E, and let loose. You now have all the power of augment in your terminal. Deep context, custom slash commands, MCP servers, multi-modals, prompt enhancers, user and repo rules, task lists, native tools, everything you want right at your fingertips. Again, augmentcode.com is one of my favorites. You should check it out. What do you follow? Are you keeping up with Amarchi? Are you keeping up with Arch? Are you keeping up with Nerves? Have you seen the latest
Tidewave? I think I promised that we would talk about my Arch experience. I wouldn't touch Amarchi because like I'm a radical idealist, and I don't appreciate the DHH's whole deal, but we don't have to get into that because no one's happy by getting into that. But Arch I used for a hot minute many, many years ago. So this would be prior to introducing system D probably. Okay. Because I think I was dual-booting Windows, and I was like, I want a Linux running. So I installed Arch because people had spoken really well and highly of it. So I installed Arch, had a good time setting stuff up. Things worked. The package manager seemed cool, and I think it felt faster than the Ubuntu's I'd been doing. I was like, yeah, this is promising, seems straightforward. Didn't use it for a bit because I ended up staying in Windows, I guess, for a while. And then I switched back to it, and I was like, yeah, I still have this. Oh, I should probably run some updates. But I was not aware that the rule and the law of the Arch land is that you have to read all the news about the updates before you apply the updates. Didn't come up during the install process, let's just say. Yeah. So I essentially did whatever Pac-Man upgrade or whatever, did a full-on system upgrade, and nothing worked. Then I found some guides, and it's like, okay, I can get now from the prompt to, and if I manually launch it, I can get back into a UI and things. But I could never get GDM, so the GNOME display manager, to work ever again. And then I left Arch.
And then that was your experience.
Yeah. But I did read a lot of forum threads where people said I should have read the news, so that was helpful.
Right. Yeah.
I was not aware that that was how that system operated. It was like a read first type upgrade cycle.
But the Wiki is so good. You might as well.
The Wiki is really good. I solve a lot of problems in other Linux distros by reading the Arch. The Wiki.
Where there's overlap.
Yeah. I mean, there's tons. Even when I work on embedded systems, there's stuff in the Arch Wiki that just explains like, oh, this tool works like this, and these are good commands to use for this and that. It's very comprehensive, so it's very good reference documentation, even if it's not accurate to exactly your system.
I tried Arch one time on a server, and I've always been running Debian servers. And all of these people were saying nice things about Arch, and I was like, well, I'll just set up this new server with Arch. And this was probably back in the same time period, because I don't remember systemd being there. And of course, I knew systemd pretty well, and I didn't know what Arch was doing very well. And I started setting it up, and I'm like, what benefits am I gaining from this besides having tried Arch Linux? I think on the desktop, perhaps, and I'm sure the further you go in, the more differences you find, but they were so similar enough where it's like, I can't think of a single advantage I have, maybe fresher software, because Debian does stay a little bit stale on its official packages.
But you could grab Ubuntu to get a non-stale Debian.
Right. And normally, all I need is what's there, and it's fine. Maybe back then, the MySQL wasn't up to date with what Rails was using, because this is like Ruby on Rails servers. I remember I couldn't get a system service to set up. When I rebooted the machine, it just wouldn't come back online. And I'm just like, I'm just going to wipe this and start with Debian. And that was my only Arch experience. It lasted probably four to six hours, and I just was like, nope, this is a waste of my time. But I think on the server side, especially back then, it was probably 2010-ish, timeframe 2012. There just wasn't much of a difference. I'm sure on the desktop, there's probably more dramatic differences.
Yeah, I'd say so.
Adam, you been playing around? Yeah, that's why my monitor behind me is not on right now, because that's an Arch Linux system. I also did not realize that you had to dedicate at least a half hour or what might be, could be longer than that, because if you're a Shiny objects person, then for me, I am that person. So it might be like a typical 15-minute requirement.
It's like a rabbit hole.
Well, it might derail my brain, right? It might give me ideas that take me down the Arch lane versus like, well, similar to what you said, Jared, like, I didn't, like, while I want to use Arch, and I think you should, I think if you're in the world of Linux, you should try out the distros and see what works for you. I think that's part of the Linux journey is building systems, learning which distros support the system you want to build and finding this isn't the best support, which you're trying to actually accomplish. And I did not know the requirement of Arch of the hour-ish of weekly maintenance required, the requirement to read the news prior to even applying the updates and then the bug that can bite you if you don't, which is what bit me. I also have too much memory in the system. I'm using four DIMMs versus two.
How dare you?
Yeah. I mean, like, why? I should, but the CPU doesn't have the AM5 for AMD, that architecture, I guess, has an issue with reading four DIMMs versus two DIMMs of RAM, which I don't understand how you're AMD and you're beating Intel and you can't solve the four DIMM problem. Like that doesn't compute with me. I don't get that at all.
It's like ostensibly they ship this main board architecture. Yeah. Yeah. So one would- This is the first time I've heard the four DIMM problem. I mean, is this a thing?
Yeah. I mean, like it doesn't make any sense. So especially at like, okay, so this is a DDR5 6000 mega transfer per second problem. So this is a really fast RAM scenario and the power requirement, from what I understand, the voltage requirement and the architecture of the CPU to control that is the challenge. Oh, right, right, right. Yeah. It's not a four DIMM issue generally. It's because of, it's the boundary in which the RAM is pushing it. It's just so fast. I mean, it really is so fast.
So if you did slower RAM, you'd be fine at four sticks.
I could dial it back. I mean, what's the point? What's the point, right? It's like get into Ferrari and drive at Honda speeds. No, thank you. Okay. That doesn't make any sense to me. So why would I spend the money on that?
I mean, never underestimate Honda speeds is what I've learned from the internet.
Sorry about that bad reference.
It's like pick any other car brand.
Honda Civic speeds. Let me be specific on that front then. Honda Civic speeds. Although some Civics can burn too.
Yeah. I mean, that's probably the modder's favorite car next to a Miata.
The stock Honda Civic speed. Okay. There we go. Three layers of specificity.
Just pick a different car, man. Like a Prius or something, you know, something that we know.
So modders not on because that's an arch system. I didn't apply updates. I got bit. Now it won't even stay on. The fans boot up and it just goes to crazy and it crashes. And I know it's a memory issue. It's not an arch issue, but it's arch plus memory plus time. I don't have to fix it and make you all have Silicon Valley there. I will fix it though next week.
I mean, it will be bad. We can just have, you do thumbnails for these, I hope. So you can just have you pointing at the monitor and going, I have run arch actually.
Right. Yeah. Arch by the way. Yeah. You know, click that.
I feel like arches kind of played out. If you want to be like a braggy,
Linux nerd, isn't Nix the thing. Gosh, isn't that even worse though?
Better, but worse, more pretentious, but also it does something different.
Yeah, it does something different. So I don't want something different. I just want Linux. I want good, solid, stable Linux with, I would say as close to tip packages that are stable.
Why don't you like Ubuntu? I do like Ubuntu.
Well, then there you go. My actual favorite desktop right now, don't punch me is fedora 43. I'm loving it, man. For the order 43 is like as close as you can get to Mac OS. It is so nice. I love it. Is that with gnome, I assume? Yes. You know, I don't know. It's got the cool stuff, man. It's whatever comes with fedora 43.
Last I tried the gnome window manager, I did not enjoy it, but it's been a minute. I run an absolutely bastardized, it's like I installed popos originally. So that came with a gnome variant at the time. And then I was like, but I hear good things about regolith and you can just install regolith and it will kind of slap on top of your Linux system and modify it in various ways. I could not like regolith was cool, but it wasn't exactly right for me. I tuned it a bunch. And then I was like, yeah, there's some stuff about gnome that I'm annoyed with. Let's try KD. Like my system is real weird now because it's there's a lot of gnome and there's a little bit of regolith and there's definitely some, but I'm mainly using KD. And at some point I should just switch to, if it's still a thing, neon, which is like the KD project, I believe maintains an Ubuntu variant that is running KD. Interesting. And those KD still come with a bunch of other
like desktop apps, like conqueror for instance. Yeah. That was always my experience back when I
was trying different stuff was like gnome. I loved Amarok. Yeah. I believe Amarok is gone.
They all had Ks in them somewhere. And I felt like when I installed or I, you know, chose KTE, I wasn't just getting like a windowing system and some Chrome. I was getting like a suite of apps that I, and some of them I liked and other ones I was like. But that's true for gnome as well. Yeah. Maybe I just don't realize it with gnome because it's the default, at least in the system.
It's the default for, for the Linuxes you use. Yeah. Yeah, exactly. I mean, Amarok still had the feature that I wish to see in every music app ever, which is I guess just Spotify now, but it's, you could hit a lot. I think you long pressed or right-clicked the stop button and you had the option of queuing a stop to your playlist. Queuing a stop? What do you mean? Like stop after this song? So, yeah, it would essentially be like a song, but because if you start a playlist, but it's like, yeah, I want this song and then I queue a few songs and then
like actually stop after that. But no, no one wants that. So like autoplay, it like ends in
autoplay. It's like, if I want to do that in Spotify now, I'd have to build a playlist, add things to that, start the playlist, right. And probably disable some smart shuffle that keeps switching on. But it's just like being able to stop after a few things play back. It sounds like it's such a simple thing. Yeah, but I've only ever seen it in Amarok and Amarok was an amazing music management thing, but no one wants power, power user features anymore.
Feels like the same thing as like a, like a timer to say stop after 20 minutes, but you're seeing a stop at for a certain song, right?
Yeah. I mean, it's just like when you hit this part of the play queue, stop.
Can you give me an example use case of this? Like when are you going to, I'm just curious, when are you going to use this?
Whenever I start a playlist on, yeah, let's say Spotify. I hit the song I want to hear from the playlist first. Then I scroll through the playlist and queue up some other bangers I want. I don't just randomly listen usually.
Curate that list.
If I see that the rest of the list is kind of eh, not what I want right now, I'd love to just queue a stop, a stop after that. But then I don't have to bother about like turning anything off or.
But then what happens is you get to silence and don't you go think, I got to go queue some more stuff. Is that what you want to do or you're going to leave?
But usually that would be the end of the session as it were.
Oh, so you got your sessions timed out using Pomodoro or what's going on here?
But the thing was also not Pomodoro-ing my music, no.
I got three songs and then I'm done coding. Yeah.
I think it was also a consequence of you were scrolling around your music library and just navigating your collection, queuing things up that you wanted to hear.
Right.
And then it's like after these stop. So it didn't keep playing your entire library because you never knew what ended up in there.
Gotcha.
Or it would just go from A and keep playing.
Yeah, 100% or go by based on recency or that kind of stuff. What's amazing to me is how differently we all use these things.
Yeah.
It's really kind of wild.
And how tightly they optimize for the common case. Right. This is something I've always appreciated about KDE. Everything's configurable. It's a curse, of course, like it's probably hard to maintain. It's tricky. It requires a particular mindset. But if I want to find a shortcut, you can bet it's there. If I want to customize like the padding of some corner of the world, it's yeah, sure. You're going to find it. And there's just infinity options. It's like I have a tiling window manager set up and it's just Kwin. I believe the name is. It's just like the default window manager. And I added a bunch of keyboard shortcuts. I believe that's what I have at least.
This is what drives me nuts about Adobe software and which we are stuck with in many ways. Is that, and this is a publicly traded company, right? Like these guys are making good money and have been the best quote unquote for years in their particular pro tools suite of.
Yeah. It's a professional standard. Let's say. Yeah, exactly.
Exactly. There's all kinds of keyboard shortcuts and you can configure them to the hilt. However, it's not going to remember them for very long. It's going to just lose them. Some sort of, you know, point upgrade and some sort of like bad memory or like cash clear and like everything you put in there is gone. Not just your keyboard shortcuts, but like your window configurations and your everything, your templates are gone, whatever you saved. It's just gone. And you're like, get much money. We're paying for this software on the annual. It's insane that they get away with this, but I don't know where else to go.
I hear, Oh, what's the competitor that just turned free because they got bought by Canva. Affinity.
Right. Affinity.
What do you use Adobe for?
Podcasts, video, video production, premiere pro.
Oh, do you use audition?
We use audition. We use premiere pro. Those are the two. Those are the two tools that we use the most.
Cause you can get DaVinci Resolve for essentially free or you can pay like a one-time cost.
And guess what? DaVinci Resolve runs on Fedora and Linux. Of course, Linux. Yeah. But yeah. Which I'm excited about. That's why I'm trying. I'm trying to make it the year of the Linux desktop here. And it used to go via a console because they're at Adam's studio.
Yeah.
Yeah. Cause like you got Reaper for audio and I haven't played with these enough yet to have the mileage to really advocate for them yet, but I'm hopeful. You know, one, you could build your own system in the Linux world. You don't have to be stuck with the, I mean, I love Mac hardware. Don't get me wrong. It's bar none some of the most phenomenal innovations ever. It just sucks that you can't upgrade the system. You don't own the system. It owns you in lots of ways. I mean, even for an older system, like they don't maintain, you know, current operating system support for it. So you got an older, really great system that should still have modern support. Doesn't have support. So it just frustrates me, but yeah, DaVinci is support on Linux. And so that's, that's very hopeful that. And DaVinci is really well-regarded. I mean, I have lots of friends who do like, they swear by it only colorists were the ones of the first few who migrated like coloring from, you know, S log or whatever you might be shooting in. If you're in a Sony camera or even in like Canon log format, going from that low format, having a full dynamic range of the color coloring in DaVinci is really, really proper. And so it started there probably about five or six years ago. There's a revolution of migration away from the current standard to DaVinci knows.
Premiere is known for crashing. So people were like, even if they were super comfortable and like knew their, their workflow super well, it's like, Ooh, but really they hate this piece of software deeply, like visceral level. Yeah. I've used DaVinci. Some of the keyboard shortcuts drive me nuts and some of the workflows absolutely seem bad to me, but overall, like it's very capable. It's very competent. It's just not always wired the same way I have, which is, I suppose, fine. I've used Reaper for podcasts. Reaper is fine. It's more suited to music production, but it works fine for podcasts. Like podcasts demand fewer things than music.
So what would you use for podcasts? Then if it's a, if you're not thinking of Reaper, I would probably use Reaper because
it's a better option or possibly even like resolve because you can.
What is the, um, the open source one that's on window or on Mac as well, but it's on Linux. Audacity. Yeah. Thank you.
Maybe that has gotten improved. They were supposed to do a bunch of UX work and stuff. I found Audacity completely incomprehensible most of the time that I used, but that was years ago and I believe Tentacruel, uh, got involved a YouTuber in music.
You said that very cool. I think it's a cool person.
I believe there's this particular melody I should use, but I'm not a regular viewer of his, so it's like Tentacruel or something to that effect.
I don't know, but I have a regular viewer and you're still getting the melody. He must have a pretty good way back.
And there was a lot of controversy as well because they kind of took over.
You referenced my name. I want you to use this particular, you know, connotation or not only saying my name or I'll sue you just to close the loop to here. There I'm the, I pull back the release notes for Fedora 43 just to give proper cause I didn't give it proper. Uh, it is using gnome. It is Whelan only. So, uh, Fedora 43 is Whelan only deprecated X11 support. Looks like gnome 49. If I can recall that correctly, maybe gnome 50 from grokking this stuff.
I remember gnome two. Wow. Showing your age loss.
I think if what I liked about so far, at least is that it feels a lot like if you said I like the general user experience of a Mac, but I want Linux. It's like that it's got a lot of similarities, but not the kind of similarities where you're like, Oh, I can tell you're copying and not doing a good job. It's like, no, you're being inspired by and you're doing a good job. Like the gestures and the motions are very smooth. And I've just been very impressed with Fedora 43, honestly. Uh, and I'm encouraged to try Reaper potentially just to see how it flows for me. There's a lot of things that keep me liking audition and just DaVinci. Cause I, you know, Jared, I really hate the fact that we feel that way. Like while I love having workflow, it sucks that we're strangled by the beast, let's just say, and we're stuck to a platform and we're stuck to our workflow, which is all good things you want to have in a systematized world. But the lack of freedom in that and the ability to change feels like extreme lock-in that is expensive at, uh, at worst and just sad at best. It's just not cool to be like that.
I hear some people use Blender for video editing as well. Blender's open source.
That's like a 3d thing, wasn't it?
Yeah. I mean, originally, but it's kind of like, okay, so if you're doing a full on 3d movie production application, that's a super set of video production.
Yeah, sure.
And, uh, much like a video.
It's a super set of a podcast.
It's a super set of a podcast. Yeah, exactly. Yeah.
I'm with you. Yeah. Every once in a while I start looking around and thinking, you know, what does, what does better look like? But then what's her name from the, from the meme cuts in my head. Ain't nobody got time for that. You know, like she just starts singing her song and I'm just like, nah, I got other stuff to get done.
You know, I mean, I, I produced a conference mostly using, uh, open source design tools for all the like visual bits.
Yeah.
And then we had to print things like I did almost everything in Inkscape. I like Inkscape it's, it's very competent. And then they were like, yeah, give me that in CMYK color space. And it's like, Nope. And I'm like, yeah, maybe I can shift it over to GIMP and do it. No.
How did you do it?
I paid Adobe for illustrator because that's the standard for print shops.
Yeah. See, there they are. The standard, you know?
Yeah, it was fine up to that point. It was a pro tip. Never use a gradient in your logo for a conference.
That was the problem was a gradient. Yeah.
No. Yeah. Well, no, it wasn't the only problem, but the gradient was a problem.
Right.
It's a challenge.
Yeah. I feel like there's a lot of things happening at the Linux front on this front. Like there it's going to be a shift. And I think the moment you can actually get creators, I'd say meaning like graphics, obviously, like you were just suggesting there, but like video and audio, like the moment you can get those folks fully over to the Linux world, that's where the tides change. You know, that's where the tides change. Being able to, I mean, now, if you're trying to buy RAM this moment and it's November 25th right now, not a good time to buy RAM or really any computer parts. They're astronomical price right now.
Some good deals because I also hear you can't use four sticks anyways. That's right.
I mean, you know, the AM5 and I have a friend who works for AMD. I'm going to ask him about that because that's super sad and see if I can get the behind the scenes, maybe you can even plot it, but we'll see. But a good friend of mine is an engineer for AMD, but I think, you know, there's a lot of things happening for Linux that's just really, really good. And I know you kind of said what you said about DHH and Amarchi, but I think even that, like, I think it's cool that what he was able to do with it is cool that you can make your own Linux distro. Like you can't do that with Mac OS. You have none of that freedom at all and absolutely none of that freedom at Windows. And the fact that you can is, is really cool, but you got to get people to believe in your opinions. Now, a lot of people are liking arch because of Amarchi. Yeah.
I like, I hear good things about the distro as an experience. It's it's got a lot of good tastes in it, but it's not for me either.
And I also don't want to be, I feel like that's DHH world and I don't like dislike the guy. I don't know what your feelings are on him. I don't have a really, I'm like a centrist, I suppose, on DHH. Not either positive nor negative. I think he's got a lot of cool opinions in our world in terms of tech and stuff like that. But when it comes to Amarchi, I tried it just because you literally have to, if you're a Linux distro, I wouldn't say hopper, but it sounds like you might be hopping a little
bit. You might be a hopper, Adam. Is that a, is that a hopper though?
I mean, what's wrong with being a hopper?
I mean, you think it's not like a bad thing? I think it's a bad thing. I don't know that maybe I am hopping.
I would call it sampling, but sure. I'll hop.
Hopping is, it comes in phases and it seems like you might be in a hopping phase. So server down Ubuntu all the way.
I'm like, all my flows are around Ubuntu. I'm not changing on that front really at all. I'm not tempted to. I know Fedora is flexible enough to be both desktop or server. Same with Ubuntu, but I know Ubuntu very well. And so I'm happy for that to be my server. On the desktop front, I feel like you kind of have to hop around, especially before you really get to your server. Before you really get to your final resting place, maybe in the Linux world and the distro world, because I'm still learning a lot about, I would say pretty much learning all brand new stuff when it comes to desktop Linux, which I've never done before. And so I started with Amartya just cause there you go. Then it was Arch itself, which you can see the remnants behind me. And then Fedora 43, which is really awesome. So I'm happy with that exploration so far. That's been the extent of it. A little Ubuntu desktop, but I didn't think it was. It didn't feel super polished comparative to say Fedora, but it was nice. I like Fedora 43. I like Wayland. I like what they're doing with Gnome. I like the UI design of it. It feels smooth and buttery. So I'm happy there, but I guess I am a hopper in that regard.
So I think you're in a perfectly normal, I am trying the Linux desktop phase. So this was when I was introduced to Linux and got some help getting started with Linux from a, from a friend. This was in my teens. I ran through, like I started with Slackware. He introduced, he kind of forcibly had me try open BSD and free BSD because he was sort of done with Linux for now. He was playing with Solaris and the BSDs. But then I tried, let's see, Gentoo, Mandrake, Debian, a few others. And then you had all the, like, Nopix and like the live CDs that you could just boot into RAM. And so you could have Linux at school because you had it on a CD and you could boot it. Oh, I definitely did that. Until they started gluing them shut.
The CD drives. The CD drives were being glued shut.
That's, that was the thing. Mostly to prevent installing games. They, they didn't care about Linux. Let's be, let's be clear. Yeah, I didn't know what that was.
You weren't even on the radar. It's all about the gamers.
But yeah, I ran through a bunch of distros in the beginning and then I settled into one for, for a period of time. Then I've, when I've set up like a new work computer for a new company I'm at for Linux, it's just been like Ubuntu completely stock installed and things I'm missing that are critical. And then I live in an editor and a web browser and don't care very much about the OS. But this workstation that I live at now that I run my own business and can screw around more of my time, it's weird and custom, but at a certain point I just got fed up with poking the desktop and moved on. So it is in whatever state it is that I could never reproduce this. It is not, uh, not, uh, reproducible.
You didn't say the term ricing. Do you, would you consider what you do? Ricing.
Ricing. I've never heard that one.
Oh, well, let me educate you guys. I'm barely educated myself. Okay.
Please do.
Apparently, uh, I think this is a phenomenon in Linux in particular is when you dial in your desktop environment, it's called ricing.
Why?
I don't know. Let me look it up real quick.
I have not heard that.
Ricing refers to the extensive customization of a system's appearance and functionality. So a lot of people would just rice to show off how it can look and how uniquely different it can look. Not so much its functionality.
I knew the etymology of this term though. Like, why are we calling it ricing?
The term ricing was inherited from car modification culture where it was originally a derogatory term for race inspired cosmetic enhancements, AKA rice.
Oh, race inspired cosmetic enhancement. So just looking cool.
This referred to adding cosmetic parts to inexpensive Asian import cars to make them look. Now I've riced. Okay. I've riced at least once one car. Okay. Now that I'm reading this, not a Linux desktop, but I riced a, uh, a Honda docile. I added a really cool muffler to it and it sounded cool. Same engine, still burned oil too.
So ricing is similar to like a rhino or a dino. These are what they call like a Republican in name only or a Democrat in name only where it's like, you say you're this, but you're not.
If you're ricing your car, you're saying you're doing it to make it faster, but you're actually not. You're doing it to make it look nicer or to make it look fast. So when you're ricing your OS, like Losh has just done over the course of many years, he's got it perfectly.
No, no. My OS looks terrible, but it does work.
Yeah. I crossed the wires. Apparently it's a cosmetic thing and not so much just dialing it in, which he's talking about dialing it in for him. It's also cosmetic. I think it leans more cosmetic. Actually, I think Amarchi is a big old rice. Like that's DHH rice right there, you know?
But it's also an opinionated configuration. My setup, I would say is highly tuned for certain utility functions and that's stuff like I actually do a bunch of audio and video stuff from Linux, which is generally inadvisable.
Why do you do it then?
I know a ton of people that go, oh, I use my Mac whenever I record a podcast, but I made it work and I made it, to me, it's been fairly reliable, but I also paid too much for gear. So, but I do have a script that resets all my USB controllers because sometimes they just fail. This also can happen on Mac OS. Like sometimes it's just like, I got to reboot something.
Sure.
Because something is just up.
Dropbox.
But, oh yeah.
Adam's having a problem with QuickTime player, which is, you know, 30 year old Apple software that you'd think would be stable by now, but no.
Yeah. Not the way they're treating their OS. Something I miss on Linux for like media production is that there is no rogue Amoeba. If you know the rogue Amoeba set of audio apps, for example, there's like Pipewire and Jack and all these things. So the whole infrastructure for making the rogue Amoeba apps is probably more accessible in Linux because it's already there. It's like, it's already a node based system where you can connect things and yada yada. And there's UIs for playing around with it, sort of, but nothing to the degree of polish and stability that you find like these hardcore Mac apps doing. And it's tricky because of course there's not a market for it until there's more people attracted to doing that. And it's a catch 22, which is always the case with Linux.
That's what brought me to the Mac originally was the third party, like indie small software, such as Quicksilver, such as transmit, such as rogue Amoeba, these small software shops that just create the most polished little tools that I loved.
And they're ridiculously good sometimes.
Yeah. And you're like, this is just really good software. Whereas over in windows, where I previously was, you could find something that does everything, but it was like the wild, wild west of UIs. And the quality was massively varying and there was shareware and there was lots of other stuff like shovelware.
And none of that existed compared to the windows experience. I prefer the weirdness of Linux, the type of weird that the Linux app environment is where it's like either you find a script or you might find a UI and it has all the options and all the knobs and all the weird things. And it's kind of hard to understand sometimes, but I prefer that to like, oh, this is a weird windows UI that is quirky and downloaded from a weird website. Some of those are awesome though, like putty or whatever. It's like legends, but also freaky.
Yeah. Putty is legendary and like such a weird interface too. For me, it was the first time I SSH was through putty. And I mean, I think figuring out putty's UI was the hardest part of the SSH process there, you know?
Yeah. What is this happening here? Yeah, it was very challenging.
But it was cool once you figured it out. I mean, it made sense eventually. I guess all software kind of does if you just rewire your brain to use it.
Yeah. I don't feel like Mac OS is going in the right direction, both in terms of like encouraging like this, this phenomenal grassroots indie app movement that they have, but also like just where they're taking things. They don't care about that. Like they don't care about the power users. There are parts of Apple that care about the power users, but what I use my Mac for, like the Mac I have that I use is a MacBook Air, M2 MacBook Air. It's covered in stickers. It goes with me when I travel or when I go to work at other places. It's a phenomenal dumb terminal type of browser machine. It has ridiculous battery life and everything. It has a Unix underneath it so I can do terminal things. I'm perfectly happy with that. Eventually the Mac OS might eject me. It has in the past like where I essentially abandoned it. But it's just like it's very good laptops. I was very hopeful about Framework, but I'm not thrilled about, well, that gets us back into Omarchi. But yeah, they're making choices that I disagree with, which is a bummer because on the whole Framework was doing what I'd like to see from hardware.
What is their choice? I'm not familiar with the choice.
Yeah, so they're funding Omarchi development and also some other controversial developers.
So it's not so much technical, but social.
No, no, no. It's ideological and political from my perspective.
Well, friends, I'm here with a good friend of mine again, Kyle Galbraith, co-founder and CEO of Depo.dev. Kyle, we are in an era of disruption, right? I want to also describe it as rethinking what we thought was true. And I guess that's kind of the definition of disruption. But from your perspective, how are teams, reliability teams, CI, CD pipeline teams, how are they all rethinking things? And where does Depo fit into that?
In the conversations that I have with customers, a lot of DevOps teams, platform teams, site reliability teams, they're really looking at this new era of software engineering that
we're all living in. And they're starting to question like the bottleneck is no longer the act of writing code. The bottleneck is shifting. The most time-consuming part is integrating the code. It's everything that comes after. It's the build. It's the pull request review. It's the deployment. It's the getting it into production. Once it's in productions, it's scaling up support teams to support it. It's adding documentation, all of these downstream problems. And so through the lens of Depo, what we're really starting to think about is there's a very realistic possibility that within the next two to three years, maybe even sooner, that we're going to enter a world where an engineering team of three people could theoretically have the velocity of an engineering team of 300 people. And what's the consequences of that? What's the consequences of the code velocity spiking up to that level with such a small team? There's no way three engineers are going to be able to code review all of the code that's being created if there's three engineers and 297 agents also creating features and fixing bugs. So that's just like from a pull request perspective. But then you think about it through a build lens too of if your builds take 20 minutes with three humans and now you're going to have three humans and 297 agents also running. Well, like you definitely don't want your builds taking 20 minutes because now like the entire pinch point is the build pipeline.
And so we're starting to think a lot about how do we eliminate the bottlenecks that come downstream and what can we do with Depo that streamlines that.
So obviously, friends, we are in an era of disruption. Things are changing. You know it. I know it. That's how it is. And the thing with production and what Kyle's talking about here is how in the world do you get your builds to be faster? How do you get them to be more reliable, faster, more observability around those deployments? You need it. It's required. And Depo is there to help you. So a good first step is to go to depo.dev, get faster, try their trial. It's too easy. Again, depo.dev is where to go. It all begins at depo.dev. And also by our friends at Framer, stop jumping between tools. You know, most design tools lock you behind a paywall. Framer flips that script entirely. It's a free full feature design tool that does something most site builders cannot. It's actually designed for designers. I've been trying this out. I think it's awesome. You need to check it out. Framer already built the fastest way to publish beautiful websites, production-ready websites, but the design pages, they've redefined what it means to design for the web. This is not a Webflow clone or a WordPress competitor. It is a true design platform, vectors, 3D transforms, gradients, wireframes, all the tools you can actually use. And they're all free. Of course, you can upgrade and get a paid plan, but unlimited projects, unlimited pages, unlimited collaborators, and here's the kicker. You design, you iterate, and you publish all in one place. There's no Figma handoff. There's no designer to developer. There's no messy HTML imports. There's no tool switching. It is the single tool for the job. So how does this open the door for designers and developers who are just tired of the tool switching dance, the create social assets, the make campaign visuals, the icons, the entire sites. You can do this all now without leaving Framer. It's where ideas go to live from start to finish. So if you're ready to design and publish in one single tool, start creating for free at framer.com slash design and use the promo code change log for a free month of Framer Pro. Once again, framer.com slash design and use our code change log, and you get a free month of Framer Pro. Enjoy. Here's a thought I've had recently, and I think Adam's made me think this thought. I don't think I'm a power user anymore. I just feel like I'm a regular user.
You're just a developer style user, like developer tools. Yeah, exactly. But it's not exactly a niche. It's a very common user.
No, it's not anymore, is it? I just don't do weird stuff that much. Like I'm just trying to have a right software. That's the weirdest thing I do is I like code. But everything else I do is pretty normal computer stuff. And so I don't bump up against the limitations that Mac OS. I see the headlines and I definitely see the direction they're heading that I know about the gatekeeper stuff. And now I'm talking technical gatekeeper, not the social or political gatekeeping. Like I know that they're definitely moving more and more away from tinkerers and power users and like my ability to like call it my own computer. And intellectually, I just I despise that like I can have a computer that I can't control and do whatever I want on it. But practically, I just don't care because I just don't ever.
It doesn't really affect you. No, no, it doesn't.
It just doesn't really. And so I don't have the wanderlust is the wrong idea or the wrong word to it. But like that, like Adam is he's hot. He's he's rising or he's hopping. He's whatever he's doing. He's sampling because, you know, he wants to do stuff that Mac OS is holding him back from, which is mostly like hardware stuff, but it's stuff he wants to do.
And I just really hard to get four dims into into.
Yeah, man, the four dim problem is real on the Mac side for sure.
Also, Jared, I got to acknowledge thank you for wearing a shirt that I produced.
I'm glad you noticed that I put it on for you. I got my elixir T-shirt on. Now, did you make this design in in Linux land?
So that design is the official elixir logos. I did not make it. Yeah.
So somehow you had to send this to the printer.
Yeah, I sent the original that I got from Jose to the printer, printed with permission and all that.
Yeah. So you've been doing elixir stuff. I guess we could hard transition that way via this shirt, which makes it hard swerve.
Actually, I can bring us there because you're saying you do development and you don't hit weird quirks with like Mac OS and stuff.
Not really.
So I used to mostly do elixir development like straight up web dev and generally did not have problems because a lot of elixir development happens on Mac OS. It's pretty straightforward, but I've increasingly been doing embedded Linux and elixir development and that takes me straight out of the mainstream. I compile Linux kernels multiple times a day and like Buildroot, the thing I use for building Linux kernels, does not run on Mac OS. So you can run it in Docker, but it's a lot slower.
I do not run Docker for that reason.
Yeah, and in this case, it's just like raw compiles and like the disk abstractions for Docker slows everything down. Actually, Macs are super fast at doing all these compiles. If you just put a Linux virtual machine in them. So abstracted, they're very fast.
So what have you been working on then? You're making some embedded systems here?
Yeah, so there is an embedded Linux framework. It's an IoT framework, but I have to say embedded Linux so that the embedded microcontroller people don't get mad because they'll go, oh, you call that embedded these days. Oh, yeah. Yes. I know you're dealing with kilobytes and I'm dealing with gigabytes. It's fine. Like it's still called embedded by some people. You're still embedding it. It's still a single purpose device and everything's locked down and yada yada. So the Nerves project and the Nerves framework, so nerves-project.org, it's an open source framework for and is a very opinionated framework for building IoT devices and smart devices. It's ideal for anything that would already run Linux. So smart home hubs, smart thermostats, that kind of thing. Usually things that have power and usually things that need to do a lot of networking or where it makes sense to do higher level of abstraction development because you have a lot of stuff to connect and build. So it kind of lines up with what Erlang and Elixir consequently was originally for. Like Erlang was for telecom systems and telecom switches are single purpose devices. They're just meant to do a ton of things. They're not like an air quality sensor. They do a lot more. But fundamentally, it's just like you want a thin layer of OS and then you have the Beam virtual machine, which is like an OS unto itself. It does a lot of stuff and you can operate it much like an OS. You can stop and start things. It does a lot of the concurrency. You can introspect what's going on in the system. And you get that on top of a very slim Linux system. So just an embedded, very tiny Linux system. And then on top of that, you build your app in Elixir or in Erlang or I believe you can should be able to do it in Gleam as well, though I don't think anyone's really pushed that path, but any Beam language will run on it. And I started using nerves when I was getting curious about Elixir. So that was like seven, eight years ago, something like that. And I poked around and I implemented like a little ink display on a Raspberry Pi. And it was a ton of fun and super friendly community. And it got me sort of practiced with Elixir in just hobbyist projects. And then I worked Elixir, did web systems and stuff. And but I kept coming back to Nerves off and on and tracked it. And I started doing the Nerves newsletter to keep people posted about what's happening in Nerves and stuff. So eventually I fell into the Nerves core team and started I started doing a lot more Nerves projects. And I found my first Nerves oriented client that wanted me to help them get from like they were spinning up a new hardware product and they wanted to use Nerves, but they wanted some reassurance about how they were going about it because they were new to Elixir. And then I picked up other clients that are also Nerves centric. And I've done a lot of talks on Nerves at this point. I've done a lot of a lot of library development. I've worked with multiple companies on their Nerves devices. So that's kind of what I do now. And I started so Nerves comes with there's a sibling project called Nerves Hub, which is over the air firmware updates. So it's a service that you can spin up. And so you can self-host it or you can go to Nervescloud.com, which is our little venture completely bootstrapped at this point. We were considering VC backing, but then we looked at the market and realized, no, no, that's not happening right now because it's not an AI play.
Right, Nerves AI Hub. Now you're talking.
Yeah, Nervescloud.ai. Exactly. But it's essentially for keeping your fleet up to date, checking in on the health of devices, making sure that you can send updates to devices and recover them if there are issues, that kind of thing. So Nerves comes with a lot of solid opinions about how to set up embedded devices, stuff you don't necessarily think about when you're new. So it's actually a pretty good learning experience for getting into embedded. I come from web dev, so I didn't know embedded. And my first impulse for building an embedded system would have been slap Debian on it. But it's kind of a tricky thing to live with to have Debian. Like there are definitely products that do this and they can absolutely work. But how consistent is apt-get-update, apt-get-upgrade? Are you confident that the system will come back if you reboot after that? How confident? Drive a thousand miles confident.
Right.
Send someone on a two-week trip to the middle of Africa confident. This is like embedded devices end up in weird places.
Good excuse for a vacation though, right? I got to go to...
No. Yeah. Okay. Let's go with industrial lasers down and now confident. It's just a big problem if your updates fail. So typically what embedded devices do is like they have an A and B partition. This is a blue-green deploy, essentially, where you write to the unused partition. You flip a flag that says, try to boot that one. It reboots, comes up, and if it succeeds, it marks that as good, we're staying on this. And if it doesn't, it should switch back automatically.
It should switch back. Does it always switch back?
So there's a bunch of different mechanisms and it depends on bootloader support. And if you are making good choices about health checks and stuff, but the mechanisms are there. For making a very reliable switch back and forth.
So Nervous provides that, or there's a distro that's non-Debbie and that provides that, and then Nervous sits on top.
So Nervous builds on top of an embedded Linux project called Buildroot.
Okay. That's Buildroot. Oh, gotcha.
Yeah. It builds your Linux kernel. It builds your root file system. So all the various binaries and things you need for running. So usually a busy box with a bunch of commands like LS and cat and all the good stuff. And usually a bootloader. So U-Boot is a very popular one, but if you're running Raspberry Pis, for example, you just use their kind of strange bootloader setup, which goes through the GPU for some reason, video core. It's strange, but it's a broad conflict. And right now I'm working with a project which uses something called AMP-B. Which is different, and I don't love it, but it works. But it's like embedded devices are very finicky and it's very hardware dependent. So when you pick up Nervous, you should look at the list of supported systems to start with. Once you get deeper into it, you can actually bring up a new board or something. But we support all the Raspberry Pi boards, all the Linux level ones, not the Pi Pico because that's a microcontroller. But like BeagleBone Black is an old classic. We have a bunch of newer ones. And then there's a bunch of community contributed ones as well. So I have a bunch of various accidental Linux device purchases. Like this is a Raspberry Pi, but I'm holding it up to the camera, which is a great podcast. But it has a display and it has a keyboard and actually a trackball. Wow. That's the Clockwork Pi U console.
Can you show that more? Can you do some flipping around with it? Show me the back of it if you don't mind.
Oh, yeah. Yeah, it's weird. It has a sort of thing you can hang it on. I don't know why.
A little heat sink. Is that a heat sink?
This? No, it's just space for the batteries.
Okay, cool.
But it's a neat thing. And then there's like Seed Studio who does a nice industrial kiosk, which is just also just a Raspberry Pi, but extra hardware on top. It's just a ton of fun stuff. So I have a ridiculous amount of embedded hardware at home right now. Tons of fun. But this also leads to me compiling the Linux kernel very frequently.
Do the Zima board approach that world? I know it competes with Raspberry Pis to some degree as a single-board computer, but the Zima board kind of...
I mean, you could, if it's Intel, if we have a system for generic x86, so you could probably just run that on top of it.
It's got a cool design to it. It's got a heat sink built into it. It's got power. You can plug drives into it, SATA drives into it, for example. I think it's got a PCIe slot where you can throw on a GPU or a little bonus thing if you want to throw on a 10-gigabit network or something like that. I just wondered if that was supported as part of that world too, or if it's just like Raspberry Pi type things.
This is cute. No, this would probably work. It might be that the... It might require some driver here and there. It depends on the Linux support, essentially.
Right.
And depending on how new everything is, you might need to pull in a slightly newer or slightly patched Linux. There's always a bunch of details.
You're embedding your own, though, so it sounds like you're compiling your own kernel, so couldn't you just not depend on, just make your own kernel kind of thing?
Yeah, essentially, what happens if you have a slightly off-the-golden-path setup is that you might have to tweak it. And that is somewhere in between straightforward or terrible, depending on your experience with Linux, your experience and your luck, essentially.
Yeah.
There's a fair chance that this, just because it's an x86 board, just works.
Yeah.
But it might not work at full speed, for example, if it's like, oh, this processor is so new or this RAM only needs extra drivers to run at full speed or whatever. Or maybe four sticks doesn't work, you know?
That's right. Yeah, gosh.
Yeah, yeah. There's a lot of details to hardware.
Is central lane the Raspberry Pi, then?
A Raspberry Pi is the absolutely easiest way to get started. Yeah. Like, just grab a Pi 4 or 5 and, like, you essentially just start up one of our sample projects, or you can grab something like Nerve's Livebook, which is a cool project. You've had Jose Willem on the show. He's probably mentioned Livebook, but it's like code notebooks. So you can get the Nerve's device to start with a code notebook, so you can run a bunch of things and a bunch of examples on the device through your browser to sort of try things and get started. But yeah, people build very real products with this, but there are entry points for hobbyists. But the focus of the framework is actually the very serious end of things. It's like we try to be very friendly and welcoming because a lot of people seem to learn.
What's serious to you?
So one of my clients recently, when they're talking about deployment, it's more than 100,000 devices.
Wow, yeah, it's a lot.
It's smart thermostats across homes in the US. So if you screw them up, people would be pretty mad, especially if their thermostat, like, if their thermostat starts misbehaving, very noticeable.
Is that Pico's then in that case, or is that still a Raspberry Pi of sorts in that deployment, or is that custom PCBs kind of thing?
Entirely custom board.
Gotcha.
Yeah, so they've designed a fully custom board. Yeah, I don't have one within reach, but they have a few different thermostats.
Interesting.
Smart Rent is the company in question.
So you can do serious business with it, but you can also do side business, which is just fun business.
I can do incredibly silly things with it. I have a sensor in my greenhouse right now that runs nerves that I integrate with my home assistant so my wife can get notifications when the greenhouse is too warm or too cold. Right now it's always too cold because it's the winter in Sweden, or starting to become winter in Sweden. But we've set it up for the coming season. I just recently discovered that we have a way to build home assistant things with nerves, and now I'm abusing it.
Right. So where is she getting her notifications and how?
On the phone, because she has the home assistant app. So her phone is addressable within home assistant. And then I can just go, okay, when the temperature is below this, send a notification to her. If it's above this, send a notification to her.
Describe the architecture of home assistant in a house.
You have one device that runs home assistant somewhere. That's kind of your server in some sense. Minus a Raspberry Pi that only runs home assistant. And then in my case, I've slapped in some Power over Ethernet Zigbee controllers to be able to use Zigbee devices. So that's radio controlled lights and stuff. IKEA stuff is Zigbee. So I'm living the Swedish dream, I guess.
IKEA is coming out with a whole new set of-
Yeah, but I don't have to buy their hubs. I just connect their devices to my controller.
Right, Zigbee lets it be compatible, right? It's about Zigbee, not so much the hub itself.
Yeah, so it's like, usually you pick Zigbee or Z-Wave and that's your life.
Are you Zigbee for life then?
I think I'm pretty, right now, I'm definitely Zigbee. I need to make a serious investment to switch.
So what's the, did you do the Zigbee Z-Wave compare and contrast? Did you shop it hard or are you just like, well, Zigbee's-
Well, Frank Honleth stared hard at me. So he's the guy who created Nerves because the company that he worked at, SmartRent, they use Z-Wave. And he was like, you're not using Z-Wave? I'm like, well, I've heard good things about Zigbee and also IKEA. So I can afford lamps, lots of lights.
I'm curious why you choose to run that on a Raspberry Pi versus say a virtual machine or something like that, where you can have like maybe a beefy machine.
I don't really have a server set up at home.
Okay.
I'd like to, but I haven't bothered yet.
Okay.
And also, one of the nice things about setting up Home Assistant OS on a Raspberry Pi is that it takes up sort of the entire Pi, but it can also update. Actually, it is built on build root and uses an AB partition type setup. For updates, it is very close to a Nerves device, but it runs Python instead. But yeah, it seemed like a reasonable setup for my needs. At some point, I might migrate it. But this is also like Home Assistant is new to me. Okay. I never bothered getting into it, but I listened to the self-hosted podcast for years. Eventually, I'm like, yeah, okay, it's time. I need somewhere to report this information where my wife can get at it.
I like that you're using it. That makes me think more like just having Home Assistant in obviously a home, but I would say a home lab or some sort of lab environment where you're experimenting and building things. Having a Home Assistant be that conduit that you can, I know it has a voice assistant built into it. I know you can, these are all things I want to do eventually. I just haven't gotten there yet. I'm sure you'll nod on the things you're probably getting tickled with, but you can have an API key to a local LLM. Maybe you run a llama somewhere in your network or on the actual device itself. Your mileage may vary. That this Home Assistant world becomes a centerpiece. It sounds like you've tapped into the notification ability because you don't have to run a service or pay an external service to map a notification up to the cloud and back down to your wife just because your greenhouse's temperature goes up or down as you want to. That's the Home Assistant world is really, really interesting to me. I haven't had time to tinker with it yet, but I am curious though.
It's going to eat all of your time. It is such a tinker hole. It is amazing, but also terrifying.
I want to do stuff with e-ink too. You got me excited about this. Build root, e-ink, nerves, notifications, Home Assistant. You know, like all those things to me is just like, just forget the entire thing, right? Whatever else is out there and just do that. Sleep a little tiny bit and then do that all the time.
Yeah, yeah. I've kind of optimized my life so that I get to tinker with hardware professionally at this point.
Sounds like it, yeah.
Yeah, it's not a bad scheme, but actually on the e-ink part, the little e-ink display I did for my first Nerves project was way back. But with the conference that we did, it was Goatmire Elixir. So it was here in tiny little Vaudeville. I pulled in nearly 200 people, 150 attendees, about 30 speakers and a bunch of volunteers and stuff. And we did three days of Elixir. One of the days were dedicated to Nerves. And it was a great time and something we managed to score a sponsorship for, actually specifically from Tigris, you're familiar with them. They supported us with some budget for hardware. So we made custom hardware for the conference. Big shout out to Gus Workman. He's also on the Nerves core team. He wasn't at the time, but he designed an e-ink display that could also, with a battery, a few buttons and a tiny little processor, a pretty cheap one that he'd been working with, an all-winner of some sort, and made it run Nerves. And it has a Wi-Fi chip on it. So every attendee got a little e-ink display as part of the conference.
That's sick.
Yeah, it was kind of wild.
Could you send them messages via, like, could you broadcast and everybody's e-ink display updates at the same time?
Yeah, I mean, it would pull down the schedule and show that. And if you futz around for long enough, you'd find a Rickroll. And there were a few things in it. It worked really well. Like the software and the networking could have needed more work, but Gus already put in a heroic effort to get it out at all. It was real, real, real good. People enjoyed it. And we'll probably, I hope to make more of these conferences. And if so, we'll probably iterate on the concept because it was a blast. And just like e-ink displays are so satisfying to people and so interesting to people. And just getting devices into programmers' hands where they can show something in the real world and interact with button presses and stuff. It's a very, very special feeling for like a group of professionals that generally just do intangible web stuff or back end things. It's just like suddenly things are happening in the real world. And it's wild.
Yeah, your display is e-ink. I mean, even in a home, you could do a lot of cool stuff that you would normally maybe buy an expensive or be tempted to buy an expensive iPad for. When you really just want a trusty display and maybe a stable OS to broadcast to and Wi-Fi accessible, et cetera, you can do with low powered e-ink displays or RPI or even a Pico maybe. Do Pico's tap into stuff like that or are they limited?
A Pico could drive an e-ink display, but programming a Pico is more of a pain in the rear than the larger PIs. But they can run very well off a battery. So there's a trade-off there.
How about older RPI's? Can you do like RPI 3s or even older generations? Do you have to be current like four plus?
Yeah, I mean, we still support the RPI 1.
Oh, wow. Okay.
But it's a pain in the rear again because it does not have networking built in. You need a Wi-Fi USB adapter.
There you go. Yeah. I have a Raspberry Pi that's not doing anything. Maybe I should dive into this world.
Yeah. I mean, spin up nerves on it and then think about what you might do with it. And then my expectation is that you're going to put it back in the drawer because I don't think you have a plan for what you want to do with any particular hardware.
I still have one project that I never did that I should do. I think the last time I talked about it was when we had a fellow on talking about automating your house with Python or something like that, which is very similar to yours. A greenhouse temperature detector, an icebox temperature detector. So if the icebox was holding a bunch of frozen meat, breaks, it boils down in our storage room. So we don't go down there enough to actually happen upon it. We might lose all that meat. And so if I could detect anomalies in temperature too, although I want too warm, not too cold necessarily, too cold is just fine. I just want to know about it before my meat all goes bad. So that would require a temperature sensor and probably home assistant, I suppose, to be able to get the notification. And I mean, maybe basically the exact setup you have with different code, right?
Yeah, pretty much.
Just send me a link to your repo. I'll just deploy that sucker. What do you do for metrics and observability? Do you get into a dashboard into this stuff at all or Prometheus?
So the way I keep track of how my device is doing is actually NERF's cloud because I know the guy who runs it. It's me and my co-founder, but I don't track like, oh, what's the CPU of my sensor over like the last three months because I don't care, but I have whatever history. I don't remember what our retention is. It's probably like a couple of weeks. But NERF's cloud will by default track a bunch of health metrics for your devices as they connect and stay connected. But that's about it. But I also don't need more than like, is it reporting or not? If it's reporting in with data that looks reasonable, I'm perfectly happy. But if I go, if I have a problem with my device, I can go to NERF's cloud. I can open a console into it and get the IEX prompt and operate it as any Beam system. So I can go, hey, actually what processes are running? Hey, why is this not running? Oh, let's check the logs. Let's check the kernel logs. Let's investigate. It's like I get access both to the Linux system and the higher level Beam system. And I can poke around with that from my OTA platform in a web browser. So that's kind of convenient.
What about a dead man switch?
So if someone lets go of the device, no.
Well, I'm thinking about your greenhouse now. Or I'm thinking about my freezer, which is my device is measuring temperature and reporting anomalies. But if the device itself fails, it's no longer reporting. But if there was some sort of dead man switch that's like, hey, your device is no longer active, that's the notification that I want.
I believe you could set up an automation in Home Assistant that goes, hey, if you haven't seen this device for this long. I haven't looked at that, but that's something worth looking at. Because the greenhouse thing does run out of battery frequently because we don't have power in the greenhouse currently. Ideally, these things just run on power. Or maybe I will actually at some point set bother with a microcontroller because those sip power and can run for a couple of years off of a couple of AA batteries. It depends kind of what you're setting up. But it took me all of like four hours to set up, to essentially fully set up sensors with nerves. It would take me more than four hours with microcontrollers because I'm not as well versed with them. I think with ESPHome, you could do it pretty quick if you know what you're doing. I don't know ESPHome yet. So I might get there. But something I really like about working with nerves is that it lets me take all the know-how I have from like web development and my Elixir development and just apply it on top of hardware. So I can still do my web requests. I can talk to the internet. I can do all that stuff. I can set up a web server. And then that's my local web UI for that device. But it's doing something that's much more embodied, I guess. It's in the real world. It can help me switch relays. Or we're probably going to get a watering system that we can integrate with Home Assistant so that we can actually go, hey, this moisture sensor says things are getting a bit dry. Let's run the water for a while. Or we have this level in the tank. We might as well run some water.
That's cool stuff. I mean, that's a garden. So tell me how this does or does not fit into this world. So I run Plex. And I don't have any time to do this. But I have the idea mostly in my brain. I'd like to have a digital display outside of my media room that has a Now Showing. And it's data from Plex. So I don't want to go and pull down the album art. I've already chosen it inside of Plex for my stuff. I want that kind of thing there. I got some other ideas for it, too, that are more like a mailing list or at least a page I can send people to to say, hey, if you want to come watch a movie at my house, here are all the movies we have available. That way I'm not like, well, if you could just sit down with me for an hour, let's decide what movie to watch or whatever. And then we're just looking around my playlist or whatever. A little bit more user friendly on that front, but more so the Now Showing. It doesn't e-ink, e-ink doesn't sound fun for that because this is more visual, right? But how does that, what could I do in the NERV world or in this world? Is that even a fit for this?
I mean, if you find a tablet that you would like to set up in your home that you can run off of a Raspberry Pi, essentially, or just any display and just smuggle a Pi behind it, like if you have a small TV, a large TV on your wall, it's fairly easy to just shove a Pi behind it. And then it's a matter of starting up a kiosk. And NERVs, we have a bunch of kiosk systems right now. The most up-to-date ones are for the Pi 4 and 5. And with them, you get a minimal web browser and a minimum compositor, like a Wayland alternative, essentially. It's Western plus COG, which is less demanding than Chromium on top of a full Wayland. And then you can just tell it, oh, load this webpage. And whether you want to build that webpage yourself with the Phoenix web framework, that's one option. Or you can vibe code it, I guess. They actually do pretty well on design, typically, those things. And I believe Plex has all the APIs you would need. But I think the fastest path to success for just like now playing is probably Home Assistant. Because I think Plex can probably shove any information you want into Home Assistant. It is like people will have built all the integrations. And then there's probably just a dashboard you can build up and go, hey, open this URL to show my dashboard, please.
Yeah, I'm even thinking about like n8n. Have you played with that at all?
N8n, no.
Yeah, gosh, this will break your mind. N8n, I believe, n8n.io. It's like Zapier. It's like if this, then that, but it's open source. I've seen some people really do some cool stuff. You can feed things into LLMs. You can go and pull back linear tickets and get commits and fake your standup by shoving all your activity into an LLM and be like, this is what I did yesterday, you know, kind of thing. I just saw a cool dude on YouTube mention that's why that's my idea. It's actually his idea, not mine.
Do you want to sing his name for us? Can you sing his name?
I don't know. Let me see if I can sing his name. I'll keep talking while I search this. But that seemed pretty interesting to do that kind of thing where you can like n8n something like now Plex is playing or now something is happening. And then it's more of a reactive display versus me having to program it on there. I was just thinking like, what can, what kind of smarts do I need to do to build out the display that isn't going to be a Mac? It's going to be a Linux. RPi sounds like it should be, but I've never done anything beyond just the RPi sitting there doing its RPi thing with no display. It's really the most of it's been, has been a PoE hat to just avoid the additional power brick or maybe network that's about the extent I've ever utilized my RPi. I got two Raspberry Pi fours, one with four gigs and one with eight gigs. So they're both very capable and I have no use case for them currently.
And yeah, I mean, you could fairly quickly install a little bit of the elixir tooling flash. Well, grab the nerves kiosk example repo and build and flash that thing. And the only thing you probably want to edit is like, which URL does it open? And that's a, that's a mighty easy find a replace.
Yeah, this might be a curveball, but I don't think this thing's open source, Adam.
I think it's just like it's fair source, sustainable source license, something. Oh, gosh. Well, they said it was open source. Now, like I said, I'm not versed in it yet, but I heard good things about it.
It's open. A code is available to see.
They call it fair code.
Their license looks somewhat proprietary.
It sounds like it's a BSL type deal. It seems free for personal use.
Files are not licensed. Other files are like sustainable use license. And then other files, if they contain .EE in their file name, you have to hold a valid N8N enterprise license.
So some muddy waters on this one.
Okay. Muddy the waters on that one. I thought they said it was core open source, like open core. Like some of it was, and some of it wasn't. To close the loop, though, is Dreams of Code. Dreams of Code on YouTube is the channel.
How do you sing that, though?
I don't sing, Jared. I just speak very eloquently. Malifelously, as they may say.
They might.
Dreamsofcode.io, cool stuff there. I've watched their videos. I don't know. I can't remember the fella's name. Trying to find it. But Dreams of Code is the... This is his idea. Yeah, it's his idea. He did this. He's like, hey, I got to do standup. Standup sucks. I always forget what I did. And so he built a thing with N8N to pull back data from Git from the previous day. So whichever repos may be in the spectrum that he'd give standups on. Pull back some linear details from linear tracking their engineering practices or whatever. And I think maybe a couple more sources. And then fed that to the LLM. And the LLM messaged him via Slack, personally, what he did yesterday. And I thought that was interesting. It gave me some ideas.
I'm very glad that I currently only work with clients who don't have the time to have standups with me. I work in weird corners of their efforts. So it's like, yeah, it's usually me and one or two other people that chat when we need anything.
Yeah, no need for standups. Awareness, but not standups, gosh. And even a standing standup every day is like, especially in a company, I would say really of any size, is almost like a waste of time. That could totally be not a meeting. Now, if you're doing it for the personal reasons, for the interpersonal relationships, it's a different story. But I think even then, your mileage may vary.
It can be done well. Especially in physical office situations. It's like, yeah, it can be kind of neat to just all be face-to-face and share what you're working on so people can resolve things. But yeah, I'm glad to not be pulled in to that because my schedule is scattershot as it is. It's like spread all over the place. I do a lot of different things and I kind of like it that way. And spending any time on coordinating would eat through it quickly. Maybe as a close, could you map out in like,
let's say a minute or a minute and a half, someone who's uninitiated, they've listened, they've been like curious, maybe they like me, they got an RPI sitting around, no use. What's a good first next step? What are some good resources? Can you just rattle those off? Give somebody a map to tell you what you're doing. To satiate that curiosity.
Yeah, so the best place to go would be nurseproject.org or search for nurse project. And you can click learn and then you can go to installation or getting started. You'll end up needing to do the installation even if you go to getting started, so maybe start there. And then you can run through that. That has good getting started instructions. And depending on kind of what you want to do, if you just want to noodle around, I would aim for nerves live book, which is like an interactive code notebook experience where you can get something that does something onto your device pretty quick. But it's not for any specific purpose. It's mostly for noodling around and getting a little bit situated. If you want to build a specific project, I would follow the guide for setting up like a nerves project. And that usually means doing elixir development. So then you kind of hit a fork in the road. Do you know elixir? If you know elixir, it's just an elixir project. Figure out the nerves parts, have fun. If you don't know elixir, you should probably also look into elixir a little bit. So elixirline.org is pretty good. For that. Also, I have a YouTube channel with a few videos. You can look at my YouTube videos. I don't think they're the probably best introduction to elixir, but they're all right. Depends on sort of how you like to learn as well. I'm born and raised on text tutorials. Don't put too many pictures in my tutorials or I get annoyed. But people are different and want different things. So also you can join the elixir discord is pretty good to join. And we have a nerves channel that's pretty active and we're happy to have new people come in, ask questions. You can also ask your questions on the elixir forum if you want sort of the more async cycle. And it's also very, very helpful to other people because it's searchable. But yeah, dive in, try it. It's not dangerous. It doesn't bite. And depending on sort of where you're coming from, it might feel straightforward or it might feel slightly challenging. But it has taught me embedded Linux development over time because nerves contains a lot of accumulated embedded wisdom that's encoded in opinions. And you might swear at it at certain points and then you're like, yeah, okay, I know why they did this. This makes sense as you earn your wisdom.
At what point will they have to compile their own Linux kernel? Only if they go to your level where they're helping clients deploy updated devices across a thousand hardware devices kind of thing. Is that the scenario where you have to compile your own kernel?
No, the moment they want FFmpeg probably. No, you don't have to compile the kernel. You probably end up compiling a kernel at that point. But you don't actually have to touch the kernel to install FFmpeg. But you do have to touch the sort of underpinnings. Or when you need some particular supporting library for some particular specific thing you're doing that. So we pack in a lot of the default Raspberry Pi tooling. So for example, if you want to work with a Raspberry Pi camera, the tools are already there. And there's a superb OpenCV bindings library for Elixir called eVision. If you install that one, that one just pulls in OpenCV without you needing to touch the NERV system. But not everything is that nice. So you can find places where it's like, oh, yeah, we don't have this built in. Why don't we have FFmpeg built in? Well, FFmpeg is huge comparatively. So a NERV's default image, I believe, is about 30 megs. Maybe 40 at this point, but it's in that range. So it's not a big install. Like the entire image for the NERV's device is 30 to 40 megs. And that's very good for when you're building devices and especially when you need to ship updates to devices. It makes the updates faster, safer, all that good stuff. So it's a good thing to keep things lean. The Raspberry Pi images actually have some fat that we could definitely trim if we were optimizing, but we're actually optimizing those a little bit more for adoption so that the things you want to try are more likely to work. But it's a balancing act. So I would say it's a beginner friendly ecosystem, but it's focused on production grade things. So production grade wins over ease of use in the end in the trade-offs.
I like the idea of going to a world like this where you can play and have the freedom to play. But if you were like, wow, I'm kind of serious about this. Well, you're already in a place where you could easily just get serious about what you're playing with and either just migrate your mindset or just change what you're doing. Now you're actually working on something serious versus just this play world. Those are cool, but when you want to graduate to the next thing, you're currently already in the professional mindset of being able to deploy serious stuff.
Yeah, and the development loop of embedded devices can be pretty annoying. It's just like you build some more code, you ship it over to the Pi, you run it there, or you develop on the Pi. But how do you do your proper source control when you're doing that? And it's like the workflow is kind of weird, but for nerves, you develop on your host machine, like your laptop or regular computer, and then you ship updates over. And when you're iterating on something where you need to cycle really fast, you might actually just be pasting code over the REPL because you can do that in Alexa. But when you need to build something and then ship it over, it's just like mix upload, and then it goes, and it ships over SSH and the device reboots and comes back with the new code.
So probably like a minute loop maybe, 45-second loop from-
Yeah, it depends on your image size, depends on your boot times, but it's a pretty quick loop for embedded. But what I found most compelling about this whole setup, like I've set up Raspberry Pis with Raspberry Pi OS, and then I follow this tutorial to install this thing, and I set up the camera using this tutorial, and then I set up OpenCV and some ML thing with this tutorial, and it's like, oh, I have it all working. Okay, let's make a copy of this image because I could never ever get to this state again without retracing all the steps because it's not reproducible in that way. It's an entire desktop OS. And the next time you would install it, it would be different. But if you build a nerves project, you have lock dependencies. So it's like, it's this version of nerves, this particular system that you're using for the Raspberry Pi, so you're always getting the same Linux kernel, yada, yada, yada. It's all deterministic. And next time you pick up your nerves project, the only thing that can break sort of your build for that is either if there's something weird about the build tooling that has happened in between, like, oh, your Mac OS has a hard time building your Erlang version or something, but that's very rare, but it can happen. But if you can build it, you have your old working thing and you can just chip it. I talked to one of the nerves core team members and he's like, yeah, I just realized I haven't updated this thing in a while. It's still, it's like on a eight-year-old version, oh gosh, of nerves and elixir. Still running fine. It's doing everything it's supposed to be doing. I should probably update it, but I don't have to.
That's cool.
Yeah. And it would probably still build. He might have to jump through some hoops to get the older build to work. It would be fine on Linux, I expect, but yeah.
You got a podcast about this, you said, you got a newsletter, you got your own blog. We have all those things in the show notes, of course, but rattle off a couple of URLs and we'll call this show done.
Yeah. So for podcast listeners, Beam Radio, so beamrad.io, that is where we talk about the Beam, Elixir, Erlang, Gleam, the new hotness in the Beam ecosystem. Then there's undriur.io, which is my website and blog. I actually plan to write something about this whole Home Assistant setup I've been doing and just sort of run through a basic tutorial of what I've done so that people can reproduce it, because I think it'll be interesting to a subset of people out there. And there's a YouTube channel. You can find it from my website and otherwise, nurseproject.org, and if you want to do over-the-air updates for very serious usage or for hobbyist usage, it's free for hobbyist usage and you can try it for free if you're a commercial user, but nursecloud.com is what we're trying to make happen, I suppose. It's active, people are using it. We have production customers, so happy to talk over-the-air updates, and actually that extends to wider than just nerves. We are looking to support more. So if you want to update Android devices or Yocto devices, there's so much out there. It's a funny world. Embedded is incredibly fractured. There are no standards. It's like the Linux desktop popping, but weirder.
All things embedded. Love it.
Always great to catch up.
Yeah.
It's been a while. Stay cool, because you can't help it.
And stay even cooler as a person.
All right. Bye, friends. Bye, Losh.
Bye, friends.
Bye, now.
Which also means we'll be accepting listener voicemails real soon. So start thinking about your favorite episodes, themes, guests, or whatever else you'd like to say to us as we close out 2025. I'll have the form all set up, and we'll send out the official first call on Monday's news episode. Thanks again to our partners at Fly.io and to our sponsors of this episode, tigerdata.com, augmentco.com, depo.dev, and framer.com slash design. Check out their wares, why don't you? They're good, and they support us. And if slash when you sign up, tell them changelog sent you. They love it when that happens, and so do we. Next week on the pod, news on Monday. Amazon CTO Warner Vogels predicts the future on Wednesday. And on Friday, our old friend Nick Nisi returns to give us his latest take on the new browser wars. Have yourself a wonderful weekend. Don't overwork to be rich. And let's talk again real soon.