In short
Podcast Summary: The Changelog - The 4 DIMM Problem (Friends)
Podcast Title: The Changelog: Software Development, Open Source Episode Title: The 4 DIMM Problem (Friends) Episode Description: Lars Wikman returns to discuss Linux distro hopping, Elixir, Nerves, embedded systems, home automation with Home Assistant, karate, and more. Release Date: November 2023
Key Themes & Discussions
Introduction
- The episode begins with a light-hearted introduction and mentions of the episode's sponsor, Fly.io and Tiger Data.
- The hosts express excitement about the current trends in software development, particularly AI and its impact on coding.
AI in Software Development
- Discussion on the rise of AI-generated code, with statistics indicating that a significant portion of code in development is now AI-generated.
- Emphasis on the transition from traditional coding to a model where "agents" are viewed as the new developers.
Martial Arts & Personal Interests
- Casual banter about martial arts, specifically karate and Brazilian jiu-jitsu.
- Lars shares his experiences with karate and the sense of community it fosters, along with its benefits for youth.
Linux Distro Hopping
- Lars and the hosts touch on personal experiences with different Linux distributions, including Arch Linux and Ubuntu.
- Discussion highlights the challenges and learning curves associated with using various distros, emphasizing the importance of community and resources available (like the Arch Wiki).
Embedded Systems and Nerves
- Lars delves into the Nerves project, an Elixir framework for building embedded systems.
- Key Features:
- Nerves allows developers to create IoT devices with reliability and ease.
- Discusses the use of Raspberry Pi for prototyping and the deployment of applications.
Home Automation with Home Assistant
- The conversation shifts to home automation technologies, particularly Home Assistant's role in managing smart home devices.
- Lars shares his personal experience integrating sensors and notifications into his greenhouse setup.
- Emphasis on the use of Nerves for creating custom home automation solutions.
Development Tools and Practices
- Discussion about the importance of using the right tools for development, including version control and efficient deployment practices.
- Lars explains how Nerves allows for a streamlined development experience with real-time updates and monitoring.
Community and Resources
- The hosts encourage listeners to explore the Nerves project and Elixir for embedded development.
- Resources shared include:
- [Nerves Project](https://nervesproject.org)
- [Elixir Lang](https://elixirlang.org)
- Lars’ YouTube channel and his blog at [underjord.io](https://underjord.io).
Conclusion
- The episode wraps up with a friendly farewell, encouraging listeners to engage with the discussed technologies and communities.
Key Takeaways
- AI Impact: AI is rapidly changing the landscape of software development.
- Embedded Development: Nerves provides a solid foundation for building reliable embedded systems using Elixir.
- Home Automation: Home Assistant integrates smoothly with various devices, allowing for easy automation and monitoring.
- Community is Key: Resources, documentation, and community engagement are essential for successful development in open-source projects.
Final Thoughts Listeners are encouraged to delve into the world of embedded systems, Linux development, and home automation, utilizing the resources and frameworks discussed in the episode for their projects and interests.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:14Welcome to Change Log 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. OK, 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 Cloud 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.
1:05That'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 it 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 of vector and text data, well, normal Postgres, it might choke. And so they fixed 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.
1:45Now, if this is intriguing at all, head over to tigerdata.com, install the CLI, just three commands, spin up an Agente Postgres service and let your agents work at the speed they expect, not the speed of the old way. The new way, Agente 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.
2:28we have losch vickman with us we're frenzying with losch you missed the pound to find champs game oh yeah that was a bummer well 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. But welcome. Welcome. Anyways, you're fresh off of, what is this? Ninjitsu class or something?
3:07You said you have to. Karate. Karate. Karate. it's different right jiu-jitsu and karate is way different they are yeah similar yeah for a bit but different right what's the difference all from the vicinity of japan i would say right no um no wrong jiu-jitsu 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 jiu-jitsu. It was like a Brazilian jiu-jitsu. Brazilian jiu-jitsu. Is that a flavor? Yeah, the Gracie family. No, I don't claim to be an expert.
3:49So when I say that, I'm not arguing. Well, let's let Lash tell us. So jiu-jitsu, 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 jiu-jitsu at this point, because BJJ, Brazilian Jiu-Jitsu, 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 Jiu-Jitsu 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...
4:34There'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 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. Oh my goodness. Okay, six, seven. But do you get that, Larsh? do you understand that 6-7 reference? Oh yeah, yeah I've got traces of it He has little kids, right Losh?
5:14You've got like toddlers, right? Yeah, but 6-7 is 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 6 and then the digit 7 afterwards without getting some kids in 6-7 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? Of course. I mean, I'm 46, dude. It's like numbers. Those are our generation, 6-7, basically. Yeah, I mean, I can't look at the number 69 without thinking like a child, like an adolescent.
5:54Nice. There's one proper response. There's just one proper response. Absolutely. And now they've added 6-7 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. Yeah. Tell me why karate for you, Losh, because you're not a child. Adam consigned it as children, but he was not being.
6:25Yeah. I've done martial arts a little bit in the past. 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 looked around for karate went to a club has really enjoyed it she's done 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 of with just some shared values which is a tricky thing to find sometimes yeah and And I saw that that was part of it.
8:04And 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, so I 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 3.5 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 or no very good I love 3.5 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'm 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 hmm sun two actually okay the art of children way off uh tyson said something similar yeah that's a fact i certainly never know what's gonna happen what they're gonna like what they're gonna not like i think it's the punch in the face you know everyone says something until you get punched in the face that's 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 yeah for me three five was um Just to close the loop, when I was in the military, I was part of a team, I suppose, that was a, we had armor and we had fuel.
10:23And 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, like 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's coming well, at least for a certain part of the year. Then I'll be 6.8, right? From inside the karate community, perhaps, and I'm not sure how you, if you consider yourself inside at this point or just visiting or - Barely.
11:04Barely. 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 like my whole experience as a child with karate was through Danny LaRusso and that whole experience. Like I would never even had had a touch point with karate had it not been for that movie. And so in 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.
11:44And 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. Right. Yeah. Where they even pull in all the original actors for reprising their role. 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. Right. So there was even a lot of theories that were proven correct or proven false by the traversing of the history and even fleshing it out and whatnot.
12:24So I think that's kind of cool. Yeah. Johnny got his comeuppance. Right. Yeah. No, I think Karate Kid is generally... decently appreciated i there's like i think opinions vary a lot and i think a lot of people really don't like the uh will smith kid will smith's kids oh the new one version uh 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 it's the the one we have a picture of in the dojo uh like Shoyun Miyagi is his name or was his name. And that's not an accidental reference. Yeah. Right. And I mean, in Karate Kid 2, they go to Okinawa, like the crane kick and that kind of stuff, like their references.
13:25Why would you stand on one foot and then jumping to 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. Jean-Claude Van Damme, yeah. 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.
14:14And he was a kickboxer, so fair enough. That's like what that is usually. Right. 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 sort of mismatch Muay Thai people tend to like is it Ong Bak it's called I heard that one because that references older Muay Thai history and the Muay Boran which is a show weird now is Kickbox or the one where Jean-Claude does the splits and his feet You're like up on something.
15:03I 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 then. 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. If we're counting Steven Seagal, then I can't put Jean-Claude down to the bottom.
15:44You're right. And the thing is, I come from the same town as Dolph Lundgren. Oh, really? Yes. Wow. And he's terrible. Yeah. Tell us, but 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, a 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 Jerm Jager? No, he's Czech, I believe. He's Czech. Gosh. But the Sundin brothers. Mario Lemieux? He's Canadian.
16:29Peter Forsberg. It is 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 around a few different places. 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 Bull or he had to be a Detroit Lion. And you could just rely on that guy being there.
17:03Like 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, 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.
17:41Okay, 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 your 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.
18:25So 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
19:15What do you follow? Are you keeping up with Omarchi? Are you keeping up with Arch? Are you keeping up with NERVES? Have you seen the latest Tidewave? I think I promised that we'd talk about my Arch experience. I wouldn't touch Omarchi because 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 SystemD probably. 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.
20:02So 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 Archland 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 uh did a full-on system upgrade and nothing worked uh then i found some guides and it's like okay i can get now from from the prompt to and if i manually launch it i can get back into UI and things.
21:06But 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 know, you might as well. The wiki is really good. I solve a lot of problems in other Linux distros by reading the Arch wiki. Where there's overlap? Yeah, 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.
21:49And 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 versus, like, 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.
22:39Maybe fresher software because Debian does, you know, 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, you know, what's there and it's fine. Maybe, like, back then, the MySQL wasn't up to date with what, you know, Rails was using because this is like Ruby on Rails servers, you know? I remember I couldn't get a system service to set up and like 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.
23:12It was like, 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 like 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've 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.
23:49So it might be like a typical 15 minute requirement. 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, Jerry. 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 the system the best supports which you're trying to actually accomplish. and I 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 4DEMS versus 2 and 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 4DIMS versus 2DIMS of RAM which I don't understand how you're AMD and you're beating Intel and you can't solve the 4DIM problem like that doesn't compete with me I don't get that at all.
25:07It's like ostensibly they ship this main board architecture so one would. This is the first time I've heard the 4DIM problem i mean yeah like it's it's it doesn't make any sense so especially at like okay so this is a ddr5 6 000 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 right right right yeah it's not a fordm issue generally it's because of it's the boundary that 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 and be what's the point what's the point no right it's like get in a 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 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 specifically in 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 yeah no so modder's not on because that's an art 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 value there I will fix it though next week I mean it will be back we can just have you do thumbnails for these I hope so you can just have you pointing at the monitor and going I run arch actually right Arch, by the way.
27:06I feel like Arch is 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 fedora 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 uh yes you know i don't know it's 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.
28:01I run an absolutely bastardized, it's like I installed Pop! OS 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 couldn't, like Regolith was cool, but it wasn't exactly right for me. I tuned it a bunch. and then I was like, eh, there's some stuff about GNOME that I'm annoyed with. Let's try KDE. Like my system is real weird now because there's a lot of GNOME and there's a little bit of Regolith and there's definitely some, but I'm mainly using KDE.
28:43And at some point I should just switch to, if it's still a thing, Neon, which is like the KDE project, I believe, maintains an Ubuntu variant that is running KDE. Interesting. KDE still come with a bunch of other desktop apps, like Conqueror, for instance. Yeah, that was always my experience back when I was trying different stuff. I loved Amarok. Yeah, Amarok. I believe Amarok is gone. They all had Ks in them somewhere. And I felt like when I installed or I chose KDE, I wasn't just getting a windowing system and some Chrome. I was getting a suite of apps. And some of them I liked, and other ones I was like...
29:23But 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 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 you could hit, 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 i want this song and then i cue a few songs and then like actually stop after that uh-huh but no no one wants that uh 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.
30:23But it's just like being able to stop after a few things play back. It sounds like 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 user features anymore. It feels like the same thing as like a timer. Just say, stop after 20 minutes. But you're seeing stop after a certain song, right? Yeah, I mean, it's just like when you hit this part of the play cue, 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? So whenever I start a playlist on, yeah, let's say Spotify, I hit the song I want to hear from the playlist first.
31:06Then 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 love to just cue a stop after that then I don't have to bother about turning anything off but then what happens is you get to silence and don't you go think I gotta go cue some more stuff is that what you want to do or are you gonna leave but usually that would be the end of the session as it were so you got your sessions timed out are you using Pomodoro or what's going on here but the thing was also not Pomodoroing my music I got three songs and then I'm done coding 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.
31:57Right. 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 based on recency or that kind of stuff. What's amazing to me is how differently we all use these things. 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. 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.
32:40if I want to customize like the padding of some corner of the world it's yeah sure you're gonna 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 this is what drives me nuts about Adobe software which we are stuck with in many ways is that and this is a publicly traded company these guys are making good money and have been the best for years in their particular Pro Tools suite of it's a professional standard 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 gonna just lose them some sort of you know point upgrade and oh 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 how 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.
34:05I 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 tools that we use the most. Because 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. Which I'm excited about. That's why I'm trying to make it the year of the Linux desktop here in the East Okoviac household. They're at Adam's studio, yeah.
Read the full transcript
34:46Yeah, because 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. 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.
35:23So it just frustrates me. But yeah, DaVinci is support on Linux. And so that's very hopeful. 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 Log format and having a full dynamic range of the color. Coloring in DaVinci is just really, really proper. and so it started there probably about five or six years ago there was a revolution of migration away from the current standard to DaVinci Premiere is known for crashing so people were even if they were super comfortable and knew their workflow super well but really they hate this piece of software deeply visceral level I've used DaVinci some of the keyboard shortcuts drive me nuts and some of the workflows absolutely seem bad to me.
36:32But overall, it's very capable. It's very competent. It's just not always wired the same way I am, 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. What would you use for podcasts? than 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 open source one? It's on Mac as well, but it's on Linux. Audacity? Audacity, yeah, thank you. Maybe that has gotten improved.
37:15They were supposed to do a bunch of UX work and stuff. I found Audacity completely incomprehensible most of the time that I used it, but that was years ago. and I believe Tentacruel 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 I'm a regular viewer and you're still getting the melody he must have a pretty good thing going on I looked at it way back and there was a lot of controversy as well because they kind of took over whenever you reference my name I want you to use this particular connotation or not.
37:55Only saying my name or I'll sue you. Just to close the loop to here, I'll pull back the release notes for Fedora 43 just to give proper because I didn't give it proper. It is using GNOME. It is Waylon only. So Fedora 43 is Waylon only. Deprecated X11 support. Looks like GNOME 49, if I can recall that correctly. Maybe GNOME 50 if I'm grokking this stuff? I remember GNOME 2. Wow, showing your age, Lash. I think 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.
38:45It's like, no, you're being inspired by it and you're doing a good job. Like the gestures, the motions are very smooth. And I've just been very impressed with Fedora 43, honestly. 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. Because 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.
39:24But the lack of freedom in that and the ability to change feels like extreme lock-in that is expensive 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 is open source. That's like a 3D thing, wasn't it? Yeah, I mean, originally, but it's kind of like, Like, okay, so if you're doing a full-on 3D movie production application, that's a superset of video production. Yeah, sure. And much like a video. It's a superset of a podcast. It's a superset 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 better look like?
40:08But then what's her name from the meme that's 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 a lot of stuff to get done. You know? I mean, I produced a conference mostly using 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 very competent. And then they were like, yeah, give me that in CMYK. Right. Colorspace. 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 oh 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 it wasn't the only problem but the gradient was a problem Right.
41:12It's a challenge. 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. 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 because 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.
41:46Some good deals because... I also hear you can't use four sticks anyways. Yeah, 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, I think it's cool that what he was able to do with it is cool, that you can make your own Linux distro.
42:22You can't do that with macOS. You have none of that freedom at all and absolutely none of that freedom at Windows. And the fact that you can 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 got a lot of good taste 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 neither 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 Omarchi I tried it just Just because you literally have to if you're a Linux distro.
43:10I wouldn't say a hopper, but. It sounds like you might be hopping a little bit. Yeah, you might be a hopper, Adam. Is that a hopper, though? I mean, a sampling? What's wrong with being a hopper? I mean, you think it's not a bad thing. Is it a bad thing? I don't know. 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, 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.
43:42Same 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 final resting place, maybe in the Linux world, in 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 Amarchi just because 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.
44:20That'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 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 gentu mandrake debian um a few others and then you had all the like nopics and like the live cds that you could just boot into RAM.
45:26And 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 was the thing. Mostly to prevent installing games. They didn't care about Linux. Let's be clear. Yeah. They 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 a period of time. Then when I've set up 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.
46:15And 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 reproducible. You didn't say the term ricing. 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, I think this is a phenomenon in Linux in particular, is when you dial in your desktop environment.
46:58It'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 need 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, a.k.a. rice. Oh, race-inspired cosmetic enhancements. So just looking cool.
47:36This 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 Honda Del Sol. 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 Dyno. 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.
48:08You'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. Yeah. Yeah. My setup, I would say, is highly tuned for certain utility functions.
48:47And 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've 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. QuickTime. Oh yeah. Adam's having a problem with QuickTime Player, which is a 30 year old Apple software that you'd think would be stable by now, but no.
49:37Yeah, not the way they're treating their OS. Something I miss on Linux for 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.
50:24And 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 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 is legendary and such a weird interface too.
51:53For me, it was the first time I SSH'd was through PuTTY. I think figuring out PuTTY's UI was the hardest part of the SSH process there. What is this happening here? It was very challenging. It was cool once you figured it out. It made sense eventually. I guess all software does if you just rewire your brain to use it. I don't feel like macOS is going in the right direction. Both in terms of 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 uh it has in the past like where I essentially abandoned it.
53:16But 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. Oh, 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.
54:07Well, friends, I'm here with a good friend of mine again, Kyle Galbraith, co-founder and CEO of depot.dev. Kyle, we are in an era of disruption, right? I would 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, CICD, pipeline teams, how are they all rethinking things? And where does depot fit into that? In the conversations that I have with customers, a lot of DevOps teams, platform teams, teams, site reliability teams, they're really looking at this new era of software engineering that we're all living in.
54:44And 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 production, It's scaling up support teams to support it. It's adding documentation, all of these downstream problems. And so through the lens of Depot, 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.
55:28And 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.
56:08And so we're starting to think a lot about how do we eliminate the bottlenecks that come downstream and what can we do with Depot 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 bills 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 Depot is there to help you. So a good first step is to go to depot.dev, get faster, try their trial.
56:43It's too easy. Again, depot.dev is where to go. It all begins at depot.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-oriented websites, but the design pages, they've redefined what it means to design for the web.
57:22This 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.
58:11You 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 changelog for a free month of Framer Pro. Once again, framer.com slash design and use our code changelog and you get a free month of Framer Pro. Enjoy.
58:40Here'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. Yeah, yeah, I'm dicing. 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. I'm just trying to write 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 and I know about the gatekeeper stuff and now I'm talking technical gatekeeper not the social or political gatekeeping um 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 i mean wanderlust is the wrong idea or the wrong word to it but like that like adam is he's hot he's he's ricing 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 a yeah man the four dim problem is real on the mac side for sure also jared i gotta acknowledge uh thank you for wearing a shirt that i produced oh i'm glad you noticed it i put it on I got my Elixir t-shirt on.
1:00:28Now, did you make this design in Linux land? So that design is the official Elixir logos. I did not make it. But 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 macOS and stuff. Yeah, 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 macOS.
1:01:13It'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.
1:02:05So 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. Yeah, you're still embedding that. it's still a single purpose device and everything's locked down and yada yada so the nerves project and the nerves uh framework so nerves-project.org it's an open source framework for and it's 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 uh 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.
1:03:35They'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 it's 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 implement like a little e-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've 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 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 sure and then i picked up other clients that are also nerve-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've started so nerves comes with well there's a 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.
1:05:56So 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, and then you're talking. Yeah, 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 NERVS 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.
1:06:57But 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 vacation though, right? I gotta go to... Yeah, okay. Let's go with industrial laser is down and now confident. It's just a big problem if your updates fail.
1:07:48Yeah. So typically what embedded devices do is 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.
1:08:34So Nerves provides that or there's a distro that's non-Debian that provides that and then Nerves sits on top. So Nerves 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 uBoot 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.
1:09:21It's strange, but it's a broad company. And right now I'm working with a project which uses something called Amboot, 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 like nerves 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 or something but we support all the all the raspberry pi boards all the sort of linux level ones not the pi pico because that's a microcontroller but um like beagle bone 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 i have a bunch of various uh accidental linux device purchases like this is a raspberry pi but it has a i'm holding it up to the camera which is great podcast um but it has a display and it has a keyboard and a actually a trackball wow it'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 uh no it's just space 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.
1:11:08Tons of fun, but this also leads to me compiling the Linux kernel very frequently. Does Zima board approach that world? I know it competes with Raspberry Pi to some degree as a single-board computer, but does Zima board kind of... I mean, you could, if it's Intel, if we have a system for generic x86, you could probably just run that on top of it. It's got a cool design to it. It's got a heatsink built into it. it's got power you can plug drives into it uh 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 like 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 uh no uh this would probably work it might be that the it might require some driver here and there it depends on the linux support essentially.
1:12:01And 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 can you... 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? Essentially, what happens if you have a slightly off-the-golden path setup is that you might have to tweak it yeah 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 so new or this RAM only needs extra drivers to run at full speed or whatever.
1:13:05Or maybe four sticks doesn't work. That's right. 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. Just grab a Pi 4 or 5 and
1:13:25you essentially just start up one of our sample projects or you can grab something like NERVS Livebook, which is a cool project. You've had Jose Willim on the show. He's probably mentioned Livebook, but it's like Code Notebooks. So you can get the NERVS 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.
1:14:11What'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 starts misbehaving. Very noticeable. Is that Pika'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. I don't have one within reach but they have a few different thermostats interesting Smartrent 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 NERVS that I integrate with my home assistant so my wife can get notifications when the greenhouse is too warm or too cold.
1:15:27Right 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 NERVs 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.
1:16:10You 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 radio controlled lights and stuff ikea's stuff is zigbee so i'm living the swedish dream i guess ikea's coming out with a whole new set of yeah but but i don't have to buy their hubs i just connect their devices to my controller. 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.
1:17:04Are 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 were you just like, well, Zigbee's... Well, Frank Hunlath stared hard at me. So he's the guy who created NERVS because the company that he worked at, Smart Rent, 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 maybe a beefy machine.
1:17:57I don't really have a server set up at home. Okay. I'd like to, but I haven't bothered yet. Okay. 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. I never bothered getting into it but I listened to the self-hosted podcast for years.
1:18:49Eventually 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. So 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.
1:19:26So maybe you run a llama somewhere in your network or on the actual device itself. Your mileage may vary, you know, that this home assistant world becomes a centerpiece. And it sounds like you've like 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 greenhouses 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'm I am curious, though. It's going to eat all of your time.
1:19:57It 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. All those things to me is just like, just forget the entire thing. 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 uh professionally at this point sounds like it yeah yeah it's not a bad not a bad scheme but actually on the e-ink part the little e-ink display i i did uh for my first nerfs project was uh it was way back but with the conference that we did uh it was goat Elixir.
1:20:50So it was here in tiny little Vaudabadi. 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 NERVS. 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, pretty cheap one that he'd been working with, an all-winner of some sort, and made it run NERVS.
1:21:54And 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 it was a blast and just like e-ink displays are so satisfying to people and so interesting to people and just getting getting devices into programmers hands where they can show something in the real world and interact with button presses and stuff.
1:23:08It's a very, very special feeling for like a group of professionals that generally just do intangible web stuff or backend 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 Picos tap into stuff like that?
1:23:49Are 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 RPIs? Can you do like RPI 3s or even older generations? Do you have to be current like 4 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. 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.
1:24:40And 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 a very similar to yours greenhouse temperature detector uh icebox temperature detector so if the icebox was holds a bunch of frozen meat breaks well it's 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 although I want too warm not too cold necessarily.
1:25:27Too 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 a home assistant I suppose to be able to get the notification and maybe basically the exact setup you have with different code. 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 dashboarding of this stuff at all or Prometheus? So the way I keep track of how my device is doing is actually in Herb'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.
1:26:16But I have whatever history. I don't remember what our retention is. It's probably like a couple of weeks. But Nervs 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 have a problem with my device, I can go to NERS Cloud. I can open a console into it and get the IX prompt and operate it as any Beam system. So I can go, hey, actually, what processes are running? Hey, why is this not running?
1:27:03Oh, 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... Well, if my device fails. 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.
1:28:05Ideally, these things just run on power. Or maybe I will actually at some point 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. That's interesting. It took me all of like four hours to set up, to essentially fully set up sensors with NrVs. It would take me more than four hours with microcontrollers because I'm not as well versed with them. I think with ESP Home, you could do it pretty quick if you know what you're doing. I don't know ESP Home yet, so I might get there. But something I really like about working with NrVs is that it lets me take all the know-how I have from web development and my Elixir development and just apply it on top of hardware.
1:29:03So 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 it can like we're probably going to get um a watering system that we can integrate with home assistant so that we can actually go hey uh this moisture sensor says things are getting a bit dry let's run the let's run the water for a 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 So tell me how this does or does not fit into this world.
1:29:57So 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.
1:30:36And then we're like 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? Yeah. 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, yeah, shove a Pi behind it.
1:31:23And then it's a matter of starting up a kiosk. And Nrv's, 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 like a minimal web browser and a minimum compositor like a a wayland alternative essentially it's weston plus cog which is less demanding than like chromium on top of on top of a full wayland and then you just can just tell it oh load this web page and whether you want to build that web page 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.
1:32:07And I believe Plex has all the APIs you would need. But I think the fastest path to success for just now playing is probably Home Assistant. Because I think Plex can probably shove any information you want into Home Assistant. It's 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.
1:32:52I'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 stand-up by shoving all your activity into an LLM. 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 end it in something.
1:33:22Like 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 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. and run Pi. Oh, that's about the extent I've ever utilized my RPIs. And I got two Raspberry Pi 4s, one with 4 gigs and one with 8 gigs.
1:34:04So they're both very capable, and I have no use case for them currently. 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 mighty easy find and 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 well they said it was open source I'm not versed in it yet but I heard good things about it it's open the code is available to see They call it Fair Coach.
1:34:55Their license looks somewhat proprietary. It sounds like it's a BSL type deal. It seems free for personal use. Certain 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, it's Dreams of Code. Dreams of Code on YouTube is the channel. How do you sing that, though? I don't sing, Jared.
1:35:38I just speak very eloquently, melliflessly, 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 fellow's name. I'm 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 gotta do stand up uh stand up 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 uh so whichever repos may be in the spectrum that he'd give stand-ups on pull back some linear details from like linear tracking their engineering practices or whatever.
1:36:18And I think maybe a couple more sources and then fed that to the LLM and the LLM, you know, messaged him via Slack personally, what he did yesterday. And I thought that was, you know, interesting, you know, it kind of 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 no need for stand-ups uh awareness but not stand-ups gosh and even like a standing stand-up every day is like especially in like 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 you know i think even then your mileage may vary it can be done well uh 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 that's uh i'm glad to not be pulled in to that because my my schedule is scattershot as it is it's like spread all all over the place i do a lot i'll 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.
1:37:52Maybe 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 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.
1:38:35So 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 livebook 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 a NERVS project. And that usually means doing Elixir development. So then you kind of hit a fork in the road.
1:39:23Do 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 elixirlang.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 nerfs 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.
1:40:23And 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 NERVS 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?
1:41:07Only 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.
1:41:48So 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 Nerve 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 Nrv'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 Nrv'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.
1:42:48It 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're 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 it's 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 you know migrate your mindset or you know just change what you're doing and now you're actually working on something serious versus like just this play world those are cool but you know when you want to graduate to the next thing it's it's already you're currently already in the in the professional mindset of being able to deploy serious stuff yeah and the 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 do you do 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 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 elixir 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 that's a minute loop maybe 45 second loop from yeah it depends like yeah it depends on your image size depends on your boot times but 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 pi's 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 open cv and some ml thing with this tutorial and it's like oh i have it all working okay let's 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.
1:45:30It's an entire desktop OS. And the next time you would install it, it would be different. But if you build a NERVs project, you have lock dependencies. So it's like, it's this version of NERVs, 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 um but if if you can build it you have your old working thing and you can just chip it.
1:46:21I talked to one of the NERVS core team members and he's like, yeah, I just realized I haven't updated this thing in a while. It's like on an eight-year-old version of NERVS and Elixir. It's 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, 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. 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.
1:46:59But rattle off a couple 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. them. Then there's underjord.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 So happy to talk over the air updates.
1:48:15And actually that extends to wider than just NERVs. 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 yeah it's been a while it's been a long time because you can't help it and uh stay even cooler as a person there you go all right bye friends bye losh bye friends bye now can you believe november's all but over that means we are just a few weeks away from our eighth annual state of the log episode which also means we'll be accepting listener voicemails real soon.
1:49:09So 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, Depot.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.
1:49:52And on Friday, our old friend Nick Neesey 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.
1:50:08Game on.
From the publisher
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.

