Embedded - 487: Focus on Fizzing

Episode Date: October 17, 2024

Chris and Elecia chat about simulated robots, portents in the sky, the futility of making plans, and grad school.  A problem with mics led us to delay the show with Shimon Schoken from Nand2Tetris (c...o-author of Elements of The Elements of Computing Systems: Building a Modern Computer from First Principles). Look for that later in the year. Elecia is playing with Webots, a robotics physics simulator. Simpler than ROS’s Gazebo, it also can run in an online mode where you can run it on a browser, selecting between many different robots.  Chris talked about processing his photos of Comet C/2023 A3 (Tsuchinshan–ATLAS) using PixInsight and Siril. Then we talked about grad school (including Georgia Tech’s reasonably affordable CS Master’s Degree). Tony sent in this insect detector: Mothbox. If you want links like this or de facto letters to the editor, please sign up for the Embedded.fm newsletter. Transcript   Photo of Comet C/2023 A3 (Tsuchinshan–ATLAS), taken from Seacliff Beach in Aptos, CA by Chris White

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Embedded. I am Alicia White, here with Christopher White. We promised you a show full of NAND to Tetris, and we aren't delivering right yet. We will soon, actually end of November, but this is really because of you, actually. Me? No, no, the listeners. Oh, it is because of me, because I'm very picky. I mean, it's because of me too. It's because of everyone. But yeah. So our guest, Shimon,
Starting point is 00:00:36 had a microphone that was part of his computer. And there was some question of whether or not it would be good enough. And in the end, it was not good enough for your lovely ears. So we decided to postpone until a proper microphone could be used. But NAND to Tetris is coming and I'm still excited about it. And we might even talk about it some today. Cool. How are you? I'm okay. I'm all right.
Starting point is 00:01:03 Having fun with work? I'm okay. I'm all right. Having fun with work? I'm okay. I'm all right. So one of my gigs right now is having me learn WeeBots. These are very tiny, small robots. It's W-E-E-Bots? No, it's just one E. Oh. But it's simulation, physics simulation, kind of like the Roscoe Zeebo, except Roscoe Zeebo is impossibly difficult to use.
Starting point is 00:01:27 Unless you know how, in which case it's still pretty impossibly difficult to use. WeBots is more what ROS 2 is using. And so it's less confusing, a few more easily adapted examples, and there is an online component, so you could just run robots online, or you can download a program and run them locally. You played with it a little bit. Yeah, just for a few minutes, because I didn't know what it was.
Starting point is 00:01:56 It's a web page. Well, what you're presented with when you first go there is just a gallery of robot thumbnail images of 3D renderings of robot arms and robot cars and robot stuff and you click on one and it pulls up the simulator for it and it's got all thousands some of them have thousands of parameters it seemed like with sliders and you can do stuff like flip the arm around and but it just seemed really nice if you were building some sort of robotic product um yeah it was surprisingly cool.
Starting point is 00:02:26 And you can change out the controller so that it's C or Python or C++ or I think MATLAB, but I'm not sure if that's just NumPy. And I am so looking forward to playing with this. I know I have a lot of work to do with it, but first I want to play with it before I get started on the work. But this is something you're doing for your newest client. Right. Do you want to talk about full-time work?
Starting point is 00:02:55 If you want to, sure. So I mentioned when we talked to Rick at the end, I kind of surprised you with the idea that I was looking at a full-time job. And I mean, I've been a contractor for a long time. I mean, it feels like a really long time. And I've enjoyed contracting. There are a lot of things I really enjoy about contracting. I work the hours I'm contracted to work. And when I'm not working, I'm not feeling guilty about if I should work. Ideally, sometimes I do. And I like the freedom of always seeing new projects. And I'm well enough connected in the industry that I don't worry too much about the next contract, although occasionally it gets in my head. But I don't get to bond with a team. Okay. Yeah, that makes sense. I do some mentoring and I enjoy it. And I do some paid for client companies to help their folks or to provide a sounding board and directions to their folks. And I enjoy that.
Starting point is 00:04:10 And I do some unpaid, which is more along the lines of career development. And I enjoy that. where my role was to be a technical expert and to help engineers in their careers. Not a role that exists in most companies, except as a side task for very senior people to mentor. It's not a defined role. It would also be all of the technical stuff of architecture and planning and keeping up to date on the industry so that you can bring in the right technologies for different products. And in my head, I was calling it the fairy godmother role, where I could do the things I do naturally, like trying to stay up to date with the industry and trying to read a book often enough to be well-read in the technical industry and mentoring and trying to understand tools so that I can recommend good tools and steer people away from tools that aren't ready. Somebody who could step back from the whole thing and not necessarily impose a vision,
Starting point is 00:05:35 but at least see everything that's going on at a level that you could correct imbalances, correct miscommunications, or to say it positively, facilitate communication. Yeah, yeah. And note that, oh, you're doing it this way, but did you know that the other team's doing this? And maybe if we settled on this together, you wouldn't have conflict or whatever. And at HP, when I started, there was the technical track and the management track. Yeah. And there were individual contributors, which are most engineers, but there were also higher level individual contributors that were manager level.
Starting point is 00:06:15 They had similar responsibilities, they just didn't have a team. And then even as you went up to director level, there were individual contributors at that level. And Cisco had them until you got up to fellows who were almost, I think, VPs. Maybe they were directors. I don't remember what the level was. It was high, but it was basically, you know, you can walk into any meeting and derail it if you'd like. Kind of level, you know. I'm the technical genius kind of thing. Yeah.
Starting point is 00:06:46 I mean, it was good and bad. I don't even know it needs to be technical genius. It was also distinguished engineer, which was sort of similar at many companies. And Fitbit had technical directors, which was supposed to be the level beyond principal that was at the director level, but it was engineering. And there used to be a staff as engineer, but now that actually just means regular engineer. It was very confusing to me. It depends on the company. I tend to think of it as just a level above senior.
Starting point is 00:07:16 It's kind of, I don't know, staff is sometimes principal, slightly below principal. Well, and I've been reading too many Space Navy things, so Staff Sergeant has a particular, anyway. Well, and the General Staff, which are, you know. Yeah. So an opportunity came up that looked like it was going to be like this. And I have to admit, I got pretty excited. It turned out that the company wasn't really ready to have somebody do that. And so that kind of went away.
Starting point is 00:07:49 And I interviewed, or no, I'm sorry, I applied to a couple other jobs that look similar, but actually didn't hear back from anyone except one who just turned me down flat. So when I was contacted by the robotics thing, robotics company, because I had mentioned it on the show and they were familiar with the show, I was like, you know, what am I giving up by going to a full-time? Yeah, I am taking contracts because I think while there are many things I would like with a full-time job, including really understanding the problems and not having tools change every month and the people, like really bonding with people. Anyway, I took the contract, it's a multi-year contract, so I'm contracting for a while. And if you want me to be your embedded system, fairy godmother, basically it's going to have to be on a contract basis.
Starting point is 00:08:52 All right. But it was... You had convinced yourself you wanted to do... And there's benefits to full-time that we were both kind of like, we had both talked ourselves into, which I think still are true and exist, that are just purely practical,
Starting point is 00:09:07 like medical insurance that doesn't cost multi-thousand dollars a month. But yeah, I mean, and maybe I'll go full-time. You couldn't even say that with a straight face. I can, yeah. Yeah. Well, we can talk about my problem some other time. But we're 10 minutes in and we've got a lot to go through. Okay, that's true. I'm sorry, I just kind of wanted to clarify where I was.
Starting point is 00:09:35 We can keep talking about that. I was just being, I don't know. It was, I don't know. I guess if I had heard somebody else having kind of a crisis of what do I want to do, it would have been nice to hear that sometimes difficult decisions are difficult because both options are pretty good. Yes, and sometimes those decisions are taken away from you. But it was still a good mental exercise. It was good for my burnout, actually, to think about the advantages of what I'm doing now. Yeah, yeah. I think it was kind of bad for your burnout because the paths you would have taken if I was working full-time are different. Mm-hmm.
Starting point is 00:10:20 But that's selfish. Okay, so let's see. The comet. We saw the comet. We did see the comet. Tsuchin-Chen Atlas? C-2023A3 Tsuchin-Chen Atlas. So this was the comet that was...
Starting point is 00:10:42 Still is. That is still, well, was more visible before the middle of October and is still somewhat visible, but now there's a full moon, so it's bright, which makes it hard to see. It's close to the sun, so it's a little challenging. Will we see it on the other side of the sun do you know i don't know if it's already done that or yeah well it's hard to see it on the other side of the sun unless you want to get up at five in the morning indeed um anyway but if it does that it would be in the morning uh but i don't know if it already did that and this is the this other side yeah the other way you took some pictures i did uh so in, there was another comet, and I did some astrophotography of that, breaking out my old astrophotography skills.
Starting point is 00:11:33 I haven't done anything else since then, and this was another opportunity to try that. But this was a little more of a challenge. So with the comet in 2023, it was very faint, a little smaller in terms of how much it went across the sky. And that required long exposures and something that would track the stars so that it could take really long exposures. And was that eyesight visible? No, not really. Not here anyway. This one was.
Starting point is 00:11:58 This one was eyesight visible. Although you had to know where to look, at least for me, at least on the nights we went to go. As it got later, it got easier to see. The sky glow went down some um but yeah i just stuck my camera on a tripod and took took a collection of five six second exposures which i've since processed and made one image and then i got some feedback on mastodon from someone who said well you could do better if you process it this way and i'm thinking about spending some more time on it this weekend or going back out and getting some more photos tonight or tomorrow.
Starting point is 00:12:29 But it's very, you can easily get photos with a modern phone. That was the thing. The picture I took live and I couldn't, I could barely see it. Like I kind of knew where it was, partially because I had the binoculars, so I knew where to look um and i took my phone and i took a picture and it's got the wide field of view so even if i was a little off it didn't matter and it came out really good yeah you can get some really good photos with uh newer phones that have a night mode or a long exposure mode like the iphone has a long exposure mode when it's really dark.
Starting point is 00:13:05 And it basically does what astrophotographers do. It takes many, many photos and stacks them, but it has the information to line the photos up really, really well in real time. So it'll take three seconds worth of many exposures, but not much longer than that. So you can get some pretty good wide photos that way. And I didn't have a tripod, although I did try to steady the camera.
Starting point is 00:13:30 The camera camera or your phone? My phone. Yeah, well, phones are, like I said, they're tracking your motion so they can subtract it out. They're magical. So you can get pretty good photos with the phone. I was trying to get really good photos with an SLR camera. Or actually, it's technically not an SLR, but a camera with a big lens. And so I posted that on Mastodon.
Starting point is 00:13:52 We linked to it or something, but I'm going to reprocess it. It was cool. You can kind of see the tail is extremely long, and you can kind of see the anti-tail coming out the front, which I went and looked up. What's an anti-tail? There's actually two tails that come off comets. There's the dust tail, and then there's a gas tail.
Starting point is 00:14:11 I think the gas tail interacts with the solar wind a little bit more, and the dust tail also does. But the anti-tail is an illusion. It's actually from You can see his hands moving around wildly. It's actually from behind it, like it turned, like if it
Starting point is 00:14:27 as the orbit came around, we're in a different place, we're actually seeing something behind the comet, but it sticks out the front of it like a needle. So it looks kind of weird, but... Yeah, I'm just going to nod along. Anyway, there's lots of photos you can find online of this comet and see the anti-tail, but it's not
Starting point is 00:14:44 actually something that's coming out of the front of the comet. It's something that, you know, if you imagined an exhaust trail of a car that's turning in front of you, and it came back so that it was pointing against the exhaust trail that it left behind. That's kind of what's happening. Anyway, so yeah. So, yeah, astrophotography is really hard. Especially, it's really challenging when there's any kind of sky problems. Sky glow from—
Starting point is 00:15:09 And the comets are very close to the sun, so it was best to see around—between, like, 730 and 8, I think, seemed to be pretty good. But sunset was at 630, so there's still a lot of sky glow, especially if you're taking long exposures and stacking them, because that all adds up and stuff you can't see with your eye becomes apparent. And then it was over towards Santa Cruz, Capitola, which there's a lot of glow coming from that too. Yeah, there were lights. In fact, as we were at the beach when we did this and people would come up and say, are you looking for the comet? And we'd be able to say, yeah, you look over at Arcturus and then at that height. And then you look over at the point. Everybody knew where the point was because it's local and and then people could see it and they got really excited that part was fun um so it turns out if you can kind of programmatically
Starting point is 00:15:56 adjust for that gradient you know the brightness gradient and the glow you can get the contrast of the comet to come out more and see more of it. But it's a real challenge to subtract that in a way that doesn't screw up and like add a little bit or miscalculate. And so you get unevenness. So I'm working on that, but I played around with it some and I was able to get way more of the comet tail and the anti-tail, but everything, everything else in the picture was screwed up. So it's kind of like, ah. Not blurry. In movement? In motion? Nothing motion. Just like the background.
Starting point is 00:16:33 Imagine you're trying to subtract a gradient, but you don't subtract it exactly right. And so now there's bright and dark patches. Lines, patches, patches. Patches, yeah. So it's doing that because I'm not subtracting the gradient correctly. Anyway, it's something that's funny because i have a very powerful uh mac macbook pro um with like tons of ram like 64 gigs of ram and doing image processing for astrophotography is the only thing that has ever slowed this computer down so when it's processing is it takes 15 minutes to align and stack the images and do all its garbage and it's just i
Starting point is 00:17:04 can't use the computer during that time because it's like the browser takes. And you're using an astrophoto thing. You're not doing a Python. No, God, no. Are you kidding? It would take a decade to write the code to do all this stuff these things do.
Starting point is 00:17:19 So I'm using a program called PixInsight, which is kind of the premier astrophotography processing program. It's got probably 150 different processing algorithms you can use, but there's a certain workflow that most people use, but it's extremely complicated, not very friendly in terms of user interface. Like you're just, there's no tutorial or walkthrough or here's the thing to do.'s like you're presented with you know it's kind of like being jumped into photoshop and never using photoshop before and there's all the menu options and stuff but worse um and somebody suggested a different newer open source one that i've been playing with that's a little simpler um it's it's simpler i don't know if it's quite as powerful because when I just threw my images at it and said, stack these, it could not align them automatically. Like PixInsight could, like PixInsight finds all the stars and just says, okay, you've got 15 images and the, here's star 2 to align on, here's star 3 to align on, here's a bounding box where they probably
Starting point is 00:18:26 move. And for all the other images, look for those stars and hope to God you can align them. And most of the time that works, but PixInsight just throw it at it. It's like, yep, I found 500 stars and I'll align on all of those. And it just does it. Why can't my phone
Starting point is 00:18:42 do this? Your phone? I mean, if it's going to slow down your processor, even if my phone isn't doing such a good job. Phone is aligning video frames. It has more information about the motion of the camera because it has the IMU. It's not the case the entire frame is moving on the phone whereas sometimes with astrophotos there's something things are moving like the horizon in this case was not moving right but the stars were a little bit even though you weren't only taking four or five seconds yeah i don't know why they're good at it um you know they probably have dedicated hardware
Starting point is 00:19:19 and stuff to do some of that um but they're not they're the precision that the astrophotography program is trying to achieve in alignment is not what the phone is trying to achieve so i think if you zoomed in on those real far i bet the stars aren't oh no and i don't care because i was just taking pictures of the comet for astrophotography where people really care, you want everything to be extremely precise because the goal is to enhance detail by stacking, not just to enhance exposure. I've been thinking some about algorithms and how algorithms that when I graduated from college years and decades ago, they were new and impossible and difficult. Not like PID.
Starting point is 00:20:08 PID has been around forever. But the Kalman filters. I worked with a guy around the year 2000 who pretty much had gotten a PhD developing the application of Kalman filters for navigation systems. And some of the work that he was still doing was, I mean, we published quite a few papers. And it was super cool.
Starting point is 00:20:34 But now Kalman filters are, I'm not going to say they're easy because they're definitely not. But you can find them online and you can find tutorials on how to tune them and they aren't magic and there are other algorithms like that that uh are are things that i don't know that just seemed magic and impossible and now we're finding ways not only of explaining them more easily, but implementing them on small devices. And I am not talking about keyword detection using machine learning because I'm tired of that. I'm talking about algorithms, not neural networks. Neural networks may apply here, but I just don't want to think about them today. Yeah, no, it's the same. I mean, the astrophotography stuff, like very fancy academic stuff like wavelets, deconvolution.
Starting point is 00:21:36 There's a thing called drizzle that came out of the Hubble Space Telescope. Drizzle, really? You actually can enhance resolution by taking images that shift a little bit, one from another. And by doing that, I don't even know exactly how it works, but... I want to shout, ADC dithering! I think it's very similar, yeah. But it's spatial. Interferometry is something that used to seem impossibly cool, and now it's like, yeah.
Starting point is 00:22:07 I mean, that's... Put it in an Arduino. All that OCC stuff I was doing was interferometry. But yeah, I mean, now it's just a menu item. Do wavelet decomposition, you know. And the thing is, sometimes you don't even have to understand them. You just put it, do it, and move the slider around
Starting point is 00:22:29 until something looks good. Or there are now chips that will, I mean, I'm thinking more motion control. I was surprised. I was surprised to discover there were so many motor control chips that had built-in algorithms for control. They took in the encoders and all you had to do was spy, send it a message to say, go here. It magically took care of it.
Starting point is 00:22:56 Now, when those dev boards arrive, I know it's not going to be as magic as I want it to be. But their advertising is that you just poof. And that's the way it should be. You're a robot. It's just Lego blocks. As things advance, more advanced things should be come easier to use and become
Starting point is 00:23:17 encapsulated. Nobody should be... If you want to build a something, I'm not going to say products, I'm getting tired of that word, but if you want to build an artifact, a thing that does something, do you want to build a something, I'm not going to say products, I'm getting tired of that word. But if you want to build an artifact, a thing that does something, do you want to build that thing? Or do you want to build a motor controller? Because it has motors. Let's say you're building something with motors and you need motion control.
Starting point is 00:23:36 Do you want to build the motion controller and learn about all that theory? Or do you want to concentrate on the thing you're making? And sometimes that's a choice, right? Absolutely. And it's a difficult choice that companies sometimes fall on the wrong side of. Startups, please buy everything you can. If they can afford it. I mean, sometimes there is a cost-benefit.
Starting point is 00:23:53 But if you're trying to make the new widget that fizzes things, you need to focus on fizzing and not all of the other things. The fizz widget? But not the other things. The fizz widget, but not the, nope. Okay, so. So, I'm actually surprised to hear that advice from you. I always give that advice. Not really from products, but from a personal standpoint. Oh, it's totally contrary to my first principles annoyance with physics, yes. That you need to know things from first principles.
Starting point is 00:24:26 I don't, you know, I've been thinking about that because you talked to me about that in regard to the Natatestris book. And I said, and you said, you know, in physics you had this problem, let's put it mildly, that I had difficulty, I'm switching pronouns to I now because that was confusing. I had difficulty in basic physics, you know, the GALA GNM course, college mechanics course, because it felt like it was taught at a level that you were expected to understand what was going on. But there were no explanations for what was going on. I wonder if it was a cookbook. So here's an integral that computes magnetic flux. And that means this and this. And that was just like, here it is. And I get really stuck on that stuff. And that that's kind of a bad example. But there were other examples where I would have
Starting point is 00:25:15 trouble solving problems because I didn't have the why I didn't have a way to remember things. This is the real hard thing. I didn't have a way to remember things. This is the real hard thing. I didn't have a way to remember things so that if I forgot how something worked, I could work it back out. And this doesn't always apply, but... No, no. Like, if I forget how to do a multiplication, I can do addition. Yes, yes.
Starting point is 00:25:43 And so I think what happened was, it was a combination of things, but I think I didn't do enough homework, and there was a lot of memorization, and I didn't understand that. Because from doing calculus, I felt like when I learned calculus in high school, it wasn't memorization. There were a few rules that you built things up. Right. And from physics, it was like… You had to memorize the chain rule, but after that, there weren't that many. Right. And from physics way it was taught and the way I had processed it, there was nothing I could do. I took physics in grad school. It was built up differently. And I did take all the undergrad stuff again, but with a different attitude. And some of the upper division physics, upper division undergraduate courses did not work that way, like the freshman classes, sophomore classes.
Starting point is 00:26:49 And so I got an understanding from basic stuff about, like, mechanics. Like, if you've got a basic mechanical problem with things in motion, okay, now I know, you know, these base things. Newton's laws and how that works and energy and how that works in relation to motion and potential and momentum and all those building blocks. And I could build like, okay, I've got a problem. Well, I can build this equation of motion out of that without memorizing it. And so that felt better and I felt like I understood stuff. So that was a basic problem. But you said you were reminding me that and what about computers?
Starting point is 00:27:25 And I really never had that problem with computers. And I don't know if it was because I didn't care or because I was so used to computers from a young age, not understanding them at first principle level, but just they were things around me all the time. It was a black box. Partially a black box. But I kind of understood the Apple II. I knew what RAM was. I knew what a disk drive did and how that all works. So maybe I already kind of knew the first principles of that stuff
Starting point is 00:27:50 by osmosis and didn't bother me so much. I don't know. So we've said this a couple of times, but let me say it slowly. NAND to Tetris. Right. This is taking NAND gates and building them up using Boolean logic to create a simple ALU, arithmetic logic unit, and then a little processor. And then making it so that that can have instruction codes and machine code, which is just the instruction codes, you know, put in another format. And then assembly language that can be compiled to machine code. And then an object-oriented set code that can be compiled all the way through this and a virtual machine in there because it's easier to compile things from object-oriented to virtual bytes to machine code. And then a little operating system that can have an input and output and games. And so this book, The Elements of Computer Systems, is really good as a textbook for this whole curriculum.
Starting point is 00:29:14 And this curriculum is available online, nandtetris.org, and it's got simulators for everything. I mean, the book, fine. We'll talk more about the book at some point. I didn't love it. I didn't hate it. It was a textbook. But the curriculum, it's got an HDL simulator. So if you actually want to try building up a NAND gate-based system so that you can add two numbers together, it's got it for you. You don't need hardware.
Starting point is 00:29:52 You don't have to worry about FPGAs or trying to physically build up this system. It's all simulated. It's kind of like WalkWe, but at a much lower level. And so that was, as I was reading that, we were having these conversations about, well, why don't you need to know how these things work? Yeah. But for someone who does want to learn how these things work, that sounds like an interesting... Oh, yeah. There's always that person who's like, well, why?
Starting point is 00:30:23 That was me. How do pointers work? Well, why do they work that way? How do stacks work? And the book actually, if you get to the chapter where they start talking about how RAM works as you call functions, it was really good. Much better explanation than I've managed to give. So I want to recommend it, but I want to recommend it as a year-long program because it was dense. And if you do the projects, it's going to be a lot of material. I don't think I could have learned Boolean logic from the material, or I don't think I could have learned programming from the material, but as a way to take a CS degree and make it tangible and understandable, it would be really magical. Even if you didn't understand Boolean logic, you didn't have to
Starting point is 00:31:20 understand every chapter because even though it built on each chapter before it, it also kind of gave you the answers in the next chapter. Or the simulator would give you the answers if you looked at how the simulator was built. So yeah, I really liked it and so I invited the professor who, one of the co-authors
Starting point is 00:31:40 of the book on the show and microphone, blah blah blah, we already did that part. I have a few listener responses. Responses? Oh, no. Tony emailed today, actually, and pointed me towards an insect detector, the moth box that actually looks at moths and what kind they are. And it was really cool to see somebody built that, which, of course, was totally unrelated to my desire for a wasp detector.
Starting point is 00:32:09 But still, it was fun. But somebody did have a wasp detector, because I posted that in the newsletter. Oh, right. Our newsletter link finder pointed us to that. So some sort of, yeah. Actually, I was looking for the Asian hornets, I think, or other harmful... A particular type of wasp. It wasn't a general wasp.
Starting point is 00:32:32 Yeah, it was a wasp counter. Which reminds me, we do have a newsletter. And it is... It gives you the show notes in case you missed a show so you know what it's going to be about. And then there's usually some links. And then on the weeks where we don't have a show, there is...
Starting point is 00:32:51 Something random. Something purely random, yes. Yes, it is not a long newsletter. No, and we won't share your news with anybody else. Or we won't share your email. Anyway. I wouldn't even know how I would that would take too much effort
Starting point is 00:33:10 it would take far too much effort I just can't be bothered well and one of the newsletters set of links was after our show with Antoine where we didn't talk about the greatness of USB
Starting point is 00:33:27 enough. And Timon wrote a little thing up for us. Well, I don't think he did it for us. I think he did it against us. I stole it anyway and put it in the newsletter because it was a good collection of ways to learn USB.
Starting point is 00:33:43 And USB tools. That was on the Patreon. That's when we decided to be wrong about everything and have people write in to us to correct us and then I'll just put those corrections in the newsletter. It's much simpler. And then I won't have to write anything. So you can think of the newsletter as the letter to the editor for the show. That would be fun.
Starting point is 00:34:04 I wonder if we could get enough people writing in letters to the editor for the show. That would be fun. I wonder if we could get enough people writing in those letters to the editor and put that in as a whole section of the newsletter. If you feel like we're wrong, please tell us at length and yeah, we'll just post that. Can I mention hugs and kisses? I don't want to talk about that again.
Starting point is 00:34:22 Okay, okay. I mean, you can. So Chris and I were watching a TV show. Doesn't matter what. It was Ghosts, the UK version. And the X for hugs and kisses came into the show. It doesn't matter how, but it was silly. And there was a question of whether an ex is a hug or a kiss.
Starting point is 00:34:49 Now, stop right here. I mean, you don't really have to stop, but right now you have an opinion. Is an ex supposed to be a kiss and an O a hug, or is an ex and hug and the O is the kiss. You probably are 100% confident in whatever you think is true. What was weird is that Chris and I thought opposite things, both with 100% confidence. I mean, how else am I supposed to think things? I'm me. I'm 100% confident until somebody proves me wrong. There are a great number of words that I have no confidence in how I pronounce.
Starting point is 00:35:28 I have no confidence in anything, but yes. And we were both kind of surprised that the other was so wrong. And I think it's a good exercise to be wrong sometimes. I'm frequently wrong. And in this case, we went to the internet because we should never really have invented computers because how can we argue about trivially stupid things when there's authority to apply to situations? So it turns out that there is no etymological definitive answer to this. And that they are probably all X's and O's
Starting point is 00:36:08 are all kisses. It was confusing, yes. I mean, looking up the history of it, we also had like it came from like several different places at once. Yes, it was super confusing. So there's no answer. There's no answer. Everybody's wrong.
Starting point is 00:36:26 Or everybody's right. And yet, moments ago, you were 100% certain you knew the answer to which ones were hugs and which ones were kisses. We're talking to you, the people in your cars. Right. Chris and I have known this for several days now. Yeah. Why did I start that? Oh, the importance of being wrong.
Starting point is 00:36:43 Okay, yes. I actually can't remember now. What were we talking about? Oh, we were talking about USB. And then people writing in. Okay, so it was the importance of being wrong. Yeah, yeah. Okay, so, and which we are often wrong. Let's see. Okay, more last time it was just Christopher and me. He was not enthusiastic about the idea of getting graduate-level education in computer science. No, that's not accurate. I want you to insert here, right here, what you said, which was...
Starting point is 00:37:20 You can quote one sentence from what I said, but I do think I hedged multiple times and said I don't know what a graduate degree in computer science entails. Or embedded. And so that my opinion is probably garbage. So I don't think I said it that strongly, but I'm pretty sure I said I didn't know what I was talking about and needed more information. But I also said that it is a big time investment, and so you need to balance that against what you would be doing instead. I don't think I ever came out and said, this is a terrible idea, and no matter what anybody says, I cannot be convinced otherwise. I'm just going to snip that and have it say, no matter what anybody says, I can't be convinced otherwise.
Starting point is 00:38:02 Well, I'm the one with the podcast editor, so. This is true, so who knows what I'm saying now. Both Ryan and Nathan had some points about after you take a CS set, in order to get the embedded stuff, you need some more school. Right. But you don't really want to do another undergraduate degree, of course. Right. And there are things that get more detailed and more, well, broader as well as more detailed for operating systems and networking and computer architecture and compilers.
Starting point is 00:38:40 These are all things that you don't necessarily get a full picture of when you're doing an undergraduate degree. Right. If you're lucky, you might get to take a Pilers course, but it's an upper-level course, and it won't be as detailed or as thorough as a graduate-level course. Security was another thing that really came up. Because, you know, four years seems like a long time to learn just one or two programming languages. Maybe three, but it's not because you're taking all these other courses. So Rust and Zig may actually be useful. I don't know. But it definitely is useful for people to be flexible in their programming.
Starting point is 00:39:23 Oh, sure. But I wouldn't spend a lot of time taking courses in programming languages. It isn't about the... It's not... You're not taking Rust 101. Right. You're taking programming languages as a course. That makes sense, yes.
Starting point is 00:39:37 And learning how to learn programming languages. Exactly, yeah. And then, of course, as a CS person, you don't necessarily get signal processing or DSP or digital design. See, part of the problem is none of this stuff, I don't think this stuff existed when we could have gone to graduate school. It would have been an EE. It would have been a purely EE thing. I thought about doing the master's degree at Mudd.
Starting point is 00:40:00 They had a little one-year extra master's degree. But that would have been engineering, right? It would have been in engineering. Right. But there were some... I ended up taking the signal processing courses my senior year. But there was a microprocessors course that I really wanted to take. And it was kind of like Nandatetris, I think, where you start...
Starting point is 00:40:21 But it was all physical, which I'm not as excited about because, you know, as soon as you pour your coffee on it, it all just goes zzzz. I don't think you're supposed to have coffee in the lab. Anyway. Point is. Point is. Go ahead. Go to school, kids. Go to school if you want to go to school.
Starting point is 00:40:44 A lot more options than when we were 20-something. And John pointed out that probably when you and I think about master's degrees, we're thinking about a two-year... Terminal master's degree, yeah. Terminal master's degree that costs as much as two years in college. Okay. So like 60K. Sure.
Starting point is 00:41:11 But Georgia Tech has their online program for 10K, and you can take six years to do it. Yeah, that's all fine. I mean, my master's degree did not cost that much because I went to a state school in state. The cost is, there's not just the cost, there's the opportunity cost. That's all I'm saying. If you can do it while you work, that's great. But I know that the economic environment is different than it used to be. So not earning any money for two years and trying to struggle along when you could also could also or instead have a job that pays you well is it is it is a choice that you need to make especially if i mean if you're going to go and fully commit to a master's program and do it in two years or three years uh that that's the level of intensity that you probably can't work at the same time, unless you're, you know, superhuman, which some people are.
Starting point is 00:42:09 But, and so you're not going to be earning money. You're not going to be putting money away. You might be incurring debt. You might be incurring debt. You're not going to be saving money, putting money towards 401k or whatever, or a house down payment or something. And so that shifts you back a few years. That's my major point is to balance those factors.
Starting point is 00:42:30 But you may come out of there and earn so much more afterward or get better opportunities that it doesn't matter. But I took forever to do my master's degree because I did go back to school. Well, I took forever because they made me take the entire undergraduate cycle again. Which I thought you should have fought against. But what do I know?
Starting point is 00:42:47 I would have died. I would have, I wouldn't have made it. You needed the refresher. I needed to take the courses. Okay. I had taken physics. I had taken undergraduate mechanics and E&M. That was it.
Starting point is 00:43:01 There's a lot more. There's a lot more. So, you know, there's all the upper division courses. There's quantum. There's modern. more. There's a lot more. So, you know, there's all the upper division courses. There's quantum. There's modern. Anyway. Yeah, so that took me at least a year, year and a half to do all of that, which was pretty fast. Because I wasn't taking any core classes. It was all physics.
Starting point is 00:43:18 And then started my master's degree program. So it should have taken me three years, and it took me a lot more. Because after two years, I went back to work and then my course load went down a lot. But you can do it that way. You can do it that way. But,
Starting point is 00:43:33 I mean, yeah. Okay, we had another person on the Slack ask about becoming a better embedded software engineer? And I don't remember the exact information. I do remember my response was pick up a book every once in a while. And I think I said quarterly.
Starting point is 00:44:00 And some of this is because I have been reading a lot because we've been having some authors on. And I try to read the books before they come. I try to at least read half of them, but actually, I haven't started the next one yet. I have to do it. Anyway, it is hard to stay up to date, and it is hard to engage in the practice of learning. And so even if your master's degree is in physics or something that isn't necessarily directly related to your work, the practice of learning is worthwhile on its own. So here's the thing.
Starting point is 00:44:49 The thing that has probably been unstated is I didn't intend to just go get a master's degree in physics. Right. I was going to get a PhD. Why were you doing that? Because I wanted to do astrophysics. That's what I wanted to get out of software, like I repeatedly have tried to do for my entire life with no success. And I wanted to go do something else that was interesting, and astrophysics was interesting. And so that. And I wanted to go do something else that was interesting and astrophysics was interesting. And so that's what I wanted to go do.
Starting point is 00:45:09 And I burned out on the master's program pretty fast and decided I didn't want to stick for a PhD because it was really hard and I wasn't going to be able to go somewhere close by or anything. And also everybody who I had in astrophysics or astronomy or physics PhD I knew was a software engineer working at a company
Starting point is 00:45:23 doing normal, boring software engineering. So I gave up on that. So I didn't take it to enhance my career. I took it to shift careers and abandoned that. But if you're a CS person and you want to
Starting point is 00:45:39 shift careers into embedded, a master's degree with some CS might help. It's a little shift. It depends on if you want to do control theory and signal processing, or if you just want to do more along the lines of embedded Linux. It's not changing sciences. No.
Starting point is 00:45:55 Okay. Anyway, both of us are wrong. When I talked to Rick offline about going to full-time uh one of the things he i signed up for one of his mentoring hours and um half hour i don't remember uh but it was really useful in general and then it was also really useful because we were talking about how do you figure out if you want to work somewhere oh that, that sentence was going to be a lot shorter. Not a lot shorter. One word shorter.
Starting point is 00:46:32 Oh, if you... Christopher is so ready to retire. So ready. I'm sorry. I'm sorry. I never really thought I would be. What do you ask as you're interviewing to figure out if you want to be at this company? Now, there's a whole lot of other stuff going on here.
Starting point is 00:46:55 Like, do they want you? Do you have other needs for why you have to have a job right this second? It doesn't matter what it is. But let's just say you're in an ideal situation where you have a good job that you don't want forever and you are interviewing for a new job that you're hoping more aligns with your values, goals, career plans. I haven't interviewed at a company for so long that I feel completely unqualified to answer. I haven't.
Starting point is 00:47:32 That's true. That's fair. I mean, I know my job as podcaster is to opine on everything. Every time a podcast comes up in TV, Chris and I laugh and laugh because it's just so true. It's all so true. Okay, sorry. So Rick, who doesn't have a podcast, but I will represent here. And has interviewed places. Yes. Gave me some questions that I thought were really useful. How do projects get started? It would be nice to know if projects just come in, swoop in from outside where you don't really get any visibility into the selection process. Or if there's one founder, visionary person who's the one whose only idea, only that person's ideas are the ones that get any follow through.
Starting point is 00:48:31 And it would be nice to hear, and we sometimes pitch projects internally. Sometimes there's a formal process for that, like, or a formal or informal process. Like many places have, you know, I didn't really like them, but there were like hack days where everybody get together and they do a little quick project in a day or two and present them. And the way it worked at some places you would get buy-in and say,
Starting point is 00:48:56 okay, that's now a new project. We're actually going to do that. But it's cool, but it's not, you know, doing something in a day is perhaps not the best way to... I mean, you know, doing something in a day is perhaps not the best way to... I mean, you're not finishing something in a day. No, but... You're starting it and presenting it.
Starting point is 00:49:11 Right, but sometimes ideas take longer to develop, is all I'm saying. That's what next quarter's Hack Day is about. If you're thinking ahead to next quarter. The next of Rick's questions was, how do decisions get made? Especially the ones that the executives need to make. For me, that was all about how do decisions get made and how often do they get changed back and forth, back and forth, back and forth? Because that is a pet peeve. It's a common thing.
Starting point is 00:49:44 Oh, indeed. Used to call it thrashing. Well, yeah. And it's really demoralizing to people who are working on stuff, the rank and file engineers, it's really demoralizing because it's like, get halfway through on something and it's like your priority changes, and I get halfway through on that. And I went back and forth like that places six or seven times.
Starting point is 00:50:01 It's like, okay, I'm just going to sit here until something settles down. At LeapFrog, you know, I got ready to ship products and then they canceled them. Yeah. There was one year where they canceled my whole line and one of my coworkers' lines. And we just took off from work that day and went to the mall.
Starting point is 00:50:24 And then mostly, it was just very, very frustrating and demoralizing because we put in so much work. Okay, so next of Rick's questions. Are there conflicts between departments and how do they get resolved? Can you give me an example? This is a good question because if there are no conflicts between departments, they're just lying to you. And an example of how they get resolved, I mean, if the engineers always get their way, that's bad. If the marketers always get their way, that's bad. And the last one, do you see your leadership following the roadmap they explained?
Starting point is 00:51:06 And I have to say, I think the answer is no on almost all companies I've ever worked for, except maybe HP. But that was, I mean, remember, this is 90s HP, not HP and Compaq, whatever. Yeah, I think it's a mixed bag for my history. But there are certainly ones where it was like, we have a new roadmap every six months, and they'd unveil it with great fanfare. But we just started the old one. It's like, well, that one was no good.
Starting point is 00:51:38 I mean, it's fine if roadmaps change and shift. They should. Oh, no, no, these weren't shifts. These were like, we threw the old one in the trash. This is the new roadmap. Yeah. Anyway. But yeah, those kinds of questions are useful to try to figure out.
Starting point is 00:51:56 They're trying to suss out without saying, what's wrong with your company? What's wrong with the company? Because there's always something wrong with the company because there's always something wrong with the company and it depends on how much you are bothered by or or have trouble navigating you know indecision or bad project management and so those kinds of questions are good at getting at okay how do things generally work here how does conflict get resolved how many conflicts are there do things generally follow the plan or is there no plan or is there a plan that people just glance at but gleefully ignore because the wrong answers to those questions often mean there's a lot of interpersonal conflict and other kinds of conflicts that arise out of people not being in agreement about what we're building or or how to build it okay we have one more from pedro
Starting point is 00:52:54 about skills um and expectations did your expectations of a successful career change from when we were younger? Specifically, did I envision writing a book or teaching when you were a grad student? Were there times when you reached further than you expected in pay, prestige, or passion? I can't remember how I thought it would go. I don't know. I don't really know. Like, did I think I was just going to be an engineer getting more and more seniority? Did I think I would shift into management?
Starting point is 00:53:39 I did shift into management for a bit. I don't know. I mean, I had people telling me, oh, you have to go into management the more senior you got, which I always kind of did not take well to. I don't know, because I couldn't,
Starting point is 00:53:57 I don't feel like I really wanted to be a CTO or something or run a company. I did. I wanted to be a CTO, and I wanted to be a startup founder until... Until you met one? No.
Starting point is 00:54:11 Oh. No, until I had problems that were unidentifiable and I spent years dealing with stupid medical... Right. Yeah, I don't think I anticipated the shift to consulting, which has now been a long time.
Starting point is 00:54:35 Yeah. So that's been good. I don't know if you anticipated the shift to consulting, because you did that first. I didn't know. I mean, this is kind of like in high school, I didn't know what an engineer was. Yeah, well, I mean, going back to high school, I had no idea what I was going to do. In college, I didn't really know what an engineering consultant did.
Starting point is 00:54:58 There were so many times I didn't know what the path in front of me could hold. And so I couldn't envision myself being there. I could see a lot of paths I didn't want. I've never really wanted to be CEO. I've never wanted to sell things. I've never wanted to process anything. Sorry. Yeah, yeah. Yeah, no, I mean, I'm thinking back to high school, like, okay, I knew I wanted to go to a science and engineering school and get an engineering degree, but I didn't know what I was going to do with it. Like, I figured I'd find something. Build underwater cities.
Starting point is 00:55:37 Well, yeah. I figured I'd find something interesting there. And I found out that I didn't like engineering very quickly and went to a different degree. Yeah, I don't know. I mean. So I actually responded this, a type responded since this was on the slide. So I'll give a little bit of my response from then. And the first part, all of my five-year plans have lasted months, not years. Mostly because what I learned changed what I wanted, or the things that looked impossibly hard weren't write a book. It was accidental. I was pushed a little by a throwaway comment at a Grace Hopper celebration dinner where an Australian CS professor listened to me run down about my career, Schatzbader, and Leigh Broggan, you know, burble, burble, and said something like, all you need to do for a PhD is write a dissertation. So I kind of think my book was like that. That comment throwaway for her ended up being something that I heard a lot in my head. And success as I defined it when I was 12 to 20, I achieved beyond my wildest dreams before I was 30. If I went back in time and talked to 16-year-old me,
Starting point is 00:57:12 she would not believe the salary possibilities or the latitude I have to work on the things I choose and care about. So I'm way more famous than I want to be. I never wanted for my name to be known. And that was one of the hardest things about having the podcast grow. That's okay. It's not growing anymore. I sometimes think now, if I try
Starting point is 00:57:39 to plan ahead, I don't quite know what I want in my life because I've gotten so much already and it feels greedy to want more. And it's bewildering to consider what more I could want other than books that I always want to read. So plans. It's funny we talk about companies should have roadmaps, but the truth is I don't really. I'm coming off this realization that I was thinking I might have a roadmap last summer that might be really interesting, and it didn't turn out. And now, do I want to make a new one, or do I want to keep doing what I'm doing?
Starting point is 00:58:25 Because I do enjoy it. Well, you just signed up for three years with a contract. So guess what? You have a three-year plan. Well, I mean, I can do other things. Yeah, I know. I think now having thought about this for a minute, and I think, you know, that tracks with what I remember, but I think what I didn't predict, and this is me being me again,
Starting point is 00:58:47 I was always a cynic when I was a kid and didn't like authority or organizations or things like that, groups of people. But companies were okay for a while and I enjoyed working at them. So I didn't anticipate becoming so down on companies writ large
Starting point is 00:59:10 and the organizations and executive structures and things. And I didn't expect to start feeling anti-tech. Not anti-tech but anti-tech application. Let's put it that way. Anti-gratuitous tech? No, that's too... I mean, there's places for gratuitous things in the world.
Starting point is 00:59:31 Harmful. Harmful tech. Yeah, or seeing the consequences of things that perhaps I didn't anticipate that I'd worked on in the past. But anyway, yeah, no, I'm not a Luddite, okay, even though that term is misappropriated. You do believe there is good space for technology. Of course. I'm sitting in a room of it.
Starting point is 00:59:58 I buy technology, probably more technology than the average person who actually likes technology. So I'm not an anti-technologist, but I am, and maybe this is a consequence of getting older and having seen a lot, I am more skeptical, more willing to push back on things that I think shouldn't be pursued or I think are being pursued not for positive reasons and more apt to pay attention to the people who are behind things and the words they say and their behaviors and other things than I used to be. So like when I was 20, 23 at some company, I didn't think much about the CEO or what they were doing or anything like that or pay structure or fairness and justice and diversity or why are we selling these to these
Starting point is 01:00:50 people or you know this country or yeah anyway what does this product really do what is it really for it didn't matter as much then yeah beyond oh this is fun to work on. So I think you could call it being jaded or cynical or whatever, but I didn't anticipate getting to a point where I was actually sick of some stuff in technology. Not just attitudes and things, but actual products. Like, I'm tired of hearing about X, Y, or Z. I don't think that's interesting. I wish it would go away. I think earlier it was like, all tech
Starting point is 01:01:27 is cool. We should just be making all kinds of things. Everything has an application. We just have to find the right application for this neat technology. Yeah, yeah. Fair. Do you want to end on some other note? Well, I can see that.
Starting point is 01:01:47 And yeah, we're out of time. So I'm going to go play with robot simulators, which I think will be really fun. And the application is neat. Can't really talk about it, but it still is really cool. But truthfully, today, I'm just about the robots themselves being cool, or the robot simulators, the simulated robots being cool. You know, one of the things in the WeBot was that you could have a robot that was a motorcycle, and you could have a robot that was a motorcycle rider. I thought you were going to talk about a transformer.
Starting point is 01:02:19 You have a robot that was a motorcycle transformed into a motorcycle. Are there any transformers on WeBot? I don't think so, but there's no reason we can't build one. We just have to figure out the linkages properly. Okay. Okay, so let's close the show on that. Thank you for listening. Thank you to our Patreon listener Slack group
Starting point is 01:02:39 for their commentary and their continued questions. Thank Christopher for producing and co-hosting. Thank the dog for being quiet. Thank our sponsors. If we have any sponsors this week, thank Memfault for sponsoring the show. Even if they didn't sponsor this week, they're sponsoring sometimes.
Starting point is 01:03:01 So yay Memfault. Thank Christopher for this really pained look he has on his face right now. And of course, thank A.A. Milnes for Winnie the Pooh, which I forgot to bring up. So if you'll hang on a second, I'll go get Winnie the Pooh. Okay, we have left Winnie the Pooh with Kanga and Baby Roo coming. There's just one thing, said Piglet, fidgeting a bit. I was talking to Christopher Robin, and he said that a Kanga was generally regarded as one of the fiercer animals. And I am not frightened of fierce animals in the ordinary way,
Starting point is 01:03:41 but it is well known that if one of the fiercer animals is deprived of its yang, it becomes as fierce as two of the fiercer animals, in which case, aha is perhaps a foolish thing to say. Piglet, said Rabbit, taking out a pencil and licking the end of it, you haven't any pluck. It's hard to be brave, said Piglet, sniffing slightly, when you're only a very small animal. Rabbit, who had begun to write very busily, looked up and said, it is because you are a very small animal that you will be useful in the adventure before us. Piglet was so excited at the idea of being useful that he forgot to be frightened anymore, and when Rabbit
Starting point is 01:04:25 went on to say that Kangas were only fierce during winter months, being at other times of an affectionate disposition, he could hardly sit still. He was so eager to begin being useful at once. What about me? said Pooh sadly. I suppose I shan't be useful. Never mind, Pooh, said Pig comfortingly. Another time, perhaps? Without Pooh, said Rabbit solemnly as he sharpened his pencil, the adventure would be impossible. Oh, said Pig, and tried not to look disappointed.
Starting point is 01:04:57 But Pooh went into a corner of the room and said proudly to himself, Impossible without me, that sort of bear. Now listen, all of you, said Rabbit when he had finished writing and Pooh and Piglet sat listening very eagerly with their mouths open. This is what Rabbit read out. Plan to capture Baby Roo. Which we'll get to next time.

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