The Changelog: Software Development, Open Source - The world of embedded systems (Interview)

Episode Date: January 15, 2025

Elecia White, host of Embedded.fm and author of Making Embedded Systems, joins us to discuss all things embedded systems. We discuss programming non-computers, open source resources for embedded, self...-driving cars, embedded system like the GoPro, Traeger smokers, and even birthday cards. According to Elecia, embedded is going everywhere.

Transcript
Discussion (0)
Starting point is 00:00:00 What's up, friends? Welcome back. This is The Change Log. Yes, we feature the hackers, the leaders, and those building embedded systems. Today, we're joined by Alicia White. She runs the awesome podcast Embedded.fm. She's also an embedded software developer. She joins us to discuss programming non-computers, open source resources for embedded, mentoring in the world of embedded, self-driving cars, embedded systems like GoPro, Trigger Smokers, and even that musical birthday card you have.
Starting point is 00:00:38 According to Alicia, embedded is going everywhere. A massive thank you to our friends and our partners over at fly.io. Fly is the public cloud built for developers like you, like me, developers who ship. And you can learn more and deploy your app in five minutes at fly.io. Okay, let's talk Embedded. well friends before the show i am here with a new friend of mine scott deetson ceo of augment code i'm excited about this augment taps into your team's collective knowledge your code base your documentation your dependencies it is the mostaware developer AI, so you won't just code faster, you'll also build smarter. It's an ask-me-anything-for-your-code. It's your deep-thinking buddy. It's your Stan Flo antidote.
Starting point is 00:01:35 Okay, Scott, so for the foreseeable future, AI-assisted is here to stay. It's just a matter of getting the AI to be a better assistant. And in particular, I want help on the thinking part, not necessarily the coding part. Can you speak to the thinking problem versus the coding problem and the potential false dichotomy there? A couple of different points to make. You know, AIs have gotten good at making incremental changes, at least when they understand customer software. So first and the biggest limitation that these AIs have today, they really don't understand anything about your code base. If you take GitHub Copilot, for example, it's like a fresh college graduate understands some programming languages and algorithms,
Starting point is 00:02:14 but doesn't understand what you're trying to do. And as a result of that, something like two-thirds of the community on average drops off of the product, especially the expert developers. Augment is different. We use retrieval augmented generation to deeply mine the knowledge that's inherent inside your code base. So we are a co-pilot that is an expert and that can help you navigate the code base, help you find issues and fix them and resolve them over time much more quickly than you can trying to tutor up a novice on your software. So you're often compared to GitHub Copilot. I got to imagine that you have a hot take. What's your hot take on GitHub Copilot? I think it was a great 1.0 product. And I think they've done a huge service in promoting AI.
Starting point is 00:02:59 But I think the game has changed. We have moved from AIs that are new college graduates to, in effect, AIs that are now among the best developers in your code base. And that difference is a profound one for software engineering in particular. You know, if you're writing a new application from scratch, you want a web page that'll play tic-tac-toe, piece of cake to crank that out. But if you're looking at, you know, a tens of millions of line code base, like many of our customers, Lemonade is one of them. I mean, 10 million line monorepo as they move engineers inside and around that code base and hire new engineers. Just the workload on senior developers to mentor people into areas of the code base they're not familiar with is hugely painful. An AI that knows the answer and is available 7 by 24,
Starting point is 00:03:46 you don't have to interrupt anybody and can help coach you through whatever you're trying to work on, is hugely empowering to an engineer working on unfamiliar code. Very cool. Well, friends, Augment Code is developer AI that uses deep understanding of your large code base and how you build software to deliver personalized code suggestions and insights. A good next step is to go to augmentcode.com. That's A-U-G-M-E-N-T-C-O-D-E.com. Request a free trial contact sales, or if you're an open source project, Augment is free to you to use. Learn more at AugmentCode.com. That's A-U-G-M-E-N-T-C-O-D-E.com.
Starting point is 00:04:29 AugmentCode.com. All right, we are here with Alicia White from Embedded FM. Alicia, welcome to the Change Log. Hi, it's nice to be here. Nice to have you. See, you are on the other side of the microphone, so to speak, as a longtime podcaster. I think you've done 491 episodes, if the most recent one on your homepage is in fact the highest number. I think it's 492 today. Oh, so there must be a new one out today what's the most recent
Starting point is 00:05:27 octopus army oh i see it right there you know what i scrolled right past it to oscillators oscillating other oscillators which is a great title like you we like our titles to be amusing i love that yes and you're here today because of a Change Talk Plus Plus listener. Shout out to Andrew O'Brien, who pointed us in your direction, longtime listener of yours and ours, and thought, hey, let's get them together and have them talk. So we're thankful to Andrew for pointing us your way, and we're thankful to you for coming on the show to talk all things embedded.
Starting point is 00:06:03 That is my brand. That's your brand. I guess so. I never really intended it, but that's what it is. Well, you started a podcast called Embedded, so at a certain point you decided to embrace it at least. Actually, the podcast was originally called Making Embedded Systems, which is the title of my book.
Starting point is 00:06:22 But then everybody just kept calling it Embedded embedded and we're like, fine, okay. And then NPR came and said, we want to have embedded too. And we're like, no, it's ours. But actually we just said, can we please interview an actual NPR person? Because that would be so exciting. So that's what we did. Cool. What was their approach to ask you about having embedded? What does that mean? What's the backstory? you're like oh my god it's my big moment finally engineers are going to get to be on npr and we're going to get to talk about how exciting this all is and they're just like yeah so we're starting a show called embedded and we just wanted to know if you were like gonna have a problem with that and we're like we didn't trademark anything you've got to be kidding me anyway yes it was a huge disappointment and yet they did let us um interview uh kelly mckevers
Starting point is 00:07:28 and she was she had to keep leaving because like things were happening in other parts of the world that were actually important like during your interview with her yes yes she was in the npr studio and like she was like yeah I have to go people are doing things so now we're embedded or embedded FM so they also have embedded yes there's two embedded podcasts out there there are one is
Starting point is 00:07:57 about how engineering is pretty cool and how technology is interesting and how you can make cool devices that interact with the world and how technology is interesting and how you can make cool devices that interact with the world and the other is about all the depressing stuff that happens in the world well that's a sad dichotomy i hope ours is the former yeah i would say i was interested in that first one yeah sound cool to me you know what, what's interesting, I think, what I think embedded is, is this idea of creating, I would say more so in the last, I don't know, maybe since the Pi, the Raspberry Pi came out,
Starting point is 00:08:33 this idea of like, I can do things myself. I can take this small thing that is just a single board computer and I can learn to program or I can add servos. I can add, I can 3D print now because those are more ubiquitous. And I can start to make my own thing in the world. And the system I put on there is not necessarily connected to the internet or the rest of the world, but it might be through Wi-Fi or whatever. Is that kind of what you mean by embedded? Like this kind of world where you have standalone devices that are not really tethered via wire to the network, so to speak.
Starting point is 00:09:05 How do you define embedded? I like to say that I write software for things that aren't computers. Okay. That pushes the definition onto what is a computer. Yeah. You got my interest. Go. If you're working on servers, then developing an iPhone app is embedded.
Starting point is 00:09:24 But if you've been doing 8-bit microcontrollers, anything with an RTOS doesn't really feel embedded. So it is definitely a loose definition, but the whole software for things that aren't computers actually makes you think about your microwave and your car and your toys. If you have electronic toys for kids, there's a lot there. And it's huge. I mean, there's all the sensors that get interconnected for science and for industry.
Starting point is 00:09:57 And there's ICU devices. And I mean, I did actually work on educational toys and that was so fun so it's a big field that's a good explanation of it I was thinking a very simple one from my recent Christmas holiday we got my oldest son some e-drums so he has a drum kit as you can imagine an eight-year-old going on nine banging on some drums is cool. But it's also, as a parent, not always the appropriate time to bang on drums. And we want to encourage the obvious curiosity that is drumming. However, we also think that e-kits are cool because they're less loud,
Starting point is 00:10:36 and they're cool because they have this controller. It's not a computer, but it is a computing device because it has MIDI controllers and, you know, all these different sounds for drums. So you can choose the metal kit or the, you know, the E-rock kit. So it's got all these different drum kits in there. It's taking the sensing input from the microphone on the E-drum into the controller, into your headphones or your amplifier or to your tracking device and it's turning that into midi control sound i didn't think about that being you know like i guess i did but you know i didn't think about until this moment that's kind of like not a computer but also
Starting point is 00:11:14 kind of a computer that somebody wrote software for exactly and maybe maybe i could even write my own software for it if there was a way to. Is that part of what you do is embedded? It's like you start to find ways to add to the non-computer computer? Well, I mean, I do it as a career. So most of the time people bring me ideas and I help them build their systems. I may have taken apart a few toys. For sure. BB-8 was one of my favorite ones when it first came out.
Starting point is 00:11:52 Figuring out how to get its IMU data and maybe control it so that it did weird things. That was fun. So I don't do a lot of hacking and reverse engineering except for my own amusement. But the same tools are necessary. The way that I reverse engineer a device is about basically debugging it without the code. So what are some non-computers that you've programmed? Well, I have a autonomous underwater vehicle that I worked on last year and it wanders around its area. For example, one is in the Monterey Bay in California, and it checks in with all of the various sensors
Starting point is 00:12:32 that are on the seafloor. I also have worked on some of the sensors on the seafloor, measuring when we get big rainstorms, it changes how the mud moves. And that is really hard to monitor. So they dump a couple of smart rocks down there that have to live for years and years. So battery is a big issue. And it's not like I can go down there and push buttons and say, update the firmware.
Starting point is 00:12:59 Smart rocks? Is that what you call them? Smart rocks? Smart rocks, yes. Wow. Okay. Never heard of that. And then when something happens, when there's an event that causes a mudslide or some weird currents happen, it monitors and it reports back to the little vehicle that wanders around the bay and picks up all the data from all the sensors.
Starting point is 00:13:19 So, I mean, those aren't entirely my projects. Those are working with the Monterey Bay Aquarium Research Institute, which is awesome. And they do lots of science and ocean-based technology. Let's see. What else? Can't top that one, can you? Well, I worked on a gunshot location system where you sprinkle sensors and microphones around the city and automatically call the police when there's a gunshot oh that's cool that's been that was really cool technology and had some
Starting point is 00:13:53 amazing applications i'm kind of glad i left i mean there's there's the whole i mean i i am comfortable with the level of privacy associated with it but i am less comfortable with how the company started being run children's toys that was fun i got to take some of my toys to a kindergarten um just volunteering and one of them that i hated. It was a karaoke and it was the most annoying toy. It would just sing constantly. And there was a voice changer that did not make anybody sound better. And I thought it was a dumb toy. I was way more interested in this other toy that helped kids learn to write. And I would take the toy to the kindergarten and kids would play with them and I'd watch and it was fun. And then one of the boys who was kind of behind asked if he could take the karaoke home.
Starting point is 00:14:52 And I was like, good riddance. And a week later he had caught up to his class. He had been really behind. But because singing was the way that worked for him,95, 98, well anyway, once when DNA scanners were really cool and very hard and more recently when like you can just make them on your desk. That progress has been just phenomenal and amazing. What else have I worked on? I worked on inertial measurement units, which used to be the way when I worked on them that I would make anybody I was sitting next to in a plane just stop talking to me. Oh yeah, I work on inertial measurement units. I could have said, home insurance, are you interested? No, no, no. Inertial measurement units was so good. People were asleep by the end of the words. But I didn't tell them what I was doing on this airplane.
Starting point is 00:16:15 I was going to a racetrack so that we could test them on high-speed vehicles or airplanes or any of the other places where inertial sensing becomes really interesting. This was the day before Wiimotes. And so the whole idea of accelerometers and gyroscopes as being interfaces was very different then. Now you flip over your phone and it turns on and that's what you expect. But how does it even know? I think sensors are probably my favorite area of embedded systems right now. You've done a lot of cool stuff. How did you get into this world? By accident. I mean, isn't that how it usually happens? Usually.
Starting point is 00:16:46 So in college, I took applied CS courses because I couldn't see the point of the theoretical ones. And theoretical engineering because I didn't really like any of the actual engineering. And what that gave me was Fourier and signal processing, as well as the ability to develop products. I went to HP and net servers, big then cloud computers, and kept getting lower and lower into the hardware, monitoring temperature, the things that we monitor now in cloud servers. We were just starting to put in temperature sensors and alerts when things were happening instead of just the bad old days of having computers that ran or they didn't or they caught on fire.
Starting point is 00:17:35 And you found that out by going in. And as I kept going lower and lower in the stack, eventually I wandered over to HP labs and that was when we made DNA sensors, DNA scanners. And I didn't know what I was getting into. My boss was just like, my perspective boss was like, you'll really enjoy this. I promise. And I was just like, HP Labs, that is the best location ever. And the first time I moved a motor, because I told it to, not just because I powered on it or something, but the first time it was under my control, it was magical. It was like software can touch the world. Software can change physical things.
Starting point is 00:18:25 It's not just zeros and ones. It's move this here, read what's actually happening. That physicality of embedded systems is what got me into it. And that's what's kept me there. I really like, I mean, not blinking lights. A lot of people get into it for blinking lights. A lot of the hobby things are blinking lights and I appreciate it. I hate blinking lights,
Starting point is 00:18:50 but I appreciate their enthusiasm. But for me, it's, it's touching buttons and having things happen. So that's how I got into it. But it is, I, I found out you can actually write software that
Starting point is 00:19:07 changes things and not just other software that uh that moment of discovery is the fun part right like when you like get that oh man I had no idea that's what that really meant you know like when you kind of get that taste and it sparks this like perpetual curiosity, I would say, because that's, I mean, mine is not as cool as yours. I was writing CSS and my mom was like, and I was doing a blog because I was far away from home. And she was catching up with me and my life via a blog back, gosh, 2003, I want to say 2004 and she was like you are good at this you should keep doing it because my mom said that I'm like okay this is
Starting point is 00:19:50 kind of cool I should probably keep doing this and that's kind of like where my curiosity in software development began was just like learning CSS but that initial moment is so strong teaching people it's always amazing to get to see that moment or to see part of it.
Starting point is 00:20:07 I like mentoring folks in hopes that I can be there when it hits. On platforms like the web, it's so easy. You can get to that moment in minutes because you can load up their favorite web page and show them how to open up the dev tools and change the background color or something or delete a line and the title disappears. And you see that aha moment very quickly. And I know in embedded systems a lot of times now it's the blinking lights, right?
Starting point is 00:20:39 It's the Arduino or whatever it is. And that moment of turning a light on, that's so cool. When you mentor, when you teach, what do you do? How do you get people to that moment? What do you show them? And how long does that take? Because it has historically been considerably more steps in Embedded than on platforms like the web.
Starting point is 00:21:09 Yes. more steps in embedded than yeah on platforms like the web yes i mean teaching now there are some simulators uh there's one called walkwee w-o-k-w-i and it's it will simulate an arduino and you you can program it under c or arduino MicroPython, lots of interfaces. And it takes out that pain of wiring, getting the wiring wrong, blowing it up, all the things that can happen with embedded systems. It also takes away the pain of cross-compiling. But in the end, it's on the web. And I agree. it's on the web and i agree if if you just if you want to see that coding can do more than just it's not just typing it's doing things it's doing cool things um changing web pages and
Starting point is 00:21:57 interacting with simulators is totally the way to go but yeah yeah, it is sadly a little bit of a step function with some of the embedded systems. Trying to get from, I opened a box to I'm doing something. If anybody wants to try it, like wants to try it today, we've said Arduino. Arduino is really great. It was the system developed for helping artists do installations. And so the whole system is very directed towards art and making things accessible that way. They don't expect you to have 20 years of C experience. The other one is one of the micro Python boards. That one, Python's a pretty easy language as far as languages go. It's not C and it isn't compiled.
Starting point is 00:22:54 So you can try stuff on the command line and you get a micro Python board, you plug it in and it acts like a thumb drive. You just take your Python file over, put it on the thumb drive. And then there are all these things like motor dot run, and suddenly it runs. And at that point, you do have to have things wired up. But there are a lot of kits for the MicroPython. And it's a good way to get started. And with MicroPython or CircuitPython, which are very similar things, you can get started right away making bigger and bigger things. Arduino, I love Arduino. There's a lot of Arduinos. There's a lot of good things you can do with Arduino.
Starting point is 00:23:34 But it's an old system and it's really expensive for what it is. So I would recommend MicroPython for the future. I pulled up the walkway and I'm a couple layers deep while you're talking. And I'm on the walkway for VS Code and I'm like, wow, this is so cool that you can, I mean, you can do it in the web too,
Starting point is 00:23:56 but like a lot of people are really they're happy in VS Code. I'm not unhappy in VS Code. It's not my favorite, but it's certainly a quite usable code editor and i think it's a great platform for a lot of people so the fact that you can have the another tab next to your code in vs code and it's walkway and you're kind of like programming you know in software what could be future hardware and learning that's so cool like
Starting point is 00:24:23 i've personally been intimidated by i suppose like hardware coding like this or things that like that do stuff that isn't software because i don't know how and i suppose everything's find outable right the word find outable but i just haven't found out or had the time to find out so the the burden and the hurdles to start in the way that I want to start seem so high. This Walkway thing seems so cool. I feel like it might be a bit more accessible now. It's a great system. Uri Shakad is the developer and he's very responsive and they've got a discord it's really fun and we
Starting point is 00:25:08 have an episode about it if anybody wants to look up that the other and i i feel here for how do i get started without breaking everything um adafruit and spark front sparkFun are two companies that are for hobbyist electronics, and they both have boards you plug together. You're not going to solder these. I mean, you can, but the goal for them is you just click these things together and you don't have to worry about that. Am I providing enough power? Am I going to cause a small fire if I leave this on overnight? So Adafruit and SparkFun are the places to go to find these things out. They both have a really great tutorial system as well. So if you're thinking about getting into it, it's a good place to go.
Starting point is 00:26:00 On the other hand, Wakui lets you do things like have a robot army that you control from an arduino because you can put in 500 motors and walk we doesn't care if you do that in real life you're talking about a lot of power and figuring these things out but if you do it on walkway it's all just really fun i like the idea that one, one, it is software, so you can scale, just like you said, right? Which is a great thing, but at the same time, it's like, well, this isn't real. It's, you know,
Starting point is 00:26:33 software, but the moment I feel comfortable literally buying or spending my cash on some hardware and some wires and a kit or whatever it might be, I can take the thing that I've been playing with, iterating on and get like every other software developer is doing. And I'm learning the software development skills.
Starting point is 00:26:51 But now once I've kind of gotten to the point where I've got my really good version that I want to really make in the real world, I can translate that to, it seems like at least translate that to real world. Now I've written the software for it. Now all I have to do is just pair it up with real hardware versus this software version. Yes. Yes, indeed. That's so cool. That's dope.
Starting point is 00:27:13 I had no idea it existed. How big is the chasm between I'm able to use a simulator in Python or maybe it's even in C, or I'm even able to get something onto some device and have it do stuff and your world of I'm writing professional embedded software for autonomous vehicles that go underwater and sense things like how big is that chasm encouraging everybody come to embedded says it's not that bad
Starting point is 00:27:47 you just read my book it's all fine right real me um the real me has to admit that over the air updates are never going to be easy security is never going to be easy low battery all these things where you have like in toys where you have to shave off pennies so you end up with a processor that should not be able to do this much but you are packing in every every piece of ram every cycle is spoken for and that optimization it's people bring me their arduino projects and they say it works all the features work most of the time and i look at it and see all of the things that isn't going to work usually there's like i just want it to connect to the internet so i can get the data back. It's like, okay, so you have to have a database for
Starting point is 00:28:49 the data you want, the cloud data, the cloud data of interest. But you may also need to monitor the devices to make sure that they check in. What if this is a medical device and you need the user to be using it? So if they aren't using it, you need to know. And then what if it's had some faults? What is the failsafe? Can you actually hurt someone? What firmware version is it on? And these are all cloud problems. But these are cloud problems that have to be solved with the device.
Starting point is 00:29:27 And as you scale from one or two or three devices in your house that you're playing with, that you're building, or even 10 devices in your tiny startup office into thousands or millions. I worked at Fitbit, and this was a huge problem as they scaled. Oh, I mean, orders of magnitude. That database became bigger and more people had to access it. And yet you don't want someone to know where President Obama is right now because he tends to wear a Fitbit watch. That's the sort of data you don't want to get out. And yet you still need to know if every device is up to date and if their batteries are degrading more quickly because on the new firmware. Yeah, there's a lot. There really is a lot. It's not insurmountable. And there are
Starting point is 00:30:22 companies all the time that are trying to make it simpler do they succeed some of them um some of them succeed pretty well but it's never sometimes i talk about it being lego blocks like i used to have to develop a lot more stuff but now i get my drivers from whatever repository i'm working. I get them from the chip vendor or from the RTOS vendor. I don't have to write drivers anymore. And other pieces of code like IMUs, most of that code comes from somewhere else. I used to have to write it. I don't anymore. It's really nice.
Starting point is 00:31:00 But there's still this shimming of it together to try to get it all to work together, given the time constraints or whatever other limitation there is to the embedded system. I guess that's another way that I have defined embedded systems is that they are purpose- a lot of extra resources. Whether it's needing to live underwater for five years on one battery, or whether it's needing to live in your pocket overnight on one battery charge. They don't have extra stuff. And that causes a lot of problems when you need to do extra stuff. And that causes a lot of problems when you need to do extra stuff. Well, there's a sideways application of Parkinson's law here, which, you know, Parkinson's law is the one that the scope of a project will expand to match the time allowed for the project. Something like this. That's a bad paraphrase.
Starting point is 00:32:03 And I was just teaching my kids about budgeting this morning and I was talking about how if you're not diligent, that your lifestyle will expand to match the size of your income, right? Sometimes beyond. It's just kind of a human nature thing. And I think our software expands to match the size of the hardware that it's running on. To use every last bit. And it's allowed for many of us,
Starting point is 00:32:26 web developers like myself included, to be lazy and do things the easy way, the fast way, the cheap way. But in that embedded world where every resource counts and it's heavily constrained, you must have to know all of the optimizations, all the little tricks, the way to manage your memory so as not to
Starting point is 00:32:52 bloat or leak. Do you like, I mean you must like that I mean it's literally a constraint. Puzzle. The challenge of, yeah it's a puzzle. To many of us that would be a huge bummer, you know, because it's hard and there's things to do, but you must like puzzle solving a lot. I do. I do. I really like puzzle solving and I'm not super afraid of math. So if I need to add up where all of my memory is going or be able to look at a memory map file and see hex addresses, those don't really scare me.
Starting point is 00:33:35 I know that they're just addresses. They just look funny. But I really enjoy the puzzle part. And like I said, I really enjoy the puzzle part. And like I said, I really enjoy the motor moving. And when the robot, for a personal project, I wanted to do some higher level software. So I got a Jetson, which is NVIDIA's AI embedded system. It's a Linux system.
Starting point is 00:34:04 It's a computer. I used it as a computer for like two weeks. And I wanted to get a really janky arm, a robotic arm that could go up and down and grab things. And I wanted
Starting point is 00:34:19 to make a typing robot. I wanted to have a camera that would see the keyboard and then the robot would hold a little, I don't know, pin tooth like thing and it would punch out hello or whatever I told it to punch out. And it kind of worked and I used some machine learning and I did a lot of computer vision, which is an area I'm always interested in. But then one day I'm telling it, okay, type hello. And it types help. And I'm like, done. I'm like, this is the end of this personal project. I cannot make it any better. This is the best. And I forgot why I started this
Starting point is 00:35:03 story, but I hope it was amusing. Well, I'm wondering maybe if it wasn't a Fiona moment. My friends who are big fans of a very awesome TV show called Silicon Valley will know what I'm talking about. Because in this episode, spoiler for those who haven't watched it yet, she asks for help.
Starting point is 00:35:20 She is a robot. She needed help. I'm wondering maybe if your robot needed help. It might have. It certainly did. It was in the way of how much software can I throw at a problem to make the hardware that is very bad better. It turns out you can throw a lot of software at some bad hardware
Starting point is 00:35:42 and it still is bad hardware. But it can be really fun what's up friends i'm here with kurt mkey, co-founder and CEO of Fly. As you know, we love Fly. That is the home of changelog.com. But Kurt, I want to know how you explain Fly to developers. Do you tell them a story first? How do you do it?
Starting point is 00:36:14 I kind of change how I explain it based on almost like the generation of developer I'm talking to. So, like, for me, I built and shipped apps on Heroku, which if you've never used Heroku is roughly like building and shipping an app on Vercel today. It's just it's 2024 instead of 2008 or whatever. And what frustrated me about doing that was I didn't I got stuck. You can build and ship a Rails app with a Postgres on Heroku the same way you can build and ship a Next.js app on Vercel. But as soon as you want to do something interesting, like as soon as you want to, at the time, I think one of the things I ran into is like, I wanted to add what used to be like kind of the basis for Elasticsearch. I want to do full text search in my applications. You kind of hit this wall with something like Heroku where you can't really do that. I think lately we've seen it with like people wanting to add LLMs kind of inference stuff to their applications on Vercel or Heroku or Cloudflare or whoever these days, they've started like releasing abstractions that sort of let you do this,
Starting point is 00:37:09 but I can't just run the model I'd run locally on these black box platforms that are very specialized. For the people my age, it's always like, oh, Heroku is great, but I outgrew it. And one of the things that I felt like I should be able to do when I was using Heroku was like run my app close to people in Tokyo for users that were in Tokyo and that was never possible. For modern generation devs it's it's a lot more Vercel based it's a lot like Vercel is great right up until you hit one of
Starting point is 00:37:33 their hard line boundaries and then you're kind of stuck. There's the other one we've had someone within the company I can't remember the name of this game but the tagline was like five minutes to start forever to master. It's sort of how we're pitching Fly. It's like you can get an app going in five minutes, but there's so much depth to the platform that you're never going to run out of things you can do with it. So unlike AWS or Heroku or Vercel, which are all great platforms, the cool thing we love here at ChangeLab most about Fly is that no matter what we want to do on the platform, we have primitives, we have abilities, and we as developers can charge our own mission on Fly. It is a no-limits platform built for developers, and we think you should try it out. Go to fly.io to learn more. Launch your app in five minutes. Too easy. Once again, fly.io.
Starting point is 00:38:33 I'm curious about the possibilities of embedded systems. Jared, maybe your question regarding the chasm is, if I begin, how far is that dip, so to speak? How far is it from beginner to potentially professional? How big is this embedded world? Is it an underserved world? Is there a lot of opportunity? Is there one place to go to learn? Is it all in university or college? How do you get to be a pro? And if you do become a pro or someone who's professional, earning their money and career via this route, is it big? Is it expansive? Is it growing? Yeah. You might've noticed that your home has more blinking lights
Starting point is 00:39:12 than it used to. Yeah. I'm sad about that. Electrical tape. There you go. It is growing. Some things are becoming easier. Some things are becoming more straightforward. But I see more job openings than people looking for jobs. So I would say that's pretty good. because, like I said, what is an embedded system depends on your perspective. There are quite a few embedded Linux projects that still are embedded because they need to be very conscious of their constraints. And yet, to most software engineers, it wouldn't look that different. It might be boring because it's trying to figure out how to provision 100 small sensors with IP addresses, but the actual algorithms and such wouldn't be strange. It would be the interactions that
Starting point is 00:40:16 were a little different, having to deal with actual boxes out there. But then when you start getting into higher, I guess it's lower tolerance, things where you have to last for five years or have to squeeze out every microamp possible or even things where firmware update is very hard and if you do it wrong, things go very bad for you.
Starting point is 00:40:44 Like firmware update at the bottom of the ocean. Those, you don't start with those. I think that's what I need to say is there are better places to start. And there are a lot of things that software engineers know that embedded software engineers are still picking up. We are not really that good at CICD If somebody could just tell us how to use Jenkins instead of making us figure it out each time, that would be great. I mean, that's not, I use Jenkins, but it's not, some of the software engineers I work with, Jenkins is just
Starting point is 00:41:21 like obvious. Every part of it is obvious. And to me, it's like, I can do what I need to do. And when you ask me to set up a new project, I just go home and like, I don't know, turn off my computer for the rest of the day. Design patterns was one of those things that I really wanted to bring to embedded systems. And I feel like I have kind of talked about it for the last 20 years about how important it is to not keep solving the problems in new ways, but to start solving the same problems in the same ways each time so that we don't have to rewrite all the code. And things like object-oriented programming, it's not new. And a lot of embedded people really understand it. And yet we mostly program in C still. I know.
Starting point is 00:42:14 I know the gasps, the horrifying screams, yes. We still mostly program in C. But we don't usually program in an assembly anymore. We're making progress. There you go. There you go. Yeah. So what about open source? and assembly anymore. We're making progress. There you go. So
Starting point is 00:42:25 what about open source? Has that permeated your crew? Yes. There's open source. I mean, the vendors of our chips have figured out that they don't
Starting point is 00:42:42 really want to keep giving us their crummy software in ways that only they can manage it. So like ST and Microchip and Nordic all have big repositories and they have examples of working with different sensors. They have all the drivers there. And then we have things like Zephyr, which is an operating system that is kind of like you took Linux and you made it much smaller. And then instead of anything you could run at runtime, you hardcoded it at compile time, which has some interesting things. The device tree is one of those things that most people in their first three months of Zephyr experience will start cursing. And once you have, yeah, so Zephyr is huge and FreeRTOS is now open source.
Starting point is 00:43:38 Walkway is open source. Most of it, I think. I think there's just a little bit that isn't a lot of like the sensor vendors like uh the imu vendors will give us code and sometimes that's partially open source and sometimes it's not but the easy stuff now the kalman filters that used to be so complicated now that's code they just give you. They tell you how to do it. What's that? A Kalman filter is a way of...
Starting point is 00:44:11 I could talk about this for like three hours. I'm trying not to. Okay. Accelerometers and gyroscopes. Accelerometers measure gravity. They measure acceleration too, that's what they say,. Accelerometers measure gravity. They measure acceleration too, that's what they say, but really they just measure gravity. Gyroscopes measure spinniness, how fast you're turning. And it doesn't really matter whether you're spinning around a certain thing or whether you're spinning around part of a thing. So you can measure how your arm moves
Starting point is 00:44:43 with a gyroscope. It's not like it has to go around and around. It's just how much is it turning. When you are in a car and you're going around a cloverleaf as you're spinning around. An inertial measurement unit can use both of these sensors and know which one is wrong. And it's kind of like your ears and your eyes. If you are spinning around in a circle and your eyes are closed, you're going to get dizzy much faster than if your eyes are open. A Kalman filter is a way to combine sensors with different error features, different error characteristics into a way to get a much better response because
Starting point is 00:45:38 you can characterize the error when nothing's happening. Or you can characterize the error in certain conditions where you know one is good and one is bad, like on a cloverleaf. Gotcha. And so the vendors of the device would provide like a set of filters for you to use? They would provide the algorithm, yeah. And they would provide the base code
Starting point is 00:46:03 for how good each of their sensors are. Okay, because they've done those tests and they understand the sensors and their error rates and these other things. Exactly. Better than you do. Better than I want to. Yeah, I mean, after a while you may understand them better than they do. But those used to be closed source or they used to be unavailable to you. And now they're just provided.
Starting point is 00:46:29 In 1990, it was a patent I worked on. So you helped invent these things? Well, no, I helped implement them. Okay. It was came out of a, and to be fair, a lot of people started doing IMUs and Kalman filters in the early to mid nineties. And it exploded as to the applications and, but a bunch of PhDs were done at that time. And so they became very, very popular because they solve the inertial measurement unit problem pretty well.
Starting point is 00:47:07 And now they solve a lot of other problems that involve a bunch of sensors. Usually when we talk about self-driving cars, the GPS has one set of errors. Mostly it's really slow. The LIDAR or camera can have another set of errors and it provides a different set of information and the different types of Kalmans can put all of these together. And the idea is just you put the errors here and you put the data here and you try to make the best out of the bad situation you have. Gotcha. So you mentioned self-driving cars and you mentioned lidar so i have to ask your take as an embedded person on tesla's proposition that they can get to autonomous or whatever level you need to get to with cameras only and And then Waymo's using LiDARs. Other people are using LiDARs.
Starting point is 00:48:06 How important is the LiDAR? Do you think? Pure opinion. Versus having a bunch of cameras and letting that be your only input or your only data streams. I can't picture doing it only with cameras. That's what a lot of people say.
Starting point is 00:48:25 I mean, the argument is humans do it only with cameras. That's what a lot of people say. I mean, the argument is humans do it only with cameras. Right. Like all we have is eyes, right? But we have a few other things. Such as? Our eyes and our inertial measurement units are very well connected. Okay. So there is no disconnect that if you jerk the wheel you know what your vision is going to do
Starting point is 00:48:48 okay i'm tracking you and as a human i just cities cities and self-driving cars i worked on autonomous vehicles and not just underwater but uh self-driving uh large off-road vehicles. And we did it almost entirely with cameras. But part of our goal for the future was dealing with stop signs and pedestrians. And I spent a lot of time with the machine learning systems and the reinforcement learning systems. And it's a hard problem. And I don't know how they're going to solve city driving in a way that is truly safe and doesn't have systemic failures. That's one of the problems with medical devices.
Starting point is 00:49:42 When we talk about doing embedded systems and medical devices, it's usually there's some element of, oh my goodness, there's so much documentation. There's so much documentation the FDA needs. And that's primarily to make us understand the ramifications of the points we're making. And the reason for that is because, oh, I've started this in the wrong place. Okay, moving backwards. If you work on airplane stuff, there are different levels of concern. If you take down a small airplane, a Cessna, it may crash into something important like a school, and so you have a certain amount of damage you can do with a small plane.
Starting point is 00:50:24 Sure. You have a much bigger amount of damage you can do with a small plane. Sure. You have a much bigger amount of damage you can do with a larger plane. Medical devices are a little confusing because, and I want safety critical devices, medical or vehicles, have a problem that you can have thousands of them in the field when they start to fail. And so your problem is not that you have hurt one person. Your problem is that your software has decided that the 29th of February is not a real day and has gone nuts and is now on its murdering spree. And that's what you need to
Starting point is 00:51:01 avoid. And so the thing with cars is that we keep trying to make them better in small ways but i feel like we've kind of reached a local minimum that we're not going to get better with just cameras i'm not even sure we're getting it better with just a lidar but i don't know how to build in that feeling of where the car is, the proprioception that you get as an experienced driver. I'm afraid that cars will drive like 16-year-olds forever. And I don't know that that's what we want. Yeah. As an outsider who I'm not sure I would ever even venture into the world of what it would take to be on a team that creates autonomous cars. I'm just, I would, I'm a fan from afar.
Starting point is 00:51:54 Let's just say of the idea. Me too. I like the idea. But I think it's, this is layman. This is from the outside. It seems perpetually flawed because it's not a closed system. There's so many, there's just so many flaws in the system that you can almost never predict.
Starting point is 00:52:12 You can predict a lot of the various ones, but you can't predict all of them ever. And because it's not a closed system that you control, then it seems like you're perpetually going to be flawed. Like no matter what, there's always going to be something that changes the game, potentially catastrophically, that you can't circumvent.
Starting point is 00:52:31 As a human, you can't do that either. Right. Yeah, I think your point about the horizontal scale, Alicia, if that's just the way I'll say it, is that we have crazily bad 16-year-old drivers, but it's not like at a specific moment in time, you know, this percentage of all cars on the road are going to turn into that. Like the error that happens spread across a fleet of cars
Starting point is 00:52:59 all running the same software, for instance, that makes the same mistake all at once is catastrophic. Of course, you know know the famous or infamous i think this was the one that the first tesla that killed somebody that was in fsd mode was because it came over a hill and the sun was coming up and the sun shone into all the cameras at once i'm just just giving my depiction of what happened. It's roughly that. And the thing, I mean, it couldn't handle it. Well, of course a human couldn't handle that either because your eyes are completely blinded. And so likely maybe the same result in that one instance. But if something like that happens across 50,000 cars at the same time, that's a,
Starting point is 00:53:41 that is a catastrophe. Of course, it's a tragedy when one person dies. But when this fleet suddenly goes bad, I mean, the stakes are way higher, right? Yeah, I mean, I've been that human, Jared, that's coming up over a hill with the sun. You're 16? Well, not even at any age, really. I mean, period.
Starting point is 00:54:02 As even a good driver, I would say, a marginally good driver, I think I've had the most recent accident I had, which is like the one I didn't cause, the deer hit me. And this was like a year-ish ago. Some things can't be avoided. And this deer wasn't like random at nighttime when you would think a deer would be out. It was 9 in the morning in town, like where other cars were at. It wasn't the time when deer should be out it was uh nine in the morning in town like where other cars were at it wasn't
Starting point is 00:54:28 the time when deer should be running necessarily he was looking for your car ran right into me and then the other time uh was geez probably 20 years ago and it was just wet and i just didn't stop in time like i stopped but my car decided to skid because that's what happens. Sure, I could have been paying a little bit better attention, but I'm a pretty good driver. This is the point of the last
Starting point is 00:54:54 45 seconds. That's the point you're trying to get across? I'm a pretty decent driver. But I've been in a scenario where the sun has completely overtaken my vision completely. I do been in a scenario where the sun has completely overtaken my vision completely. I do recall in seconds beforehand what was in front of me. And so I went now from literal memory with confidence of my next driving maneuvers straight, right? And around the bend a little bit.
Starting point is 00:55:23 Because I was going from my memory before my sight was taken away. In the case of the cameras, the thing freaking out, I don't know what happened there. Maybe it was like a literal panic mode. But in my own body, I had a panic version. But I just didn't crash. There was no Adam BSD or BSOD. It was just a continued driving. It was safe. One of the reasons why I've been tentatively positive about this
Starting point is 00:55:45 progress is because of how many accidents there are and because how distracted and bad we are at driving, even though we are amazing, Alicia, to your point about the actual physicality of observing the world that we're in and that connection between our hands and our eyes being just grounded in, I don't know, biology. We're pretty amazing computers, but I don't think these cars have to get so good to be better than us because we have so many failure rates already. The failure rate's very high. That being said, it does seem fraught. It's always been, it's 18 months around the corner for the last 10 years. There's progress being made.
Starting point is 00:56:30 I mean, Waymo is opening in new cities. It seems like maybe a city-by-city rollout. And I believe they have LiDAR involved as well. Is working. They also, I think they have a call center, I believe, and I could be spreading fake news, but I think they have actual humans, not in the loop,
Starting point is 00:56:49 but available in order to take over a car if need be. That seems like a good fail safe. There's progress being made, but it does seem like, I don't want to call it an impossibility, but at this point, I just don't feel like we're close.
Starting point is 00:57:04 Can we go back to my idea of this closed system? Is that even a possibility? To your point, Jared, can we create a closed system? Freeways and trucks. Self-driving on freeways and trucks, I think, is a better possibility. Freeways have a much smaller number of things that can go wrong and it is more of it's not a closed system right but it is a differently constrained system right and a smaller problem set i mean if if they had their own roads it would be much simpler then it would be truly closed
Starting point is 00:57:38 and in the meantime i think we can get closer on freeways more than anything. I mean, there have been a lot of, most of the new cars now, we'll have lane keeping and keeping up with the person in front of you. All of the things that the initial full self-driving Tesla did, we can do now in you know my new bolts it is progressing whether or not we call it self-drive or if we just call it new safety features yeah i think it's getting there and i like the idea of a closed system but at some point you do go back to being a train and so you're laying track or laying pavement that can only be used by this form of self-driving.
Starting point is 00:58:30 Right. Some sort of guardrail, parameters, boundaries, something that says this is where you should be. And if you're not here, then you can no longer operate or something changes to no longer be the danger possibility, so to speak. We'll put sensors in the roads. We'll have it monitor the car in front of you and humidity conditions. And then the sensors in the roads will talk to the cars. Wait, wait, let me scribble this down. I need to invest in a smart rock company because we're going to be selling a lot of smart rock.
Starting point is 00:59:06 Well, as we're knee deep in this conversation, I was just thinking, you know, one of the most probably globally known most people have bought one at least one point in their life or want one, an embeddable system is
Starting point is 00:59:21 like a GoPro, for example. Like that dude who founded that company was just surfing it's like man i would love to film this and he went away and did his thing and now gopro exists and i'm just thinking like wow this must be a proving ground for not just innovation but potential future founders like this seems like a good place to go and not so much get rich but like change the world in dramatic ways i think gopro has changed the world in dramatic ways it's given you uh let's just say uh a camera view obviously of something dangerous but then you have that gopro effect like oh that doesn't look that
Starting point is 00:59:59 steep until you get there you're like that's pretty steep you know like that's this embeddable system world seems like if you want to go and invent something that this is a place to go and invent something because it's real it's physical yes um there are lots of times when it's like i have a problem i know how to fix it because i know how to wire things together but i also have that same feeling in software that sometimes I can invent something just pure software. I do origami and I write Python scripts.
Starting point is 01:00:40 I write very long and complicated NumPy scripts for doing origami. And I love that. That's crazy. What do the scripts do for you? They create crease patterns, which I can then use a laser cutter or Cricut or other device to pre-score paper. Then I can fold along wavy lines, which will give me origami that is is not flat that is patterned in weird and wavy and organic methods does this exist in the world like can you do that can you go buy that product right now no well then
Starting point is 01:01:16 you just invented something do you do you I mean you there's curved origami out there yes yes there are other people who do curved origami It's just a world that I've not been introduced to, so I don't know what exists. Yeah. But yours is custom curved origami that you want to make. Yes. And so your scripts give you the crease lines. The scripts give me the crease lines.
Starting point is 01:01:39 And they let me combine straights and creases in order to get tucks and weaves. And I will go off the rails here. Go off the rails. No, you're allowed. We're with you. We are with you. I'm listening.
Starting point is 01:01:57 Adam was saying how you can invent things. Yeah. And I think you can invent things in software too. And it's some of the same impetus that you invent them because you want them. I had a stuffed animal that would Wi-Fi to another stuffed animal, Wi-Fi through the cloud to another stuffed animal, and when you padded it, the other stuffed animal would light up and you could you know you could have this this sort of communication to someone else what the other animal do i would pat mine and theirs would light up they would pat theirs and
Starting point is 01:02:35 mine would light up i see so there's like a it was a good good night sort of yeah for maybe for like brothers you know they're in different rooms like good night brother kind of thing you know not walkie talkie, it's more like I'm petting mine, you're petting yours. Right. You just know that somebody else is there doing something as a connection. Because it's a two-person system. Yeah, it's a peer-to-peer with two peers. Well, this actually went through the cloud, so it was more like you're in college and you're telling your parents you're going to bed. Yeah. That's cool. Yeah. All kinds of just, just yeah two people connecting quietly i just like i think i'm liking this idea more than we're talking about i mean i've always liked this idea but
Starting point is 01:03:11 this idea of software paired with hardware that creates these newer experiences that isn't software only like an iphone or a computer screen or a browser software which is like maybe that's the kind of software i'm thinking of but then i'm also thinking like not just that gopro but i use so if you didn't know this alicia i'm a i like to barbecue and so i own a trigger a trigger is a smoker but it's basically a computer it's an embedded system right somebody wrote software to have sensors that says, how many pellets should I push through to maintain this temperature? What temperature is it in the ambient? What temperature is it at the burner?
Starting point is 01:03:58 This thing that I just push the button, turn the dial, set it to 275, and wait an hour or two, that's a computer, an embedded system, that somebody invented. Because they were like, well, doing it with the old, you know, wood method was too cumbersome. It wasn't ubiquitous enough because too many people didn't want to tend to fire, you know? And so now triggers exist as a smoker to give way more people access to push button oven light control of a barbecue system. That's crazy. I never really thought about this trigger as this embedded system until this conversation obviously it is but like i never thought about the fact that i could have made that you could have made it if the things were more accessible
Starting point is 01:04:34 and i think that's a lot of this conversation like how accessible is this technology to to people to to lay folks like jared and i or we're seasoned in software development but not in embedded systems necessarily but with an Arduino or or one of these little micropython circuit python boards think about what you would need to do you would you need to okay so like mentally build the system architecture you need to push pellets you need to be able to tell time and you need to push pellets, you need to be able to tell time, and you need to monitor temperature. If you went online and looked up, how do I get a thermistor? How do I tell temperature? Really easy.
Starting point is 01:05:17 That would take you three minutes. Wiring, it's going to be easy. Powering, it's going to be easy uh powering it's easy doing the timing um a little bit of research on that will probably turn up that you know you don't care whether you're doing two hours in one minute or one hour 58 minutes so you don't have have a big constraint between really good time versus kind of crummy time either way, as long as you're around two hours. And now you have to figure out how to push the pellets in, in a way that's probably metal because you don't want it to burn in plastic. You're not going to 3d print this. And now you need a motor subsystem. And that's where things get a little complicated,
Starting point is 01:06:06 but motors are very common. And you can buy the kit that just says, I want you to move here, and I want you to move there. And so you push the pellets in. Maybe you have another door closer thing. Now you're getting into mechanical. And I do get intimidated by mechanical, but you have another door closer thing. Now you're getting into mechanical. And I do get intimidated by mechanical, but you have a unit that works. You can start to look at it and see how does this work? What are the mechanical pieces that I need to be able to push and close doors and scoop pellets? And it becomes you want to build this so you build each piece and then they all
Starting point is 01:06:48 work together and then it's done and then you want to do firmware update and you call me yeah yes it seems like the you said you get intimidated by mechanical and it seems like the pusher would be the the hardest part of that maybe you could utilize gravity to just have like you know an opener and shutter versus a pusher and then you're dropping the pellets in i'm not sure how triggers work well i know exactly how it works i'll tell you so there's a hopper yeah right and in the hopper you fill it up it uses gravity to as you know drops the pellets yeah as the pellets fall down it falls into this space that there's an auger, and the auger just turns. And so it slowly just moves the pellets along the system. And so you fine-tune the temperature within the firebox based on the speed of the auger.
Starting point is 01:07:36 So if you slow down the auger, no pellets feed it. If you speed it up, it speeds it faster and you probably have some maybe an algorithm or machine learning of like how the speed of the auger versus temperature control and you're obviously maintaining temperature but it's just literally a turning mechanism it's not even smart aside from knowing speed and temperature and how speed affects temperature and the hopper is just the pellets are falling based upon gravity. So gravity did the work there. Thank you. You know, no pusher necessary.
Starting point is 01:08:10 And there is a sensor inside the hopper that will tell me if it's low, but I'm smart enough to know how much I put in there. I know when it's low. And my cooks are never that long where I need to literally monitor my ever. I've never had to know if it's low. I think it's just a gimmick really. In terms of time, on the timer, I mean, Trigger does have an iPhone app and an Android app that controls it. And you can set time and stuff like that. And you can tell it to turn off, but that's
Starting point is 01:08:34 a rich person's feature. Like not everybody needs that. You really just need the ability to maintain a temperature for a sustained amount of time. Any barbecue person will tell you all I'm teaching you is time and temperature. I'm not teaching you anything special about cooking food. Just time, how much time do you need, and at what temperature. So that's the recipe for cooking. It's like you know time and temperature.
Starting point is 01:08:59 And so the trigger just basically does those two things, it's time and temperature. And that mechanical is so much smarter than what I was coming up with. Okay, friends, have you ever been doxxed on the internet? Maybe you've been stalked, maybe you've been harassed, or you've had your identity taken from you. Privacy matters so much to everyone, obviously. But have you ever wondered how much of your personal data is really out there on the internet for anyone to see? There's more than you think. Your name, your contact info, social security number, what unlocks your credit history, your home address, or even information
Starting point is 01:09:41 about your family. That's terrifying. All this data is being compiled by data brokers and is being sold online. So DeleteMe is one of our sponsors, and they gave me an account to use. I tried it, and it's helping me remove my personal information from hundreds of data brokers out there. Here's how it works. You sign up, you provide them with exactly what information you want deleted, and their experts take it from there. They send you regular personalized privacy reports showing you what information they found, where they found it, and what they removed. constantly monitoring and removing the personal information that you don't want on the internet. To put it simply, Delete.me does all the hard work. It wipes your information, your family's personal information from these data broker websites and gives you peace of mind. So take control of your personal data and keep your private life private by signing up for Delete.me now at a special discount for our listeners. Today, you can get 20% off
Starting point is 01:10:47 your Delete Me plan by texting CHANGELOG to 64000. Again, text CHANGELOG to 64000. Of course, message and data rates may apply. Check their terms for more details. Enjoy. So, Adam, what do you want to build next? Uh, geez, let's see. Birthday cards. Birthday cards. Say more. Yes.
Starting point is 01:11:20 My family is a fan of seeing birthday cards. And my son loves to take them apart later. I'll tell you a story. So my son is curious like this. Like he loves to take them apart later i'll tell you a story so my son is curious like this like he loves to take things apart and figure out how they work and so he took apart a birthday card we got him and obviously you open it up and it starts to play the song or whatever it's supposed to do well he decided to take it out of the back of the package discover the sensor and discover this thing in this mechanism and he decided to pull the wires out and put them in different places he made this birthday card do things that wasn't intended to
Starting point is 01:11:49 do for us. It was just meant to be open, do the thing. And it's a closed system in that regard. But he found out you can pull the sensor out or whatever the mechanism is and rewire it. And he made it do something different.'s like dad look at this i'm like what is that he's like it was my birthday card you know that's kind of cool okay chibi tronics c-h-i-b-i tronics okay this is away from the software although they have little microcontrollers that works with so we can get to the, to the music and whatnot. But what they've done is they, they sell these kits that have a copper tape and you copper tape around and you can make little buttons by having pieces of paper touch each other. Um, you can make little sensors by
Starting point is 01:12:40 having patterns of copper tape, do things they sell stickers that are led so you put your copper tape up to one side your copper tape to the other and then you put it to power and you have a little battery usually um the the clips um what are they called uh what would you call a clip like this that's binder clip binder clip. But a binder clip with the battery and you make your own card like that. And it lights up or you can have it do music. They have all of these different neat sensors. And this is more on the electronic side. This is how people understand how do you go from battery to through a circuit. And you don't need to know Ohm's Law and all of that, Kirchhoff's Laws. That's not that important for this.
Starting point is 01:13:36 It's really about you follow the copper tape to the different pieces and you make up you make neat lit things and you can add a controller which can then even add a little tiny motor which can either vibrate or it can move uh like uh like you do a paper engineering um cut out of a butterfly and it will gently wag the wings. Yes, chibitronics. They're super fun. Chibitronics. They were directed towards women at one point, getting girls interested in storytelling through electronics.
Starting point is 01:14:22 But I don't think they are as gender specific anymore because I've been seeing lots of their new sensors and new systems being a little louder. Okay. Since we're here, then I have to ask you, I'll just say one, one brand and I want a reaction from you, Alicia. Crunch Labs. Nothing. I'm terrible.
Starting point is 01:14:41 Oh my gosh. Nothing. Well then. That's great. So I don't know his name. I'm going. Oh my gosh. Nothing. Well then. That's great. So I don't know his name. I'm going to Google real fast. Crunch Labs. The fellow that runs this,
Starting point is 01:14:49 this is a very massive YouTube channel, but it's, it's not a YouTuber, like a, I don't even know how to describe her or. Oh, I've seen this guy. Oh yeah.
Starting point is 01:15:00 It's the coolest stuff ever. This guy used to work at NASA and he is all in STEM and all kids focused, but he has his subscription box that you can get to build different stuff. And as you're describing this, how do I pronounce this? Chibitronics. I'm thinking like, wow, here's more kids that entertain and educate these. Yeah, Mark Rober. Thank you, Jared.
Starting point is 01:15:20 Yeah, everybody loves this guy. Yeah, I love Mark Rober. He's the coolest. I mean, he is, I don't even know how he does what he does. He's amazing. And it's like he's living his purpose for sure. But my son loves Crunch Labs, is so entertained by all this stuff, has become smarter because of Mark Rober.
Starting point is 01:15:37 I mean, like educational, curiosity, STEM, embedded systems, I'm sure, electronics, Rube Goldberg things, etc. Just all this cool stuff. So I thought you might know Crunch Labs. I don't, but I'm going to sign myself up. I love the little robots and they had a crossbow. How do I get the crossbow? How do I get the crossbow? How do I get the crossbow?
Starting point is 01:16:07 That's great. And these kits, they come on this frequently. So I was thinking, what made me think about Crunch Labs was the monetary accessibility of the chibitronics. And building these things that no one else seems to be doing to, I mean, at some point you, you got, you got to want more people in your field, right? You're probably lonely to some degree in your field. You want more folks who have the same drive and curiosity as you do. The only way you get there is by inviting them in. Yes. And my field was so lucky to have arduino because it really drew a lot of folks to be interested both in electronics and embedded systems but also in software and there are like chibitronics and
Starting point is 01:17:00 some of these other robotics kits first FIRST Robotics is just wonderful. That's the competition for middle and high school students. And what the kids learn is just, I just want to hire all of the FIRST Robotics engineers. Because once they get into the robotics and they start understanding how the mechanical and electrical and software all work together to make the robot move,
Starting point is 01:17:33 they get a systems understanding that's really hard to teach. We've gotten so many amazing links from this conversation. Are there others? If we're like Alicia, what's another cool thing you just showed us? Chibitronics first. Firstinspires.org is the first robots people met or met. Adam pointed us to Crunch Labs.
Starting point is 01:17:58 Of course, we have MicroPython. Yeah. Adafruit, the WalkWe. What else you got? Hackster.io, Instructables.com, and Hackaday.io. Oh, Hackaday I'm well aware of. What was the first one you said? Hackster.io.
Starting point is 01:18:16 Hackster. And Instructables.com. And I'm grouping these all together. Even though they have very different flavors, they are all places you go and tell people about your projects. Nice. As an engineer, it's like, okay, I'm learning to document. This is why I tell people to use these sites,
Starting point is 01:18:36 because I want them to learn how to document and reproduce their projects. But as somebody who's doing it, as somebody who's excited about it, it's getting to show off what you did. We don't always get to go to these hackathons or to these hack meetups where you get to bring your project. But this lets you connect to people who are maybe in the same boat. Maybe there's a competition for Nordic dev kit. And so everybody's looking at the same set of sensors and you get to see what other people's ideas are, but you also, you know, there's,
Starting point is 01:19:11 they all have community aspects where you can talk about what you're doing and talk about what you want to be doing as well as demonstrations where other people have said, this is what I did. And these are the steps so you can reproduce it in case they have a neat project. Love it. Where's this going? You know, like this kind of thing. Showing off is kind of cool, right?
Starting point is 01:19:34 I'm looking at this one here on Instructables in the circus section because it lets you see things like crafting and cooking and living. So there's more than just simply this embedded world there. It's a sleep cycle lamp. And I'm seeing like this lamp with a common shade, probably a similar, or sorry, a very small board beneath it that's powering this thing and probably basing it on time is doing different sleep cycles, colors, tones, et cetera.
Starting point is 01:20:02 But I'm thinking like, where could where could this world go where you have infinitely accessible lego like things not so much lego itself but how you can take this part pair with that part and make a product or create something new or invent something new like where where can this go where's the future going for this like you have this idea and you want to market it? dirt moving around you know i mean like it's such a chasm but like where is where is this going it's a big question i'm sure i mean it's going everywhere i i fought against the term internet of things for so long but that's what it is like everything wants to be on the internet wants to help you be better or do something different. And
Starting point is 01:21:06 I don't love all that. I mean, I don't need everything I have to be on the internet. But like having two stuffed animals essentially on the internet, talking to each other over distance, it turns out to be kind of cool. The applications turn out to be really interesting. The ability of my doctor to see if I'm using some medical device they've prescribed, okay, that gives them more tools. If it's not okay with me, then I make it not okay. But it gives other people the opportunity to engage with us if we want to, or to monitor elderly folks, or to teach kids to read,
Starting point is 01:21:59 or, Adam, I have to say, it's going everywhere. Yeah. And I'm not sure that's the best thing, but it's also going into all kinds of science. One of the projects that I worked on a year ago, two years ago, that's going out this year is they're just going to chuck these boxes into various rivers around the country and be able to monitor the environmental DNA. So they would know if a river moved into, or if an otter moved into this river before anybody could see if they were actually there yet. And they can also monitor things going wrong, like human DNA being in the water too much is bad. The Internet of Things, that's where we're headed,
Starting point is 01:22:55 and it may not be great, but some things will be great. So embrace it, right? You've lamented your fight against IoT, but just embrace it, right? You know, you've lamented your fight and make sure that they have, you know, that they have nice friends and good references and all of that. Because you don't want to create bot networks or allow people to spy on you. So when you do engage with the Internet of Things, do so wisely. And it's not just people in their houses. It's companies and UAVs.
Starting point is 01:23:51 You need to know where you get your UAV from because some of them report back to their home countries. And that's kind of scary depending on what you're doing. If you're using it to take pictures of the beach, who cares? If you're using it to map your new mining prospect, I don't know if you care. Yeah. But you should think about it. Security is unfortunately the downside of IoT. It's also the S in IoT, which is to say you really need to think about it for yourself.
Starting point is 01:24:26 And privacy too, which those two are kind of eternally linked, aren't they now? Because being able to throw a smart rock into a river and monitor things is awesome. But being able to throw it into my pool and monitor my swimming, maybe not so much. Just for instance, you know? Yes, there are a lot of downsides to this the internet of things and also for iot makers out there you know just leave us physical buttons you know like give us let us let us opt out every once in a while and just use the dishwasher without having to launch an app. For instance. Oh, yes.
Starting point is 01:25:05 For instance. Yes. I take it your dishwasher requires you to use an application or something, Jared? No, that was just a for instance. I'm sure somebody's does. Yeah. Well, I have LG washer and dryers, and I can tell you when my washer is done and when my dryer is done.
Starting point is 01:25:22 And I can tell it to start drying something right now, if it's on. So that one safety, security and safety, maybe the similar S's, is that I can't control it from afar or remotely if it's not on currently. I can't power it on and power it off. I can only instruct it
Starting point is 01:25:39 if it's been previously human-touched, like recently kind of thing. And would you have paid for those features apparently i did i know we did too but i would never meant to pay for those features no i'd never want almost any like sometimes you're like oh this actually is kind of nice once you start using the feature you're like yeah i kind of appreciate this but it was never the dryer's off it's kind of nice yeah it never has sold me on any piece of appliance so the one thing i would say about that that i've appreciated because i try to be
Starting point is 01:26:10 not the person who only complains i try to be the person who appreciates pretty much any scenario i do my best i'm always the greatest at it is that it is uh it's a different interface to a simple interface that doesn't make any sense. And so the iOS application actually makes a bit more sense to use its advanced features like the dry clean version. There's a dry clean setting on the dryer, for example. It hooks to the water and it can humidify the air kind of thing. It can do some cool stuff. That feature is not easily accessible on the device itself i mean you can it's just harder to like map your brain to like okay push button go whereas the ios app
Starting point is 01:26:52 is a bit more easier to use i think of like a different interface to this thing the notification is i turn that off in most cases like i actually don't have it on unless i'm washing clothes personally and when i say that i'm, I don't usually wash our clothes. So I'm that person who gets to just sit back and enjoy life for the most part. You better not be complaining. Until I have no more underwear and then I'm like, oh my gosh, I have to wash my own clothes now. And you're checking the status at all times.
Starting point is 01:27:19 That's right. Notifications on. Thank you. I mean, the app does give you more information than could possibly fit on the front of your washing machine. It does. Yeah. So that's how I look at it. It's like I wouldn't have paid for that feature.
Starting point is 01:27:32 I think I did because I bought it, obviously. I didn't buy it because of that feature. And I'd say that it's a nice to have, not a need to have, but it is nice to actually have because I've used some of the advanced features via the ios app and i've it's just a different way to interface with the device that's actually better and easier but you know those those bits of information that they're they're showing to you can also just seep out of your local area network and into the hands of somebody adam is washing his clothes again get him you know someday you going to get an email from a hacker and he's going to be like, Adam, you're out of underwear.
Starting point is 01:28:07 Yeah, listen. Hey, listen. You probably should wash your clothes. It's been about two months since your dryer's drying anything. Clearly you're out of underwear at this point. I've checked your Walmart checklist for your underwear. I don't buy my underwear from Walmart. I just said that. TMI, dude.
Starting point is 01:28:23 Just so you know. Alright, Alicia. I don't wear from Walmart. I just said that. TMI, dude. Just so you know. Okay? All right, Alicia. I assume the website is embedded.fm. Where else can folks connect with you? You can get embedded from any of your regular podcast sites. And if you are faced with one that is embed in all black and looks scary, we are the one with the robot.
Starting point is 01:28:49 Look for the one with the robot. It's like a little robot head, robot head slash radio, old timey radio. So that that's us. Nice. You can get my book. It's called making embedded systems and it's in second edition. It's from O'Reilly. It's on normal Amazon and Bookshop sorts of places.
Starting point is 01:29:09 If you're interested in making embedded systems, the goal is for hardware engineers to understand more about software and for software engineers to understand more about hardware and how to design and make embedded systems. If you want to contact me for consulting, I think the answer to that is please don't. Please don't. Please don't? Is that right?
Starting point is 01:29:33 We're booked. We're booked for like a year. It's great. Congrats. And yet I always love to hear about neat things people are making. So if you want to tell me about your embedded system, I always love to hear about neat things people are making. So if you want to tell me about your embedded system,
Starting point is 01:29:53 hit the contact link on embedded.fm or email me at show at embedded.fm. And I'm just fascinated by the technologies coming out. Very cool. Any conferences or like IRL places? I know you mentioned several digital ones, which we've definitely collected and we'll put in the show notes, but is there anywhere that that's like common? Like, is there an embedded conf or something like that where it's, you know, international or accessible to folks? Like the one you can't miss kind of an event? Yeah. Like you must go there if you're, if you're really getting into you must go this to this conference kind of thing this is another one of
Starting point is 01:30:27 those areas where there is a good hacker subset and there's a professional subset and they aren't they don't quite overlap um i will be keynoted keynoting the embedded online conference uh in may of 2025 please don't ask me what my talk is about i don't know yet but i will really soon embedded things um probably sensors and for uh the hobbyist or or see it isn't just hobbyist i've gone to hack a semi-con, super-con from Hackaday. I would happily go to Teardown. There's Open Hardware Summit. There are a ton of really fun places where people will show you how to get into embedded systems or hacking devices or making cool things. There aren't as many professional conferences unless they're
Starting point is 01:31:26 about certain topics like Zephyr or security. Hardware.io, H-A-R-D-W-A-R-E.io is one of the international conferences that's pretty popular and more security-based. I can't think of any other ones, but I know I will when we get off. So I'll send you email and you can provide links. For sure. I know IRL is important to folks. We can obviously shell out lots of digital locations to hang, but IRL can't beat that, right?
Starting point is 01:32:02 Real humans, real people, real fun. Really? I think so, right? Real humans. Real people. Real fun. Really? I think so. Really? Maybe not. Maybe not! To each their own, as they say. I'm kind of an indoor cat. We'll have to get some sensors for that and maybe a motor to judge it.
Starting point is 01:32:17 There you go. Or one of those things you can touch that we know, like, Alicia's still there. She can just, like, send a sensor to the conf. Still here. Like light up a light, you know, blinking lights. We hear you like those. Yeah,
Starting point is 01:32:31 for sure. As long as they're blinking for other people. Well, Alicia, thank you for, thank you for your curiosity too. I know that like sometimes you're going alone, right?
Starting point is 01:32:41 Sometimes you're just in the dark, but now you're not. Obviously your book's solid with your business. You've written books. You've come on this podcast. right? Sometimes you're just in the dark, but now you're not. Obviously, you're book solid with your business. You've written books. You've come on this podcast and you're doing cool stuff. So thank you for sharing all that with us. Appreciate it. Thank you for having me. Your podcast is a lot of fun. Thank you. Well, the world of embedded software is going everywhere. Treggers, GoPros, birthday cards, smart rocks.
Starting point is 01:33:08 I mean, the possibilities seem to be literally endless. And so maybe this is for you. Maybe this is your new field. Maybe this is your invitation into the world of Embedded. And on that note, there's a ton of links in the show notes. So make sure you go check those out. Wookiee, Crunch Labs, Chibit notes. So make sure you go check those out. Wookie, Crunch Labs, Chibitronics, so much to explore. And I think you should do it. So there's your push. And if you
Starting point is 01:33:31 haven't yet, make sure you check out Alicia's podcast, Embedded.fm. I'm a listener and you should check it out. Of course, a big thank you to our friends and our sponsors for this episode today, Augment Code. Check them out, augmentcode.com. This is the developer AI for teams, large code bases, the ask me anything out there. So level up your copilot and go with Augment Code. Check them out, augmentcode.com. And to our friends over at Fly, you know we love Fly,
Starting point is 01:34:05 fly.io, the developer cloud for everyone, for those who ship like you, like me, fly.io. And of course to our friends over at Delete Me, text CHANGELOG to 64000, get 20% off, and delete your information off the internet.
Starting point is 01:34:26 Again, text CHANGELOG to 64000. And a big thank you, of course, to Breakmaster Cylinder for those awesome beats, those banging beats. We got some new beats planned for this year, 2025. Stay tuned, of course. But in the meantime, thank you, BMC. You're awesome. Okay, we are now shipping full-length episodes, chaptered and all, to YouTube.
Starting point is 01:34:55 So if you've ever want to see the behind the scenes, the never-saw-before, the full-length, not a clip, but a full-length show on YouTube, our new workflow is Video First, and we have a lot that we're exploring this year on YouTube. Our new workflow is video first, and we have a lot that we're exploring this year on YouTube and through this video first flow we have going on. So explore with us, join us, youtube.com slash changelog. And yes, CPU.fm is in full effect. We have things happening behind the scenes. They're not on the.fm yet, but soon. Very, very soon. We'll have a brand new super feed for you to subscribe to. And there you go. That's all I'm going to say. That's it. Okay. This show's done. We'll see you on Friday. have you been tempted to build any sort of systems for your for your pets or your animals
Starting point is 01:35:59 to know where they're at or to warm them up in their beds kind of thing. Have you ever done anything like that? Like personal projects for your. Not for the pets. She's got an air tag on her, even though she's a tiny dog and the air tag is like half her weight. Heaters, no, because I'm really neurotic about setting the house on fire. But what if it was water cooled? Or water warmed?
Starting point is 01:36:29 Warm water. Yeah. Smart rocks. I never got over that. I'm like, you just said smart rock, and I'm like, that's new to me. You're dumb as a rock. No, you're smart as a rock. I know.
Starting point is 01:36:40 It's like a whole new world where rocks are smart. Cats and dogs living together. I'm inspired by this. I mean, I feel like we should quit podcasting, Jordan. Just build some smart rocks, man. Or something. I don't know. See well enough.
Starting point is 01:36:57 I'm still entertained by that desire from you. You wanted to put a sensor in your freezer. Remember that? Yes. And I think you ended up doing that. Did you end up doing that? No. No. I forgot about it. But that. Did you end up doing that? No. No.
Starting point is 01:37:06 I forgot about it. But that'd be so cool. Oh, yeah. I have the, I still have the Pi, and I was using it for something. I was using it as a, what's that thing called, the blocker Pi? The Pi hole. Yeah, I was using it as a Pi hole, and then I quit using that, and I'm using XDNS instead. And so the Pi is just sitting down there,
Starting point is 01:37:25 and it's relatively close to the freezer. I just want to make sure, at least here we have, we buy like half a cow once a year kind of a thing. And like that's very expensive.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.