Embedded - 248: I’m Not in Charge!

Episode Date: June 8, 2018

Chris (@stoneymonster) and Elecia (@logicalelegance) answer listener emails. We did a show with Dennis Jackson about transitioning from software to embedded: 211: 4 Weeks, 3 Days Chibios RTOS: MyNewt ...or Zephyr may be more worth your time. Software tool: Beyond Compare for excellent differencing, including folder level Other people answer STEAM vs STEM (in about the same way we did). C++ standards for safety: NASA, ESA, JSF-AV rules, and Jason Turner’s C++ best practices. Elecia played with Javascript to make a watchface for her Fitbit Versa Chris got a Blackaddr Guitar Teensy Shield which uses the Teensy Audio Library to do amazing guitar effects via code. Elecia’s Twitter bot is @pajamaswithfeet (Tracery code on cheapbotsdonequick.com) Making Embedded Systems book Embedded Patreon

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Embedded. This week it is Christopher and myself and Winnie the Pooh. That is Christopher White, Alicia White, and Winnie the Pooh. And we'll be talking about listener emails. Okay. And a few other things. All right. This is going well.
Starting point is 00:00:33 For me, it's going fine. Lightning rod. No, no, we don't do that. Should I start with last week's quote from Bajan Stroustrup. Sure. Or are you just going to cut it off again? No, I didn't do that on purpose. I don't know.
Starting point is 00:00:55 It was just gone. But the previous stuff was so funny that I had to leave it. Yeah, thanks for that. It would have been, if you think it's simple, then you have misunderstood the problem, which really applies to everything. They're simple problems. A few. All right. So we're just going to jump into emails.
Starting point is 00:01:17 Yeah. I got one from Lady M, whom I don't know who that is, but you didn't write your email in properly. So when I replied to you. We still don't know who you are. We still don't know who that is, but you didn't write your email in properly. So when I replied to you, we still don't know who you are. We still don't know who you are. But the listener says they're a robotics engineer who has been writing general-purpose C++ and Python code for Linux work and hardware drivers. They've started taking a real-time operating systems course and been enjoying it a lot. And they want to shift their professional career from generalist software engineer to embedded systems engineer.
Starting point is 00:01:52 How can they achieve that? Would any company hire an engineer like themselves with general experience for an embedded role? And is doing personal projects on TI MSP boards or taking online courses count in hiring? I feel like we've answered this question several times. Well, the answer always changes. That's because we're inconsistent. Okay, so first we did answer it on episode 211 with Dennis Jackson. I think that one's four weeks and three days.
Starting point is 00:02:26 Something like that. But realistically, you're working in Linux, on C++, and Python for robotics. You're already an embedded developer. More than halfway there. And anybody hiring with a lick of sense would... I don't think I would bat an eye at hiring somebody for an embedded role with that experience.
Starting point is 00:02:50 I mean, there'd be some learning curve to be expected but i'll be sure you know what a semaphore is and and have a little bit of be able to draw out like pointers they're doing device drivers in linux they know that that's true this is yeah yeah so i'd say i'd say you're pretty much there and And yeah, I'm trying to think. When I first did embedded, with a capital E instead of Cisco stuff, Cisco was sort of embedded, but it was more software. I wasn't doing anything
Starting point is 00:03:23 that really needed a lot of os knowledge uh or hardware knowledge uh so my first real embedded job you know i only had that background um and nobody really c++ general purpose linux mostly c at that point um i hadn't been doing c++ but a good generalist just i mean that's why the word is generalist. You've seen a lot of different things and can adapt. So I'm not sure that the shift from generalist to embedded is how I would describe
Starting point is 00:03:53 it, just adding more embedded to your background. Or if... Or saying you wanted to go deeper embedded. Yeah, because being a generalist I think is still valuable. Especially once you get into embedded and you find, oh, we don't have a good build system, or, wow, we need a Python script to do this testing or to bundle these things. All that stuff is great knowledge to have, aside from being just a GPIO twiddling C embedded engineer.
Starting point is 00:04:32 Well, in the robotics, a lot of the robotics is done on Linux-based systems. Right. Even if it's single-board computer-style Jetsons or Raspberry Pis or whatever, and being able to do Python and C++. So many libraries are, you prototype in Python and then you implement in C++ like Open Computer Vision, OpenCV. So yeah, I think, I mean, maybe you want to do more microcontroller stuff and build up a portfolio. I'm never going to discourage people from that unless it's going to cause burnout. But you're already there.
Starting point is 00:05:07 And then in the email I sent you, I asked you what region or application you were looking to work in, because people seem to tell me about other people who are hiring. Well, I think the last question, we probably addressed it before, but just doing personal projects on TI MSP boards or other microcontrollers or taking online courses count for people hiring. I mean, definitely, unless they're needlessly obtuse. I haven't figured out how to put online classes on my resume. Well, okay.
Starting point is 00:05:44 It's not something... It's not something that's easy to put online classes on my resume well okay it's not something it's not something it's easy to put in your resume but it's easy to discuss during the interview yes certainly personal projects if you can start discussing a personal project in detail you'll a impress people if you can describe it well and you can answer questions and b you'll take up a lot of the technical question time that they might be asking you something that you don't want to have to... Yeah, we mentioned that on Dennis' show.
Starting point is 00:06:11 The reason to bring in your portfolio is so you can control the interview and talk about what you do want to talk about. Yeah, so no, I think that's all good stuff. But yeah, like you said, it might not be resume fodder, but it might be good for discussion. Cover letter fodder. Yeah, sure.
Starting point is 00:06:26 Who knows what to put in a cover letter other than gear person, please hire me. People do. The next one is an email, but we got a regular postage mail package from Frederick to our PO box. Our PO box is listed at the bottom of our newsletter, although you can always email and ask me what our address is and I'll give you our P.O. box. But Frederick, you wanted us to sign for it and honestly, I only go to the P.O. box when I'm expecting something or around the first of the month so I can get all of the junk mail. You can totally send us stuff, but it's better to tell me you're going to because otherwise I'll just get confused. Or go to the post office when it's not open and then wonder why I have this card that I'm supposed to talk to people with.
Starting point is 00:07:13 Okay. I felt bad because somebody was sending us something. I'm like, oh no, did I miss it? And it turns out it wasn't from the person who was sending us stuff. Okay. Okay, next question from roman aka nz smarty i'm always glad i make them type in what you're what we're supposed to call them on the show because they type in things uh question for the show when developing an embedded solution
Starting point is 00:07:43 and you need to consider human interaction, what processes are available for building a UI more focused on user experience? When you start developing a solution, you may address the specs pretty quickly, but then you end up with a product that's difficult to use, likely because the end user isn't a developer. They're human, but doesn't think the same way
Starting point is 00:08:03 as a tech-minded person would. A pretty short answer for this. Hire a UX designer. They're human, but doesn't think the same way as a tech-minded person would. A pretty short answer for this. Hire a UX designer or contract with one. UX designers do get a lot of specific domain knowledge that engineers tend to not recognize. The follow-up to that would be, assuming you've done, hired a UX designer, is to do focus group testing,
Starting point is 00:08:31 depending on the product. But, you know, you want to test out prototype designs with actual humans before you ship it. I have found that, like, note cards with little drawn pictures of what you want it's even something even something basic and stupid if you can't afford to hire a ux designer at least uh get some books you know look at the i know the the apple human interface just um design guide from
Starting point is 00:09:00 years and years ago it's actually a pretty good reference. It's Mac focused, but some of the concepts still make sense. Like font sizes. That's actually weirdly important. Font sizes and affordances and things and accessibility affordances. Yeah. If you're going to go without a designer,
Starting point is 00:09:22 at least have some knowledge that you've picked up from somewhere. And then, like you said, have, have a bunch of ideas and put them in front of people and not other developers. Cause we're, we're terrible.
Starting point is 00:09:33 I mean, engineering UI is called that for a reason. It's, uh, you know, I just realized that next week, our guest probably, this is their,
Starting point is 00:09:43 this is going to be the whole show is going to be about this. So good. Um, forget what we said. We'll just realized that next week our guest probably, this is going to be the whole show, is going to be about this. Oh, good. Forget what we said. We'll just skip that. All right. From Brett Smith, next time we have an educator on, he'd like us to ask about their opinion on STEM versus STEAM. STEAM is the addition of art to science technology engineering and mathematics brett goes on to say so much of electronics these days is more or less plug and play
Starting point is 00:10:13 connecting of well-known circuits and modules together the focus of art and creativity is really important the success of the bold port club and and artists like Sarah Petkus tell me that the community is interested in circuits that work and look good doing it. But it seems like when a child is smart and has an interest in electronics, the educators push for STEM and tell them to put down the paintbrush and pick up a math book. Boy, I don't know how to answer that. My flip response is, as soon as you put art in there, it's everything. And once it's everything, there's no point in... STEM plus art?
Starting point is 00:10:53 Stempa? No, but you know what I'm saying. And I don't have anything... I love art. I consider myself an artist in various ways. And I took a lot of art classes in school. But. Okay, here's a story about art class in school. Oh, God.
Starting point is 00:11:16 Chris and I took an art class. I think it was our senior year. Yeah, it was the. So we weren't like super. Second semester senior year. Engaged. was the... So we weren't like super... Second semester senior year. Engaged. It was one of the final classes. And, but we both enjoyed it.
Starting point is 00:11:33 It was a drawing class and it was an introductory art drawing class at a local college that had more art than our college did, which was mainly STEM. And at one time he was flipping through some slides and asking people what was art. And, you know, there were the big great painters, the things you think of as art. And he got to the British subway map and asked if it was art. And you could have just drawn a line of which people were engineers and which ones weren't. Because all of the engineers could look at that and say, that is beautiful. You could present that information in a way that was not clear, that was not attractive. And all of the people who were not engineers thought's it's a subway map no that's not art
Starting point is 00:12:26 and then uh a few months later when we were doing our final projects we were given one final project that was whatever you want you know it was it was clearly the the prof was having a day off and we turned in i don't know what you turned in i don't know i think i painted something and uh i turned in a copy of the single page notes i was supposed to have for advanced systems engineering and so it was a summary of fourier bode plots pigsIGs, antenna design. It was comprehensive. And I mean, sometimes I post my sketches now where they're in-depth notes, but they're also, I spend more time on them than just writing down all the information. I make them pretty, in part because that means I have to spend more time thinking about the information, and in part because I'll look at it again
Starting point is 00:13:23 if I find it attractive. And he went around the room and kind of gave us very gentle critiques on all of our art. And again, you could tell who were engineers in the room. Because people were really impressed by my lovely little one-page mash of information. And other people were just like, that's horrible, which I figure is like art. Like, okay, so story over, because it was pointless. I don't... I think art should be taught alongside STEM.
Starting point is 00:14:02 I'm not sure that we should create another thing as part of that acronym. Because that acronym has a purpose. And it's to get... Okay, it's kind of paradoxical, right? Because this whole thing about STEM was created to get more people into STEM. Because kids were dropping off from science and math and not going into that, right? Because it's hard. Because it is hard.
Starting point is 00:14:29 But if now, if you're going to add art to that, what are we doing? Are we saying do all of those things? Are we saying art is a part of STEM? I'm confused, I guess. I see the point of it. I want to know what the goal of the acronym and the movement is. Part of the goal and part of what I think Brett was saying here is getting kids involved with stem as a single thing is somewhat tedious and kind of boring well sure you can work on robots sure you can work on i don't know whatever you want but if
Starting point is 00:15:16 you add art you give them an application of stem that is attractive on its own. And the Bold Port Club and artists like Sarah Petkus, they make STEM engaging in other ways through art. Art is a portal. I would argue that the life sciences are a portal. I would argue that working on cars is a portal to STEM. There are many portals. About the only thing that isn't is literature. So that's my kind of instinctual reaction to this is,
Starting point is 00:15:56 if you're going to do that, it takes meaning out of what was trying to be done with the STEM movement. And again, I think art should be taught alongside it. I think art should mix with it. But some kids aren't going to engage with that. There are a lot of kids who go into STEM who are not into art at all. And they're analytical, purely analytical. I wasn't into art, in part because my mom was an artist, and it was one of those things that I didn't think I could ever do. Yeah, I guess I don't really have...
Starting point is 00:16:37 And I wonder, well, why isn't M for music? Because drawing kids into science and technology through music is very powerful, too. Oh, you can do a ton of stuff, yeah. So, I mean, I think you and I are on the same boat here that... We're on a boat. I don't know that the A is necessary. But I do recognize other people feel very strongly about it. And I think those people are the people who are looking at the arts budgets being cut
Starting point is 00:17:05 and they're trying to figure out how to put it back in by making it more science and technology based and then the art can come back and that's totally fair but I just want to know what the goal is I think there was a goal with STEM, and there's probably one by adding arts into that.
Starting point is 00:17:32 I don't know. Brett closed with, it seems like when a child is smart and has an interest in electronics, the educators push for STEM and tell them to put down the paintbrush and pick up a math book. And I agree with you, Brett. That's silly. Don't do that. Push for STEM and tell them to put down the paintbrush and pick up a math book. And I agree with you, Brett. That's silly.
Starting point is 00:17:48 Don't do that. But also, don't force everybody who wants to go into STEM to go through arts either. There's never one perfect path. I think everybody should take a couple of art classes. Oh, I think taking a couple of art classes is good. But I don't think that making it a part of everything else we're doing for everybody necessarily makes sense to me. I don't know. Okay, let's go on. Do what you want.
Starting point is 00:18:20 The next one's easy. Okay. I'm not in charge. Alan Barr asks if we are familiar with the RTOS ChibiOS. I am not. Which is not related to Chibitronics, the sticker-based art steam electronics system. So, ChibiOS. A couple of interesting topics on the project's forums.
Starting point is 00:18:42 The author of the project, Giovanni, appears to be spitballing some extensions for C for safer programs and embedded systems. Alan thought it was an interesting idea, unlikely to gain momentum, and wanted to hear better on the podcast. And Alan sent me the rationale for the RTOS and list of topics, which I duly reviewed and took a couple quotes from the page. The author wrote, the author of the RTOS wrote, I wrote it 15 years ago, so it doesn't have many features and I wanted another toy. So Alan, my feeling about the RTOS Chibi OS, don't, no, no, don't, don't, no, no, no. Is it open source? I don't care.
Starting point is 00:19:35 Well, I mean, it might be something to play with and look at. I don't care. Wow. I wrote it 15 years ago and I wanted a toy. There are better things to do. Go look at Zephyr. Go look at wanted a toy. There are better things to do. Go look at Zephyr. Go look into my new. These are modern things that are open source and are supported and aren't toys.
Starting point is 00:19:54 I don't want to look at other people's toys. Not 15 year old unsupported. Yeah. No, no, no, no. Breathe in, breathe out.
Starting point is 00:20:07 I totally disagree. You didn't even look at it. I'm just trying to keep that going because it was funny. Okay, let's see. Oh, this one is in an email. This is just random things I put in the outline for the fun of it. This is well organized. Well, you can tell because this is not italicized. Yes.
Starting point is 00:20:27 Okay, this is another story elicia says uh i applied for a job i really really really wanted i had all of the qualifications all of the desired qualifications i mean like all of them. And I had a very good phone screen. They liked me. I mean, I was a little working too hard to be charming and just a little too hyper, but I was a very good phone screen. I definitely got all of their questions. And yeah, I did not get an in-person interview. I did not get an in-person interview. I did not get the job. I got a nice email from the manager saying that he enjoyed talking to me, but there's another job open at the position,
Starting point is 00:21:16 at the place, that is also very, very interesting to me. I sent my resume to that one. The manager I talked to sent my resume to that one. I haven't heard back at all. This sucks. And I don't know why they didn't hire me. I don't know what went on. I don't know what I could have done. But I wanted to point out that you are not alone. If you're looking for a job and you're wondering, how can I ever succeed? And you're one of those few people who think that I have it all figured out. Because, I don't know, some of you think that. Yeah. I don't always get the job I want either.
Starting point is 00:21:59 Sorry. Neither do I. I mean, gosh. Yeah, you want to be a banana slug. What? Not like you want to work at UC Santa... Yeah, you want to be a banana slug. What? Not like you want to work at UC Santa Cruz. You want to be an actual banana slug. I don't think that's accurate.
Starting point is 00:22:11 I don't recall ever expressing that desire. Let's talk about your goals. I would like to sit in the shade all day long. Wow, you're just going to... I was going to say something serious. Oh, I'm sorry. Go ahead. No, no, go ahead.
Starting point is 00:22:24 Tell me about your banana slug aspirations. I have none. I was going to say is I probably applied for half a dozen or eight jobs that I didn't get either, historically. Especially my first job. You're not making the people who are on their 20th job application feel better. I don't know how many. It was a lot. All right, fine. Whatever. I don't know how many. It was a lot. All right, fine, whatever.
Starting point is 00:22:47 I won't commiserate. I don't see why you got to... Fine, we can move on. I'm sorry. No, I mean, just... Yeah, well, all right, let's move on. I need to be nicer to Christopher. I haven't had that many jobs, so it's not like I've, you know... And usually when you leave a job, you go to another job you've already gotten because you have friends there.
Starting point is 00:23:08 Right, that's happened a lot. Yeah. So probably 75% of the jobs that I've applied for, maybe 80 or 90% that I applied for cold, I didn't get. Yeah. Or they were awful in some way, and it was the equivalent of not getting them. All right, next. Trevor Gamblin, frequent listener from Ottawa, Canada, wondering what we do to keep our skills sharp or learn new technologies
Starting point is 00:23:36 when your current work and or contracts don't provide many opportunities to use them. Do you tinker on the side end or read blogs or other web pages or something else? Well, Trevor, every week we ask people to come and tell us about their things. And the funny thing is most of them say yes. And then we learn about C++ because somebody comes and tells us about it. So if you would like to enjoy this sort of scam what you do is you start a podcast because you're just laughing at me i'm afraid to answer this because the answer is i don't do much of anything because by the time i'm done working even if it's not keeping my skills up you know even if my work is not broadening my horizons much,
Starting point is 00:24:27 I'm a little tired of looking at computers. So, I mean, I do feel guilty about that sometimes, and like I should be doing more. And there's certainly projects that I have laying about that are in various states, but I've kind of decided to do more music with whatever time I have the energy for doing other things. I don't really want to do more computer stuff.
Starting point is 00:24:53 I'm also getting really old and I'm tired of all of this, so that's probably a factor. Do you listen to any technical podcasts? I used to. But you haven't been. Not so much anymore. Any technical podcasts? I used to. But you haven't been. Not so much anymore. Any technical blogs? Yeah, well, you know, I do read technical blogs.
Starting point is 00:25:11 I poke through whatever's coming up on Hacker News sometimes. Stuff that's pointed from Twitter. So I look at other people's projects and things and, you know, their project logs and that kind of thing. I do a lot of reading, but what? Why are you looking at me like that? You were saying you don't do anything. It's not much. It's pretty passive.
Starting point is 00:25:37 That's pretty passive. You do read. Yeah, not that much. And it's not that much, but it's a little bit. And I know that you read because you sometimes share things with me. And there's a few things we've done, like taking some of those classes. The video game class we did a long time ago, which we should do something else like that.
Starting point is 00:25:59 That was pretty cool. And, I mean, you soldered things recently. Okay, I soldered something. I don't quite count that as continuing education. And in fact, the podcast has that role. That takes a lot of time. It takes a lot of time, but it's also, I mean, for me, I do the cyber-stalking. And I have to spend more time with computers, which I hate. But I read about the guest, and that helps me read about different areas.
Starting point is 00:26:28 You should do this direct-to-tape. Then I wouldn't have to use a computer. Okay. Let's see. I also, since I don't have a steady contract right now. You're all side projects. I'm all side projects. I have been taking classes.
Starting point is 00:27:07 I have books, mostly about robotics, because I'm still working on my typing robot. You're all side projects. I do read blogs. I think the two that are the most useful are a weekly wrap-up on physics and a weekly wrap-up on artificial intelligence things. I'll try to remember to include those in the link in the show notes. And I don't look at Hacker News. I do look at Hackaday and Tindy blogs, but I don't read them in detail. I read stuff on Reddit a lot, our programming and physics and stuff like that. Embedded. I read our embedded occasionally and our robotics a little bit more often. So, yeah.
Starting point is 00:27:41 I mean, you keep your skills sharp by looking in different places. I know other people are probably shouting at their radios or podcast players, but we can't hear them. IEEE has a lot of stuff. I was in IEEE for a while. I did the whole senior member. Do you think people are shouting for this? I don't know. I mean, I'm sure there are good resources. I feel like there's a lot of people who feel like they should be doing more. Yeah. I guess this is the time I should say I have a book. It's called Making Embedded Systems. It's published by Riley. It's a little older now, but I think it's still very applicable. And I wrote it as an effort to be like a book you take to the beach or to the pool, it's not meant to be in front of a computer. So, um,
Starting point is 00:28:28 yeah, if you want to do that, you're welcome to. As a poll, everybody who hasn't heard about the book, please write in. Oh, we actually have an email later in the show notes.
Starting point is 00:28:37 There's like, just gauging at this point, who doesn't know this? I don't know. Cause it's so weird when people are like, do you know any books about embedded systems? And I'm like, how am I supposed to answer this? Yeah.
Starting point is 00:28:55 Okay, next thing. We're so good at failing to answer questions. This is going well. I know. I mean, we answered that. Okay. Okay, Eichelca Logic Scopes. This looks like a hiring thing?
Starting point is 00:29:14 No, those were separate links, actually. I don't remember what the other one was. Oh. Ica Logic. They make little oscilloscopes and USB. They're oscilloscopes and logic analyzers, kind of like the Sali-A. They're pen form factor, right? Analog discovery things from Digilent. One of them is in a pen form factor. It was very small. bluetooth uh no it was wi-fi connects to my phone or my tablet and the app for doing um oscilloscope stuff was weirdly cool how dare things be well done and the the thing
Starting point is 00:29:59 like you put it on the board and you have to push down a little bit. There's like a spring. That's how it engages the take data now, which was both cool and annoying because I tend to want to clip onto things and then leave them. Seems like they'd have another way to do that, some other persistent switch. I couldn't make that work. And they also sent me a logic analyzer to try out which i haven't so i feel kind of guilty about that um like i said their software was pretty good i liked it quite a lot um and their oscilloscope pen thing, I thought I would use it all over. I mean, I thought I would use it a lot,
Starting point is 00:30:46 but maybe I'm just not. I would take it if I was going to a client debugging session, but I haven't gotten much of a chance to use it. We went to a mini maker fair, and someone said that their robot would follow black tape and I carry an extremely tiny purse. And so the person I was talking to seemed a little surprised when I pulled out black tape. And Chris asked me what else I had in there. And I said an oscilloscope, which was true. I brought it in case somebody who was working there needed help debugging. And yet the black tape came out of my tiny purse, but the logic didn't. So I haven't used it in the wild yet. I'm still hoping to.
Starting point is 00:31:32 Have you been doing much stuff that requires scoping lately? Period? A little bit. Not a lot. Not a lot. That's the truth. Okay. And there's this link from LinkedIn that I don't remember putting in the show notes,
Starting point is 00:31:48 so I'm going to assume you did it? No, I haven't been here. Data points that will help you recruit software engineers in the U.S. Oh, this was about subspecialties and embedded systems and how many embedded engineers there are versus others. Basically there aren't that many embedded engineers and we write and see, which is embarrassing to all of the other embedded software or all of the other software engineers.
Starting point is 00:32:14 I'll put that in the link. I don't think we need to talk about it very much. It was kind of cool. All right. Jay Cosper wrote on a recent episode, Christopher's hatred of CMake was alluded to. We've done, we might have done previous episodes on build flows. No, not really.
Starting point is 00:32:30 But Jay would find a discussion on build setup options and what does and doesn't work very interesting, including the dreaded CMake, which he found to be personally much better than Make. I'm glad. Defend your reasoning, Christopheropher i don't have to experience pain suffering confusion engineers who don't know how things work because they don't have the special incantations to make the build system work yeah my experience with cmake was that while it was powerful in being very flexible flexibility made it somewhat brittle it's also inscrutable and inscrutable um when there was an error i had no idea how to fix it. And because it was 97 layers deep, even when I figured out how to fix it, I essentially had to start over each time. So as I was trying to adapt a large CMake-based system to another platform, it was awful and slow. I know how I would have done it in Make,
Starting point is 00:33:48 but my problems with Make would have been primarily with the porting. And with CMake, it was primarily with the tools. And if you have ever heard me rant about how much I hate screwing around with tools instead of what it is I think I should be doing, which is usually software architecture, then you understand why I don't love CMake. I'm an old dinosaur.
Starting point is 00:34:11 I've never seen anything that doesn't work with regular old Makefiles. And I've never been convinced by an argument that you need anything else. And I know Makefiles are confusing and crufty and old, but they're also simple and work. Simple? Well, they're also simple and work. Simple. Well, they're simple. They're not easy. They're only one tool.
Starting point is 00:34:35 They're not a stack of things that are built on top of each other. Yeah. CMake had a lot of cards on the bottom few levels, and any of them that fell down just made the whole thing. I'm sure it's fine for a lot of cards on the bottom few levels and any of them that fell down just made the whole thing. I'm sure it's fine for a lot of projects. If I started using it, maybe I'd start to love it. But everywhere I've come in where it's already been implemented
Starting point is 00:34:53 or where it was added on by somebody else, it's been a major problem. And maybe that's because we just didn't maybe you can't tack it on to a project or make it work with a sub-project very well. I don't know. But I don't have good onto a project or make it work with a subproject very well. I don't know. But I don't have good defenses for my hatred of it.
Starting point is 00:35:10 I have biases. Biases, man. If you don't like these, I have some others. Yes. And if you don't like CMake, please contact us so that we can confirm those biases. It's fine. Don't listen to me. If you like it, enjoy it.
Starting point is 00:35:26 Exactly. Jay also wrote another email talking about consulting, which has mostly been in the hardware space for him, but he's moving more towards firmware. He wants to reinvest some of his earnings into tools and wondered what tools, hardware or software, we would recommend for the embedded space. Well, he's already for the embedded space.
Starting point is 00:35:47 Well, he's already in the hardware space. Yeah, so... So you're going to have most of the things. I mean, you're going to have a power supply and an oscilloscope. If you don't have a logic analyzer already, get one of the $200 ones or the $400 ones. A good DMM. Voltmeter DMM, yeah. And yeah, the logic analyzer might be the only piece you really don't have.
Starting point is 00:36:06 Well, the programmer might be a piece he doesn't have. Yeah. He finishes his question with what have been useful that the clients don't provide. Most of my clients, I get them to provide the programmer on the idea that they are going to need it for manufacturing when I'm done. Or for the next engineer. It's always good to have those around. I now have my own super fancy JTrace, but I still try to make sure the clients have some form of programmer that they send to me, at least for a little while, so I can set up their manufacturing scripts.
Starting point is 00:36:43 Yeah, a programmer is probably worth having, and you can do a bunch of ways to get into that at the low end to start with, too. Yeah, and you can get in at the very low end, the $35 ones. But if you have the profits to invest a $400, $600, get one of the good ones. Being able to walk through your code is really important.
Starting point is 00:37:09 You also mentioned software. I'm not buying any compilers right now. And usually the build environment is so specific to a particular client or company that you really shouldn't waste your money or time setting anything up. If they wanted IAR or Kyle, then they would buy the license and I would transfer it back to them. The only thing you might want to invest in is a VM
Starting point is 00:37:32 host if you're not okay with VirtualBox. Because a lot of clients are going to be, oh yeah, we're doing our build environment is Linux and this version of Ubuntu. It soon becomes very difficult to have a computer that has the right setup for every environment. So VMs are useful in that regard.
Starting point is 00:37:55 And then you can have client A's Windows and client B's Windows and client C's Linux, and they don't really mix on your computer. Actually, there is one piece of software I would recommend buying, Beyond Compare. Yeah, that's a good idea. It's a diff tool, and it's just a really good diff tool. I think it's $50, and it's worth it. Yeah, it can do big diffs.
Starting point is 00:38:24 You take two folders, and in a, in a very easy to understand way, tell you which folder doesn't have which file and which file's been changed. And it's very good, especially for complicated operations where you might have gotten into trouble with your source control system or something like that. Or I used it in a bunch of cases where we're dropping in a new version of a vendor library. And okay, I want to see what's really different. So diff these two folders,
Starting point is 00:38:53 the old version and the new version. Let me see all the files that have changed, been deleted and added, and just go through there. And then you can see, oh, do I really need to upgrade to this or not? Yeah, the folder diffs are amazing. Yeah. John says that he's just a noodler.
Starting point is 00:39:11 By noodler, he means plays around with controllers in this incredibly small amount of free time and sometimes has to take or retake online classes now and then to get up to speed. It's a particular challenge having learned about Arduino and basic stamps and all these things, microcontrollers.
Starting point is 00:39:34 But then when he finds a new sensor component, something new he wants to play with, he spends as much time messing around with delivering 5 volts to the controller and 3.3 or 1.2 or whatever to the sensor and then trying to mash it all together. How do other people get around voltage level conversion?
Starting point is 00:40:01 Is that really the question? Yes. My answer to that is that there are SparkFun level shifters. Yeah. Or don't fall in love with a sensor that doesn't support your voltage level. If you've done Arduino, then you're at 5 volts. And there are some Arduinos that you can do that are 3.3 volts. Embed boards are almost as easy as Arduinos, and many of them are 3.3 volts. And so when you see a sensor and it's 1.2 volts, just walk away. Even if it's the best sensor ever, just walk away.
Starting point is 00:40:41 In general, find a platform you like and stick with that voltage level arduino is nice because a lot of people understand why you're asking for five volts um but what you want to do here with mashing them all together it it can work level shifters exist they can work very nicely sparkfun and adafruit both have a selection going from whatever voltage to whatever voltage. But in general, find a platform, stick with it, and don't do this. Yeah, don't move around a lot and don't find shiny objects. I mean, unless there's like a new class of sensor
Starting point is 00:41:16 that just doesn't exist that you want to use, I mean, stick with what you've got and keep working with the same things. Because you're not really learning anything by... I mean, you might be learning a little bit, but... Learning frustration. You're learning frustration and you're kind of resetting every time. Yeah.
Starting point is 00:41:36 So I wouldn't say that's a good idea. If you need to, I mean, if you really have a sensor you're excited about, choose that voltage level first. Yeah. And then go find a board that will support it. Yeah, and you should be able to these days. Yeah, even 1.2 or 1.8. John also had a question about batteries and why they're based on 1.5 volts, which doesn't work out to power anything. Chemistry.
Starting point is 00:42:05 That's the reason? Yep. Really? Yep. That's just the way it worked out with alkaline battery chemistry. And as far as I understand it, it doesn't matter how big the cell you make, it's always 1.5 volts with that particular chemistry. And then we made rechargeable batteries,
Starting point is 00:42:22 which had to match it because you wanted to replace them. So they tweaked the chemistries for those rechargeable batteries which had to match it because we wanted to replace them so they tweaked the chemistries for those rechargeable batteries but lithium ions are different they're usually 3.2 to 4 per cell, something like that yeah, it's chemistry
Starting point is 00:42:38 sorry not a grand conspiracy it isn't a grand conspiracy it's a conspiracy of chemists and you should be using a power regulator they aren't very big but they're worth it don't just put the batteries straight to your processor because uh you will put them in backwards and then you will blow everything up trust me okay moving on did we answer that one you said we weren't answering them but that one i felt
Starting point is 00:43:07 like we kind of answered um i think we answered it yeah okay anton anton's company is is page shift uh anton's company is oh oh wait sorry before somebody's gonna send me an email and they're gonna say but what about 9-volt batteries? If you open up a 9-volt battery, it's got a lot of little cylindrical 1.5-volt batteries in it. So, just preempting that. Fine. Mental note, don't open 9-volt batteries unless you know what you're doing. Anton's company has a long tradition of making embedded systems, which have been programmed mostly in C and now for several reasons that are
Starting point is 00:43:49 unavoidable. Unavoidable. They're switching to C plus plus, which feels good, but also scary. Anton listened to episode 137. That's Dan Sax's and felt a little better about his choices. Hopefully he listened to our last episode and felt even better about his choices.
Starting point is 00:44:07 But what standards do we recommend for going to C++? Yee. Well, we did talk to Jason Turner last week about his best practices. Having reviewed that, I thought it was pretty cool. And you have some other links. NASA has one that's pretty good.
Starting point is 00:44:28 It's a little old, but it's okay. The European Space Agency also has one. Essentially what I'm saying here is don't make up your own. The space agencies have good ones. The car systems have a decent one. There's MISRA C++. They're out there. You can find them.
Starting point is 00:44:50 So don't inventure it. We'll put all these in the links. There's also the F35. I mentioned it in the last show, the F35 coding standard, which I will dump a link into. It's from 2005. So a lot of these are pre- you know, C++11 and stuff. Yeah. I mean, if you're going to be working on safety-critical things,
Starting point is 00:45:12 it's going to be slow. That's just how it works. A question from Roger. An embedded software test engineer with robotics background working for a medical devices company. That sounds like fun. Sounds like fun, and I said uh-oh. Roger's manager left the company, and now he's looking for a new position. Okay.
Starting point is 00:45:37 During a recent interview, the firmware manager says they're running C on bare metal. Roger was surprised to hear that a company would make the decision not to use an RTOS given how commonplace they are and how much they can accelerate embedded development on complex systems. Roger asked why? Politely, of course, and wondered if it was something about cost or
Starting point is 00:46:00 how hard it can be to set up, and was surprised to hear the manager justify it as a means of limiting power consumption. How is that possible? Is there any merit to this? Why are you speaking this way? I don't know. Sorry.
Starting point is 00:46:13 Sorry, Roger. I'm totally putting emphasis and fascists on the wrong. Yes. So his question, generally speaking, do our tasks require extra interrupts or resources that could potentially burn power? So I think the thing, I've encountered this argument before.
Starting point is 00:46:32 I've made this argument before. The idea that without an RTOS, you can, in your big loop, wake things up, do everything you need to do, and then go back to sleep for a long time. And you synchronize all of your operations to be together. And even in a semi-complex system where you have a display, you can tweak it so that, okay, we wake up, we do the update to display, we do this, we do this, and we go back to sleep. I'm not super sympathetic to that argument for the reasons he states, that a sufficiently complex system, you're going to end up with a disaster. And there are ways,
Starting point is 00:47:15 there's certainly, hard tosses are very configurable, and if you know how to use them, you can certainly synchronize your event handling and other things in ways that are equivalent to that. Um, so that's the argument I've heard is that, Oh, we don't need all this extra stuff in the scheduler. I don't know what it's doing. The mysterious scheduler, Ooh, scary. Uh, it's going to decide when to run things. We can't have that. Um, nevermind that there's a billion ways to configure a scheduler to do exactly what you want in kind of a deterministic way uh yeah it's all oh let's let's run let's run the cpu only when we need to and turn everything off and then wake up and do everything and then go back to sleep
Starting point is 00:47:58 that's that's what i've heard what have you heard well i mean I mean, yeah, that is... So an RTOS has to do some things, right? An RTOS has to look through its event queue. It has to look through its task queues. It has to spend some time doing things. It is a piece of software that runs in addition to your software. Yeah, but it's generally governed by timers. And it's generally very small.
Starting point is 00:48:29 Yeah. If you... I guess the question that I would want to go back in time and have Roger ask the person who was interviewing him, what percentage of battery life do you think you're getting? Yeah, quantify these things. When people make claims like this, I always want to say, show me the battery life.
Starting point is 00:48:54 Show me the data that supports this claim, other than just a feeling. And I hate stuff like that where it's just a feeling. And there are legitimate reasons for doing bare metal if you're doing a simple system that's you probably can achieve a lot of gains and you can drive out a little bit of cost and go okay i don't need there's some overhead associated with the artos we won't have that less processing overhead less flash that's all true but these days most of the time you're adding something on there embedded system, either Bluetooth or networking.
Starting point is 00:49:29 As soon as you do that, you're in RTOS land. Well, Roger actually goes on to say that it was a sensor attached to a microprocessor plus BLE. And that made me question some of the other things. Most of the BLE processors have an rtos if you're using a nordic yeah nrf whatever 52 whatever 80 whatever um you you have an rtos i mean you may not realize you have an rtos but you have an rtos so not using an additional RTOS or not using the right terminology,
Starting point is 00:50:08 believing it's bare metal and that BLE isn't running an RTOS, yeah, okay, all those things happen. I've seen them happen. But if you have BLE, you're probably not really doing bare metal unless you did it yourself. Which don't.
Starting point is 00:50:22 Which don't, yes. So, I mean, I guess I would say, again, you need to have demonstrable things. You can't, this drives me crazy. It's happened so much time in industry. Going back to STEM, you know, science, there's the scientific method where you have hypotheses and you have evidence that supports them
Starting point is 00:50:44 and you try to prove them. And so many times in software, even in hardware adjacent software, it's all about feelings. And it drives me crazy. Well, it's really hard to quantify a system like, okay, I write it with an RTOS and then I take it out and who paid for the time for me to goof off like this? Well, you should be able to quantify idle time. If you can't do that, then you shouldn't be talking about any of this. But idle time with an operating system and without,
Starting point is 00:51:18 that is what you're measuring, really. And so you're still going with an operating system or without. You should be able to speculatively speculatively come up with the idle time without it's probably hard but if you're going to make these decisions you should have some basis to make them um and if you can't make the decision then decide the thing that's going to save you time because i guarantee there's very few problems that are so battery sensitive that an artOS is going to make them not possible. Right, because an RTOS is going to run only occasionally,
Starting point is 00:51:53 and you get to set it up the way you want. And it will save other processes. You can even set it up to work like a big loop. Right. You can do the thing you want with an RTOS and then gain the synchronization primitives and all the other stuff, the event handling, that it gets, you know, being able to do interrupts in a proper way
Starting point is 00:52:16 where you're signaling from the interrupt handler and getting out. Those are all great things that RTOSes give you. And you can still do a big loopish thing with an RTOS. So in summary, that was not the answer we would have given, that low power is the critical thing. RTOSs do take up some small amount of processing cycles, but that wouldn't be what we would choose. take up some small amount of processing cycles. But that wouldn't be what we would choose.
Starting point is 00:52:48 Now, on the other hand, if you want to run bare metal because you want to run bare metal, because you want the control, because you find it easier to debug, because you don't have an RTOS you trust, those are all the answers. At least be honest while you're doing it. At least be honest. If you want to say it's because you
Starting point is 00:53:04 don't want to spend the RAM or the flash. Or the money if you can't find one that's free that you like. Those are all fine answers. But you're going to spend a lot of money developing the infrastructure that they would have brought you. It depends. I mean, a lot of the chip vendors now have their little
Starting point is 00:53:20 house and are set up. I go back and forth on our tosses. Sometimes I love them and sometimes I just get. It depends on the complexity of the project. But like I said, if you're bringing in Bluetooth or networking or any some sort of asynchronous event handling,
Starting point is 00:53:36 come on. Yeah. Save yourself a lot of hair or heartache and don't do it by hand. Okay. Next question. Oh wait, that's not a question. long is this outline well i think we're gonna skip that last one and maybe we'll just have him on the show like six more pages
Starting point is 00:53:52 uh okay um christopher got me a fitbit versa or where got me is it was lying on his desk as a production prototype and i stole it um i'm not desk as a production prototype, and I stole it. I'm not sure that should be admitted, but fine. No, no, it was fine. There was a ticker on it that said Fort Elysia. Yeah. And I wrote my own watch face, which was funny. I had to do it in JavaScript.
Starting point is 00:54:20 Yeah. And I had to make my own pixel system, because somebody's graphic engine didn't work the way I wanted it to. Yeah. So, yeah, it was kind of amazing. You didn't make a pixel system. You made a shape drawing system. You didn't make anything. You made a font drawing. I had to do my own fonts.
Starting point is 00:54:39 You're mischaracterizing the problem. Anyway, I did a JavaScript thing. I wrote about it. It's on the blog. If, I did a JavaScript thing. I wrote about it. It's on the blog if you want to find out about Versa clock faces or whatever. Wow. My adventures with JavaScript. Robotics update.
Starting point is 00:54:59 I already talked about Tysum, and I already mentioned taking classes. I really like the Peter Cork classes from Queensland University of Technology. Those are fantastic and his book is pretty good too. Let's see.
Starting point is 00:55:15 You had a birthday. I had a birthday? Sometime in the last six months since we did one of these shows. Sure. Did you get any good presents? I did. Was any of them a Teensy? Well, you got me this Teensy guitar audio shield,
Starting point is 00:55:34 which is this cool little board plus some connectors. So it allows you to stick a Teensy in it, and it'll do a bunch of dsp stuff for guitars so it's like a guitar effect pedal uh platform basically and you can program it with arduino and the teensy audio library which is super cool if you haven't heard about it uh for teensies it allows you to set up hold dsp audio filtering chains chains sort of graphically. So you go to this web page, and you can drop these blocks and connect them up. So say, oh, I want a digital delay, followed by a flanger, followed by some EQ,
Starting point is 00:56:14 and you just drop the blocks where you want and connect them to the inputs you want and draw the lines between them, and you press go, and it outputs some code that links all that stuff up, and then it automatically, if you have the Teensy audio library, it runs that stuff in the main loop, and so you basically download that, and assuming you have the hardware that handles the audio stuff, which is what this guitar thing is, it just goes. So super cool, and you can experiment with all kinds of effects and things.
Starting point is 00:56:43 And the guitar thing has guitar jacks. So normal quarter-inch guitar jacks. You can plug your guitar into it, and then it has an output that you can continue on your signal chain to your amp or whatever. It had more connectors than that. It has MIDI. Oh, okay. Yeah, so it has MIDI, so you can kind of control the parameters from somewhere.
Starting point is 00:57:03 So you can plug a MIDI controller up to it and write in your Arduino program, you know, things that modify the parameters of, say, the delay or the reverb or whatever. You can make your own guitar pedal doing almost anything. Yeah, yeah. Why did you have to buy the other big guitar pedal then? Don't talk about things like this. This is for experimentation.
Starting point is 00:57:26 That one's a professional. He only talked me into it because it had an octopus on it. Anyway, it's really cool. I got it from Tindy. You got it from Tindy? I got it from Tindy, yeah. And, you know, for people who say we are too hard on Arduinos, I find it very cool for things like this.
Starting point is 00:57:44 That's only the Arduino software interface that you're using. And I seem to recall there was some swearing with getting it set up properly with the libraries. Yeah. Because software is terrible no matter what it is. All right. Apologies to anyone looking at us. Looking at us. Looking for us.
Starting point is 00:58:03 I hope nobody's looking at us. During Maker Faire. We were not there. We really, I bought tickets. I got a hotel. I was really planning on going. I got extra stickers. Yeah.
Starting point is 00:58:18 And then I fell down our front steps. And I sprained my ankle and firefighters came to help me into the car because I thought it was broken. Then Ben came and brought us snacks because we were at the urgent care forever. And it turns out it's just a bad sprain and I'm getting better very quickly. But I am sad that we missed Maker Faire and Bring a Hack. Okay, let's skip that next question. We'll just have him on sometime. Let's see.
Starting point is 00:58:50 Basics. Biggest six episodes. The person who emailed and said, I really like your shows, but not those. And then the other people who email and say, I like them so much, I'm going to play them for my classes that I teach, even though I'm a professor and getting paid to teach.
Starting point is 00:59:07 Jeez, that seems like an accusation. Yeah, so the basics episodes where we get somebody who's already been on the show a couple times, and we talk to them about some thing we think is important, interrupts, binary, all that stuff. Some of you like them, some of you don't. We're going to keep doing them for a while until we get bored of them. Certainly there are a few more topics I would like to be able to just throw at people. Wait, we were only doing six shows.
Starting point is 00:59:35 What are we at? What? We were only doing six shows of this podcast. We're close to that, aren't we? Yeah. We're going to wrap it up soon, aren't we? 255 is coming. Version control is the next basics that's going to come up.
Starting point is 00:59:48 I've been promising that for like a month, but then the basics got canceled. Version control is really a very exciting topic. You know, the more I, so I tried to write a blog post about it. I spent some time on Twitter talking about it. I spent some time on our Patreon Slack channel talking about it. I spent some time on Twitter talking about it. I've spent some time in our Patreon Slack channel talking about it. And I have realized we do a hideous disservice to new college grads by not helping them understand version control. And I was privileged that we started out in school with CVS, which was dumb and useless and important and taught me the concepts. And then I went to HP.
Starting point is 01:00:31 CVS was state of the art back then. And HP had a different one, but it was still very similar. And then eventually I got to SVN, which was different, but similar enough I could get there and then eventually to github everybody who's starting or to get everybody who's starting now with git and uh mercury mercurio mercurio nobody starts with mercurio it's too good that's why nobody wants to use it it's those are i mean how do you get from the concept of branching, backing up, and version control as a system to the hideously complex world of Git and Mercurial. I don't think Git and Mercurial are hideously complex. I think Git's implementation is hideously complex.
Starting point is 01:01:21 I tried to write a one or two page description of everything you needed to know to use version control, and I couldn't do it with Git. I could do it with SVN. That's what I'm saying. Yeah, I think you could do it with Mercurial. Really? Yeah. Oh, I'm switching. Go look. Go check it out sometime. Okay.
Starting point is 01:01:39 The backing is the same concept as Git, where you have distributed repos. But the command interface is much more familiar. Yeah, anytime you start Git, I'm already annoyed. Anyway, it doesn't matter because Microsoft has purchased GitHub, and soon all of that will change. They're going to replace it with, what's their thing?
Starting point is 01:02:02 Clearcase? Perforce? Visual Source Safe? I don't know what they are. Oh, I remember using Visual Source Safe. It's all going to be it with, what's their thing? Clearcase, Perforce. Visual Source Safe. I don't know what they are. Oh, I remember using Visual Source Safe. It's all going to be part of OneNote. That's so awful. All right. So, yeah. Who have we asked to help us speak about vision control?
Starting point is 01:02:23 I think it was Chris Speck. He was next step. But you know, I haven't talked to him lately. Hey Chris, do you want to talk about version control? I think that'd be great. It's not what he says.
Starting point is 01:02:39 I don't. Can you paste it in from a different show? You want me to search all of our shows with Chris Speck and find something that sounds like I think that would be great? Yeah. I'm not doing that. We'll find someone. I know Dennis Jackson and Elizabeth. Well, we have good.
Starting point is 01:02:58 We have friends. We have friends. We have friends. Yes, we do. We have all the friends music even doing more music you said you were doing music
Starting point is 01:03:11 I don't want to talk about that in this context I want to keep it separate separate then that's let's see Dustin in general I'm trying to learn more about best practices, techniques, designs and strategies for handling multiple sensors connected to a microcontroller. Do you have any suggestions or resources where he can learn about those things?
Starting point is 01:03:33 Minute 30 of the show? I don't know, somewhere around there. Okay. Wasn't that where you talked up your book? Oh. So, Dustin, nothing in particular. Application notes? Application notes.
Starting point is 01:03:54 And it depends so much on the sensors. If you're looking for inertial sensors and Kalman filters. Well, he's talking about handling multiple sensors. So, I think it's mostly a software problem. Well, Kalman's help you put together multiple sensors. You have to think about synchronous sampling versus... That's if you're doing a fusion. Yeah. If you've got like...
Starting point is 01:04:17 If you've just got different sensors. Different sensors, like you're making a weather station, you're not applying a Kalman filter to all of that stuff. Probably not. That's a pretty broad question that would need some specificity, I think. All right. Just an email again. Get an RTOS.
Starting point is 01:04:32 Get an RTOS. News interrupts. One more thing. One more thing. How long has this show been? Like six hours? This is hour four. All right.
Starting point is 01:04:42 I did a Twitter bot. Okay, that's it. Goodbye. Okay. And the idea is you put together some things and you fill in some blanks and you end up with things that generate their own art. And they look smart and they look different and they look like things you wouldn't have written. But it all comes out of what you did right. And it's part of a neural network-based system. And Trace3 was pretty cool, and setting up a Twitter bot was trivially easy. Slightly scary, trivially easy.
Starting point is 01:05:33 But I used cheapbotsdonequick.com, which has some rules about politics and trivially easy bots. My bot's name is PajamasWithFeet. And it is all the things that I should have said when somebody said they weren't having a good time of it. So you know how when somebody says, I'm having a bad day, and you're like, I don't know what to say to that. Or something awful happens, and you're like, I don't know what to say to that. Or something awful happens and you're like, I don't know what to say. And then you feel stupid, so you don't say anything at all. And then the person goes away thinking you didn't care, but you cared, you just didn't know what to say. So these are the things you can say. And I try to do the generative thing and I have kind
Starting point is 01:06:21 of failed. So if anybody out there knows how to do the generative thing, tell me. Mine ends up sounding a little bit like Mad Libs. And not generative enough. And I don't know what the chasm is. Markov chains.
Starting point is 01:06:39 I'm just saying that. I have no idea. It's the answer to everything. Blockchain and Markov chains. Chains in general. Chains. All kinds of chains. That's where the future is, is chains. Chain, keep us together. Running in the shadow of chains. Thank you to everyone who wrote in a note about making their commute better,
Starting point is 01:07:02 their job searches more bearable, making learning more interesting, or a general thanks to us. We thank you. We like hearing from you. It's nice to hear that we are helping people. It's nice to hear and it's important. So, thank you for listening. Thank you to Christopher for co-hosting and producing and fetching and carrying while my ankle has been healing. If you have any questions, notes, whatever, hit the link on embedded.fm or email us, show at embedded.fm
Starting point is 01:07:35 or Twitter or Patreon or wherever you want to hit us up. We're generally available, but just not responsive. Pretty responsive. Pretty responsive. hit us up we're generally available but just not you know responsive pretty responsive pretty responsive we do a whole show where we answer all these emails that's i mean it's not fast some of these were over six months old that's what i said it's not fast it may not be high quality but it's you know it's personal it's personal yes okay i'm gonna do um i'm gonna read from winnie the pooh are you ready do you have any did you have any final thoughts or or final questions or oh no i'd like to i'd like to be done now okay okay i won't do the whole rest of the chapter then well you can do whatever. It's fine. Christopher Robin?
Starting point is 01:08:25 Yes? Have you an umbrella in your house? I think so. I wish you would bring it out here and walk up and down with it and look up at me every now and then and say, touch, touch, it looks like rain. I think if you did that, it would help the deception which we are practicing on these bees well you laugh to yourself silly old bear but you didn't say it aloud because you were so fond of
Starting point is 01:08:55 him and you went home to look for your umbrella oh there you are called down Winnie the Pooh as soon as you got back to the tree. I was beginning to get anxious. I have discovered that the bees are definitely suspicious. Shall I put up my umbrella, you said? Yes, but wait a moment. We must be practical. The important bee to deceive is the queen bee. Can you see which is the queen bee from down there? No? A pity. Well now, if you walk up and down with your umbrella, saying, Tut, tut, it looks like rain, I shall do what I can by singing a little cloud song,
Starting point is 01:09:36 such as a cloud might sing. Go! So, while you walked up and down and wondered if it would rain, Winnie the Pooh sang this song. How sweet to be a cloud floating in the blue. Every little cloud always sings aloud. How sweet to be a cloud floating in the blue. It makes him very proud to be a little cloud. embedded is an independently produced radio show that focuses on the many aspects of engineering
Starting point is 01:10:10 it is a production of logical elegance an embedded software consulting company in california if there are advertisements in the show we did not put them there and do not receive money from them at this time our sponsors are Logical Elegance and listeners like you.

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