Embedded - 492: Octopus Army

Episode Date: December 27, 2024

Nathan Jones chatted with us about his proposal for a computer architecture book based on a 4-bit computer.  Nathan found the 4-bit computer in the Hackaday SuperCon 2022 badge and was amazed by som...e of the ideas that folks implemented (see SuperCon Badge Hacking Awards Ceremony). Nathan spoke at Hackaday SuperCon 2023 on the processor architecture, highlighting some of his ideas for a book. If you’d like to try your hand at the badge, find it on Nathan’s Voja4 Tindie page.  Nathan also spoke recently at the Embedded Online Conference (Building a Simple CLI, OOP in C, and The Power of a Look-up Table) and the Teardown Conference (Making Your Own MCU Boards and Building a Simple CLI). If you have an idea you’d like to propose, check out O’Reilly’s proposal for a book or class. While you may not go with them, the proposal is a good place to get all of your ideas down. We mentioned a few other computer architecture books as competitors for Nathan’s proposed book: Computer Architecture: A Quantitative Approach by John L. Hennessy and David A. Patterson  Introduction to Computing Systems: From bits & gates to C & beyond by Yale N. Patt and Sanjay J. Patel The Elements of Computing Systems, by Noam Nisan and Shimon Schocken (MIT Press) with supporting material and simulator on nand2tetris. Nathan also did a survey of the Embedded Slack community. You can gain access by becoming a Patreon or Kofi supporter. Transcript

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Embedded. I am Elysia White, alongside Christopher White. We are happy to welcome back Nathan Jones to talk about writing a book proposal and some end-of-year retrospection. Retrospection? Is that a word? Introspection? Hi, Nathan. Welcome back. How are you two? It's so great to be back. We're doing pretty well. Could you tell us about yourself as if we met at a table at Supercon?
Starting point is 00:00:36 Yeah, I'd say hi, I'm Nathan. I'm here because I love electronics and hopefully I'm presenting something cool. I've been serving in the military for about 14 years now, but I'm excited next summer to transition to civilian life and maybe to get into teach and play with electronics full time. Are you ready for lightning round? Okay. Talking fast, talking fast. Best dorm at Harvey Mudd college oh we asked him no because at least you forgot that i went to mud oh okay um my favorite my favorite was atwood i spent uh freshman senior year there oh boy boy that says so much about you. I'm sorry. No, no, it doesn't. It doesn't. No, I was there freshman, first semester freshman year and sophomore year. And the freshman was not as much fun, but that was mostly about the people. Next question.
Starting point is 00:01:38 Were you before or after Platt was eliminated as a place to eat? After. After I ate all four years at the hawk and it was awesome all right well then i'm not going to ask you about the worst food at plat what was the best food at the at the new place um once once i got i once i got over the vast array of options, I did enjoy me a good salad bar. But there was the freshman 15. Well, I don't know if I really gained like 15, but like going to the dining hall and having so much food there was hard to turn down. I developed a bad habit of showing up and then walking through the grill counter and grabbing a slice of pizza to decide, as I was eating that, what I wanted for lunch.
Starting point is 00:02:29 Appetizer pizza. Yeah. And then one day I grabbed it, not realizing that it had just come out of the oven. And it was scalding. And instead of trying to find a place to put it down, I told myself I just needed to ingest this thing as fast as possible. So I'm like standing in the middle of the Hawk, like chewing on these super hot bites of pizzas, trying to like blow it through my mouth and like juggle it between my two hands. And five minutes later, I'm just like covered in pizza sauce. I'm like sweating. Cause it was a little bit of an ordeal.
Starting point is 00:03:02 I guarantee you that kind of thing never happened to plat because nobody was indecisive about or or overwhelmed with options so the pudding stone monster did you have that it's not ringing a bell yeah that's fine i thought i think that was a us thing no no i had heard anyway really oh all right uh okay do you have any new year's resolutions I think that was a us thing. No, no. I had heard. Anyway. Really? Oh, all right. Okay. Do you have any New Year's resolutions? Yeah, I've been thinking about that.
Starting point is 00:03:45 And not that I like to call them resolutions, but I do like to take kind of the turning of the year to kind of reevaluate and just make sure that, you know, my priorities are in order. I think, what were the two? I think I had kind of a difficult military detail over the summer that threw off my schedule a bit. So I'm looking forward to getting back into a more regular physical fitness kind of schedule. And I am looking forward to doing more fun stuff with my kiddos. My daughter and I are going to be doing a Spartan race in June. So planning that, hopefully planning just fun little outings to make the most of the end of our time here in New York and a fun kind of start to our time in Tennessee. What about you two? I have not thought about it at all.
Starting point is 00:04:35 I did a New Year's resolution one year that was a resolution every month to do something new and different. Was it every month or every week? It was every month? Every month. Okay. And so like one month no sugar, one month go out every week after dark, one month just doing things I don't normally do. And so I'm thinking about that again. It was kind of chaotic and fun.
Starting point is 00:05:00 I used to challenge myself with like 40 days, see if I can do like 40 days, like no hot showers or 40 days, like, you know, no alcohol or something like that. And it was always a fun challenge because the first, you know, the first 10 or 20 days, it's just like, this is cool. I got this. And then towards the end, you're like, oh man, 40 days is long. I don't know if I could go. No, no, yeah. You didn't say without a shower. I know. I i mean i'm just thinking how cold it is right now don't do that in december uh yeah no i don't really have i don't do the resolution thing so much but if i do have resolutions they're more like i should try to be nicer to myself or stuff like that's a good one um measurable actionable uh that that what is that oh measurable actionable
Starting point is 00:05:44 resolutions yeah then i'll just be mad at myself for not making the resolutions and fail the first resolution okay so moving on since we're failing at lightning round you've got plenty of questions here well go ahead then i dare you to ask that next one you You've been working with the, the Voha four. What are the worst ways you've heard that pronounced? Um, is it? Yep.
Starting point is 00:06:15 That was the one. Uh, okay. What, what, very briefly, what is it and how do you pronounce it? I would go with Voya since it's named after voya antonish um voya voya 4 yeah and that was that's kind of like
Starting point is 00:06:32 the unofficial name actually it was the um the conference badge for the 2022 hackaday super conference so like kind of officially it's just the 2022 Supercon badge. But yeah, folks started calling it the Voya 4 because it emulated a 4-bit computer that Voya kind of created. I did see that. Okay, yeah. That's very cool. Yeah, it was a lot of fun. And actually that is a good thing to transition on. Segway.
Starting point is 00:07:01 Segway, yes. Because you like it so much you're thinking about writing a book about it i am um yeah i feel a little crazy for it but uh at the time it's a normal feeling when thinking of writing any book i think yeah yeah that's fair you have to be a little bit crazy to kind of embark on an adventure like that um i uh i was teaching i was actually teaching computer architecture at west point uh right right then right when i went to the 2022 uh super con um and the i had i had hugely mistakenly completely overhauled the the curriculum and was like totally flying by the seat of my pants and uh and showed up to the conference and there you know here it is the badge is is you know a little you know four-bit computer i thought this was this was super cool
Starting point is 00:07:48 and it was neat it was really neat over the um conference to see folks um you know having a ton of fun with it uh doing things you you never thought you could do with 192 nibbles of ram which is which is what's on the architecture supports. And I thought, man, someone needs to write a book about this. Like, this should be the centerpiece of a computer architecture course. Because it was just, it was so cool to kind of put your hands on it and not have to learn about this sort of, you know, fake computer that you simulate on a computer,
Starting point is 00:08:27 maybe a little bit, but to actually have it in your hands was neat. And that idea kind of always stuck with me. And then thinking about the transition next summer, I thought, well, I'm probably the only one in the world that thinks this needs to be a thing, and I'll have some free time next summer, so why not give it a shot? Are they still available such that people could work through the book? Yeah, after the conference at some point, there were definitely some folks that wished they could have had one,
Starting point is 00:08:56 but weren't able to attend and couldn't get one or something. And Voya, his design files were freely available. And the components are, there's nothing super complicated about it. So I just contacted a PC fabrication company and said, hey, how much would it cost to put this together? And Voya was super, super kind in not only sharing those design files, but in helping me as I was working back and forth with the assembler to figure out which parts we were going to use and those sorts of things. And so I sent out an order and started selling them with this blessing. Oh, okay. So I've got a little Tindy store folks can go to if they want to buy their own little Hackaday Super Convoy of 4 badge.
Starting point is 00:09:39 Cool. That link will be in the show notes. And so you mentioned this to me, and I was like, okay, I'm happy to introduce you to the O'Reilly acquisitions editor I worked with. But here's the proposal. So now you have written the very start of the proposal, and your proposed book title is Introduction to Computer Architecture and Assembly Language Programming with the VOoya 4 or Hands-on Computer Architecture with the Voya 4. Okay, so we have the Nanta Tetris book by Shimon Shokken. And I know you're familiar with that, right? Yep.
Starting point is 00:10:21 Because you mentioned that yours would be an actual board and not a simulation of a chip. True. How is yours better? In truth, I don't know that it not what it used to be even 10, 20 years ago. Um, and I'm curious, like what, what your, what your thoughts would be on, on what, you know, what would be the objectives of a computer architecture course? What's, what, what's the important stuff to learn? Um, I think the, the biggest differentiator and for me it is that that physical device there's just something so gratifying about um about holding the badge um it's it's it's made to uh mimic uh sort of mimic uh the altair 8800 which was the one of the first personal computers you could buy you had like a whole bunch of you know lights on the front indicator panel and switches that you had to manually toggle to like enter opcode, you know, instructions into the actual machine. So the badge has a row of 17 buttons at the bottom that you can
Starting point is 00:11:34 kind of hit and toggle to enter instructions. It has over 270 LEDs on the front of the badge, a whole chunk that show you the actual bits that matriculate through the ALU. So you can actually watch, you know, two four-bit numbers get added or shifted or what have you. There's a whole section in the middle that highlights for each of the op codes. You can kind of watch the instructions, which instructions being executed. And then there's like 96 or something on the right hand kind of third of the badge that show you the contents of the the memory um and by by switching to like a spot in memory you can you can make your own graphics pretty much and um and i've been thinking about this i mean i think
Starting point is 00:12:20 folks really took to it um because because you could enter all your programs in by hand. You didn't need any actual connection to a computer in order to do it. When you went to run your program, you could step through a clock cycle at a time. You could actually be the one to toggle the clock button if you wanted to, to watch your program execute one instruction and then jump around and see what effect it had on memory and what happened in the ALU, um, or change the clock speed faster or slower. So it was, um, I think it made for a, um, a really engaging educational experience. Um, and, uh, um, like any good author, I've already thought about a second edition, uh, even though the first one hasn't been accepted yet. Um, I, I, I've already decided i wasn't going to change anything about the board for the first book but
Starting point is 00:13:10 you know doing something kind of like this you know making a board for the the computer that's in nantichetris you know with with those same you know um features that you could actually manipulate the thing by hand and step through it a little bit at a time, I think would be a neat kind of follow-on. Why wouldn't you do that for the first one? I've spent a lot of my life biting off more than I could chew. And I know enough at this point that to take what I think I can do and cut that down by, you know, like three quarters and then what's left with is probably going to be already way more than I'm ready to sign up for. I mean, you've gone through this twice now, right?
Starting point is 00:13:55 I mean, writing the first book and then updating it for the second edition, isn't it always like way longer than you ever thought it would take? I never was going to write a second edition. I was never going to write a book again. It was, after the first one, it was just so hard. So no, I didn't think that way. And I thought that way, like I said, I completely overhauled the computer architecture course because they were using Patterson and Hennessy,
Starting point is 00:14:20 which I felt like just spent way too much time on. Pipelining and memory caching and for at least at West Point the computer architecture course was the prerequisite for the embedded systems course so I said I think we need to get more into maybe showing a gate level implementation of a computer but talking a lot more about memory mapped IO
Starting point is 00:14:40 and the interrupt system and I was really excited about modern classrooms at the time so And so I, and I was really excited about modern classrooms at the time. So I completely changed it. And I, uh, um, how long did it take before I started regretting it? I think it was, I started, I think I spent all, I spent a spring semester, like picking the textbook and kind of proposing it. I spent all summer rewriting all the lessons and, and planning out my homeworks and things like that. I think it was probably a month into the class when I, you know, I still had 20% of the course left to write and hadn't made any progress because I was just trying to keep up with the students. I was like, this was a mistake.
Starting point is 00:15:13 When you taught the class, what, did you provide the boards? Did they, other than having too much work, what did they think of it? How did it go? How did it go compared to past ones? I think overall I got positive comments. There was definitely some folks, a couple of folks that I spoke to, I didn't take any actual data, but anecdotally some folks who, in taking the previous iterations of the course,
Starting point is 00:15:40 didn't quite understand why some of the course material was there, didn't see necessarily the reason for it. I went with a book called Introduction to Competing Systems by Pat and Patel, because it was one of the few that I found that actually had what I felt like was an appropriate discussion of how memory mapped IO works and how an interrupt system works. And I think it was well received i think they liked it they put up with me they were very kind what is the goal of teaching computer architecture what what kinds of beyond just having an understanding of how computers work for developers and and people working with electronics which is it's a fine goal as a baseline.
Starting point is 00:16:30 Is there something else that people should be getting out of it or that certain kinds of people should be looking at? And then that's going to make what you write depend on kind of, are we targeting people who are going to work on computer architecture? Are we targeting just giving people a background? I'm not articulating well what I'm saying here. No, I think you're right. Because it's not like I've ever really done computer architecture other than some chip design. But that was still pulling Lego blocks.
Starting point is 00:16:59 I mean, as most direct, you know, knowing how to debug a program involves a lot of computer architecture sometimes, right? Especially on a microcontroller. So I guess the question is, who's it all for? And yeah. Yeah, so we've identified a couple right um i mean clearly if you intend to um to actually design chips right design a processor or something like that then yeah knowing intimately how that that uh happens is very important um you identify you said though uh you know when you debug a program sometimes it's important to know the the architecture of the computer um Alicia kind of mentioned, you know, needing a little bit of that
Starting point is 00:17:46 when programming the microcontroller. I share these thoughts, but I'm curious, like, if I could throw sort of the question back at the two of you, like, when has a knowledge of computer architecture helped you in your careers? And what would you say, like, okay, going back, if I had to take a course on computer architecture here's what i would want in it uh let me answer that a couple of ways um first off the the analogy i'm thinking of is like physics right uh because physics keeps growing and in order to become a physicist you have to learn more than you did say 20 30 40 50 years ago but the basics are the same you still got to learn newton. You've still got to learn Newtonian mechanics. You've still got to learn electrodynamics.
Starting point is 00:18:27 You've still got to learn quantum mechanics and all that stuff that was invented in the early 20th century. But then after that, you've got to learn everything else. And I feel like computer architecture is very similar. You could start with the 70s, which is kind of what your approach is here
Starting point is 00:18:39 with the 4-bit computer. But to get to a modern computer, there's a bunch of stuff now, right? That's super complicated and advanced and weird and, you know, modern physics level of complexity and even involves physics at some level. So I guess that's the hard part is like, what do you include and what do you take out? And that's why I was asking about the audience, because some of that stuff, you don't need to talk about it if it's for basics. So for me, the basics are all I've ever really needed. And I got the basics from computers from the 70s. Yeah, the application of that has almost always been knowledge about how the processor works to a sufficient level that if I had to organize a program to be more optimal, I could take a stab at it.
Starting point is 00:19:33 So things like, this processor has a cache, and it's this big, and this is the working set for this problem, and I should try to keep the cache full of that as much as possible because that's faster than going to RAM. Or like I mentioned with debugging, like, okay, there are these registers. What do the registers mean? And what are the levels of memory? And how is the memory on this chip architected and that kind of stuff? So, yeah, beyond that, not a lot because I'm not building my own systems very often. And if I'm involved with somebody who's building a system, they're more of an expert on computer engineering and architecture than I am. And I'm just kind of keeping an eye out for what might be impacting me, I guess. Through the Nanta Tetris book I mentioned earlier recently, the thing that really struck me as things I wish my junior engineers knew were more in the how do you build a compiler. Not because I want them to build compilers, but because I want them to be able to identify where problems happen. Yeah.
Starting point is 00:20:53 Yeah. So I don't know. I didn't take microprocessors at Mudd. So most of my knowledge is from reading user manuals of many many different processors and i think the avr ones the av the tiny avr ones were have manuals that are just basically the course on how to understand computer architecture and then you can build upon that. But yeah, I didn't take a class like this. I didn't either, and I wasn't CS at school,
Starting point is 00:21:32 so I wasn't forced to. Yeah. I mean, I don't know if I took a specific computer architecture course. I mean, I did take micro piece at Mudd. That's pretty close, right? Yeah, I think so. You know what?
Starting point is 00:21:50 It probably could have been, and I was so sleep deprived. I don't know. Yeah. If I could say how much I actually retained from that class. And that one, you actually had to wire things together. Yeah, yeah, yeah. Yeah, looking back i wasn't sure you that that was the right way to go for that i didn't think uh for like a micro piece class yeah because every week you added like a hundred wires and at some point the first wire breaks and you're just hosed
Starting point is 00:22:21 what department was that it was that was engineering oh well you guys yeah the engineering department like to do things the hard way weird way oh my goodness uh yeah well i mean that's that's to me that's uh that's that's the drug that is embedded systems right like it's so hard to get working that when it is it's like this enormous dopamine rush and not anymore man yesterday let me tell you what I did yesterday. I'm trying to make a GPS data logger, and I'm trying to do it as fast as possible because I don't care. I have an off-the-shelf GPS
Starting point is 00:22:51 that I got from Amazon, some no-name thing. I have a Raspberry Pi 2040, and I've been fighting with this for a week, and I finally said, because I want, well, long story short, I want really high accuracy and precision timestamps for the data, which you can't get without using the PPS pin on the GPS. Pulse per second.
Starting point is 00:23:08 Pulse per second pin. But it's really hard to find anything in the stupid embedded space that does that without you cobbling it together yourself and getting the interrupt and keeping track of things. And I didn't want to do any of that because I'm in a hurry and I don't care. And I hadn't found anything. Christopher went on winter holiday early. I looked at CircuitPython, CircuitPython. There's a lot of CircuitPython does GPS. Nothing does PPS.
Starting point is 00:23:31 And there was a conversation on the Slack where somebody said, I've been using MicroPython and it's great. And I was like, I should check out MicroPython and make sure. And lo and behold, there was a library that's part of the async IO thing, which is in MicroPython, that does the PPS thing, has a whole time thing where you can grab a timestamp with microsecond accuracy. It's like they thought of this.
Starting point is 00:23:50 And from start to finish yesterday, Nathan, from start to finish, finding this code, finding the parts around my house, putting it together, including the time where I had to figure out how to get MicroPython to work in VS Code, because I didn't know, and the time I had to go solder a wire on the board because the PPS wasn't brought out to the header. Just to an LED.
Starting point is 00:24:11 Was one hour, and I had it working. That's modern embedded systems, man. He and I are talking about this, and I'm flashing back to crossbow days where we had inertial measurement systems and integrated them with GPS. And that was before GPS was fine-grained. That was when there was a military system and a civilian system. And, of course, we had pulse per second, and we had all this timing. And I'm just like, that's all just really, you know, it's not that hard. Oh, it's not that hard. It would have taken me a couple of days to do it from scratch, but it took me an hour.
Starting point is 00:24:52 I know, and MicroPython is totally the way to go. I mean, CircuitPython is awesome for starting. MicroPython is how you get things done. I should say this is against my interests because I build by the hour. Right. So I really should have built it from scratch, But that aside, yeah, no, I mean, things are changing and it's weird. There's a lot of Lego block things.
Starting point is 00:25:12 Do you think this book will help people learn to work in that world? No. How important is it for us to understand the underpinnings when a lot of what we do is putting things together? I love that question. I think it's definitely kind of at the heart of this. I would say, from what I've read, discipline-wide, you know, folks that teach computer architecture and that study it have this this very same question and like chris
Starting point is 00:25:45 was saying the the modern processors are are so advanced um you know what point do you sort of pick as your entry into that that world do you do you start from first principles or do you just assume that hey we're just you know we're beyond that i I think, um, personally, I think knowing that computers are really fast, dumb things is really important. I like the term I use sometimes with my students is I just call them their automated calculators. If you take like a Mickey mouse calculator that can do like addition and subtraction and you just, instead of having one spot to store a number, you have 4 billion and you can do 40 gazillion instructions a second of those little math operations. And a couple of those memory locations that you can store to,
Starting point is 00:26:34 or map to like a keyboard and display. That's all a computer is. And I think knowing that, knowing that's really valuable and not just like having someone tell it to you, but, you know, knowing a little bit about binary and digital logic signals and then having someone kind of say, check it out. Here's, you know, here's how we can construct a digital circuit that adds. Here's how we can construct a digital circuit that pulls data out of memory and pushes it to memory. And then to say this, this thing is a computer. That's that's valuable. Um, and then I'm, I'm inclined to, um, to think, you know, that the next most important part might be just, um, kind of like we've, like we've hinted at a couple of times, uh,
Starting point is 00:27:18 knowing just enough below what you're doing that you can, you can understand what's happening. You can debug it if, if it goes weird. And I feel like with embedded, um, you tend to need to know a few more than just a couple layers deep but you know but but the point is that if i'm you know if i'm working at some level of abstraction um i can go a little bit deeper if i need to um i joel spolsky kind of gave me that idea this idea this idea that abstractions are useful but but they're often leaky. And so it's important to know a little bit, a little bit lower than what you're actually working in, in order to do that effectively, you're not especially folks that are going on to write maybe just web applications or enormous server programs or things like that, you don't necessarily need to know, like, what the move instruction does or what all the, like, different operands are
Starting point is 00:28:19 in x86. But I think definitely for embedded, it's important to know, like you said, Alicia, and Chris mentioned it too, when I'm writing my C code, how does my C code map to the assembly that's being spit out? And not just instructions to registers, but also knowing how the application binary interface works and knowing that certain instructions are part of the function preamble or the postamble or knowing why my processor has an eight clock cycle interrupt latency and that sorts of stuff. Those start to get a lot more important. Yeah, yeah. Yeah, definitely agree with that. and eight clock cycle interrupt latency and that sorts of stuff. Those start to get a lot more important. Yeah, yeah. Yeah, definitely agree with that. And, you know, MicroPython aside,
Starting point is 00:29:12 most development is still not, it's still done the old-fashioned way, you know, with just better tools. So, no, knowledge of that stuff is important. I think it's also important, you kind of touched on it, for people working in technology to have computers be demystified a little bit. Because you did say they're fast and dumb. And they are fast and dumb.
Starting point is 00:29:29 They're getting faster all the time, but no smarter. And people are talking about AI and all that stuff. And I think there's a lot of mysticism around that. Like, wow, look at what computers can do now. And it's like, no, they're still just adding. That's it. They're still just adding. That's all they do, for the most part.
Starting point is 00:29:44 Add things and move things, right? And just because we can do complicated things with that by doing those a billion times a second doesn't be afraid of them, but also not to be, you know, afraid of breaking things and that kind of stuff. If you understand something at a deeper level, you're less afraid of it, I think. Yeah, yeah. And I would say that's setting, like I'm thinking of the Arduino, you start to advance when – or I think that the biggest reason to learn more is because if I'm following a tutorial but I don't know what's going on, the first time something doesn't work out, I'm hosed. I'm stuck. And so, you know, learning how to start to do some of those things yourself, right, helps me understand why I'm looking at step number four in my tutorial. And if it doesn't exactly match the picture, then how do I, you know, do I need to be concerned
Starting point is 00:30:58 about that or how do I work around it? Yeah. In the O'Reilly book proposal, it asks you to talk about your audience, which, as we've been doing, one of the things, some of the questions they ask is for you to note the roles of your audience. You've been teaching college, but O'Reilly is trying more to sell to industry, although I love that my book is used as a textbook. It's just so awesome. So what professional positions does your audience hold? What positions are they considering next in their career, and what knowledge do you assume they already have? I think I was coming from my perspective primarily. So my first thought was this being the book that someone who was teaching an introductory computer architecture course might pick because they like the idea of teaching to something to be able to give the students a uh you know a physical object to interact with um i think uh i mean at least you kind of led the conversation off with with talking about an anti-tetris and i mean and honestly i i i like where that's kind of built in terms of
Starting point is 00:32:15 i would say that's like the kind of the minimum set of knowledge that a general computer science computer programming population should know about computers. So I think, um, um, you know, that's, that's kind of the, is that a prerequisite to you or is that in parallel with you? Nah, I mean, I, um, the, I love Nantichrist and the, the, the biggest things that I feel like I would still kind of want to fix about it are the computer that they sort of build up. It has very kind of a limited IO, and they don't talk at all about interrupts. Very much. So I love the fact that after you build the processor, then you are in the second half of the book, you're writing the assembler,
Starting point is 00:33:11 you're writing the little virtual machine that your compiler targets. Seeing that built all the way up is really, really cool. And I think an important picture to get that I would love students to have if they were to graduate college as a computer scientist or something like that, to know how the software I'm writing, at least conceptually, how it all gets translated down into the instruction getting executed by the computer. How much, so you brought this up at some point, Alicia, in terms of like how much assembly to discuss. And it definitely sounds like you're on the fence of like, man, I'm going to talk about assembly as little as I can. And then we're going to get to, we're going to talk more about how a language like C
Starting point is 00:34:00 is converted into assembly. Maybe we'll talk about reading assembly. What would be that piece for you that, you know, whatever computer architecture course you'd want to take? I mean, the important part about assembly is that it does make sense if you learn it. I mean, if you compile your code into a list file and then you try to read the list file without having the C lines next to it, and you don't know the assembly language,
Starting point is 00:34:29 it's not going to make any sense. It's like compiling into German. Why you have to learn German first. So building up the assembly language from the machine code, from the byte codes and all of that, that is good for people to understand that there is a process to this. It isn't random. There are choices people made, and the choices are explainable. And when you go out to a processor that isn't 4-bit, they're going to be different, but all the same things are going to be there.
Starting point is 00:35:06 So I don't know. When I started, there were times when I programmed entirely in assembly. Pick. And you wonder what I had done with the picks. That's it. Really? But for a long time, the only time I really had to deal with assembly was if I had to do fine-tune optimizing in a loop. And even that was a matter of reading the assembly and modifying the looking at the stack and understanding how to put all that together.
Starting point is 00:35:58 And I guess that's what I would like from a computer architecture course. People don't always understand what happens when things go wrong such that they can look at the stack. So, you know, R1 is usually this. And there's a return register and you can build up the stack frame. And how you build that up depends on your compiler and your processor. And all of that, I guess, I want to be in the computer architecture course. And you need everything in a computer architecture course before you can understand that. It is very, yes, it's very, like, do you start at the gate level? Well, okay.
Starting point is 00:36:42 I mean, NAND to Tetris did, and I appreciate it. And yet, I would not have learned Boolean logic from that. Yeah, I mean, the book is awesome, and they do a great job tackling what otherwise, like if someone had pitched this book to me, like, hey, we're going to start with a Nand gate. And we're going to finish like writing, like essentially operating system routines and we'll show everything in between i'd be like you're crazy that's going to be how many books yeah so like they they managed to eke out this incredibly optimistic and ambitious objective but yeah it's very like they i mean i think they cover digital logic in like one or two chapters i mean and that's that's a full you know three credit hour four credit hour
Starting point is 00:37:25 and many institutions semester-long course there was a lot of and then draw the rest of the owl in the book yeah which as a as a course that is at the end of a curriculum that builds in that puts things together that that would be great. If this was your first introduction to compilers, at some point you're going to want to just, I don't know, spend all night in the CS lab and then... That's a mistake. Yeah. No, you can't teach people that way.
Starting point is 00:37:58 The other? But that's like having a synthesis course at the beginning. Yeah. But that's like having a synthesis course at the beginning. I can see it as like, you know, kind of the book. In my head, it would be, it's sort of, you're using it, you're chunking it up into like probably three or four different courses. And we're saying, hey, we're going to work through the first two chapters on this is for our digital logic course, but we're going to build up these components
Starting point is 00:38:22 so that there's a common theme, you know. And so at the end, you know, if you get to your operating systems course, you're actually writing operating system routines for a processor that you built, basically. And they mentioned that it was better as a year-long course. Okay, let me go back to this book proposal. A marketing description. One to two paragraphs. Summarize what the book is about
Starting point is 00:38:47 like you would pitch it to a potential reader on the back cover. I have to warn you, this actually is what ended up on my back cover because they never came back to me and said, do you want to update this? So be careful with this one. So yeah, how are you going to pitch this book
Starting point is 00:39:04 to potential readers who don't know what the VOJA4 is? Real quick, I had a similar experience. Actually, so I gave a talk at the 2023 Hackaday Supercon about this badge. I thought it was cool. You know, I wanted folks who had never had a computer architecture course and didn't maybe know what they were doing when they were punching buttons to know, Hey, this is what goes into it. And here's how it all works. Um, the proposal, the deadline was almost due. And I was like, Oh shoot. I think I was on vacation at the time. And, uh, so I submitted it on my phone and they needed a speaker picture. And the most recent
Starting point is 00:39:40 picture that I'd taken was a super goofy one of me, like, like screaming with my kids, like pretending we were, I don't know, warriors or something like that. And I was like, I'll fix this later. And, uh, I, I completely forgot to. And so there, uh, you can, there's a YouTube video of that conference talk and the little splash screen on the slide is me and the most ridiculous like face. I'm like screaming at your toolbar, basically your toolbar basically what what did so what did you write your own marketing description at least because i feel like you know that would be a real a real challenge to to to have to physically remove yourself from your own perspective and put yourself in the perspective of someone who's who's going to make it sound like just the greatest book ever? I mean, the whole book proposal is kind of a test.
Starting point is 00:40:30 Like, if you can't fill in all the boxes, you probably can't write a book. So it doesn't have to be great. It isn't the end. But they do need to know that you can pitch it in a way that is approachable. Yeah. I think I would highlight what we kind of talked about so far. I mean, the fact that the book is, the ability to interact with the computer as you're holding it in your hands. Um, the other, the other thing I thought about putting in there just kind of for my own personal interest, cause I thought it was really cool when I was reading a lot about computer architecture is, is showing all the, um, the different kinds of design trade-offs, uh, in terms of,-offs in terms of the instruction set architecture. What instructions do we include?
Starting point is 00:41:31 Do we exclude? What are the consequences of that? How do we encode all of these into the actual ones and zeros of our instruction? Do our instructions, do they operate on values in memory? Are they restricted to just what's in a register? Or is it even a register machine? Is it just operating on a stack?
Starting point is 00:41:52 I think some of that stuff was, I don't know, the utility. Well, the utility might be just the fact that with advances in computing technology, we might find ourselves circling back around to first principles and asking ourselves, is this the most effective means of constructing a computing device, especially with quantum computing and, you know, photonic circuits and things like that?
Starting point is 00:42:18 I think there's potentially a need to, you know, you might find that computers are constructed completely differently to take advantage of those technologies so that's the other thing I was thinking about putting in the book but one of the things that I wanted for my book because it was how I read non-fiction was that I wanted it to be something you could take to the beach. It was an enjoyable read. That was a big thing for me. It sounds like the physicality of the board is a big thing for you. Is there anything else? No, I mean, I think that is the big one. That's kind of the central selling point. We'll see if anyone else likes it what if somebody doesn't get the board is the book not useful that is a that is
Starting point is 00:43:10 an excellent question um that i'm currently kind of thinking options through on uh and i think the answers best answer is going to be that they're uh uh if they'll interact in that case through a simulator. I believe someone who attended the conference did, did write a full simulator for it. And I think that would probably just be something that I would make sure I sort of take, you know, I suck up and becomes part of the book materials is, Hey, if you don't want to, you know,
Starting point is 00:43:44 don't have the funds to spend on the board or something like that, then you can still interact with this little piece of software. You need to get one of those little envelopes in the book where it comes with the board. Like the CDs used to come with the boards. When was the last time they did that?
Starting point is 00:43:59 It's been a while. One of the things that O'Reilly told me that I found very useful was that dumb people don't read books. And so you never really, while you need to explain it to someone, you have to be really careful not to make them feel dumb. And you have to be aware that they may be reading this for their own personal enrichment it may not be an assigned college textbook so how are you going to keep them engaged without baby talking you know and i think you it's it's neat that they that you brought that up because it is hard i feel like with, with a static medium like the book.
Starting point is 00:44:47 It's hard to find where to start. And I think some folks find themselves in positions where they're kind of moving that first goalpost further and further towards fundamental concepts because there's just this concern that whatever spot I'm going to to pick someone's going to jump in and feel like they're over their heads um i think uh i think building off of kind of what we discussed i'm going to assume that um that the reader if not having taken a digital logic course like is aware of some basic digital logic fundamentals um a lot of computer architecture books will, if they're worried about that, will put an appendix in the back where it's sort of like,
Starting point is 00:45:29 hey, here's a review of Boolean logic and binary numbers. I like to think my conversation or my writing style is pretty conversational anyways. So I think that's a gift that I got from my parents. My dad is a psychologist, and my mom taught middle school English her whole career.
Starting point is 00:45:51 And I used to gripe and moan because I would score higher on the verbal portions of my SATs and GRE than I would on the math stuff. And I was like, I'm an engineer. This is, what's going on here? But a couple weeks ago she was like hey you're pretty happy about that now aren't you and i was like yeah i think i'm i'm gonna one of my strengths at this point is that i can communicate uh the the difficult concepts more effectively than others it is a skill yes um and it's one that Harvey Mudd College does try to encourage. Yeah.
Starting point is 00:46:30 What did you concentrate in? I mean, I got my degree in engineering. No, no, no. What was your humanities concentration? Oh, God. Other colleges call them minors. It was probably something music related. Cool.
Starting point is 00:46:47 Yeah. I played the drums going through high school and college. I still have like a little electronic kit in the back that I haven't pulled out in years, but. Okay. Last question I've got for you, Alicia. In terms of timeline, how long did you need to budget for the first book? A year. Okay.
Starting point is 00:47:05 I mean, it was a strange year. And I worked about half time, maybe a little more. And I worked on the book a lot because personal life meant I didn't really want to leave the house. Yeah. didn't really want to leave the house yeah i take as much take you know consider how much work you think it will be after you do the outline and then like multiply it by three and then when that seems like an absurdly long time know that you are still underestimating it's like how i order food for a party i just like i figure like i plan a number of amount of food and then i i figure i need to go 20 over and then i forget that i did the 20% over, so I do 20% over that.
Starting point is 00:47:47 And I do that a couple more times, and then there's way too much food for the party. Yeah, it's, I mean, it's tough. You have to stay motivated, but I think you're already really good at that. You'll have to figure out how to balance that. At the time, I was doing engineering work as well. If you're also doing writing work or teaching work, well, teaching work actually would help because for my second edition, having taught making embedded systems a few times, I got a lot more material and I knew what the questions were. I think overall the weakest part of your book is the name of the board. What would you call it?
Starting point is 00:48:32 I mean. Well, it's a very specific thing. Okay. I would call it with a four-bit processor or with hardware or something that didn't look like... I mean, you know, a lot of the O'Reilly books are like, react with sparkle fun unicorn poop. And if I don't know what unicorn poop is, I just don't look. Yeah, but those are all real things that people will recognize.
Starting point is 00:49:02 Yeah, but definitely in this case, though, right? No offense. No offense to the VOYA 4, but people are going to see that, and that means nothing to most people. Yeah. Right, right. Specificity helps if the specificity causes recognition, and if it doesn't, then it alienates. And I think that, yes yes that is alien it was alienating to me and i didn't want to tell you that before the show because i wanted to understand more what you were coming from but you wanted to surprise me with it in the middle of the show hands-on computer architecture or
Starting point is 00:49:35 uh computer architecture from blinking lights from from with from something from scratch from i mean from scratch except scratch is the thing we can't say that something something computer architecture we win yeah computer architecture for fun and profit okay i have edited your book proposal with notes I took during the show. Good luck with that. Thanks. She means with her notes. With my notes.
Starting point is 00:50:10 No, I think the book proposal is good. And I think you have a lot of really good points to make. And while I like the Nandatatris curriculum, the book was repetitive and yet didn't have the information I wanted. So there was some difficulty there, and I would absolutely look forward to reading your book. I did put my name down as a potential reviewer.
Starting point is 00:50:36 Oh, thanks for that. But I hear that you took a survey of our Patreon supporters regarding this very show. Well, not this show. Yeah. But embedded as a whole. What did you ask and what did you find out? Did you not look?
Starting point is 00:50:53 You had to have looked at it. No? No, I didn't look at it. I did open the link, but I didn't read it other than to make sure that it was legit. I mean, not that I didn't. I wasn't like rickrolling people just yeah basically i mean i i'm fine if you rickroll people i just want to know so i can watch um yeah i i don't know i just thought it'd be a fun thing to do kind of here at the end of the
Starting point is 00:51:17 end of the year to just um do a fun little survey um was, every question was very serious though. So, I mean, this might be a kind of a boring segment for, there's lots of data, lots of data. The, the first thing I wanted to know, I wanted to know what people's favorite episode title was. Cause that's, that's an important kind of grabber to get them into the episode. What did, did you, did the two, you have a favorite from the last year see the problem with things like this is that people assume that we have any memory of anything that's happened on this show beyond the show we're currently recording i could not tell you a single title offhand nope i can't even tell you last week's yep nope i got nothing sidetracked by mining the moon oh no it's all chaos and horror that one was
Starting point is 00:52:09 um that was one of my favorites we do have a an excel sheet that lists all of the episodes uh which is really helpful uh for questions like these what what did you have on your list uh i put them all from 2024 and the crowd favorite was wait until physics has happened oh yeah okay that was really recent too yeah yeah um about uh the the robot course right yeah yeah um yeah i think a close second was math is not the answer. So seldom is. Yes. Math is always the answer.
Starting point is 00:52:51 Right. Sometimes the question too. That was Philip Koatman. My personal favorite was collecting my unhelpful badge. I just love the visual. All right, next. I was, again, very serious, was curious. If in the future, Alicia, you were arrested for raising an army of ferocious animals on your house, what animal do people think you would be raising? And the options were octopi,ils squirrels or cats and overwhelmingly uh if
Starting point is 00:53:32 people were going to dime you out for for for raising your own army it would be an army of octopi well that's yeah that that would be this is a good that's a good we're gonna add that to the lightning rod rotation i may be influenced by your recent art installation, right? That was very octopi influenced. Yeah. It's a great, I mean, honestly, it's a great choice. They're highly intelligent animals. They, with the suctions and the camouflage, I think you had a very terrifying art.
Starting point is 00:54:02 Oh, yeah. Yeah. They, and they have some, yeah, they're cool. Octopus, yes. Okay. Octopus Army. Next, I asked if folks had a favorite quote or moment or guest from 2024. And there was lots of great feedback from folks just saying that, you know, it was hard to pick.
Starting point is 00:54:22 They liked it all. A couple of folks singled out, um, uh, Philip Koopman and Helen Lay and, uh, Dr. Colleen Lewis, who was on reference, the same dog, dog objects.
Starting point is 00:54:34 That was fun. And, Kirk, uh, just, just a week ago, uh, two weeks ago,
Starting point is 00:54:42 um, on, uh, electronic music. And there's a great, a great reference that someone put here from, from Colleen Lewis's episode where they just, they just typed out the transcript where they said,
Starting point is 00:54:56 Alicia, you talk about a dog hardware running cat software. Chris, I think that's not going to help. Alicia. No, it's definitely not. Foxes are cool.
Starting point is 00:55:04 Okay. Changing subjects. I wonder if we should no it's definitely not foxes are cool okay changing subjects i wonder if we should have named that show foxes are cool just a stupendous moment wonderful um next i wanted to ask which quote best describes Chris. Oh, no. I'm going to take my headphones off. No, stick with me. The options were, those people who think they know everything are a great annoyance to those of us who don't. Wait, am I supposed to be somebody who thinks they know everything? Because I do not.
Starting point is 00:55:41 I think the ambiguity is fun. Like, we don't know at this point if you're the one speaking. Well, either way. I mean, I'm not super happy with the implication there, but okay. All right. do not i think the ambiguity is fun like we don't know at this point if you're the one speaking well either way i mean i'm not super happy with the implication there but okay all right number two don't anthropomorphize computers they hate that number three i was taught that the way of progress was neither swift nor easy or four beware of bugs in the above code. I have only proved it correct, not tried it.
Starting point is 00:56:09 Okay, which one of those did folks think best represented Christopher? I think I'm going to be unhappy no matter what. All good things, Chris, all good things. With 50% of the answers, it was don't anthropomorphize computers, they hate them. Okay, Chris. All good things. With 50% of the answers, it was don't anthropomorphize computers. They hate that. Okay, good.
Starting point is 00:56:29 Which I think I get that from Andre from the Great White North on the Slack channel. There was also a write-in response because folks could do that. One person decided to attribute the quote to you, I hate computers. I do say that frequently. More frequently than people realize, because at least he has to hear verbally quite often. I mean, we spent five minutes in the middle of this episode talking about that. It's an endearing quality, Chris. Yeah, you can't anthropomorphize him, but you shouldn't like him either. That's right. Keep a healthy distance.
Starting point is 00:57:08 Next was, what was something you learned from the podcast this year, or how did it benefit you? There were some great answers here. Someone said, there's more to checksums than I knew. Yes, well, that was true for all of us. No idea on that one. Yeah, right? I think you actually said at the start of that, you're like, I don't know exactly how we're going to fill an hour on checksums and hashes, but here we go. Someone said they love seeing just the real stories of professional engineers, engineers that struggle in their work.
Starting point is 00:57:42 They feel like they were pretty new to embedded software. So they say it really helps them with imposter syndrome um someone said it made their time doing dishes fun um let's see what's a good one um someone said the slack community is great they learned as much from the podcast as from the slack uh someone said they liked uh learning just the importance of taking care of themselves so that was cool and i'll send you i'll send you this whole thing of course so you can kind of read through them if you're if you want um next i said uh in 2025 embedded.fm podcast listeners and alicia are shocked to hear chris admit on air that he actually likes. God, no. Let's see.
Starting point is 00:58:28 AI, computers, Rust. This is too easy. Oh, I didn't think of Rust. I had Tabasco, ChetGPT, computers, or Bob Ross.
Starting point is 00:58:41 Bob Ross is easy. Two of those are easy. The other two are not likely. do you like Tabasco? Tabasco is fine I mean it's fine I don't reach for it there are far better hot sauces it's the only thing available
Starting point is 00:58:57 when I need a hot sauce Bob Ross, yeah we watch a ton of Bob Ross when the pandemic started it was on YouTube it was like 8 o'clock at night Bob Ross. Yeah, we watched a ton of Bob Ross when the pandemic started. Did you? It was on YouTube, you know, it was like eight o'clock at night and we were all stressed out. It was like, there's a marathon of Bob Ross. Let's watch an hour of Bob Ross. That feels like it would be very relaxing.
Starting point is 00:59:16 It was. It was very weird. Yes, it was weird, but relaxing. Happy little trees. Nice. What's this? The other one is like a wonderful accident or something like that? Happy accidents. Happy accident. There you go.
Starting point is 00:59:31 Okay, so what did people choose? Overwhelmingly, Chris, folks would have been floored. Nearly 60% said they would be floored next year if you admitted to actually liking computers. Well, it's complicated. Relationship status. It's complicated.
Starting point is 00:59:51 Yeah. This one also had some really good write-in answers too, by the way. Oh, okay. Someone said they'd be really surprised if you admitted to liking writing drivers. Someone was surprised if you'd admit to liking Swift.
Starting point is 01:00:04 Oh, I do like Swift. Yeah, I know. I like Swift a lot. I don't know. The last person was really surprised, or would be surprised, if you admitted to liking PIC-16s. Never used one in my life, so I don't know. But yeah, no, Swift. Swift I really like, so you can be surprised.
Starting point is 01:00:19 No, I did a lot of Swift development a couple, three years ago. I haven't done it in any sense, but it was cool. Is it one, do they consider that one one of the memory-safe languages, or is that not? Yeah. And they have a very clever, well, not clever, but a very interesting way of solving that problem that is
Starting point is 01:00:37 cleaner than other things, but it requires it to be object-oriented pretty much top to bottom so that it can keep track of stuff. But anyway, yes, very funny and chat gpt that's not happening i think there's a lot of neat uses in education like i was talking to one of my students the other day about them using uh chat gt gpt to summarize long readings that they didn't have the time for to help them kind of like you know come to class somewhat prepared um i've I've had students say that, you know, they use that to, to, they ask chat GPT to generate practice problems for them and then
Starting point is 01:01:13 to kind of help check their work or walk them through the solution. So I'm sure, I'm sure that's all useful. I can, I can actually hear you biting your tongue. Next, I asked, what topics do you think Alicia and Chris should explore next year? And is there anyone that would be cool for them to have on the podcast? Oh, cool. Yeah. Someone said it'd be really interesting to explore higher level languages on embedded devices, which is also something that came up a little bit ago in this episode. This is somebody who wanted Rust, wasn't it?
Starting point is 01:01:48 Swift is coming. Swift is coming. There's an embedded Swift. They've got a pilot project for a few processors. I think it's a great question, right? As things get faster and MicroPython. Oh, and I really enjoyed working with MicroPython and I
Starting point is 01:02:04 recompiled it and added drivers to some of my hardware. So I got pretty working with MicroPython, and I recompiled it and added drivers to some of my hardware. So I got pretty deep into MicroPython, and I really enjoyed supporting the scientists who were using the Python aspect of it. Yeah, yeah. making a large product and you're going for one of the cheaper processors, it's still going to be capable of running something like this. Someone wanted to know if Pooh will ever find the North Pole. I think that's an important question that should get answered. They find a pole. Oh, yeah, yeah, yeah.
Starting point is 01:02:46 Yeah, yeah, yeah. I remember that. It's definitely not the North Pole. I don't know. It's a slow going, you know. Two pages, five pages a year is a pretty slow pace. I have both books sitting there. I have two books, two books sitting there because I wanted to make sure I'd have the
Starting point is 01:03:03 second one when I finished the first. We're only like halfway through the first. That's like 500 episodes. We're still not really that far. It's like the flip book. That's right. It's the flip book. Chris, it's like you just, you got to start on page one and then we'll just finish at some point in the future.
Starting point is 01:03:23 Next, I wanted to know how folks think Alicia would answer this question. And so, Alicia, I'll pose this to you, Alicia. Would you rather have to speak in rhyme for the rest of your life or have to speak in riddles for the rest of your life? I think it's time to admit to rhyme. For riddles are fun less than puns. Oh, that didn't work. Sorry.
Starting point is 01:03:58 Admirable. That was phenomenal. It's like you were a crime in there somewhere. Oh, I should have sang. Yeah, 55%. So just over half thought you'd prefer to speak in rhyme. Riddles are hard because you've got to come up with a lot of stuff. I mean, if you'd had puns in there,
Starting point is 01:04:15 if you'd had like every sentence has to have at least one pun, I could have done that over rhyme. Okay, yeah, yeah, yeah. Which you should know since you got some puns in some of your emails which you started yeah well i've got i'm a dad now i've got to have my arsenal of dad jokes so all right and the last i asked if there was anything else that they'd like to share with the two of you. And overwhelmingly, folks just wanted to share. One person said a beer and another one said a cab ride. I don't know exactly why.
Starting point is 01:04:56 Overwhelmingly, folks wanted to share with you that they just really appreciate the work that the two of you do to bring this podcast to podcast, uh, to air and to, and, and, and keeping the Slack community going. And, um, I'm, I'm sure that you would say, well, I don't know. It just kind of has its own momentum, but, um, like you've heard, uh, you know, from several people, uh, we all, and speaking for myself too, um, you know, we, we learn a lot from the community that you've created. And, uh, I'm sure there are weeks when, you know, it's more work than it's worth, but we all appreciate you two making great experiences for us listeners and being honest with what you're learning, what you're struggling with. And we just, we love that we get to be part of this learning journey with you.
Starting point is 01:05:42 I'm sorry, Nathan, Skype cut out there. No. Thank you. Thank you. That is really very nice. Yes. Yes. Very, very nice.
Starting point is 01:05:58 Thank you. It's very weird to have this community out there that we don't actually see. It's just sort of there. I mean, we do talk to folks sometimes. But it's all, you know, at a remove from a computer. It is. Which, as we know, I do not like. And I do like the Slack community because while I can jump in there when I want to.
Starting point is 01:06:18 Oh, yeah, the Slack community is great. I've learned a ton from the Slack community. I've gotten a lot of help just watching people solve their own problems on there. It's been great. That's been the single best professional decision I've learned a ton from the Slack community. I've gotten a lot of help just watching people solve their own problems on there. It's been great. That's been the single best professional decision I've ever made was to join and be active in the Slack community. Yeah, no, I mean, selfishly, the podcast has been a pretty big help to our careers. So, I don't know how well we would have pulled off being consultants without having... I don't know.
Starting point is 01:06:43 The guy I've been working with for six years... Consistently. ...noticed in my origami postcard that I have a podcast. Yeah, yeah, but we've gotten several good clients through your podcast or through your book
Starting point is 01:07:00 or things that are all kind of tied together. I just couldn't believe he didn't know I had a podcast. It's better that way. I guess so. It's very awkward when you start a contract and then a couple months later, oh, yeah, I was listening to your latest episode. I was like, oh, no. What did we say?
Starting point is 01:07:15 Oh, oh, how much did I complain about picks? I didn't expect you to be listening to me. Yeah. This is just a professional thing. You're not supposed to listen to me speak in my other capacity. I'm sure it's weird for those two worlds across, because in your head, they're very distinct. And occasionally, like at Fitbit, somebody would say, are you the Chris White on the embedded channel? No.
Starting point is 01:07:37 Occasionally, for me, I will start talking to someone, and they'll recognize my voice, and then'll like not be able to talk for a second because they can't get over the mental disconnect between, I mean, you can't really talk back to the podcast and expect me to answer, but now I'm on the phone so I do answer and it's really weird. Yeah, don't know. Kind of weird. Well, thank you for doing that. That was very amusing. That was very nice, Nathan. Thank you.
Starting point is 01:08:08 My pleasure. It was a ton of fun. Do you have any thoughts you'd like to leave us with? The one I'm going to go with is something I've shared with a few folks recently, which is there, I believe there are vanishingly few circumstances in life that aren't made better with a little bit more compassion. And especially when that's hard. So I would say to you, especially as we get into what for a lot of folks can be a rough, stressful season uh you know have some compassion for for yourself and if if you're getting frustrated remember that um or in parent a parenting phrase my wife and i like to say is they're not giving you a hard time they're having a hard time and uh so just yeah i would encourage everyone to have a little more compassion our guest has been nathan jones an
Starting point is 01:09:03 active duty army officer and instructor at West Point. Look for his articles coming on Digi-Key soon. Thanks, Nathan. Thank you so much. Thank you to Christopher for producing and co-hosting.
Starting point is 01:09:15 Thank you to our Patreon listener Slack group for their questions and answers. And thank you for listening. You can always contact us at show at embedded.fm or at the contact link on Embedded FM. And now a quote to leave you with.
Starting point is 01:09:30 This one's attributed to Albert Einstein. May actually be by him. Computers are incredibly fast, accurate, and stupid. Human beings are incredibly slow, inaccurate, and brilliant. Together, they are powerful beyond imagination.

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