Embedded - 351: Dextral or Sinistral
Episode Date: November 13, 2020Chris and Elecia discuss transcripts, lightsabers, seashells, python, numpy, matlab and how to get into embedded systems development. Embedded show transcripts are available at embedded.fm/transcripts... Elecia’s origami github repository includes a python script for generating origami shell folding patterns. The paper described was Analysis of Shell Coiling: General Problems by David M. Raup from the Journal of Paleontology , Sep., 1966, Vol. 40, No. 5. Chris used this model to print his lightsaber: Star Wars Lightsaber (Normal version) from YouMagine The episode was sponsored by Triplebyte. If you are looking to prove your skills, develop your knowledge, or find a job you love, check out Triplebyte.
Transcript
Discussion (0)
Welcome to Embedded. I am Elysia White here with Christopher White.
This week it's just us.
Just us.
So what do you want to talk about?
I want to talk about nothing that has happened in the last two weeks.
Okay. Well, I don't know if we're going to succeed entirely in that.
Okay.
So one of the first things I wanted to talk about was transcripts.
Again?
I know, I know, but I'm so excited about them.
I'm not sure anybody's really using them.
Okay.
All right.
Go for it.
Somebody should like take them and do something with them.
Like read them?
Read them or, or I don't know.
All right.
Well, we have transcripts.
We have transcripts.
It's still pretty exciting.
They're fun to read.
Let us know if you use them.
Yes.
That's probably what I should have said at the start.
All right.
That's the show.
Okay.
So NumPy or MATLAB?
Who am I?
Christopher White?
No, it's hypothetical.
This hypothetical person who's choosing between the two.
Am I a software engineer?
Am I a graduate student doing computational simulation of something?
Let's go with the graduate student.
I don't know that I still
wouldn't choose MATLAB
if it was provided to me.
Because, look,
okay, I used
MATLAB in grad school
for my research, which was
mostly solving
differential equations, nasty
nonlinear differential equations
for simulating, what was I doing?
Solar system formation or something like that.
Basically, it was a lot of the fluid dynamics kind of stuff
with some gravity thrown in.
It didn't work. I never got it to work.
Anyway, MATLAB is focused on doing math entirely.
So there's not a lot of machinery.
It didn't feel like I had to,
it didn't feel like I was sitting doing programming exactly.
It felt like I was just doing math.
And you don't get that from NumPy?
No, because there's all the Python involved.
I mean, you can do just math.
It's just that you can do a lot more.
You can do a lot more with MATLAB, too.
I guess I don't find...
I'd want to know what the least friction was for somebody to get going on solving computational problems
if they've never done programming before.
Traditional programming.
That's kind of where I'm coming from with the question.
If you've done programming before, fine.
NumPy and Python is probably the way to go.
But if your focus isn't the programming, it's on doing the computational stuff, I don't know.
I mean, it's not a strong preference.
See, I actually wrote the question initially, NumPy versus Python, which kind of shows my biases there, just a little bit.
I mean, I used to use MATLAB all the time.
I spent, I think, four years seriously using MATLAB as part of my career, some of which was spent taking somebody else's MATLAB script and making it work in an embedded system. But still, I was very fluent. And every time I left a job,
I didn't have access to MATLAB anymore because it's so expensive. And Python,
NumPy is free with the Jupyter notebooks. It's super easy to share.
And I just, I love it.
For a hypothetical graduate student, NumPy is not enough.
Because I don't think NumPy does like complex.
I think you need SciPy.
Well, yes.
On top of that, plus some graphics.
SciPy and Matplotlib.
But I don't think they should be teaching
MATLAB. I think it would be
better to start with NumPy as a graduate
student.
I don't know. Like I said, it's not a strong
preference, and certainly you can
do everything in either.
Yeah.
MATLAB had the toolboxes and stuff,
which made a lot of things a lot easier.
So does NumPy.
Does it have the DSP toolbox?
I don't know.
I'd have to sit down and then think about it
and then look at how I would have done.
Maybe I still have my old grad school stuff
and see how easy it would be to translate.
With OpenCV, it has a huge...
OpenCV? it has a huge image processing.
So I bet there's a DSP out there
that I've never used. I know there are a couple of PID libraries.
Of course, the problem with that is choosing one.
And that's one of the nice things about MATLAB is it's all, this is what you're supposed to use.
Right, right. I guess that's my point.
But if you stick to the big packages for NumPy
and not the things that are single files off of GitHub
that you really should be reading instead of just using,
I really like NumPy.
I guess because it's free and open
and so many other people use it and it's so shareable.
And that's probably what pushes it over the edge.
I mean, like I said, you can do it in there.
I just felt like MATLAB, it was, felt like it was a little easier to translate whatever was going on mathematically into code.
And after spending several weeks of trying to do that with the particular ML problem I've been having,
you know,
it's,
it's, there's some arcane things in NumPy.
Okay.
That's,
that's true.
I shouldn't have asked you.
You know,
if you're trying to manipulate matrices and arrays,
it's not,
it's not a hundred.
I mean,
obviously that's what NumPy is designed to do,
but it's not 100% intuitive.
Do you think you could have chosen some random section out of an array in MATLAB?
Yeah.
As easily, I mean...
I think so. I think it had similar slicing capabilities.
Oh, yeah, similar slicing capabilities, but you're trying to...
Oh, the thing I'm trying to do?
Oh, the problem I'm... Ignore the immediate to... Oh, the thing I'm trying to do? Oh, the problem I'm...
Ignore the immediate problem that I'm...
the final bit that I'm trying to solve, but all of the things
that I was talking about.
I don't know. Somebody
write in and tell us we're both wrong,
and that you should be using Mathematica.
Octave. We're trying to use
Octave all the time, and it's fine, and then I
end up buying a MATLAB license.
I don't know.
Yeah, I mean, I also use MATLAB at work doing image processing stuff.
And it's just, I don't use Python in kind of immediate mode.
You don't bash at the keyboard?
I do bash at the keyboard.
I know I can, but I don't tend to do that because I feel like I'm in a programming language and I forget that there's the REPL. MATLAB, I
always felt like, oh, okay, I gotta
figure out how to do this image processing pipeline.
Let me just start typing and I'll load in the file
and I'll do this and this and this and then at the end of it
I've got a history of commands and it happened to do what I
wanted and then take that and put it in code.
That's probably my failing, not approaching
Python correctly. And you've used
Jupyter, so you know that you can do
small commands at a time.
It's fine. Okay. You've convinced me. Stop using MATLAB, everyone.
That wasn't really where I was going, but sure. Have you been up to anything fun lately?
No, not at all. I've lost the ability to motivate myself to do anything. Oh, sorry, this isn't my therapy appointment. What fun things have I done? Well, for Halloween, we did a bunch of stuff. Did we talk about that? We didn't talk about Halloween at all.
We talked a little bit about it with Ben, but that was hard because we were doing timey-wimey things. I've done more 3D printing in the last month than ever, having had a 3D printer for years.
I think I used it way more in the last week than the entire time I owned it.
Printed the little articulated thing, which went over swimmingly.
I printed toys for some kids that came over and did our outdoor socially distanced, separated by glass indoors scavenger hunt.
And I printed a lightsaber, which was super cool.
Oh, that was super cool.
We should have a picture of that.
It's an exact replica of Obi-Wan Kenobi's lightsaber.
Went really well with your bathrobe.
That took a long time to print.
My bathrobe.
It's a Jedi robe.
And it's a jedi robe and it's fuzzy um yeah and then i painted it which was kind of cool and i hadn't done a lot of model painting
and i actually did a decent job i thought with this stuff called rub and buff which i'd never
heard of um yeah it sounds bad uh Uh, but spray painted, uh,
spray painted a, and this is what people listen to the show for, right? I spray painted primer,
uh, on the 3d 3d printed thing and then gun metal and then let that dry. And then I use
this stuff called Robin buff, which is, um, it's like a wax based paint, but you just apply it
with your fingers. I wore a glove and didn't really want to get smelled pretty nasty but um it came in a four pack of gold and silver and very metallic
shiny colors and then you just rub that on the thing it comes out coming look
looking really um old and burnished and dirty and kind of used so the metal sections of the
lightsaber came out really good.
So it was really simple and made me look like I knew what I was doing
when I absolutely did not.
It did.
It looked really good.
Let's see.
And I made origami.
What?
We also gave out candy for the Halloween thing,
but there was origami and 3D printed things.
I guess
next on the list is to talk about
Python seashells.
Should we really talk about that?
Do you think anybody really cares?
Yeah.
Yeah, I care.
Okay.
So imagine you have a snail shell.
And there are a few
parameters that can describe a snail shell.
And one of them is how far up it goes.
You know, if you're looking at the snail, tummy's not side down, or the shell with the open side towards you, the aperture, then you're going to have an axis of coiling.
And you're going to have a translation,
which is how far does the shell coil that isn't around a single plane.
A single plane would be planar spiral, planar spiral,
and that would be a nautilus.
But snails don't do that.
They coil out a little bit to the left or to the right. And yes,
snails can be left-handed or right-handed. It's called dextral or sinistral.
Okay, let me catch up. Okay.
Catch my breath. Okay. Dextral or sinistral. I got that. Axis of coiling,
dextral, sinister, aperture, blah, blah, blah.
Anyway, there are all of these parameters that can describe shells.
And there was this guy in the 60s who said, okay, I have a way to describe seashells.
And it's better than anybody else's.
So what I'm going to do is I'm going to go to this new thing called a computer.
And I'm just going to model all of them.
And we're going to see which seashells actually exist.
And so there's this four-dimensional grid of where seashells actually exist,
but there are also great chains of extinct seashells
that used to exist in this small area over here of this four-dimensional space.
And bivalves, clams and stuff exist over here and snails over there.
And it's just really, really cool.
And so I was looking at this and I've been trying to make these paper nautiluses.
With some success.
Although the initial success was luck because now I've tried to do it mathematically and it's much, much harder.
But I've been working in Python to develop different patterns that I can then put on my Cricut to score the paper.
And then I fold the paper,
and then if I'm lucky, I get some sort of shell out. And for paper, it's much easier to do
the planar spiral to make them center-based, although I have done a few that have some
translation. So yeah, I didn't really expect to get origami and Python in the same.
But now you have a Python script.
You have it on GitHub, right?
Yeah.
It models and gives you the folding patterns to print or score for any of these parameter spaces?
Well, I'm still working on that.
I can do some parameter spaces now. Translation is the one I really want, and it's the one I don't have. But I'm also looking at growth rates. Some shells, you have six whorls per rotation, where the whorls are the thing that goes around.
Yeah, I get it, sort of.
It's hard to visualize.
And some have a dozen, and some have like one.
So that's a parameter that depends in paper on the angle you use to fold over.
And so that's a parameter that can be done, that can be used,
and that works okay.
And then how big they get in the end is pretty easy to modify.
How many, quote, years of growth they have.
Fake years.
They're paper.
They don't grow like that.
So, yeah.
I've been doing a lot of Python on seashells.
And I didn't expect that to be a thing.
Not MATLAB, though.
No, I'm using NumPy, Matplotlib.
And Snaillib. Snaillib. Busy at busy curves are you going to release a snail module
you're going to import now i wasn't but now it's tempting
no probably not all right no because actually it's weird that these same four parameters that this guy, Rob, came up with also describe bivalves and clamshells.
They're like a trivial corner or some sort of degeneracy?
Kind of like a degeneracy, but not entirely. I mean, they kind of, as this value approaches zero, you start getting the two,
the clamshells.
Where do you see this shell journey taking you?
Well, I want to be able to get to a few different kinds of shells, nautilus, some snails, and maybe a fancy shell, one that
has little protuberances like the tropical shells, which by the way are only in tropical
shells because cold water shells don't have enough luxury to grow spines.
And evolution has never made them because there's just not enough food. Anyway, I want to do something with weird spines. And evolution has never made them because there's just not enough food.
Anyway, I want to do something
with weird spines. And I want this all to be
curved creases, which is different from what
most people are doing. And hopefully
at the next
gift-giving opportunity, I will
be getting a book called Spirals, which is
all about flat folding
and how to make
snails with flat folding. But then they're flat snails, which is kind about flat folding and how to make snails with flat folding.
But then they're flat snails, which is kind of sad.
Although they're flat the other way than the usual flat.
Okay, so any other questions about?
No.
I mean, you've seen them around.
Yeah, they're around.
Well, the open ones are cool.
The slight, The cross sections?
The cross section that shows all of the septa, the little areas inside the shell.
That one has been pretty good and it's pretty easy to fold.
The octopi are pretty easy to fold too.
This week we are sponsored by Triple Byte.
If you're an engineer, Triple Byte is the place to prove your skills, develop your knowledge, and find a job.
Triple Byte is unique because they're a team of engineers running their own centralized technical interview.
The evaluation quality is so good that over 450 startups and companies like Apple, Facebook, Dropbox, and American Express use TripleByte as part of the hiring process.
Engineers applying to jobs use TripleByte because they provide detailed, personalized feedback after all of the skills assessments.
The TripleByte team knows that a traditional resume doesn't represent your full potential.
Their quizzes and interviews help you prove your technical skills, not your resume writing skills.
The TripleByte network helps you focus on the roles that you are most excited about and find companies that offer what you value most, whether it's challenging technical projects, remote opportunities,
generous compensation, great benefits, or all of the above. It's free and background blind for
engineers. Take Triple Byte's 20 to 30 minute online coding quiz and let them help you level
up faster. So you actually did this and took the quiz. What was it like? Oh, well, I was a little embarrassed because I was trying to get through it really fast just
to see what it was like. So I didn't score as high as I would have liked to, but I think I can
do better next time. Oh, and I took the machine learning one. I'm not a machine learning engineer, and boy, did they let me know.
And yet, for the generalist one, I did get invited to do more technical interviews and go further in the process, which would lead to more people looking at my profile.
Of course, I'm not looking for a job, so I left that all kind of blank.
Still sounds pretty cool and different than the normal monster.com approach.
Yeah.
And for people who don't do technical quizzes live,
there's still a timed aspect to it, but there's nobody staring at you.
Cool.
Well, thank you, Triple Byte.
Thank you, Triple Byte.
Okay, so those are our questions.
Realistically, I think we have four or five questions,
and they're all pretty much the same question.
Okay.
Well, I mean, they're not exactly the same.
Okay, so from Nick Spites, who likes the show and embedded technology,
is a Linux admin engineer by trade and wants to break into embedded programming.
Oh, I see. It's this question.
BS in computer science, likes programming, open source projects, Linux, C++, Java, Python, JavaScript, Shell,
has played with the Raspberry Pi many times, ESP8266, Rust, low-level kernels.
All of those are at home.
And he's got a job, and that's cool, but how would he get more into Embedded? How would he get more into a job that does things like coding?
Oh, he's an IT person, sounds like.
I think he's more in the admin, yeah.
Wow, geez.
I mean, Artie sounds like he's doing the right things.
He's got a lot of experience with embedded things and the kinds of skills you need, so that's not the problem.
And yet I've seen admins totally get sidelined.
Yeah, yeah.
They get stuck in the, can you fix my IP router?
Well, I mean, it depends on if the company he's at even does embedded things.
You know, there's plenty of places with Linux admins that don't make things.
So that may be an issue too. So if he wants to change jobs, the question would be how to parlay
being an IT person with home embedded experience into an embedded job.
Yeah.
Go ahead. Okay. So you're doing the right things.
You're seeing different kinds of chips.
You're seeing different kinds of things you can do with them.
And now if you're willing to change jobs, you probably want to go to a startup.
Because that's the place where you can do two jobs at once until it becomes untenable and they hire someone or the startup collapses.
Of course, if your current job pays well and the startups are a little scary, that's not so easy.
Right.
You could talk to your current manager and ask.
Tell them this is what you want to do going forward and you'd like them
to help. And if they can't, then you'll do more outside and polish your resume. I mean, I wouldn't
make it a threat. Yeah. Well, and it depends on if there's anything there to do. If it's like
Linux admin at a, I don't know, healthcare data company, then that's not going to do much for them. I mean, sure, if you use it, then go learn more about the data and programming to maintain it.
And I mean, some of my best programming at the emergency level has been monitoring systems to find out what's wrong.
I guess they didn't say really embedded necessarily.
They did say best way to break into embedded programming,
so that's kind of what I was thinking.
But if you do want to do more programming at your current job,
then that's, yeah, you're right, that's a great way to do it.
Writing scripts and things and tools.
There's always a tool that needs to be written
that's specific for your company or your particular area.
But you can also bring that in to embed it.
You put a BlinkM in there.
You put a Raspberry Pi that shows lights.
Something that can call you or do something
from a scripted point of view.
And not just an if this, then that, but a more serious,
I have a Raspberry Pi server that I can log into that will summarize what I need to know.
They mentioned Rust, and you know what?
That's probably a really good crossover thing
because a lot of companies get their toe in the rust.
Boy, that metaphor is not going anywhere.
Tightness, the rust tightness.
A lot of companies get started with using rust by doing tools
instead of throwing it onto their shipping you know, shipping product or something.
It starts, okay, we're going to rewrite this tool
or write a new tool that is in Rust.
We'll get some experience with it,
and then we can add new things with Rust instead of doing a rewrite.
And, you know, that works just as well on Linux devices.
And that's a good, I mean, Raspberry Pi could do that.
And that way he's learning embedded skills because learning
how to program in Rust is definitely an embedded skill
on you know
by way of the job he already has
and so can demonstrate
something when he goes to another company
and say oh well yeah I wrote these
Linux scripts in Rust
to do X Y and Z this monitoring
script or whatever
let me show you how it works having something you've done scripts in Rust to do X, Y, and Z, this monitoring script or whatever.
Let me show you how it works. Having something you've done, it's even vaguely embedded.
Having something physical thing you can bring in.
And of course you could do that in C as well.
But if you're trying to break into
embedded, having something
a little unusual like Rust
experience, especially now,
that's not a bad idea.
Sure. And look at companies
or activities that have Linux computers as part
of their embedded systems. That's a growing area.
Yep, yep, yep. And a lot of people don't really
know how to use Linux effectively. Does anyone?
This person probably would have typed D message long before I thought to.
It's just a jab at Linux.
Wow.
Okay, so let's go on to the next one.
Okay.
Brian.
Brian.
Currently working and going to school, an older student, computer engineering degree, working non-'s resource department, but for some reason the school
says they don't have much in the way of engineering internships.
And the job place still said there will be stuff on graduation.
That's kind of weird.
Yeah, let's come back to that, but go on.
Year and a half to go, wondering if we had any suggestions to look for in the line of a job that would help build skills that put on the resume for the embedded FPGA space.
Okay.
An internship.
I don't know what these people are doing, but they're not, they're doing you a disservice.
Because there's a ton of engineering internships.
Even now with remote everywhere, there's a ton of engineering internships. Even now with remote everywhere, there's a ton of engineering internships.
They tend to be time box, like there's summer internships.
And there's winter internships.
There's winter internships, but there's a lot more summer ones.
I think you need to kind of break out of the school resource department and just kind of find those internship jobs and apply them.
I agree.
And being an older student and having a lot of experience,
well, let's see, he's been the general manager of a Domino's,
commercial web printing press, mechanical skills, soft skills.
I'm going to again say startup because you have a bunch of different random skills.
Yeah, yeah.
The problem with startups is they're...
They're not going to help you as much.
And they're also not looking for people straight out of school that often.
That's true.
So that'd be a worry for me.
That's why I think internships are just a great foot in the door
they really are
you can demonstrate in a low stakes environment
how good you are
and it's pretty
often that they convert to full time
and it goes both ways
because you can decide do I like this company
and you know
there's a lot of companies
there's a lot of very very big companies
and they all have internships and they may do like that you don't expect them to do being sponsored by the Google Summer of Code,
an open source project that's being sponsored by Google Summer of Code, and you start looking at
it now and you start really figuring out what you want and how you can contribute, well, that may
actually turn into a school project. Yay, double credit. And it may turn into an internship that you can put on your resume
yeah i think uh that's something that's really kind of sad that their school resource department
is not claiming that they don't have much in the way of internships that makes me question that
their relationships with companies well i mean if it's a small school yeah yeah that's true um check with your professors
too definitely yeah uh it doesn't have to be you know anything really invasive you can just drop an
email to a professor you like that you think likes you and say i'm really looking for an internship
i'm not having a lot of luck do you have any guidance because they're going to have seen
hundreds of students and they're going to know they're going to have seen hundreds of students.
And companies are going to come to them and say,
do you have anybody you want to send to us this year?
They're going to know where students are going, where they've had success.
Yeah.
So that's a really good idea.
And alumni.
Alumni is always a good thing.
And the professors know the alumni and where they went.
And maybe they can help you.
Okay.
On to John. We might have talked about John before, but I wanted to do help you. Okay, on to John.
We might have talked about John before,
but I wanted to do this again.
Okay.
Final year student in Nigeria.
Has been doing embedded projects,
FPGA projects,
some PCB design for years
since his first year of college,
co-founded a makerspace and a company.
Okay, what's the question?
The problem John has is there aren't any jobs
for electrical engineers in Nigeria.
So he doesn't think he can get a job there after school.
Wants to find out how to get a hardware job
outside the country, someplace like the U.S.
Some of his friends have suggested getting a master's abroad because once you're in the company
it'll be easier to get the job.
Getting a master's degree abroad and then you can
get a job in the country you're in.
But he doesn't really like academics, so he's not excited
about a master's degree. What tips
can we give that will help
in getting a job abroad straight
from Nigeria,
considering that he
can't get any work
experience after school to put on the resume
except for the company he co-founded?
That's a difficult
question that I'm not sure we're equipped to answer exactly.
Actually, that is my answer, is we have no idea.
I think first off is wait until next year for no reason at all,
because not much is going to happen in the short term.
Actually, I saw Microsoft jobs for embedded sorts of things in Nigeria today.
Yeah, so that was going to be my question.
Is there really nothing in Nigeria?
It's a very, very big country with a lot of industry.
And they have tech.
And a lot of tech.
So that's curious to me.
We've got listeners in Nigeria.
Maybe I don't.
Maybe I just don't know what I'm talking about.
But it's a bit surprising to me that there's nothing there.
The oil industry is huge there, I think.
So, yeah, that would be...
I'd want to know more about the job space in Nigeria to know why that is.
But yeah, I don't, I mean, the intricacies of immigration are very complicated.
In remote work, in immigration, there's some weirdnesses that happen.
I don't know if that even is possible.
The master's degree idea is not terrible.
No.
It is, as you say, an easier way to get into the country, theoretically.
But it might be very expensive.
Could be expensive.
And it might not be as unpleasant as you think.
Master's degrees, it's different than undergraduate.
Yeah, you get a lot more freedom.
Especially for something hands-on like engineering.
You're probably doing basically a bunch of projects and stuff
and building things and learning some cool skills.
But it's not going to be like, you know,
nine to five sitting at a desk writing notes all day.
So don't discount that entirely.
That's not a terrible idea.
And a master's degree is two years.
Plus you can explore the work environment while you're doing that.
But beyond that, yeah, I don't, there's, with COVID and the political situation, there's just too much up in the air to even say whether it's possible to get a job in the U.S. right now.
Or other broad locations. Yeah, he the U.S. right now. Or other broad locations.
Yeah, he said U.S., I guess.
Oh, like the U.S., well, it's...
Yeah, try some other countries.
Canada's very nice.
Realistically, we aren't the right people to ask.
Yeah, yeah.
Because we've never tried to do that,
so we don't really have advice.
But if you do listen
from another country and have experience
getting a job abroad
or if you're in Nigeria
specifically Nigeria
and want to meet a final year student
in the university
you know
we're happy to connect people
okay
yeshevsvi apologies if I didn't get that right You know, we're happy to connect people. Yep. Okay.
Yashevsvi, apologies if I didn't get that right, is in a uni pursuing Bachelor of Computer Applications in India.
Wanting to know about the idea of going to college to get a degree or finding your own way into embedded systems through the degree you already have.
Computer applications is pretty close.
I don't know what that means.
I'm assuming it's programming.
Maybe programming, software programming.
Yeah, let me look that up real quick.
So I didn't get a degree in embedded systems, and i don't know how i'd go about it now
there's uh computer engineering which is closer yeah but no i think you probably could find your
way from the degree you have as long as the degree you have is fairly heavy in programming
uh it's a specific okay i found it it's a specific type of degree in india um very common
alternative to the engineering counterpart computer science and engineering it's a little
shorter it's a three-year degree technical degree that prepares students for a career in the field
of computer applications and software development um non-math students uh so it's a little more web focused sounds like
um traditional applications so yeah yeah application software engineering
so somewhat different than the kinds of things you do in embedded i have to admit that the math that I spurned years ago, I have used so much now.
I mean, trigonometry, statistics, all these things.
Calculus, yes.
Differential equations.
Like, I wish I could take differential equations again, because at the time I was like, I'm never going to use this.
And now I'm like, there are so many things I want to do and I'm not quite sure that I remember right. And if I pick
up a book, I'll just get lost in it. Yeah. So if your program of study
leaves out a lot of mathematics, that would be something to maybe augment with.
Yeah. Or that might be a reason to get an additional degree to see how that works.
A master's degree.
But once again, we have never been in your position.
Right.
Well, we sort of have.
I mean, neither of us have degrees in computer or anything.
No.
But, I mean, my degree was like half engineering math,
so it was okay.
It was actually a really good starting point.
I didn't know at the time.
Okay, Steve.
Had a brief history of working for an embedded software company
and really misses it.
Has been doing business application development
for internal clients for five years. software company and really misses it. Has been doing business application development for
internal clients for five years. Our podcast has helped Steve feel connected to the things
that Steve loves doing. Inspired to brush up on skills, do some fun projects on the side,
maybe apply for some jobs. And applying for jobs is tough because there aren't many companies that need
embedded software developers in the Midwest of the U.S.
Maybe with the pandemic, more companies are open to remote
work. Well, that's for sure. Definitely.
There's a lot of tech in the Midwest. I mean, it's a lot of tractor tech, but
it's still tech. It's not even just tractor tech. I think there's a lot of tech in the Midwest. I mean, it's a lot of tractor tech, but it's still tech. it's not even just tractor tech.
I think there's a lot of bio.
There's a lot of bio.
There's a lot of,
I think there's some defense.
Depends on where in the Midwest we are.
I mean,
if we're talking Chicago,
there's plenty of stuff.
Chicago,
yeah.
Chicago,
Minnesota.
Yeah, Minnesota. We've gotten things where people are hiring in Minnesota. Yeah, Minnesota.
We've gotten things where people are hiring
in Minnesota.
So
I don't know.
I mean, it's true there's less
there than on the coast.
Yeah.
So the chances are smaller of finding something you really want.
But now is a good time.
Because of the pandemic, more people are open to finding something you really want. But now is a good time because of the pandemic,
more people are open to remote work or remote work for a year and then
reevaluate. So yeah, you apply,
check it out.
Yeah. I think, I think people need to,
I get the sense from all of these.
There was a theme,
which is mostly the same question over and over.
People are understandably a little bit afraid to reach out and apply to stuff.
I've been working with a young woman who has applied to a lot of companies.
And sometimes outside of her skill set and sometimes inside.
And she's had a hard time and she's not getting, she gets the callbacks, but she doesn't get the jobs.
And it's super frustrating.
It's frustrating for me to watch.
And we talk about how she interviews and her coding questions and all of these things.
The thing I saw today was that she's exhausted of being turned down.
It's hard not to take it personally.
Even if, you know, it may have nothing to do with you why you were turned down.
It may just be that, you know, the boss's son interviewed for the position.
And so that's not a reflection of you at all.
And yet, more than about three,
it really starts to get old.
So you have to go at it with the attitude of,
I don't need this.
Yes.
And that's a really tough attitude to cultivate.
Yeah.
Or that this doesn't reflect on me.
And it doesn't because there's a lot of randomness in interviewing.
So much randomness.
There's,
you know,
one person, there's politics involved involved like, oh, you know, so-and-so wanted to hire this person.
And so it's their buddy.
And so they just brought in somebody else as a cover and you're the somebody else.
So you don't get the job, not because you didn't do well, but because they were never going to hire in the first place.
You were just the person to bring in so that they hired, so they could interview more than one person.
So it didn't look like they were just hiring their buddy.
There's all kinds of stuff like that that happens and it's terrible uh and you don't know the reason at the end of the interview process maybe why
somebody has rejected you and you gotta be able to kind of brush that off and say well they're lost
yeah um and sometimes it's generally not a the fit. And that's fine, too. But that doesn't mean you're bad.
Right. It doesn't mean you're bad.
It may mean you wouldn't have enjoyed working for you right now. And that doesn't mean never. And it doesn't mean
that there's anything with you that's wrong. It means the position and you don't fit,
maybe because the position's been filled, maybe because of politics where someone really wanted
somebody who could do this sort of thing, but the job description said something else.
There's just so many variables, and try not to get too burnt out, depressed about it.
And if you get good at interviewing, you're good at interviewing.
Yeah.
That's a real good skill for your whole life.
And you can't get it without doing it a lot.
You can't do it a lot unless you apply a lot, and you probably can't do it a lot unless you get rejected a lot.
So, yeah.
My message to all of these people.
Yes, yes.
It's not easy.
Reach out and look around a lot.
And it's not easy for anyone.
I mean, there was a job I really wanted, and I didn't get it.
And then months later, I got a contract with them.
And I'm really glad, because I would have hated the job.
Yes, I'm really sad about that one.
Okay, let's see.
Changing the subject from Jim G.
Have you seen Devs?
No.
It's a program on Hulu, has quantum computing, possibly not, you know, precisely physically correct.
It's created by Alex Garland, who did Ex Machina.
And Jim thought we would like it because of the quantum computing episode.
So, something to look at.
Having seen Ex Machina,
if it has a lot of stabbing,
I'm not in.
Yeah.
Let us know if it has a lot of stabbing.
We've gotten some weird emails lately
and I haven't responded to all of them.
If you're a listener
and you would like to be on the show
or you would like to tell me about your company, maybe let me know that you're a listener.
Maybe tell me something that indicates you aren't a spam bot.
So maybe we're just having spam trouble, but I have done this.
I have asked people to be on the show and they reply with unsubscribe.
Turnabout is fair play.
Yeah.
If you have contacted me recently to be on the show or to tell me about something you think is really interesting and I haven't responded.
And it could possibly be because I thought you might be spam.
Feel free to email me again, but look less spammy.
That wasn't what, what was I trying for there?
That was not the thought process.
If it's not clear you don't know what the show is or what it's about, then we're likely to ignore your email.
Yeah.
I mean, you could mention Kitty's show or some other show you liked.
Obviously, this show is about a very narrow set of topics.
It is consistent from show to show and we never waver.
Yeah, and also, if you're a PR person...
Oh, that's actually the other thing.
If you are like a CEO of a company and you get your PR person to contact me, I'm not going to respond.
The PR people, they're great.
They probably have a place in the world, but it's not for me.
We don't, when you mail the show, you mail us.
You're not mailing a PR firm.
And so all that shiny glossiness
I don't dig it
we're not about to respond well to when can we pencil you in to so and so's schedule
yes, oh gosh
that was super annoying
you cannot pencil us in to that schedule
what was the other one?
I don't want to be too mean.
There was one that was let us know
everything about
your show
so that you can be
visited by the fairies
of this company. I mean, no, it was,
that wasn't how it came out, but it meant,
it sounded like they were going to come
and sprinkle
fairy dust on our podcast and i'm like i don't think so and that company you say you're representing
which has nothing to do with your it with your with your signature i don't really want to have
them on the show so yeah sorry spam and um and some social awkwardness so i have some social
awkwardness if you do too we're gonna have to be a little careful doesn't cancel it out cancel out
no it doesn't oh that's too bad uh okay so now that i've told people not to contact us or to be very obvious that they're humans.
There was a request for a show about engineering in difficult places, adverse conditions.
Not just having your boss yell at you, but having your device go out into the desert. Not hostile work environments, but hostile work environments.
Exactly.
Things going out into the desert, things that are hard to get to,
things going into space. Things that go in the bottom of the ocean.
Bottom of the ocean, radiation hardening.
I mean, I can talk about some of the software aspects of it,
but part of the question was hardware.
And even the software, I would love to talk to somebody about that. So if
you are thinking, wow, I could do that, definitely email
me and include the words, I am a human.
No, I'm so sorry. So what you do is you email us and you include
a picture of five bicycles or crosswalks.
Your choice.
No.
And with a little thing
that says I'm a human.
No.
And they will believe you.
But you worked on something
that works in a harsh environment, right?
Yeah.
I mean,
even ShotSpotter,
I consider it a harsh environment.
So what kinds of
what kinds of software things
do you do
for a harsh environment?
Run the chip at high frequency so it melts the ice off?
There were some things that went in cars that had that problem.
Some of it is choosing the right parts.
Mil-spec parts is always fun.
That's not software.
But that's not software.
You can get the R chips that have the dual
core that have to uh link up agree and you can i mean for me it's about if you can update the
firmware it has to be not brickable because that is so dangerous to brick your units in the field. And it's just painful.
Some of it goes to testing.
This needs to be tested to a higher degree.
It's not
a desktop test. This is a
written test plan test. And it's not just a matter
of this is enduring
swinging
environmental conditions or something.
It's also that it might be extremely difficult to get to, right?
Yes.
And it's so easy on my desk to think,
oh, well, why doesn't somebody go out and fetch it
when I know very well it's not going to be me?
Yeah.
And it's not fair to think that way.
You should make your software as robust
as possible. But I don't want to do a whole show about that.
That's fine.
I mean, we can talk more about that. For me, it's a lot of robustness unit testing and
firmware updates. I don't know about... I mean, radiation hardening
sometimes has to do with
error-correcting codes.
Different RAM.
Different kinds of RAMs.
That's a speed thing
and a power thing.
They did have a unit
that would turn off
if it was too cold
on the assumption that
it wasn't supposed to work
when it was cold.
That's how I feel.
There was... There were other things in the system that would warm up
and it could come back on when it was warm enough.
What do you think of these ARM Macs, huh?
Pretty excited, huh?
ARM Macs.
I heard about ARM Macs.
Yeah.
I do use ARM processors a lot with the TX2.
And I can tell you not everything runs on them.
Yeah, yeah.
Nothing.
Come on.
I'm always a pessimist.
It's Linux.
Not everything runs on Linux.
No.
No, you're right.
No, I mean, not all the Linux tools I want run on ARM.
I know.
No, it's going to be a long process.
20 hours of battery life is really nice.
Yeah, if it comes close to that.
I mean, even 10 hours is pretty spectacular for a computer.
So, I don't know.
I'm optimistic.
I'm sad because I'm very acquisitive.
I like buying things, as you might not be aware.
Yeah, I do need a new laptop. I'm aware. I do need a new laptop. This one is starting to...
Yeah, it's almost full of stickers. It's full of stickers and it's
exhibiting behaviors.
But the problem is, if I was just a normal software developer, yeah,
I could get... And the ones they've announced that I don't really want one of is the 13-inch MacBook
Pro, which isn't big enough and macbook air which is not capable enough and a mini which is cool
but i don't want you to use that for i'm waiting for the larger pro laptop but even if they had one
if i was just doing the normal development stuff i'm doing now i'd be fine like xcode of course that's gonna work and python
python is going to work so problem solved there but all this audio stuff is never gonna work
because the audio companies are so slow about updating their stuff so like um
one of the pieces of hardware i use just got updated for Catalina like a few months ago.
For Catalina, which came out a year ago, which is just an OS upgrade.
So that plus, I just got an email from them that says, don't upgrade to Big Sur.
Don't.
Don't upgrade to the next OS.
It won't work.
You'll be doomed.
Turn off auto-updates immediately.
We'll figure it out but that combined with an architecture change i'm not optimistic that's gonna happen quickly so that
kind of locks me out for a while and then if you need anything that needs intel then i don't know
what's going to happen there exactly there's some rumblings about various i mean you can run Intel Mac code, but if you need to run Windows VMs running x86, I don't think there's a path for that foreseen.
Yeah, that sounds awful.
That's not awful. I mean, it's wonderful not to have to use Windows.
Well, but I could go anywhere and buy a laptop.
No, you can't.
You can't go anywhere right now.
Well, I could order a new laptop that has almost all the specs I want.
And it would be half the price of your...
No, no.
I think you remember how expensive your current laptop was.
I remember how expensive yours was.
Yeah, but mine's very...
He's petty in the computer. You can't see it,
but he's petty in the computer.
It's not a Dell.
Anyway, it's going to be interesting to see what
happens because
I don't think this is going to stop with Apple.
No, and
it shouldn't.
And if it's any way successful,
the kinds of benefits that companies are going to get in terms of thermal yeah stuff and battery life it's just gonna make keeping intel around
a real hard proposition okay switching to gpus yeah When are we going to get NVIDIA's new GPU for a home server?
Never.
Never.
Because they made four of them.
Three of them they gave to reviewers, and one of them they put in Lexan, and they just
mounted it over the entrance to NVIDIA's headquarters.
That's what's happened?
There aren't any.
You can't buy them.
There seems like there's so much that's unobtainium right now with technology.
Well, I don't think this is new.
I mean, the Nintendo Switch goes in and out of unobtainium.
It's happened with the 1080s.
This happened with the 2080s from NVIDIA.
It happens every time.
And then it's like six months.
You're deep into the year after they're released before they're widely available.
It's just it's hard to make these things.
They have a lot of transistors, big chips.
A lot of transistors.
And then people snap them up.
Everybody wants them for their gaming rigs.
So if you want to do anything professional with them, you've got to wait at the end of the line.
I heard someone say that it was bots buying them and reselling them on eBay for 2X.
Probably some of that.
I figured that was some, but not the bulk.
Yeah, I don't. I mean, I think the early
ones, there's a lot of that.
But I think now I don't. Maybe they're in between
production runs or...
I don't know. I've been looking
because it would make training a little easier.
Yeah, I've got some
big machine learning training things to do.
You can still buy the big pro ones the titans and stuff
but they're less capable than
the 3080s and 3090s so
it's kind of sad
alright that's fine that's all I got
alright that's all I got
so I guess
thank you to Christopher for producing and co-hosting.
Thank you to our Patreon supporters for their support. Thank you to Triple Byte for sponsoring
this show. And of course, thank you for listening. You can always contact us, show at embedded.fm
or hit the contact link on embedded.fm. And now a little bit of story time.
Okay. This is with Winnie the Pooh and Piglet walking around, possibly in a circle,
following some woozles. And then there were more. So there were wizzles and woozles.
Okay. Do you see Piglet? Look at their tracks. Three as it were, woozles, and one, as it was,
wizzle. Another woozle has joined them. And so it seemed to be. There were the tracks crossing
over each other, getting muddled up with each other, but quite plainly, every now and then,
the tracks of four sets of paws. I think, said Piglet, when he had licked the tip of his nose too and
found that it brought very little comfort. I think that I have just remembered something. I have just
remembered something that I forgot to do yesterday and shan't be able to do tomorrow, so I suppose I
really ought to go back and do it now. We'll do it this afternoon, and I'll come with you, said Pooh.
It isn't the sort of thing you can do in the afternoon, said Pickle quickly. It's a very
particular morning thing that has to be done in the morning, and if possible, between the hours of
what time do you say it would be? About 12, said Winnie the Pooh, looking at the sun. Between,
as I was saying, the hours of 12 and 12.5, so really, dear Pooh, if you'll excuse me,
what's that?