Embedded - 233: Always the Wrong Way

Episode Date: February 9, 2018

Chris and Elecia chatted about listener emails, and other stuff and things. Elecia wrote a book called Making Embedded Systems, if you want to see the chapter about interrupts and timers, hit the con...tact link on embedded.fm. We also recommend our blog, Chris Svec wrote about the MSP430 from a microprocessor point of view (ESE101) and Andrei Chichak wrote about an ST processor with a more pragmatic and C focused view (Embedded Wednesdays). You can support the podcast through Patreon. Kalman filter explanation video with Pokemon Ben Krasnow's Applied Science YouTube channel Usbourne's books for teaching kids electronics and programming (the free '80s ones are near the bottom) Formally verified microkernel: seL4 Microkernel The first Pokemon games used every programming trick there is for optimization STM bought Atollic and released TrueStudio Pro for free for STM parts

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Embedded. I am Eliseo White, here with Christopher White, and this week, this week we don't have a guest. We're our own guests, we're each other's guests, I don't know, it's just us this week. This isn't unusual, we do this. I know, but it's been a while. Okay, first topic. Go. Do you want to go? No, go. Okay, first topic. Go. Do you want to go?
Starting point is 00:00:28 No, go. Okay, first topic. Which part of the fantastic SpaceX Falcon Heavy launch was your favorite? Toss-up between the synchronized landing. Oh, that was beautiful. It was ballet-like. Or the ridiculous absurdity of the car for hours. The two-hour-long car spin.
Starting point is 00:00:54 Two hours? More than two hours. Well, you can now watch the two-hour-long version of this. Let's just say I got less done this afternoon than I expected to because I was spending more time just watching the fake man in the car float around the earth. It was beautiful.
Starting point is 00:01:11 Good job, SpaceX. I also liked when the boosters separated. That was cool. I thought they did a really good job with having enough cameras to see all the moving parts and I didn't know they were going to put a camera in the car. I kind of hoped they would, but it didn't seem like maybe they would
Starting point is 00:01:28 because it's not a real satellite. But having many cameras in the car was pretty cool. And now that is the fastest and most expensive car in the whole solar system. Somebody will go get it someday. All right, let's see what's next. Oh, I am available for work. Two of my big clients have not come through, so I will very soon have availability.
Starting point is 00:01:58 Yay me. What do you want to do? Something interesting. What's interesting? I don't know. I mean, I like sensors. I like BLE okay, but I've done it a lot, so it couldn't just be a sensor on BLE. I like math. I kind of miss doing math, even if it's machine learning stuff or signal processing. But then I also like little processors trying to fit everything in and do the power optimization. I'm fairly easily amused.
Starting point is 00:02:30 One of your last things was MSP430. You hadn't done that in a while. No, and it all came back pretty quickly, I think. Although I still have to do the power optimization on that. But I'll be very available soon. Those aren't too hard to power optimize, I think, I hope. Cross fingers. And in the meantime, I am working a little bit on Ty the Typing Robot.
Starting point is 00:02:56 Go on. This is so smooth when we have each other. Yeah, so I decided that I needed a deadline and a stopping place for a little while. And so I signed up for the NVIDIA Jetson Developer Challenge. And the idea is that it's supposed to be some spiffy AI thing that uses the TX2 to its full potential. And I'm entering a typing robot that has no real AI component. Most of the categories were like, you know, world-saving medical devices, farm helping. Yeah. And they didn't really have a category for fun.
Starting point is 00:03:45 Well, they had one called Geek Out, which was sort of the catch all anything category. And I'm starting on the principle that the word geek comes from the circus geeks and they used to eat everything as part of their act. And so part of my experience with the Jetson has been try everything, try object identification, try robotics, try camera vision. And so this will help me document what I've been doing with Ty, which some of the camera vision stuff is pretty cool. Some of the robotics is pretty awful. We'll see. And there is a community aspect to that where people can vote on your projects. So I'm hoping that all of you listening are trying to figure out already how you can vote on my project, which isn't due until like the 20th of February.
Starting point is 00:04:38 So, yeah. You got to milk this podcast for all it's worth, man. All right. Which I guess moves on to the next subject, which is we don't have ads on the show. And we do have Patreon. You're welcome to support us there. We really do appreciate it.
Starting point is 00:04:57 And what the money there goes for is not really even our hosting costs or paying us at all. It's so I can send microphones to guests. We get much better audio quality if we know that their microphone is a good one. If they aren't using their built-in microphone or they aren't using a headset, we really can get them to sound better. And so I appreciate when people support us because that means it's easy for me to send microphones everywhere.
Starting point is 00:05:28 Yeah, I guess that was all with the Patreon. Well, Patreon kind of, they said they were going to change the rules, so I changed our setup. And then five minutes later they changed it back. Five minutes later they changed it back, but I'd already changed, it was all so. So we lost half of our. So we lost half of our donations, which is still fine. I'm still managing to send mics out. Okay.
Starting point is 00:05:51 ChordBot. I met, well, virtually met Brad and Bill of Isla Instruments. They make the ChordBot, which is not a synthesizer, and they sent us one to play with, where us is clearly not me. You tried it out. Yeah, I know. And you were like the first thing.
Starting point is 00:06:13 I was like, oh, they sent us this musical synthesizer thing. You should try it out. And he's like, it's not a synthesizer. No, it's a sequencer. Well, it's a sequencer controller thing. It's a MIDI controller. So, you know, if you don't know midi as midi is a digital interface to talk to musical instruments so if you have a synthesizer
Starting point is 00:06:34 it might be just a block of electronics with a plug in it for midi and then you can plug a controller into it the controller might be a piano keyboard it might be something fancy like a fake horn like they have midi controllers that are in breath instruments um so basically midi it sends note information like oh i want you to play an a right now and i'll tell you when to stop and it sends other controller stuff so you can can have pitch, bend, and all kinds of things. And MIDI is less about the wires between. It's not I2C or SPI or even UART. It's the layer on top that describes things.
Starting point is 00:07:18 Well, it's its own serial interface. Okay. But it's the serial interface and the protocol. There's a protocol on top, yeah. So what this is, is it's sort of a keyboard controller. It has an octave or two of keyboard buttons, but it's an arpeggiator and sequencer. And an arpeggiator is something that plays individual notes from chords.
Starting point is 00:07:38 So if you have a C chord that's like C, E, G, it'll play each of those individual notes in sequence, so it won't play them all at the same time. So it's still a chord, but they're separated in time. And if you listen to a lot of synth music, you'll hear this kind of thing, repetitive kind of walking up and down notes of a synthesizer or keyboard. So what this does is it allows you to program a bunch of those chords and just play them with single buttons, but it'll also walk you through like common progressions and stuff, and you can program it to be really sophisticated. Like, oh, I know I'm on the C chord, so for this particular scale, I know I can legally
Starting point is 00:08:18 go to these other chords, and then it'll give you those options. So for performance, when you're running a synthesizerizer it's really cool to kind of set up these things just kind of run in the background while maybe you go play a lead or something so you set up a chord and it just kind of it takes care of it and plays it as an arpeggio loops it right and it loops it and you can go off and do something else or alter the sound on your synth while it's doing that so it it's got chords, it's got scales, and it's really sophisticated in how you can program it. And they're adding a sequencer function. It's not there yet, at least it wasn't in the firmware I have.
Starting point is 00:08:53 And a sequencer is where you can just record whatever you want and then press go, and it'll keep looping that. So yeah, it's really neat. It's compact, and it's about the size of a couple paperback books, maybe a little longer. Yeah, paperback books laid flat. And it's got a nice screen on it. Some of the controllers are just kind of bare with no screen,
Starting point is 00:09:16 but this has a screen so you can see what's going on and adjust tempos and things. It has a lot of LEDs as well. Right. I know that from the code side. All the buttons and stuff have LEDs. So like I was saying, when you do the chord thing, it'll turn off the LEDs for ones that you probably shouldn't go to
Starting point is 00:09:33 for a particular scale, stuff like that. And it also shows you on the keyboard what it's playing with the LEDs, which, if you're learning, can be quite useful. Hilariously, I talked to Brad a bit and then he listens to the show some and I mentioned that Sunshine Jones would be on.
Starting point is 00:09:53 This was weird. And it turned out that Sunshine had written a manual for the Chord Bot. So it was all very small world. It really is a small world. So thank you Brad and Bill. It's been fun to play with. I think it was all very small world it really is a small world so thank you brad and bill it's been fun to play with i think it was a kickstarter so this is definitely a small and they're shipping small company uh bright idea from ground up kind of thing so
Starting point is 00:10:16 uh next on the list oh look that's so cheery dying blog i love that how i write these notes they're just great um yeah our book so if you didn't know we do have a blog on embedded fm slash blog um and chris feck and andrej cicek write for it as well as me uh christopher white occasion once maybe i've heard a couple things back in the first few weeks. Yeah. But then I decided I have enough to do. Yeah. And nobody needs to hear from me.
Starting point is 00:10:51 Well, I think I liked what you wrote. But yeah, so it hasn't had a lot of traffic, but it has a lot of information on there. So if you want to know how to get deeper into MSP430s, you want to know about how microprocessors work, take a look at andre's embedded wednesdays they're both really good and i hope that this guilts them into writing more for us we don't pay them either nobody around here gets paid not even the dogs they get paid in kibble uh yeah oh and I guess that brings up a listener email that I wanted to address. This one from Mark Hickling. He says, Hi guys, I recently listened to your podcast with Chris Gamble, the New Year's podcast, and it got me thinking. I've spent quite a few years programming in C and can do all the basics. Ifs, whiles, fors, controlling, IO, etc.
Starting point is 00:12:06 Problem is, I've hit a limit. Now I want to learn more, but there's almost too much information online and I don't know where to start. I need to know more about timers, interrupts, and bitwise calculation. But all the books seem to focus on desktop-based C rather than embedded C. I wondered if you could point me in a better direction. No idea. Well, I mentioned the blogs. I like those blogs in particular, possibly because they're the ones I, I mean, they're the ones I like best. That's why they're on our site.
Starting point is 00:12:38 But it's funny you should ask, because I actually wrote a book. I know that comes as a shock to many people, but not all of you. And it's called Making Embedded Systems. I wrote it for O'Reilly. And I sent Mark the chapter on interrupts and timers. If anybody else wants that chapter, feel free to email me and I will pass it along. The book wasn't dependent on any particular processor, so I think it's still relevant. I talk about doing an update to it, but my update wouldn't be to most of it. It would be more about manufacturing, which is something that changes all the time, maybe more about manufacturing software. I don't really know what I would add to it. BLE?
Starting point is 00:13:37 I do have a chapter about all of the different protocols and peripherals, and it's kind of jammed in there because BLE requires its own book. I mean, we got through like a third of what I wanted to on our BLE requires its own book I mean we didn't get we got through like a third of what I wanted to on our BLE show and Jackson did a great job but there's just so much I mean this is why there are hundreds of pages in the books that exist we can't get through it
Starting point is 00:13:57 so if I did BLE in my book it would be three pages long and it would pretty much say go find another book here are the very basics and you would use it under these circumstances. I think you should talk about the MPU and the ARM Cortex M4. Why?
Starting point is 00:14:16 Because it's a cool feature and memory protection is a, yeah. And I don't think that's really written about anywhere, but that's processor specific and you don't want to do that. Yeah, and it's something that's more often used in Linux and in operating systems. No, it isn't? No, it's on the Cortex-M. Yeah, okay.
Starting point is 00:14:38 I still run Linux. No, so what are we using the MPU for? RTOSs? Yeah. Okay. All right. Then we're agreed. Next on my list is...
Starting point is 00:14:52 Oh, learning via YouTube. Do you watch YouTube videos? Occasionally. I've been looking at a few on building synths. I find them frustrating, some of them. Why? A couple of reasons. One, YouTubers who are successful seem to have picked up kind of a style,
Starting point is 00:15:19 which is there's a lot of preamble. Like, here's what I did today. It has nothing to do with what I'm about to tell you. Oh, yes. For lunch I had rice and fish. And you follow them around and their quick cut edits and things, and then they get into whatever they're talking about. It's hard to find the information you're looking for.
Starting point is 00:15:42 Like, if there's something specific you're looking for, you can't skim like in a book to find a particular thing, right? It's not organized that way. It's somebody talking for like, like a podcast. Nobody listened or pay attention to what I'm about to say, but it's, it's, it's hard to find if you're looking for some specific piece of information you can find a video
Starting point is 00:16:10 on it but then within the video sometimes it's not well organized enough to kind of go oh okay that's the thing i'm looking for so i tend to like the ones that are more kind of more like lectures or it's like okay there's this and then the next one will have this and this person is teaching something that they've thought about at least long enough to have a series. So some of those are okay, but I find
Starting point is 00:16:36 there's a little bit too much entertainment even in the educational ones to get much out of it. There was a Kalman Filter video that kind of prompted this. Oh, is this the one that Matt Godbold has been sharing? Oh, I don't know.
Starting point is 00:16:54 It is... Oh, I forgot to turn down my audio. Sorry, it's a Kalman Filter video using Pokemon as the example. I don't think that's it. And it's pretty amusing and it's pretty correct. It's not, it definitely goes more for the entertainment side than... If you're looking for an intro to something, a lot of the YouTube videos I think are great
Starting point is 00:17:20 for that. But you're not going to take that video and use a Kalman filter, right? Are you? No, you're really not. You might be able to talk to somebody about it. And you aren't going to be able to take that video and read a book about Kalman filters. Yeah. I had that problem even taking the second term of the Audacity self-driving car that
Starting point is 00:17:42 what I was learning there felt very deep and mathematically rigorous. But then when I went to the book, it was, I couldn't, I had no... There was still a gap. There was a huge gap. And I hated it. It made me very unhappy.
Starting point is 00:18:00 I still feel like someday we're going to be able to make an education out of YouTube, but I haven't figured it out yet. I think there's stuff there. You have to find people more than... I mean, because if you just search for Kalman Filter, you get a lot of things. What are other video sites? I mean, it depends on your goal, right?
Starting point is 00:18:15 If your goal is to learn something in a way that you can apply it, you're probably more likely to find one of the online course sites or Khan Academy or something that's role is to teach you rather than kind of here's a cool thing I found, or here's a cool thing I did. It's inspiring, but I don't find, even when I find very specific videos, like there's one I watched about building analog synths. And it was pretty good. But the guy, you know, he walked through, he was schematic for the thing he was doing. And I learned a bit.
Starting point is 00:18:55 But mostly what I learned was I need to go find something more deep before I could do anything with it. And maybe that's just finding the right level of video. Maybe that video was like, oh, you should already know this stuff. That's one of the hard things about it, being on YouTube instead of in a class format. It's a class format, it has prerequisites. And YouTube doesn't, so you can end up in the deep end when you didn't intend it. Yeah. I was kind of hoping that I could trick myself into watching educational
Starting point is 00:19:30 videos instead of some of the novels that I read that aren't really very good. Sometimes I'll be halfway through a novel and I'm like, I don't care about any of these people, but the completest in me needs to finish it. Yeah. And I was trying to get myself to watch more YouTube videos for that, but I haven't. A lot of YouTube to me feels like adult Sesame Street. Which was what I was looking for.
Starting point is 00:19:54 Yeah. But no one comes away from Sesame Street knowing how to do math. They learn maybe the basic numbers in the alphabet, but they don't learn maybe how to spell or grammar so it's all very it's all very shallow surface the things that i've seen i people don't don't don't email me i'm sure there's great videos on youtube i don't go there that often when i do i don't have a great experience so but a lot of it's know, experiential kind of stuff. Like Ben Krausen has videos, they're great, and they're exciting. And I feel like I learn things. But it's more like, you know, it's more like watching nature programs or something,
Starting point is 00:20:38 where you learn some cool fact about science or nature, but it's your goal, right? Do you want to learn how to do something or how to take in a subject at a deep level? Or do you want to be entertained? I still maintain that most of that stuff is kind of science-y entertainment. That's true. And from Ben's videos, which I do like, I get, you know, the factoids, a couple of science factoids, which I like. I think the thing that I take away most is his fearlessness. I mean, he's just willing to try
Starting point is 00:21:14 any freaking thing. Yeah. There's all sorts of positive stuff to get out of it. It's just when I'm going there, it's usually an entertainment mindset. It's usually an entertainment mindset. It's either an entertainment mindset or a no-nonsense, please just give me the information mindset.
Starting point is 00:21:31 And both of them seem to have downsides for me. Yeah, when I'm looking for information, I still go straight to Google and look for pros. Yeah, and pros is so much faster for me. Okay, well, I just wondered what your thoughts were on that. Speaking of prose, Usborne. Do you remember the Usborne children's books? The what?
Starting point is 00:21:53 They were in the 80s. And they taught you how to program. Yeah, I know. I linked to these. You did. You linked to those. Yeah. Yeah.
Starting point is 00:22:01 So, they have modern books about scratch and all of that but they also have a number of free books on robotics for uh let's see the commodore 64 and let's see uh vic 20 spectrum and bbc keyboards and computer music uh you know it's not always really truly relevant to today, but they're free and some of them, I mean, it's not like building a group. Sorry, I have one favorite. I have one favorite out of these. Okay, what is it? Machine Code for Beginners. The
Starting point is 00:22:35 Usborne introduction to Machine Code for Beginners. I think I remember this book. 1983. It's kind of a picture book about machine code. And it takes you all through it. And it's great. It tells you how a microprocessor works.
Starting point is 00:22:51 And you know it's directed at kids, but I don't care. It's got the information. It's not lying to you. And it's a great way to present it. They're charming. And it talks about the Z80, which is still a fine chip to think about.
Starting point is 00:23:07 I maintain. Anyway. Yeah, those were cool. And there's a link, I assume. I'll put a link in. Chris said not to email him if you had particular videos you wanted him to watch. I, on the other hand, don't mind if you email us. No, I don't
Starting point is 00:23:23 care about that. I just want people yelling at me. Oh, it's the argument. Okay, we'll take video suggestions we just don't want to be argued at. That's usually true. Yeah, so show at embedded.fm or there's a contact link on embedded.fm. We should
Starting point is 00:23:39 always be easy to reach. There's never the intention that you can't find us. We're also on that awful thing. Twitter? Yeah. Yeah, we're on Twitter. And you can sometimes leave comments on Squarespace when the moon is full and the dogs are... It works, you whiners.
Starting point is 00:23:58 Jesus. It doesn't work for me. Just log in. We're not going to let you just post anonymously because we don't want spam all over the place. So log in. You can't always log in because they don't support Google Chrome or something. No, give me a break. I don't believe any of that.
Starting point is 00:24:12 I'll show you. If you show me, I'll just disbelieve. Yeah. Okay. Well, next on my list. Did I tell you about realizing that one of my worst, worst work experiences was something I could explain to someone else as something that made sense? Oh, I thought it was going to be about crying. Oh, no. Not you crying. No. No.
Starting point is 00:24:35 Jeez. Crying. Don't cry at work or just cry in the bathroom, please. Don't cry at me, please. Anyway. So, when I was at LeapFfrog I had a whole toy line had um I had preschool like right before they went to kindergarten we had a whole bunch of toys that were about to come out and I worked really hard on a couple of things that I was pleased with. The fact that across my toy line, there was a lot of shared code, and yet each toy had great personality and was well done, and
Starting point is 00:25:12 QA had passed them, and we were done with the code, and then they canceled my line. They also canceled on my co-worker's line. She had all the musical instruments. And we took the afternoon off when they did it. And we were talking to someone about choices in business and she wanted to know what were the major decision points where you had to decide to go or no go. And I said, you know, clearly once you start manufacturing, that is a go, no go decision. Once you have 10 prototypes and you want to go to 10,000 or in this case, hundreds of thousands, you can't start unless you're willing to put out big bucks. And I realized at that point, my salary was so small compared to what they were about to kick off. That's why they canceled my line.
Starting point is 00:26:27 And for so long, that has been like one of those things that just bugged me. Why did they cancel my line? It was a good line. And it was because I couldn't afford to tool it. And they had to gamble. And I, yeah, I was like a bit flipped in my head and it went from one of the worst experiences to something that I could articulate why it was the right decision for the company. Still pissed me off as an engineer. Getting stuff canceled is really hard, but yeah, it's hard to, it's hard to separate what's good for a company versus what's good for you.
Starting point is 00:27:06 And nobody wants to think of the good of the company most of the time because companies are faceless organizations that, you know, at least we've been trained to think of as heartless. And sometimes that's true. And sometimes, you know, the choice is actually you have a job or we cut this line. Because if we do this and fail, then we're in much bigger trouble. I don't know. I wish somebody had sat me down and said,
Starting point is 00:27:35 this is the budget for this project. This is how much each thing costs. And this is why we waited so long. It didn't matter that I was finished. It mattered that they had to start paying for tooling. And this is why we waited so long. It didn't matter that I was finished. It mattered that they had to start paying for tooling. The development cost a million dollars, but the tooling cost 20. And they're willing to say, okay, we gambled on the million and we're not going to do it.
Starting point is 00:28:00 They're not willing to say, let's gamble on the 20 at this point. Yeah, but I do wish that decisions like that would be made sooner. Of course. And up to then, I'd only that decisions like that would be made sooner. Of course. And up to then, I'd only ever had one of my toys cancelled. And if you have four, then one doesn't bug you that much. There's stuff too that's kind of... I've seen things where
Starting point is 00:28:19 a big company will have two parallel projects and maybe each won't even be aware of it, the other. And then at the end of it, they do a bake-off and kill one. That's different and that's not cool. I don't know that it's not cool. I mean, I hate having my time. That is a waste of resources
Starting point is 00:28:39 because if you're making two things that are basically the same, what are you doing? I guess I was thinking more two teams making a library that he shares. I mean, I was... This was Cisco.
Starting point is 00:28:57 There were two big switch router products. One came out of the switch business unit and one came out of the routing business unit. I don't even remember which one they ended up picking, but they both were very, very similar. At the end of it, when it's done, that's when they kill it.
Starting point is 00:29:14 Yeah. Don't take it personally. That was what I wish I could have told myself. It's hard not to, right? Yeah, I took it personally for years. I remember Kim and I went out to get ice cream and we were both like shell-shocked. It's like I could have spent the last six weeks on the beach and done nothing. They weren't going to let you do that.
Starting point is 00:29:35 They'd make you do something else. It didn't make any difference. I mean, in the end, my work was gone. Damn many things I've worked on that never shipped. I know. And it's so depressing. I know. But, yeah. was gone how many things i've worked on that never shipped i know and it's so depressing and i know but yeah and it's not it's not always about shipping it's not always about being productive i learned a lot in that time it just took me 15 years to realize
Starting point is 00:29:57 all right moving on uh embedded world is in nuremberg in Germany, that is. February 27th to March 1st, 2018. Malta is going and wondered if anybody wanted to meet up. I will be your coordinator, but I will not be attending. So if you are going and you want to say hello, then send me an email or catch me on Twitter and I will remotely do a meetup. I don't know. I have no idea what I'm proposing here. But if more than a couple people want, I'll send over a pack of stickers and you can all share them there. Sure.
Starting point is 00:30:45 For the two people currently waiting for stickers, yeah, someday. Oh, come on. I'm sure. Yeah. You stick them in the envelope and you put them in the mail. I like to, I don't know. Maybe they're Patreon supporters. Do you know? I don't think either one know. Maybe they're Patreon supporters. Do you know?
Starting point is 00:31:05 I don't think either one of them said they were Patreon supporters. That only gets you to the first in the line, but really it's once I have about five people, I'll send them out. That's when the guilt level starts to really get to me. I don't see. People ask for stickers and they'll help out the other folks. Great, thanks. Adam sent me information about tone deafness
Starting point is 00:31:27 apparently I was a little cavalier about it tone deafness is totally a thing yes absolutely were we talking about tone deafness? no we talked about me reading about that you can be trained in perfect pitch
Starting point is 00:31:42 that it's not as genetic as people used to think. It's still really hard and it does better if you start training at a young age but even adults over a six month period of like four hours a week could get
Starting point is 00:31:58 there. Unless you're tone deaf, in which case, no, you can't. There is a genetic component. It's like saying you can train to be not colorblind exactly and i didn't mean that i just meant you could train to do the paint chips long enough you'll see the subtle difference there's a color thing that came across twitter recently about lines and i couldn't i don't know what was wrong. I'm not colorblind, but I have no idea what the illusion was supposed to be.
Starting point is 00:32:31 Jesse asks if we have ever used formal methods in embedded and pointed me to the SEL4 kernel. I have had brief flirtations with things like UML and Rational Rose at medical companies, but never followed that to anything useful. I think that's what those were. Well, this is a kernel, a micro-kerninal RTOS that is open source and formally verified. Sure. So, I mean, Rational is really expensive. Yeah. So, it's pretty cool.
Starting point is 00:33:13 I'm all for things that are more rigorous in development. I'm all for it in theory, and I wish someone would maybe pay me to do it. Oh, I see. I don't, the slapdash things. Well, nobody wants, that's the thing. Most of the kind of work we're doing, nobody's going to bother to do that. But things like operating systems, that's a good place to do it. Yeah, I would look at it more the next time I have a medical client.
Starting point is 00:33:44 You know, when, at every place where we were looking at doing more rigorous development, whether it was having full coverage unit tests or verification tests and all that kind of thing, we always ended up with a choice at the end. Okay, what are we actually going to test rigorously? Because we can't do it all sometimes. And it was always, you know, the stuff that gets called a lot, the libraries, support libraries, operating system stuff,
Starting point is 00:34:09 you know, the UI maybe would not necessarily get fully tested at the same level as maybe the RTOS. So yeah, formal verification, especially starting with the RTOS, seems like a good idea. I don't know what else to say about it. It exists. That was all.
Starting point is 00:34:30 The SEL4 kernel. Yes. Okay. There'll be a link. Graham has notified me, thank you, Graham, that ST bought Atolik. Atolik makes True Studio. And they have made the Atolik True Studio Pro free for STM32 parts. That's actually really nice. I mean, I still am quite happy with VS Code for most of my development in GCC.
Starting point is 00:35:02 But True Studio, it wasn't bad. Ever used it? Tell me about it. It looks like it looks like IAR and Kyle. It has all the debugging. Actually, it had some really nice debugging features. Yeah, it was
Starting point is 00:35:22 just another IDE, but a free, formally pretty expensive ide now i don't know it's cool it's cool i'm telling you all right i'm fine for more tools uh for a lot of things tonight more tools and fully verified art kernels, micro kernels. Thor says, being a hobby embedded tinkerer, I've mostly honed my craft alone
Starting point is 00:35:52 in some corner. Listening to you feels like having a nice conversation with friends over beer next to the fireplace. Is there a question in there? No, I just really liked it.
Starting point is 00:36:03 It was nice. All right. It was nice. All right. It was just nice. Thank you, Thor. Jacob asks, have we come across any interesting applications of USB Type-C yet? It seems to have all the right features, and yet lots of things still come out with micro USB. I have found it very good for sending Apple and what's this other company that makes things a lot?
Starting point is 00:36:33 Anker money. Yeah. So that I can have all of these connectors all over my desk to connect things that I could connect before without connectors. So mostly USB-C in support of your 2017 MacBook. Uh-huh, yeah. Also, the power cable's a lot longer, but it doesn't have MagSafe, so I can kill my computer easily. Oh, no, really? Oh, yeah, it's just a USB-C port.
Starting point is 00:37:01 You can put it into any of them, so they couldn't do that. Yeah, no, they killed MagSafe. Yeah, so, no, it's just a USB-C port. You can put it into any of them, so they couldn't do that. Yeah, no, they killed MagSafe. Yeah, so, no, I have found no applications of USB-C other than to irritate me. Abe Klein. Do you think stuff is going to, I don't think small devices are going to switch for a long time, because they'll just still have micro on one side and USB-C. I mean, this is a ship of cable, right? Yes, I'm not in any hurry to change.
Starting point is 00:37:31 I don't have any benefit to it. I mean, the only actual nice thing is you always plug it in the right way. You know that one second that I always do have to spend, I mean, it is always the wrong way, still is not enough reason for me to buy all new gear. Yeah, I haven't seen USB-C making its way into embedded in any way, shape, or form. I'm not even sure.
Starting point is 00:38:04 Yeah, I mean, there's no host controllers for small micros or form. I'm not even sure. Yeah, I mean, there's no host controllers for small micros or anything. I haven't seen any. Not yet. Question from Abe Klein, ruler of galaxies,
Starting point is 00:38:19 devourer of worlds. I don't think we should be talking to this person. It just goes to show that when you fill out the contact message and you say, what do you want to be known as on the show? That is usually what I say. Abe Klein, ruler of galaxies, devourer of worlds, thought we would appreciate the artistry of the programming in the first Pokemon games. I sent a link talking about how they had to just shove in all of this stuff. Get really creative, like not using a piece of memory.
Starting point is 00:38:59 Repurpose it. You just can't leave it lying around. Only have a couple of registers? Juggle them to keep track so we can restore them when needed. I mean, I think between that and the S-Borne machine code book, you will totally have an idea of how microprocessors work. It was pretty cool. Thank you, Abe Klein, ruler of galaxies, devourer of worlds. Reminds me a lot of early computer games. They were all like that. Because you couldn't... On an Apple II, you had BASIC or you had machine code.
Starting point is 00:39:30 So most of the games were kind of hand-tuned assembly because BASIC was too slow or too big. Yeah. And now I'm like, why not use C++? Most of the standard template library, which is now part of the language, exists in our compilers. And why are you making a linked list?
Starting point is 00:39:53 It's already there. Too big. It's not. Too big. And you don't even have to, I mean... You could use rust. Well, that's the show for today. No, really, I'm out of topics.
Starting point is 00:40:16 Do you have anything else? No, there was more here, wasn't there? I don't think so. Some of the other ones that are on there were things we covered with Chris Gamble. We could talk more about The Sunshine Show. I loved that episode. I had so much fun. I think we should just leave it as its own thing.
Starting point is 00:40:33 I don't really want to... Rehash it? Rehash it, yeah. Yeah, you're just afraid. I am afraid. All right, well, until I say thank you to the people still listening? All right, so thank you to Christopher for... Whatever it is I do. Co-hosting and producing and making us sound good and all of that.
Starting point is 00:40:56 Thank you for listening. And now some Winnie the Pooh. Well, it just happened that you had been to a party the day before at the house of your friend Piglet. And you had balloons at the party. And you had had a big green balloon. And one of Rabbit's relations said it had a big blue balloon and had left it behind, being really too young to go to a party at all. And so you had brought the green one and the
Starting point is 00:41:25 blue one home with you. Which one would you like, you asked Pooh. He put his head between his paws and thought very carefully. It's like this, he said, when you go after honey with a balloon, the great thing is not to let the bees know you're coming. Now, if you have a green balloon, they might think you were only part of the tree and not notice you. And if you have a blue balloon, they might think you were only part of the sky and not notice you. The question is, which is most likely? Wouldn't they notice you underneath the balloon, you asked? They might or they might not, said Winnie the Pooh. You could never tell with bees. He thought for a moment and said, I shall try to look like a small black cloud. That will deceive them.
Starting point is 00:42:21 Then you had better to have the blue balloon, you said, and so it was decided. Well, you both went out with the blue balloon, and you took your gun with you, just in case, as you always did. And Winnie the Pooh went to a very muddy place that he knew of, and rolled and rolled until he was black all over. And then when the balloon was blown up as big as you and Pooh could make it, you were both holding the string, you let go suddenly. And Pooh Bear floated gracefully up into the sky and stayed there, level with the top of the tree and about 20 feet away from it. Embedded is an independently produced radio show that focuses on the many aspects of engineering.
Starting point is 00:43:09 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.