523: Bad Experience with Donuts
Transcript from 523: Bad Experience with Donuts with Christopher White and Elecia White.
EW (00:00:06):
Welcome to Embedded. I am Elecia White, here with Christopher White. This week it is just us. I have a list of things for us to talk about.
CW (00:00:16):
Great. And we are sorry we missed the last episode, but we were tired.
EW (00:00:22):
Indeed. Indeed. So tired.
CW (00:00:25):
All right. So, let us get on with the list.
EW (00:00:29):
Well, I am going to start with Gary Brown, who we do not really get to talk to. But he did send us some information in the email, transmitted through many layers. "What are your thoughts about the new 'Toy Story' trailer?" In particular, I believe Gary was referencing the LeapFrog toy that is the villain of the story.
CW (00:00:57):
The very, very, not very veiled LeapFrog toy. It was a- It did not say, "LeapFrog." They cannot do that.
EW (00:01:06):
It was a frog.
CW (00:01:07):
It was a frog.
EW (00:01:08):
And it was nominally educational.
CW (00:01:10):
Oh yeah. No, I understand that.
EW (00:01:10):
I do not think we are fooling anybody here.
CW (00:01:13):
No. <laugh> Yeah. So if you have not watched the trailer, it is "Toy Story 5." This time technology is the villain. And the technology is- I remember you had- So, LeapFrog- Maybe you need to explain what LeapFrog was, because I do not know that they exist really anymore.
EW (00:01:35):
They were bought by VTech, and they are still available.
CW (00:01:37):
Okay.
EW (00:01:38):
But it is not like there is new development, that I know of.
CW (00:01:42):
Okay.
EW (00:01:44):
Okay. So LeapFrog. I worked at LeapFrog around year 2000. When I got there, it was like 600 people, ish.
CW (00:01:56):
Big.
EW (00:01:57):
And they made educational toys. Before LeapFrog came on the scene in Toyland, there were toys that would be educational, like a bus that had letters on it. But because 26 is hard-
CW (00:02:13):
26 letters.
EW (00:02:14):
26 letters. They would stop at "I" or "J," or wherever it felt convenient to stop. LeapFrog was always very much, "You have to use the whole alphabet. It is not just decoration."
(00:02:29):
They made the LeapPad, which used a capacitive sensing technology, where you would run a pen over a piece of paper and it would read to you. It would sound things out.
CW (00:02:38):
All right.
EW (00:02:40):
That was probably their flagship project, and really fantastic.
CW (00:02:45):
This was not a tablet. You put a book in it.
EW (00:02:47):
You put a paper book-
CW (00:02:48):
You put a paper book in it.
EW (00:02:49):
And a cartridge.
CW (00:02:50):
And a cartridge, and it knew where in the book you were, based on- I forget how it worked.
EW (00:02:56):
Based on some capacitive sensing, and with a page of the book.
CW (00:02:59):
Okay. And then you could scroll over the page of the book, the actual words on the book with the pen-
EW (00:03:05):
And if you did it slowly, it would sound them out with you. If you did it quickly, it would read it to you. There were buttons on the page that would let you do different things.
CW (00:03:13):
So before we get into my story, since this is the Embedded show, I forgot how those were actually made, because this was 1999, 2000, right?
EW (00:03:23):
2001.
CW (00:03:23):
Were there any microcontrollers besides 8051s? Was it an 8051? Or was it something more exciting?
EW (00:03:32):
It was a custom ASIC.
CW (00:03:33):
All right. Right! Right. Right.
EW (00:03:35):
It was an 8051 core. But there were plenty of other microcontrollers at that time.
CW (00:03:39):
Well, yeah. But that is the one that was the most-
EW (00:03:41):
I had been mostly working with-
CW (00:03:42):
Sun.
EW (00:03:44):
Analog Devices' SHARCs and TI C2000s.
CW (00:03:48):
I think of SHARCs as purpose built DSPs, not microcontrollers exactly.
EW (00:03:53):
Well, I had been doing a lot of DSP work at that point. But we were using them as microcontrollers to control devices.
CW (00:04:01):
Were SHARCs just a couple of feet from you in that thing? Okay. So it was like Sunplus was the processor?
EW (00:04:09):
Sunplus was another processor that we would use for the cheaper toys. And where the 8051 had a bespoke Keil based compiler, the Sunplus had a assembly language. We did not usually program it. We just told them what we wanted.
CW (00:04:32):
Gotcha.
EW (00:04:34):
Part of the LeapFrog goodness, or secret sauce, was that they had their own audio generation system, that was based on putting pieces of audio together, not at a word level, but at a sound level.
CW (00:04:51):
Right. Okay.
EW (00:04:53):
That library, they built up over many years. It was so fun to play with, because everybody got mad at you. And I am like- "You added a variable." And I would be like, "Yeah, but I also put it in the register. You guys were not using the registers enough." It was so fun. But usually I got to build toys.
(00:05:10):
They had purchased a company that had the Odyssey Globe.
CW (00:05:16):
Right. I remember the Odyssey Globe.
EW (00:05:17):
Which was, again, a capacitive sensing with a pen, and you would touch a country and it would tell you about the country. Maybe it would tell you the capital, the country, the population, the currency, all kinds of information. The great thing about that was it had a game. It would be like, "Find Burundi." My geography got so much better as I tested that.
CW (00:05:38):
So I am looking back- Back to the topic. I am looking back at LeapFrog's website, where they have a store. They still exist, the brand does. There is a LeapPad Ultimate, which is a tablet for three to nine year olds, with a screen, a quad-core processor, and a bunch of- It is basically a- It is Wi-Fi.
(00:05:59):
It is what is in the movie. Except it does not look quite like a frog, but it is green. And it is called the "LeapPad Ultimate," so they kept that branding. So this sort of exists, so I guess "Toy Story" went for it. What do you think about your lineage, your heritage, your legacy being used as a villain in a "Toy Story"?
EW (00:06:20):
I have not seen the movie.
CW (00:06:22):
Maybe they all make friends in the end.
EW (00:06:24):
And I do think that there is a definite, "When do we give kids screens?"
CW (00:06:31):
Right. Right.
EW (00:06:33):
It is a good question. It is a hard to answer question. Is it worth giving them screens earlier, if it gets them the alphabet earlier? Three to five. They do not- Yes, they need the alphabet going into kindergarten these days, but- I do not know.
CW (00:06:49):
Surprised they do not need quantum mechanics going into kindergarten these days. "Open web access with parental approval. No."
EW (00:06:56):
<laugh> Yeah, that does not sound like a great feature. But it would be a feature everybody would ask for.
CW (00:07:01):
"You cannot have it."
EW (00:07:05):
I hope that the movie is good, and that they do figure out a little bit about screens, versus imaginative play, versus educational play. And maybe they talk a little bit about how imaginative play has just as much value, if not more at certain ages, than screen play.
(00:07:26):
Yeah, I do not know. I can remember when one of the LeapFrog toys was in "The Simpsons," and I was so excited because it was one that I had worked on. I was just so excited. I did not care what they did to it. It was just so cool!
CW (00:07:41):
It is like when everyone was wearing Fitbits, "Oh, I wrote that screen on the president's wrist," or whatever. Yeah.
(00:07:46):
So at the risk of indulging nostalgia, do you miss that kind of really small device embedded programming? Trying to get the devices we had at the time, the microcontrollers we had at the time with their much more limited resources, to do stuff?
EW (00:08:05):
In the manufacturing aspect of, "If I can save the whole system a penny, I have paid my salary for the year."
CW (00:08:11):
Well, I think that is still true-
EW (00:08:12):
That was cool.
CW (00:08:13):
With high volume stuff. But yeah.
EW (00:08:14):
I have not been doing a lot of high volume lately.
(00:08:16):
I was not at LeapFrog for that long, but it was a job that was really important to me. It is a job that I have missed many times. Some of it was the community. The people who worked there knew they were working on toys and really enjoyed it. And they were working on educational toys, so you go home at the end of the night feeling good.
(00:08:37):
I got to do a lot of trying to make more platforms, where instead of making one toy at a time, we would try to bundle a series of toys. So that the way the buttons were handled happened similarly, and generally write less code.
CW (00:09:00):
Yeah.
EW (00:09:02):
But I also did a few really bespoke things, that could not fall in my lines of toys grand plan. I do not remember the question, but I do look back at LeapFrog with deep nostalgia.
CW (00:09:17):
That is good answer.
EW (00:09:18):
There is actually a meetup happening this month, and I am so excited!
(00:09:21):
If I was in Bash, what does "Control R" do?
CW (00:09:31):
Control R in Bash gives you a interactive history. So you can scroll- You can search through history.
EW (00:09:44):
So where normally I just push "up arrow" to get to the last command I wanted, which might be 20 in the stack, I can instead push "Control R." And then type "python" for the thing that I last wrote "python."
CW (00:09:56):
Python, or if you have a Git command that was complicated and you remember the argument, you could just look for the argument.
EW (00:10:02):
So I am searching through my history. I could technically just search through my history file if I wanted. Grep.
CW (00:10:09):
Sure.
EW (00:10:11):
But I never do.
CW (00:10:12):
Right.
EW (00:10:12):
Okay.
CW (00:10:13):
I think it does other stuff too. And if you keep hitting stuff, it will keep giving you another option. But yeah, I forgot about that. Somebody mentioned that again. It is not just Bash. I think it is all, most shells have that. Yeah, it is a useful feature.
EW (00:10:32):
I came across a useful Excel feature, which for me is kind of weird, because I am definitely at the high end of Excel features. I have used conditional formatting.
CW (00:10:44):
Conditional formatting.
EW (00:10:45):
So let us say you run ten tests, and they all come out with a different number. Or- Actually, say you are a teacher, and you have the assignments across the top, and students down as rows. So Amy gets an "A" on test one, and a "B" on test two.
CW (00:11:08):
Okay.
EW (00:11:10):
Let us say you want to know how everybody did as an average on test two. You highlight that column, you go to conditional data, and then you are given the option of formatting it so that they go red to green. So all of the Fs are red and all of the As are green, and in between you get this nice curve basically, but it is a color curve.
CW (00:11:37):
Okay. I see.
EW (00:11:40):
It is nice to be able to tell, am I looking at the same data? Are my averages good? Is everybody yellow? Which means everybody got exactly the same score. It is a nice way to look at data curves, basically, without having to plot everything. Because sometimes you do not want to plot everything.
(00:12:00):
And if you had that sort of thing in a classroom sheet, you could see, "Oh, Amy always gets As and Bs, because hers are always greens. And Betty sometimes gets As and sometimes gets Fs, because hers go red, green, red, green. Maybe there is help that can be made."
(00:12:17):
I have been doing a lot of data analysis lately, and I did not realize that there was this thing called "data bars," which is similar to the conditional formatting of the red greens. Except instead of making it red or green, the whole square, it fills up how much of the square should be full.
CW (00:12:40):
Ah. So it makes a little embedded graph chart.
EW (00:12:42):
It makes a little embedded graph chart.
CW (00:12:43):
In your data. Oh, that is pretty clever.
EW (00:12:44):
In the data. It is very clever. It has been really useful. And yet also really not useful, because I do it when I should not, just to see if it is interesting.
CW (00:12:53):
<laugh>
EW (00:12:53):
Some of my data has chunks, like I am running this test with these five parameters, and then this test with those same five parameters. And so I can see the patterns, which is fascinating. Useless, but fascinating!
(00:13:10):
Okay. So those are the two tips everyone should know, I guess. Oh, there was another one. Tell me about Merlin Bird ID.
CW (00:13:22):
Merlin Bird ID.
EW (00:13:24):
Do you think there are people who do not know about it?
CW (00:13:25):
I cannot believe that, but I will tell them anyway.
EW (00:13:27):
Okay.
CW (00:13:28):
Merlin Bird ID is an app for your phone. I believe they have it for iOS and Android. But it uses- It is basically a bird identifier app. It uses bird song or vocalizations to identify the birds that are around you. Using machine learning techniques, old machine learning techniques that have been around forever.
(00:13:51):
Yeah, it is really cool. If you go for a walk, you can just turn it on. It will go in the background and just record all the things it hears. Then you can look at the end of your walk and see all the birds that were near you. Or if there is something weird you hear, you can turn it on, and it will tell you that was a great horned owl screeching, or a-
EW (00:14:08):
And if you see a bird and you do not know what it is and want to know, you can say, "It was gray and smaller than a goose, but bigger than a raven."
CW (00:14:16):
Yeah.
EW (00:14:17):
And then it will give you a picture, and you can choose between the pictures.
CW (00:14:22):
Yeah. And you have to download the model for your region, because they can be quite sizable. So get North American birds if you are in North America. But it is pretty neat, and it has a-
EW (00:14:31):
And it is free.
CW (00:14:32):
Yes.
EW (00:14:33):
It is Cornell University's ornithology program. It is really fun, and it makes me feel like a complete nerd.
CW (00:14:44):
They do ask for donations sometimes, but yeah. They have added some new features. You can keep a catalog of all the birds you have seen. It is the life list for bird watchers.
EW (00:14:54):
Oh, you probably have to log in for that.
CW (00:14:56):
You do not. I do not think. Yeah. It just keeps it in the app.
EW (00:14:59):
I know it wants me to log in, but I do not even know if I have made an account.
CW (00:15:02):
Yeah. Anyway, it is a fun app.
EW (00:15:05):
It is a fun app. Okay. But we should talk about technology things, I guess.
CW (00:15:11):
That is technology. Birds. Birds are technology, as we know. They are robots.
EW (00:15:17):
Did you look at Bunnie's new board?
CW (00:15:20):
A little bit. Yeah.
EW (00:15:21):
This was the Baochip and the Dabao board. Is that right? I am reading the URL. It is a RISC-V board.
CW (00:15:32):
Yeah, it has some interesting features. It is a ground up sort of design for a chip. One of the things I guess they really wanted to emphasize was kind of verifiability, inspectability. That is a feature I have not really heard of before. But everything is open source, but also inspectable by non-invasive sensing means, like infrared scanning.
(00:16:00):
So you can look through all the layers and confirm that somebody has not screwed with- You have got the actual chip you thought you did, and somebody has not screwed with the metal layers and stuff, which is interesting.
EW (00:16:13):
Infrared, in situ inspection, IRIS inspection, a non-destructive way to look at the silicon and confirm you have got the right chip, based on the pattern of transistors on the silicon itself.
CW (00:16:25):
Which I do not generally think about, but I guess for certain applications, that is important. Certain end users want to know what they have got.
(00:16:32):
Yeah. It is a micro. It has got a RISC-V stuff. It has got Raspberry Pi style hardware acceleration, I think, which actually runs- Where the Raspberry Pi has its own kind of bespoke thing. I think this was based on RISC-V itself.
(00:16:54):
Some of the peripherals are run by RISC-V architecture. So you can generate your own bespoke peripherals in a PIO kind of way for Raspberry Pi 2035, but with RISC-V. Interesting. A lot of cool stuff.
EW (00:17:13):
Lots of features.
CW (00:17:14):
Yeah.
EW (00:17:15):
Not expensive. Available from Crowd Supply.
CW (00:17:20):
Second quarter 2026 is when they start production, which is-
EW (00:17:24):
Now?
CW (00:17:24):
Now-ish. Yeah. June 2026, chips will become available for first 3,000. Yeah, it is interesting. I applaud people thinking in different ways about some of these problems.
(00:17:38):
Because we do tend to build on the architectures we have. Just glom on more features to them, without maybe taking a clean sheet to things. When sometimes a clean sheet actually enables a lot more functionality and security and other kinds of desirable things.
EW (00:18:00):
That IRIS inspection. I think if you could try it with a board you understood what it was supposed to look like, it would make it more useful to look at other boards.
CW (00:18:10):
Yeah. Yeah. Gaining experience with it. It is apparently fairly simple. You just need a microscope camera and an infrared LED lamp.
EW (00:18:20):
Really?
CW (00:18:20):
Yeah.
EW (00:18:22):
I want to try that.
CW (00:18:24):
But it is going to depend on the packaging. Some will probably not permit the light to penetrate.
EW (00:18:31):
That makes a lot of sense. You would have to decap it, which is just sanding it down just the right amount. Like they did in the "Open Circuits" book.
(00:18:40):
Let us see. Awards.
CW (00:18:47):
Awards.
EW (00:18:48):
Awards. Okay. I do not know why I want an award for the show, but I do. And I have accepted that for whatever reason, deep, dark in my heart, I want an award for the show.
CW (00:19:00):
Mm-hmm.
EW (00:19:00):
The thing is, there are the popularity contests. I did join one. It is the Women Podcasts. I do not know. I will put a link. They promised not to send you email, but if you could vote for us, that would be awesome! But if you do not want to, that is fine. It was a low cost.
(00:19:22):
There are some that are basically you pay for. It is like a thousand bucks for some of them. Or you pay 300 bucks and then they keep encouraging you to enter more categories. Like, yes, I could enter as a host, but I can also enter as a producer, for just the same amount of money. Anyway. I have not done a lot of those, because it is just buying something.
(00:19:50):
And then I did start the IEEE EAB Award for Outreach and Informal Education.
CW (00:20:03):
Okay. Sounds-
EW (00:20:04):
I am not sure I got all that right.
CW (00:20:05):
Sounds reasonably well aligned.
EW (00:20:09):
That is what I thought. It seemed like it could be pretty similar. Of course, now that I have read more about it, as opposed to just the stuff on the outside- Once I have entered- I have pretended to nominate people, which gives you more information, which is kind of irritating.
CW (00:20:29):
So you are saying is you had to go through the nomination process of some made up thing, to see more information about how to nominate?
EW (00:20:36):
Yes.
CW (00:20:37):
Okay.
EW (00:20:39):
And now I am like, "This seems to be for museum docents."
CW (00:20:45):
That seems not as well aligned.
EW (00:20:47):
Even though- It is for individual or small groups of individuals, us, who have made a significant voluntary contribution to the informal education ecosystem, using their professional expertise to increase public engagement, awareness, and understanding of IEEE fields of interest.
CW (00:21:06):
Yeah!
EW (00:21:09):
So to do that, I need a nominator, and I think I found one. Several people have offered, which is great because it is non-trivial. And I need endorsements. Several people have offered, so I think I am good on that. IEEE member endorsements are better than not. So I am good on that.
(00:21:24):
And then I made up talking points for people to mention in their endorsements if they want to, and pointed out shows that might be good to talk about.
(00:21:32):
And then I had- I do not even think I was using ChatGPT. I had some AI thing write the rest. And again, it was going through the nomination form myself. The truth is, I think I had to, because there is no way I would write such nice things about us.
CW (00:22:03):
<laugh> Okay.
EW (00:22:06):
Did you know?
CW (00:22:07):
No.
EW (00:22:08):
That we have created a persistent informal curriculation- Curriculum.
CW (00:22:12):
"Curriculation" is a great word.
EW (00:22:14):
"Curriculum, with a library of over 500 episodes."
CW (00:22:20):
I did know that.
EW (00:22:22):
They "tackle the most difficult middle ground concepts in engineering."
CW (00:22:26):
Debatable.
EW (00:22:27):
We "humanize the profession and foster retention."
CW (00:22:31):
Fine.
EW (00:22:33):
We "bridge industry ethics and safety."
CW (00:22:35):
It really does sound like AI wrote it.
EW (00:22:38):
I am sorry.
CW (00:22:38):
<laugh>
EW (00:22:38):
There is no way I would have managed to say such nice things about us. The thing that they actually wrote that I wanted to talk about- Sorry, I am not going to read this to you, because it is kind of irritating and I need to go through and write it properly.
CW (00:22:53):
You could go look at our survey. People have a lot of pull quotes from that.
EW (00:22:56):
There were, yes. But the thing that the clanker identified, that I had not, was "mentorship at scale."
CW (00:23:10):
Hmm. Hmm. What does that mean? <laugh>
EW (00:23:13):
The show intends to, and I think actually does, provide the sort of mentorship I wish I had. Even if it was not direct one-on-one, it is mentorship at scale. It is providing the information of what the industry is like, and talking about the good and the bad. And showing the different paths that are available, both in and out of the industry.
CW (00:23:42):
It is a very technology way of phrasing that, "mentorship at scale." I am not wild about that phrase, but I do get the concept and I think that is a nice concept.
EW (00:23:51):
See, I really liked the phrase. I do not know why.
CW (00:23:54):
I guess, it sounds "markety".
EW (00:23:57):
Well, yes. That is what all of the awards are: "Markety".
CW (00:24:00):
But it sounds tech "markety".
EW (00:24:03):
It is to IEEE. Who else would you-
CW (00:24:06):
It sounds VC markety. VC people are always saying "scale" this, "scale" that. Yeah. They are always about scales. I think they must be snakes.
EW (00:24:12):
All right.
CW (00:24:13):
I did not say that on the podcast. You cannot prove anything. Our transcripts are done by AI and could be mistaken at any time. They are also done by humans, so they are corrected. So what I just said is not actually accurate.
EW (00:24:25):
Let us see. Thank you to the Patreon folks for having such a nice Slack that they are part of. And also to Nathan Jones in particular, for actually doing the reading on our book club, whereas the rest of us are weeks behind.
(00:24:42):
Nathan is out there talking about the cool parts of the book, talking about the parts he disagrees with. Somebody soon, might be me, will talk back and say, "Yeah, I think you are right." Or, "No, Nathan. I am sorry. I totally disagree with what you just said."
CW (00:24:58):
What is the book this time?
EW (00:24:59):
"Pragmatic Programmer."
CW (00:25:01):
Okay. What is the shtick of "Pragmatic Programmer," a book I have not read?
EW (00:25:05):
Well, it is actually the 20th anniversary edition.
CW (00:25:09):
I will get to it soon, I guess. <laugh>
EW (00:25:11):
I read the original when it came out. It is funny how different they are. And how much I dislike the differences <laugh>.
CW (00:25:19):
Well, the industry has changed.
EW (00:25:22):
"Pragmatic Programmer"-
CW (00:25:24):
Git did not even exist.
EW (00:25:27):
Yeah.
CW (00:25:27):
Maybe it did.
EW (00:25:27):
And they talk about source control too. It is pretty funny.
CW (00:25:28):
Maybe it did. Did it? I guess it did.
EW (00:25:32):
The idea is, "What is the easiest way? The best way? Best and easiest way?"
CW (00:25:40):
The beasiest.
EW (00:25:41):
The most pragmatic way to get your job done. It does not talk about AI, so we are just going to put that off to the side.
CW (00:25:48):
AI is the furthest thing from my mind right now.
EW (00:25:51):
I know. It usually is. Unless you would look really angry, and then I know.
CW (00:25:56):
No, I am doing great. I am doing great. I am making my peace with it.
EW (00:26:04):
The thing I remembered most from "Pragmatic Programmer" the first time, was the DRY principle, the do not repeat yourself. It was a very tactical-
CW (00:26:15):
Oh boy. <sigh>
EW (00:26:15):
If you have written this line of code three times, you should have made a function for it.
CW (00:26:19):
Well, not a line of code, but-
EW (00:26:22):
These four lines.
CW (00:26:24):
Maybe small group, yeah. Yeah, yeah.
EW (00:26:25):
And if you have only made one change, one typo change-
CW (00:26:30):
You have broken it in four places.
EW (00:26:31):
You have broken it in four places. So let us just do this. And if you need a parameter, make a parameter. It is-
CW (00:26:37):
That is the first thing I look for in code reviews.
EW (00:26:40):
Yeah.
CW (00:26:41):
Has been for a long time. It is like, "Why? Why? Why? Why is this block of code everywhere? You are going to make a mistake."
EW (00:26:49):
And we are all going to suffer for it. But it is advice like that.
(00:26:55):
I liked that piece of advice, because it was very tactical. It was very, "I am coding right now. What should I be looking for?"
CW (00:27:02):
Okay.
EW (00:27:04):
They had some other things like, "You should use version control," which now it is like, "Of course you should." But there are still people who believe that-
CW (00:27:11):
I am changing my mind on version control. I think it is a mistake. I think we should-
EW (00:27:15):
Shared drives are not version control.
CW (00:27:17):
I think we should live with the ephemeral.
EW (00:27:21):
<laugh> Did I say that to you recently? I know I thought about it recently.
CW (00:27:24):
No, I just said that.
EW (00:27:26):
All right. Apparently we are just in the same spot.
CW (00:27:29):
Okay. So is it just a compendium of best practices? Or is there kind of deeper how to approach thinking about being a programmer?
EW (00:27:42):
There is some how to approach thinking about being a programmer.
CW (00:27:44):
It is "Pragmatic Programmer," which is interesting choice of words.
EW (00:27:48):
Now I am not even sure that is true.
CW (00:27:51):
Well it must be, because it is alliterative.
EW (00:27:53):
Oh, it is definitely. Yeah.
CW (00:27:56):
I think that is an interesting choice of words, because "programmer" to me feels like the minimum coder technologist, the person who is the implementer. Not necessarily the designer, not necessarily the architect, not necessarily even an engineer. The programmer.
(00:28:17):
I know that word is weird and it just gets applied in various places. But we do not hear "programmer" that much anymore. Like, "I am a computer programmer," is not something anybody says.
(00:28:25):
That is what I would have said when I was a kid, or at an earlier stage of my career. But it is not something you hear anymore. It is kind of archaic. Whereas I hear "software engineer" or "software developer."
EW (00:28:39):
There are many countries you cannot say "software engineer," because the "engineer" word is protected.
CW (00:28:43):
Oh, I thought because of the gangs.
EW (00:28:47):
The gangs.
CW (00:28:47):
The engineer gangs. Yeah. Yeah. No, it is just a weird thought I had. Because that is not a word that you hear much anymore, outside of the word "programming," the final act of implementing something.
EW (00:29:03):
It talks about architecture and continuous learning and quality. It takes a hard line towards personal responsibility. If there is something wrong in the code, does it really matter whose fault it is? Or should you clean it up, because it needs to get cleaned up?
CW (00:29:24):
Well, there are commands called "git blame," so I think that is not helping. <laugh> It is not "git we are all in this together."
EW (00:29:39):
Right. So I think it goes beyond "programmer."
CW (00:29:43):
Yeah. Okay.
EW (00:29:44):
But "pragmatic software developer" has zero alliteration. Zero.
CW (00:29:52):
The "standard software developer." The "self-conscious software developer."
EW (00:30:05):
Whereas I would have tried to alliterate it with SSDD, and had that be the acronym.
CW (00:30:13):
"Super..."
EW (00:30:16):
"Same stuff, different day."
CW (00:30:18):
Oh, okay. Okay. Well. Is it a book that is interesting for senior people? Or do senior people just kind of know this stuff?
EW (00:30:27):
Well, if you do not know it, you should. And it has got no arc, if you wanted to read- It is broken into topics that are like a page and a half each. So if you want to read this every time you get a cup of coffee, you could.
CW (00:30:41):
So it is like a calendar.
EW (00:30:43):
Yeah.
CW (00:30:43):
Okay. All right.
EW (00:30:45):
I think there are a few things that you should read one before another, but nothing big deal. If you just want to flip through, that is fine. But like I said, I am weeks behind. I was on track, but then I got busy at work and fell off. I am going to declare bankruptcy and start with the next chapters.
CW (00:31:05):
There is another big topic you wanted to talk about today.
EW (00:31:08):
Yeah. Large company politics.
CW (00:31:11):
Oh God! Well. Okay.
EW (00:31:14):
So on a job posting recently, there was the desired qualifications, or some section talked about, wanting the applicant to be familiar with large company politics.
CW (00:31:31):
Okay.
EW (00:31:32):
And someone asked me what that meant.
CW (00:31:34):
It is like "a unique fixer upper" in a real estate ad. <laugh>
EW (00:31:36):
The person who asked was somebody who has mostly worked at a company that tends to have two or three developers on a team. They go through projects, they get finished. It is mostly software. There is some hardware, but this hardware is often similar.
CW (00:31:55):
This is a design house, so things are just kind of flowing through. Not, "We are trying to grow this in a certain way. We are trying to go IPO. We are trying to broaden our product portfolio." There is a lot of stuff that happens in non-consulting companies, that does not happen in sort of design houses.
EW (00:32:12):
True. Although you can get the same environment in smaller companies. It is very different than like LeapFrog, where we did have some small teams, but they were all very interdisciplinary.
(00:32:30):
You had a mechanical engineer who did the mechanical part. You had the manufacturing person who would come in and tear apart the mechanicals to make them cheaper. The electrical person and the software person and the content person and the QA person. It was a team, but we all had our roles and they were all very well defined roles.
(00:32:50):
Occasionally you would get some overlap. Like the QA person would come and say, "Can I automate this?" And I would be like, "Yes! Please!" Or, I would go back to the EE and say, "Can we add these things, because it will make it easier for the software and it will respond better."
(00:33:06):
So as you grow teams, how does that work? And then as you grow even bigger teams, so that you cannot have just one of each type of engineering, how do you organize that? And where do you go from big company politics to just process?
CW (00:33:32):
When you say "politics," what do you mean by that? What do you think the ad meant? And what do you mean by that?
EW (00:33:39):
Getting things done. The methodologies associated with getting things done. Not the processes.
CW (00:33:46):
That sounds like processes to me. Whereas politics sounds like we have departments with their own agendas that need to negotiate, compromise, develop their own power bases and compete. And you need to be able to navigate that sort of space. That is what that means to me.
EW (00:34:06):
Well, okay, maybe I should have said getting things done for all the things that are not written down, how to get things done.
(00:34:13):
I mean, if you wanted to launch a new product at HP, it was not like you just went to your boss and said, "I have this great idea. It will make us millions." There was a whole process, and part of that process was finding a product engineer who either liked you enough, or really thought it was a good idea enough, to put their effort into it.
CW (00:34:40):
Okay. And there is also fiefdom kind of stuff. Where maybe the QA team, maybe the electrical engineering team is headed by, I do not know, somebody named Dan Smith. Sorry, Dan Smith, if you exist. And they have 50 people, and they like their people and they want to protect their budget.
(00:34:58):
Software wants to hire ten more people, but that is going to impinge on EE's budget. But the actual overall arc of the company is it needs more software people, but now you have this internal conflict.
(00:35:09):
That is the sort of thing that I think of as politics a lot of the time is, "Oh, I am protecting my section of the company, maybe at the expense of company success overall."
EW (00:35:21):
One of the things that I brought up was that the terms of success for a small company are simpler than the terms for success of a large company.
CW (00:35:35):
Yeah, certainly.
EW (00:35:36):
A small company, your cycle time is hopefully faster and you know if you are selling things. A large company, sometimes the sales pipeline is very different. Sometimes it is much longer and you do not really see what is happening. Or it is a sales pipeline to inside the company. So you really-
CW (00:35:57):
Yeah, sure.
EW (00:35:58):
Yeah. There is a lot that goes into it. And the fiefdoms are part of it, because the actions and desired results are not as attached as they might be.
(00:36:10):
If everybody was at the company to make it so that the company made more money, if that was the sole requirement of everybody at the company, everybody is going in the same direction. They are yoked to the same chain. There might be differences on how we make the most amount of money, but our goal is to make the most amount of money.
(00:36:30):
That is very different than what you are talking about with fiefdoms where, "Yeah, I want the company to do well, but the company is big enough. It does not really matter. What matters to me is my power or making sure my people are safe. Even if that is at the expense of the company."
CW (00:36:52):
Yeah. Some people would rather be the vice president of a middling company, than the director of a successful company, and therefore that will dictate how their politics within the company operate.
EW (00:37:05):
Yes. So how do you deal with large company politics? I was not even ready to talk about that. I was just ready to talk about identifying what kind of politics might exist, beyond-
CW (00:37:20):
What is a large company? How does a large company differ, and therefore what politics might come out of that, right?
EW (00:37:27):
Right. And if you think about- You have a small team, you have a startup. You are like five people, and that includes a marketing person, an engineer, somebody going out to get funding.
CW (00:37:42):
Thought you were going to say donuts. Sorry.
EW (00:37:45):
Had a bad experience with the donuts this morning. It is not our fault.
CW (00:37:47):
<laugh>
EW (00:37:47):
I have forgotten my five-
CW (00:37:51):
Somebody to go get funding. But yes, there is-
EW (00:37:55):
Small team.
CW (00:37:56):
Small team.
EW (00:37:57):
Then they get bigger. They are successful. Now they have two products.
CW (00:38:04):
Yeah.
EW (00:38:05):
So they have not quite twice as many people. Then they have enough people that HR becomes a problem. They need to be able to manage all of this.
(00:38:14):
Instead of one person taking time out of their normal job to onboard somebody, now it is going to be somebody's job to onboard people. And to take care of benefits, and all of the little errors that crop up.
CW (00:38:25):
Bureaucracy.
EW (00:38:28):
Now we need somebody who is in charge of security. It is not going to be somebody's part-time job to be in charge of security. Somebody is going to be the security czar.
(00:38:40):
And now we have 50 people, and then we have 100 people. We have maybe six products in two different product lines. When we were five people, we all knew what the other person is working on. But now that we are a hundred person, there are people in the company that I do not think I have ever met. I do not know what they do.
(00:39:00):
I really have no idea what the accounting people do, or why they said we could not write in purple ink. That is just crazy. But why would I spend all of my time fighting that, because I never wrote in purple ink to start with. So all of these little weird processes get written down for what seem like no reason.
(00:39:22):
Okay, so a hundred is still really manageable. You can meet a hundred people. You can know what everybody does. And if you are the CEO, you do know what everybody does. Or you should.
CW (00:39:36):
<laugh>
EW (00:39:36):
But at a thousand people. Remember, this is still a small company. A thousand people is still a pretty small company. You are not talking HP, IBM. HP should not be on my list anymore. I am sorry. I still think of old HP. You are not talking Google or Apple.
CW (00:39:56):
Yeah, they have tens of thousands of people.
EW (00:39:59):
At a thousand people, the person at the top cannot know what everybody does. It would take all of their time and they would not get to do anything else. Even at a hundred, the person at the top cannot know what everybody does to any big degree. They have to rely on their managers and middle managers.
(00:40:20):
Then if you get to 5,000, you are in different divisions, you are in different- You do not work together. There are people you will really honestly never meet in the company. Everything goes through channels.
(00:40:36):
You have your management channel, and whether that is an interdisciplinary team or whether that is a software team that works with an EE team. Both of those are 20 people each. You work with your software team. You do not work with other people outside your software team. This is such a different concept.
CW (00:40:56):
Yeah, siloing and stuff like that.
EW (00:40:58):
Exactly. The siloing. And then there is the management becomes different. You can start talking about matrix management. Where before you had a manager who told you what to do, and then maybe once a year told you if you were doing it well.
(00:41:13):
Now you can maybe have a project manager who tells you what you are supposed to be doing, because they are trying to get a schedule of everything to come out at the right time.
(00:41:25):
And you may have a people manager who is separate, who tells you if you are doing a good job by talking to your project manager and to your coworkers. That person is in charge of making sure you are happy and you are educated and you are not screwing up too much. They write your end of year review, but they do not tell you what to do.
(00:41:50):
The program manager tells you what to do. They do not even define what the project is. They are mostly just there to make sure that you are a good human being and continue to stay working.
(00:42:01):
Then there is the program manager, who is the person who sets the direction for what this whole subsystem is going to do. They do not necessarily set the schedules, because they do not know how all of cogs go together, all the people work together. But they are in charge of staying fixed on, "We are going to build this," and not letting anybody tell them, "Oh no, you cannot do that." Because of course everybody says you cannot do that.
(00:42:35):
As you get into a larger company, you get a lot more support in some ways, because there are other software engineers around. Going from Agilent to Crossbow. Where at Agilent, I was in a team of software engineers. I worked with a team of electrical engineers. I knew most of those teams.
(00:42:57):
But I did not know the mechanical engineers very well, other than they always knew the best places to go to lunch. And I did not know- I knew occasional people, but I did not know most of the groups.
(00:43:09):
To Crossbow where I was the only software person. We had an algorithms person who could compile things, and wrote the entire algorithm in an interrupt handler. The entire thing in an interrupt handler, I tell you.
CW (00:43:26):
What more do you need? If that is all you are doing. I am just kidding.
EW (00:43:32):
Yeah. So there was no support. They asked me, "Should we be using version control?" And I am like-
CW (00:43:39):
I did not even understand the question.
EW (00:43:40):
"I do not understand the question, because the answer is so obviously yes."
CW (00:43:47):
"Should we use electricity for this product?"
EW (00:43:51):
So yeah, it is different. If you have never been in both, it is hard to see the huge differences.
CW (00:44:00):
Well, you can speak in generalities like we are, but every company is different. Every company has got different people with different agendas. Different structures, different theories and practices and ways of going about doing all of this bureaucracy stuff.
(00:44:19):
Some of it boils down to kind of the same stuff. You have the same terms, "project manager," "director."
EW (00:44:23):
Divisions.
CW (00:44:26):
Division, first line manager. But sometimes they have lines of business. Sometimes they are organized along the lines of business. That is a little bit different than organized by discipline.
(00:44:34):
The line of business might be, "Oh, we have the router division and we have the switch division, and they are divided up in the same groups. There is the EE team for the routers division, the EE team for the switch division. We make kind of similar stuff, but we have duplication of the entire company throughout that structure."
(00:44:50):
There are a lot of companies organized that way, where it is not just there is the electrical engineering department. It is that you have five electrical engineering departments. And wow, what happens when you have a cross-disciplinary project across lines of business? Now you have two EE departments that are-
(00:45:03):
Yeah, it can get very complicated in large companies, where it is not just about who is doing what. It is who is doing what for what product line.
EW (00:45:12):
Right. And there does tend to be process. More processes you get to be a larger company. But different divisions, different lines of business, may have different processes.
CW (00:45:29):
Exactly. It is like a little subcompany.
EW (00:45:32):
When the router and the switch divisions-
CW (00:45:32):
Fight.
EW (00:45:32):
Try to work together and they say, "We have to follow the process." They are each talking about their own process and there is only some overlap.
(00:45:42):
Yeah. So I wanted to demonstrate, I wanted to better explain this. It is fine all in words. <sigh> It is fine to say, "This is my experience." But I wanted to be able to point to and say, "You can go look at different experiences." Because it is true. It is not going to be the same for everybody.
CW (00:46:10):
There are books. There are histories of various companies, where you can get a sense for how each company operated. HP has a lot of books about its past. Apple certainly does. Microsoft, Google, all of those giant companies, you can read about their mid-size days when they were large, but not enormous companies. And get a sense for how these sorts of things-
EW (00:46:34):
I know "The HP Way," but did the other companies have-
CW (00:46:39):
Yeah, I cannot think of them off the top of my head. But there have definitely been books about Apple over the years, either written by people who worked there. I think Guy Kawasaki wrote one. I know there is stuff about the history of Google and stuff.
EW (00:46:54):
Okay. I wanted to point to something and say, "It is like that. " And what I came up with was to talk about open source.
CW (00:47:07):
Okay.
EW (00:47:09):
Open source projects are pretty similar to standard engineering projects, at least in some ways.
CW (00:47:15):
Can be very large.
EW (00:47:17):
One of the big differences that open source projects need to entice developers sometimes. Many of the developers may not be being paid by the project. When they are not paying you, it is usually because you are doing it for fun or passion or given back.
(00:47:40):
But the management aspects, which I realized that in open source, it is called the "governance models," they can be really similar.
CW (00:47:51):
Yeah.
EW (00:47:55):
I went on our Slack and asked a few questions, and then possibly poorly put together the results. There is a company called "Valetudo."
CW (00:48:08):
Valla tudo?
EW (00:48:12):
Vallet udo? Valetudo.
CW (00:48:12):
Okay. We will go with that.
EW (00:48:14):
It is a robot vacuum software.
CW (00:48:16):
Okay.
EW (00:48:17):
It is-
CW (00:48:19):
Open source.
EW (00:48:19):
Open source.
CW (00:48:20):
Okay.
EW (00:48:21):
It seems to run on different robot vacuums. Specifics are not important here. I looked at the contributing guidelines, because that is how I was going to be able to look at their governance model.
(00:48:33):
My takeaway from what was written on their pages, was that this is a project run by a benevolent tyrant, who does what he wants. It is a solo project. He may take contributions, but only if he feels like it.
CW (00:48:52):
Yeah. There are plenty of open source projects that are organized that way.
EW (00:48:54):
Why not? If I am going to have an open source project where I put my heart and soul into it, I do not necessarily want to play with other people.
CW (00:49:01):
I can think of one large example that operated that way for quite a long time. Starts with a "L" and ends with an "inux."
EW (00:49:08):
Exactly. Part of this whole idea with the open source was about Linux, because they do have a governance model. And it is strict!
CW (00:49:19):
Yeah.
EW (00:49:19):
You do not just randomly put things in the kernel.
CW (00:49:22):
No, I can assure you you do not. And even 13 years ago, you do not. <laugh>
EW (00:49:27):
Even if you are passionate about it and are excited about it, and written a feature you really care about-
CW (00:49:32):
They can say, "Please stop bothering us, kid."
EW (00:49:36):
Because they are huge, and they have a methodology for getting things in place. Part of that methodology is asking permission first through RFCs, proposals.
(00:49:48):
Okay, so there is Valetudo, which benevolent tyrant. Keith suggested ESPHome, which seems to be a bunch of people make a hub system for ESP devices.
CW (00:50:09):
Okay.
EW (00:50:11):
So if I wanted to make my own light controllers, this seems to be one of the things that would make that a lot easier. It seemed like it was a smaller group, and a lot of people were willing to help you.
CW (00:50:25):
Okay.
EW (00:50:26):
The chances are that if you were a contributor, you were part of the community.
CW (00:50:32):
Yeah. I am a user, not just a developer.
EW (00:50:33):
Right.
CW (00:50:34):
Yeah.
EW (00:50:36):
Or I am a developer, not just a- Yeah.
CW (00:50:39):
Either way.
EW (00:50:40):
Both.
CW (00:50:41):
"This is a project I am interested in, because I want to use it."
EW (00:50:44):
Yes. So you are passionate about the thing, and you are talking to other people who are passionate about it. Everybody wants to succeed. Everybody wants everybody else to succeed. It is basically a brilliant co-op.
(00:50:57):
And then this is where I might have gone wrong. I read the Zephyr's contributing guidelines. Remember, I am using the contributing guidelines as a way to look at the governance model here.
CW (00:51:09):
Did you compare them to Linux's? I wonder if they just copied Linux's.
EW (00:51:12):
I did not compare them to Linux's. They did not copy them directly.
CW (00:51:15):
Okay.
EW (00:51:16):
I did not do a side by side compare. But I have read Linux's recently enough that these were different. These were smaller. Zephyr's were smaller. It shows a much different big company like system.
(00:51:29):
There are four or five documents they want you to read, are mandated reads before you start messing with the code, which is fair. They do not want to help everybody who wants to randomly change code. And I do not want them to accept code that is written by somebody who may be trying to obfuscate a hole.
CW (00:51:54):
Or just doing something that is not in line with the goals of the project, because the project exists as its own thing. It is not your personal, "Oh, I would like Zephyr to have built-in support for..." I do not know, something silly I cannot think of right now.
(00:52:08):
Snake. I want a built-in snake game from Nokia, that can run on every microcontroller that is just there by default, whatever. That is a great idea, actually. I am going to go write that up.
EW (00:52:20):
Based on their contributing guidelines, they have been burned by AI code, and maybe by people trying to submit not great things. I say that because most processes are created in reaction to somebody trying to do something.
CW (00:52:36):
A lot of laws that work that way too. "Oops, let us try to ban this, or clarify how this should be done."
EW (00:52:42):
So if I see something- Yeah, clarifying how you submit AI code, I am going to assume that somebody tried to submit AI code with a license. And since they specifically say, "AI code cannot be made by a human, and humans have licenses. Therefore, you cannot submit AI code with a license," I am going to assume somebody tried.
(00:53:02):
The Zephyr people on their Discord, might be brilliantly welcoming and super nice. Their contributing guidelines page made it seem like if you wanted to do much more than simplify the code or add a few comments, you should write an RFC plan. And you should be prepared to work for it.
(00:53:28):
They expected a level of self-sufficiency and professionalism that was not in the other two I talked about, the ESPHome and the Valetudo. Now, I think both of those would accept it. They would be happy if you were very, "Here is everything that you need, here is how to debug it, here is how to test it."
(00:53:50):
But they would also handhold the newbies. Oh. No, I am sorry. ESPHome might handhold the newbies. Valetudo would have just given you 'tude and been done.
(00:54:00):
Do you think that is valid? Do you think it is valid to say, "Okay, I can tell you as much as I can about big company politics, but one thing you can go look at are open source projects, because they are all kinds of models."
(00:54:14):
Some of them are one person who is in charge and most of the stuff goes through them. People complain about how they are the only person in charge, and yet their vision gets done.
CW (00:54:24):
It depends on the goal. Of course, the easiest way to learn about all this is to live through it.
EW (00:54:30):
Takes a long time though.
CW (00:54:31):
It does take a long time. If you want beyond monographs about, "I worked at this company between 1998 and 2004, and here is how it was developed and whatever," that is helpful.
(00:54:44):
But if you want to see something live in action, then yeah, I guess open source is good, because they are often governed on mailing lists, still. So you can sign up for the mailing list and see how people- Or go look at the archives and see how people communicate about issues.
(00:55:00):
You can look at- They are organized by- For Linux, they are organized by group. There is a networking mailing list. There is the subsystem mailing list.
EW (00:55:08):
That is a good example of siloing.
CW (00:55:10):
Yes. You can see how people communicate, and who exerts power over certain things. Not sure how much time you would want to spend on that, because they do tend to be idiosyncratic and personality driven once they are at that level.
(00:55:28):
It is not exactly like a company, because you do not have management. You do not have people who are- It is more gatekeeping than directing a lot of the time.
EW (00:55:36):
For some places.
CW (00:55:39):
They are corralling a group of people who want to make contributions, not dictating you need to be working on these contributions for the goals of the company. There are plans and stuff. There are steering groups and stuff.
(00:55:54):
But that exists on a different level than the day-to-day mailing lists I am talking about. So you may not have visibility into the Linux steering group or something like that, except for their own publications.
EW (00:56:07):
If I worked at Google as an engineer, I would not have any insight into-
CW (00:56:12):
At the engineering level, you probably would.
EW (00:56:14):
Division level plans.
CW (00:56:15):
You might hear stuff, but yeah. They have all hands meetings where they talk about stuff, but.
EW (00:56:21):
Yes, but it would be on the order of- It is the information that trickles down and is-
CW (00:56:27):
Right. But I am just saying you are not getting a special insight necessarily through some of the open source stuff. But it is a live thing that you can go look at.
EW (00:56:39):
One of the things with being able to do a cross-section study of the open source governance models is that they are very different. If the same- So Zephyr had a lot of well-written and thought out, "Here is how you contribute guidelines." I got an impression from that.
(00:57:10):
If that same level of- I do not want to say difficulty. Level of process was in somebody's origami generation system, I would not contribute to the origami generation system, because it is too much work. But I might do that in Zephyr, because either my company is paying me, or I believe it is important enough.
(00:57:39):
So yeah, if anybody has other open source governance models, or thinks that this is a good idea to noodle on or a terrible idea to noodle on, let me know. I am still thinking about how to explain "big company politics" and I do not think I have gotten there. Then the question becomes, "Do I really want to bother?" But that is a separate question.
(00:58:03):
We have time for-
CW (00:58:07):
Time for whatever.
EW (00:58:09):
Listener question. Andreas has asked this multiple times.
CW (00:58:12):
Let us do it.
EW (00:58:14):
"What do you think of using Ethernet to connect MCUs with each other, and with an embedded Linux device? Hardware cost, versus ease of debugging, versus ease of development?"
(00:58:24):
Let us invent a system, because it is too hard to think in generalities here. Let us have a robot, and let us have one MCU in charge of walking, one MCU in charge of emoting, and one MCU in charge of data collection.
CW (00:58:50):
I think it depends on your requirements. So Ethernet is very fast, can be very fast.
(00:58:54):
But there is a lot of machinery that has to happen with Ethernet. You have to have the physical termination, which is a big connector and requires special termination stuff. You have to have the software to support it, which is an IP stack all the way up. Unless you want to do something kind of Ethernet layer and build your own, but that is a waste of time.
EW (00:59:21):
That has always been a cutoff for me. If you want Ethernet, you need to get an operating system.
CW (00:59:24):
You get TCP/IP, which means an operating system. There is the physical reality of it, which is cabling, unless you are doing something nifty that I do not understand. Yeah. So it depends on your requirements. How fast do you need these things to talk to?
(00:59:41):
There are other considerations with Ethernet too, that come along with internet protocol being designed for the internet. So maybe you have collision stuff happening, or latency, or things that are happening in the TCP/IP stack that affect your real time behavior, that you are going to need to tune and figure out. That perhaps a stream of data over SPI or something else that is quite simple, that is not required for you to think about.
(01:00:10):
And you probably have to have some sort of switching. So you have to embed- If you have enough things in there, they are going to have to go through a switch, or a hub at the very least.
EW (01:00:23):
You could have it have a single brain, which then becomes the router, which why did you invent the router? Congratulations.
CW (01:00:32):
Oh, you do not need a router for any of this.
EW (01:00:36):
But if you had things that need to go through other- Like if you were not connecting them all, so that they all can see each other.
CW (01:00:43):
Oh, now you want to relay things? Well now, yeah. Okay. Now you are going to store and forward packets, which requires buffering, which increases latency. Yeah. I always come back with questions like this, like, "What are you trying to do?"
EW (01:00:55):
Yeah. So this is a little too general.
CW (01:00:59):
Do you need a hundred megabits or a gigabit between things? Okay. And now is your MCU even capable of driving that?
EW (01:01:07):
So let me take it as a, "Yes, we should." There are times you should, when you have multiple things that are very discreet, very-
CW (01:01:22):
Modular.
EW (01:01:22):
Modular. Thank you. That is the word. You can test it entirely.
CW (01:01:27):
Oh yeah, yeah.
EW (01:01:29):
And you do not need it to be in the rest of the system.That is a good candidate. I also am wondering why Ethernet? Why not CAN?
CW (01:01:36):
Right. That goes to the requirements. Okay, is CAN not sufficient for your bandwidth needs?
EW (01:01:41):
CAN is a little simpler, usually. And then you are like, "Okay, well why not I2C?"
CW (01:01:49):
Never I2C.
EW (01:01:50):
Now you have gone too far, because I2C really is-
CW (01:01:52):
Never I2C.
EW (01:01:52):
<laugh>
CW (01:01:52):
Well, and the other question is like, "Okay. Am I using off-the-shelf components?" Is this a bunch of Raspberry Pis which have Ethernet on them already, and Linux?
EW (01:01:59):
That might be cheaper than rolling your own board.
CW (01:02:01):
Okay, then just do it. Obviously just do that. Obviously just do that. But if you are rolling your own board, and you are choosing an MCU and stuff, I-
EW (01:02:07):
It adds a lot of cost to the MCU, as well as the hardware.
CW (01:02:09):
Tend to think that Ethernet is a big hammer for a lot of projects.
EW (01:02:14):
If what you have are a bunch of nails, then yeah, sure, use that hammer.
CW (01:02:19):
And I am not super familiar with the power requirements. I tend to think it is a little bit more greedy than-
EW (01:02:25):
It is a little.
CW (01:02:26):
No, it does not mean you cannot use twisted pair for wiring, if that is convenient for something else. So that gets down to the physical, versus the software and electronics question. It is like, "Oh, do you want Ethernet because of cabling?" Okay, but you could put anything you want over 10BASE-T, or whatever. Cat 5. Almost.
EW (01:02:51):
So let me sum up. Ethernet cost is usually higher. The ease of debugging.
CW (01:03:00):
That is pretty good. That is pretty good.
EW (01:03:01):
That actually does get a plus on that one. Because being able to stick something else in there, and querying everything or sniffing everything.
CW (01:03:10):
It is very robust to noise and things like that. So that is another consideration that you do not have with just bare serial connections going place to place.
EW (01:03:23):
And ease of development. And I think that is a wash.
CW (01:03:26):
It can be easy. It can be quite easy. Depending on what you needed to do.
EW (01:03:29):
Sprinkle some Raspberry Pis around. That is easy.
CW (01:03:32):
But if you have got to react in a microsecond to something one module saying to another, that is when you start to have to think about things with Ethernet.
EW (01:03:39):
All right. Andreas also asks, "What is your experience with Renesas MCUs?"
CW (01:03:45):
Have I used a Renesas MCU? I do not think I have.
EW (01:03:50):
I have.
CW (01:03:51):
Okay. What is your experience with Renesas MCUs?
EW (01:03:55):
Their documentation was weak. Weaker than NXP's. Much weaker than STM's.
CW (01:04:02):
Weaker than NXP's worries me.
EW (01:04:04):
Yeah. It should. At the time they had an Eclipse-based IDE that was-
CW (01:04:14):
Eclipse.
EW (01:04:16):
On the low end of effort put in to make it easy. But that has been more than ten years, so this is all pretty speculative.
CW (01:04:25):
Yeah, did they not buy somebody? I do not remember. I have never used them, so I cannot comment.
EW (01:04:31):
Yeah. Sorry. We do not know that one.
(01:04:33):
Let us see. I have... We do not have any sponsors right now. We need sponsors.
CW (01:04:38):
We need sponsors. If you want to sponsor us, hit me up or contact sponsorship@embedded.fm. And we are overdue for a special episode for the Patreon members, so we will-
EW (01:04:52):
We just celebrated a wedding anniversary. I tried to convince him to talk about that, because our wedding was kind of a disaster. It was fun, but it was a disaster.
CW (01:05:01):
It does not seem appropriate. So anyway, we are cooking on that, so that will be in the next little bit. And?
EW (01:05:11):
Other things on my list. Talking about having a library at your company and what technical books are useful. But I do not really think we need to talk about that.
(01:05:19):
Oh, and the Plucky cards.
CW (01:05:25):
The Plucky cards. The Plucky cards? What is a Plucky card?
EW (01:05:30):
Mark Omo suggested these cards. They are like super large playing cards. They have different questions on them. The idea is that if you get the management pack, then during a one-on-one, you hold up your cards like you are playing Go Fish, and the person chooses one.
CW (01:05:50):
Okay.
EW (01:05:51):
And then you talk about that question.
CW (01:05:52):
Okay. So pick one.
EW (01:05:53):
"In what way does your team feel unsupported? In what ways do you feel unsupported?
CW (01:06:01):
I feel like my requests for an ice cream bar and a soft serve machine have gone unfulfilled.
EW (01:06:07):
"Who has the wrong amount of work, and how can you tell?"
CW (01:06:10):
I have the wrong amount of work, because I always feel tired.
EW (01:06:14):
I think that your dog has the wrong amount of work, because she is currently exploring the room, instead of napping in her bed like she is supposed to.
CW (01:06:23):
Maybe she will get stuck in a bass drum.
EW (01:06:25):
I think I have the ones that- I think I picked up the ones that are for managers.
CW (01:06:29):
I think if somebody took those seriously, they could be quite useful.
EW (01:06:32):
And there is one for mentoring. There is one for, I think, managing managers, which is the one that I picked up this morning.
CW (01:06:37):
Yeah.
EW (01:06:40):
A lot of people are like, "What do I talk about in a one-on-one?" These cards answer that.
CW (01:06:46):
That is nice.
EW (01:06:47):
They are in different sections, so you can not just choose randomly. You can say, "Okay, well, this week we should talk about your teams. Next week we should talk about leadership skills." So yeah, I was kind of amused by them. I have not figured out how to change this into a more fun game though.
CW (01:07:08):
<laugh> Everything can be turned into a drinking game somehow.
EW (01:07:11):
When I tried to play solitaire with them, they were just not great. I could not get them to line up at all.
CW (01:07:19):
All right. Well, that is a solid show. The dog has already gotten up, so she has decided we are done.
EW (01:07:26):
I do not know that we have talked much about our new dog. It has been more than a year now.
CW (01:07:31):
Been two and a half years.
EW (01:07:32):
Has it been two and a half years?
CW (01:07:33):
Yeah.
EW (01:07:36):
JoJo is the first dog we have gotten who really, truly, honestly likes us!
CW (01:07:41):
Yeah. It is suspicious.
EW (01:07:42):
The thing about getting a Beagle is they think you are dumb, because you are not rolling in-
CW (01:07:49):
Well, she thinks we are dumb for not petting her constantly.
EW (01:07:52):
I do not think she thinks we are dumb. She just thinks we are irresponsible.
CW (01:07:56):
Okay. Well, that is an improvement, I guess.
EW (01:07:59):
Let us see. Thank you for listening to this show all the way to this point. Why did you continue? But thank you for doing it anyway.
(01:08:07):
Thank you to our Patreon supporters for their questions and their support and reading the book club, and just generally having good ideas and discussions. Thank you to Christopher for producing and co-hosting. Thank you to those of you who have emailed in. If you would like to email us, it is show@embedded.fm. And I do enjoy reading those.
CW (01:08:37):
Okay.
EW (01:08:37):
All right. That is it. Let us talk about Pooh. Winnie-the-Pooh.
CW (01:08:44):
<laugh> It is not like the last episode. Different kind of poo.
EW (01:08:52):
<laugh> I tried so hard not to make jokes. It was so hard.
(01:08:54):
[Winnie-the-Pooh excerpt]
