Embedded - 144: Asking For Clippy
Episode Date: March 23, 2016Christopher and Elecia chat about the Hackaday prize, Unity class (and their games), the blog, hams, and IDEs. Embedded.fm blog posts we discussed: Chris wrote about ham radio practice tests and his ...plane's maiden flight. Elecia is working her way through her book about taking apart toys. Chris Svec is taking a microprocessors approach in Embedded Systems 101. And Andrei's current Embedded Wednesdays posts have been about number format and accelerometer output. Sign up for the Embedded.fm newsletter to get blog content in your email box. Hackaday Prize! Yay! Sign up early and often. Chris and Elecia have been taking a Unity course on Udemy (pricing becomes more sensible after April 1). Elecia's game is live for the next 30 days, you can play it from your computer's browser (but not Chrome). Audio "enhances" the experience. Also: you were warned. Atomic Game Engine is another game engine but open source. Justin has 8 reels of 800 of Atmel AT32UC3A3256S-ALVR. Let us know if you'd like to be connected. Elecia liked the Ed Emberley Make A World drawing book. Bipedal robots at RobotShop.com for software programming or SparkFun's Redbot kit for more hardware oriented fun. If you missed last year's April Fools Embedded.fm: The Elon Musk of Earth. Feel free to listen to it again on April 1 as there will be no such gag this year.
Transcript
Discussion (0)
This is Embedded FM.
I'm Eliseo White, here with Christopher White, and it will just be us this week.
We have news and announcements and an actual technical discussion that I promise will end
in flaming earths and flying poo.
That wasn't overselling it, was it? Or was it underselling it? Don't go away.
I guess the first announcement is that next week will be the week of April Fool's. Last year,
we did an April Fool's episode. If you are new to the show, you can go back and listen to it. It was us interviewing our cat about embedded systems in which she says,
mrap, mrap, mrap.
And Christopher occasionally interjects really dryly hilarious statements
in which it is apparent that he cannot believe he's taking part in this.
Yeah, I thought it was hilarious.
Many people did not.
In any case, there will be no April Fool's episode
because April Fool's does not show up on the day we release.
Yeah, that's the reason.
Well, that and the fact that I trained the cat to meow all the time.
Boy, was that stupid.
She never shuts up.
Okay, so that was one announcement.
Do you have any others?
Do I have any others?
No.
Oh, okay.
So this is all just me.
I never have anything to announce.
The Hackaday Prize is started
and it is different this year.
How is it different this year there are many different
smaller contests at the beginning ramping up to a larger contest at the end so the idea is to get
people involved right away between now and i think end of april they are doing a design contest
and then it will be another design contest with
a slightly different theme and then another one and another one, each one having a few more
features that they want. But if you have a good idea that will help somebody get started, and
then at the end, they will choose 100 that they like the best, and those will go for further judging
and end up with lots of money.
So wait, you have to participate in the early design contests
to proceed throughout the entire thing?
No, no, you don't.
You can just enter the later ones,
or the early ones are to get more money,
more goodies involved as you're building it.
Okay.
And their goals are really around something, build something that matters,
build something that will change the world, build something good.
What was it last time?
It was similar, except that was sort of the overall theme,
and this time they have sub-themes.
Things like citizen scientist where they
want you to make it so we can monitor things uh lots of things maybe temperature across the ocean
sorts of things and then they have one that's assistive technologies that is for uh maybe people
who can't see very well what What technology would you build for them?
And automation.
And they have little theme-lets.
And those will feed into the final contest, but not really super specific.
And they do have one that's general.
It's independent thinking.
Anything goes.
So there's a theme on that one, too.
You don't have to fall in their categories this year.
But there's no theme on that one too. You don't have to fall in their categories this year. But there's no theme for the final contest.
It's the same kind of overall theme for the big prize as last year?
Or is there a more specific thing this year?
If you fall into one of the categories, I think it will go better for you.
But I was a little unclear on that.
Okay.
I'll ask.
I'm not a judge this year they gave us
two year tenures and told us to go off and play and so i was thinking about what i would enter
when uh when one of the organizers came back and said well could you actually advise us on the
whole judging process we've got lots of new judges and maybe we can work out something so i'm not participating
they just wanted to disqualify you i guess so i hope so it's kind of flattering um but one of the
things i was thinking about and this is i this is imprudent to say at this point because I have book, blog, actual work, class, surf lessons. So adding
anything right now seems imprudent, but still. They told me advisor judge and I started thinking,
what would an advisor judge do? And I was thinking I would advise people, like, if you have a project and you're going to be serious about it, and you're going to judging thing where I would score you based on
the same score I gave in the last two years and you could see the averages from the last two years
to see where you rank in those and I could give four or six lines of of things that would be easy
to fix um I mean because one year someone would have done better if only he had had one source file.
But because reproducibility and open and documentation are all separate categories,
missing one source file gets dinged in a bunch of spots.
So I could say that before you entered.
If you're interested, if you're going to participate, if you're pretty sure you're going to participate, let me know.
I'm still sort of hashing it out both in my own mind and Christopher's shaking his head like...
This will never air.
This will never air?
You're not going to...
No, I don't need any things to do?
No.
Well, it's not for months and, you know, if I could...
Last year I judged 30.
The year before it was 50.
If I end up judging 30 this year, that would be okay with me.
I get to see lots of new technologies when I judge.
So open judging.
And they're okay with this?
They think that I'll be inundated and that I shouldn't do it.
But then they were also sort of excited.
So we'll see.
All right.
They didn't say no.
That's very nice of you.
It's selfish in some respect i do learn a lot yeah that's that's a pretty small definition of selfish
all right speaking of learning a lot oh um let's see Oh, yeah, stuff from feedback from previous shows.
A friend of mine and the show, Dennis,
notes that Sigwin ships with S-Trace.
We talked about S-Trace with Julia a couple of shows back.
And on Windows, it actually seems to work.
So if you would like to play around with S-Trace
and you're a Windows person,
you get SigWin and you run it from the command line
and that does seem to actually give you some data.
So, interesting.
I don't know what it would show on Windows,
but apparently it shows something.
Apparently.
And we did get some feedback that Dan Liu
spoke a little quickly. Yes, yes, we did notice that feedback that Dan Liu spoke a little quickly.
Yes, yes, we did notice that actually, thank you.
Apologies to those of you for whom he spoke too quickly.
One time I went to conference sessions based on who spoke the most quickly
and it worked out really well.
I got a lot of information that day.
But I can see how it can be hard,
especially if you're not a native English speaker.
I don't know what's next.
What's next?
Robo-drueling.
And podcast wars.
Okay.
There's not enough data on that for me to expound.
We are the sworn enemy of the amp hour.
Yes, we did hear that.
Oh.
The enemy podcast?
The enemy podcast, yes.
I'm not quite sure how that works.
I'm not sure either.
It sounded like Chris Gamble was ramping up
to say nice things about the podcast,
and there's this little click,
like maybe there was a clip,
and then suddenly we're the enemy podcast
and Chris still enjoyed the bunny episode, but we have a new title.
See, I don't think that's a good idea to be picking fights with the software people.
I mean, I know how servers work.
Yeah.
I know how to denial of service works.
Well, I don't think we need to be...
We can be their enemy, but they don't have to be ours.
It's all one big...
I mean, they can't do anything to my hardware remotely.
Really? I don't think it's a good idea to pick fights.
It's not like I can get on KiCad and make my computer stop working.
Ah, there's a KiCad joke buried in there.
I could go straight for that all right anyway yes uh the we are friends with the amp hour and uh there are no hard feelings there is
no actual podcast war except in someone's mind so you have robo drodrueling on here, which I thought probably referred to the episode with Sarah Petkus. But you actually got a question on Twitter last week from somebody who was looking for robot kits for their kit.
Yes, it was great.
And you did some drooling over some kits. Yes, I did. He sent a picture that had been drawn definitely pre-teen, probably older than four. You know, I don't have kids. It's hard for me to tell between those two. And it was a bipedal robot that looked very robot-y.
Classical 1950s. and uh and then there was another picture of what seemed to be a motor relay board that was
not bad perhaps not up to professional standards but not bad it was actually connected i thought
it was just some parts uh it looks like the motors could plug into those parts i think we
just didn't have a complete picture and he asked what what kits might be suitable to build the bipedal robot.
I went straight to SparkFun and looked around and just ended up with the RedBot Inventors kit because it had all the parts, although that's not really bipedal.
Yeah.
What else did you find?
You found a couple other things, right?
Oh, I found the robot.
There was a website.
I'll have to look it up.
And they had all kinds of bipedal kits.
But it was unclear that you were building the robot.
It was more software.
Oh, okay.
So kind of like Lego Mindstorms, which you didn't suggest.
I didn't suggest Lego Mindstorms.
I guess I sort of thought it would be obvious.
But yeah, Lego Mindstorms would be reasonable as well.
Okay.
So those bipedal robots were at a place called Robotshop.com
in their biped development platforms.
There were lots of cute things.
But yeah, I don't know.
Maybe Lego's Mindstorms would be the way to go.
It seems the easiest way to go for somebody who doesn't want to mess with electronics.
But if you want to learn electronics, it's definitely not the right way to go.
Yeah, that would be where SparkFun would come in more.
Or Adafruit.
Speaking of robots, Google is selling Boston
Dynamics? Yeah, do you want
to buy them? What would you do with
scary, scary, scary robots
that have been hit with
sticks all their lives? I don't know, put them in
a sanctuary and let them
live in a pasture?
I don't know what Google was doing
with it to start with, so
I guess they had their own robotics division for a while,
and then maybe they've decided not to do that,
or they decided that Boston Dynamics didn't fit.
It was weird. It wasn't really clear.
And of course, their Google's not going to tell you what they were doing.
Their alphabet.
But I'm not sure.
So Boston Dynamics, I think their intended market was military, right?
Yeah, that was why they didn't work with Google.
It didn't make any sense for Google to have them.
Well, maybe.
Oh, as far as we know.
I suspect both Google and Apple are prowling around the Department of Defense these days looking for contracts or ideas for contracts.
But yeah, so it'll be interesting to see if anybody picks them up.
And I don't know who would pick them up.
I don't know if they'll spin them out if they don't get picked up.
Probably.
Yeah, I don't have much else to say on that.
I think a robot sanctuary.
Sarah would let Noodle come to visit.
Right.
She should buy them.
Yes.
One of our listeners, Justin, ran across some microcontrollers at a sale.
And he bought them.
And there are eight reels of 800.
And these are Atmel AT32UC3A32565.
Anyway, they are 32-bit processors that are not Cortex-based.
And they're not
bad processors. They're not the latest.
They're AVRs? Yeah, they're
AVR-based. 32-bit AVRs, alright.
And so, Justin bought
them thinking that they
would be super cool and fun to play with,
but they do need some bootloading, and so they
haven't worked out for him.
If you are interested, let me know and I can connect you to him,
whether you want them for yourself or if you want them for a good cause. I hear there's going to be a big discount for a good home. Yeah. So let me know, just email the show, show at Embedded or
hit the contact link on Embedded.fm. Say you're interested in Justin's microcontrollers, and I'll have a link for the exact ones on the show notes.
Anyone who needs 6,000 microcontrollers.
I'm sure we can build lots of robots with that.
Okay, now the blog.
We've been doing the blog for a month. We had Andre and Chris on the show.
And at the time, we were just barely starting.
And now we've had, well, we've had four weeks, five weeks now of almost every day we put something up.
And most of us go once a week um we've had things that went from i'm still working through
uh toys and uh what i would write for a book on taking apart toys and what you can learn
from looking inside what's your actual book oh yeah i know it's my actual book although it's
sort of draft i think um the publisher will clean a few things up although i think the pictures may
be better on the blog i don't know what the publisher is going a few things up. Although I think the pictures may be better on the blog.
I don't know what the publisher is going to do with the pictures.
Right.
They could be black and white in the book.
But Andre has been doing his Embedded Wednesdays,
talking about how numbers are formatted and how two's complement works
and really detailed stuff like that.
His last one was about formatting data from ADCs.
Well, from an accelerometer, yeah.
Because he actually had that one post
where he talked about how to do two's compliments
and then he talked about how to do the ADC from the accelerometer.
And he broke it up because they do get a little long if we just get to talk about everything
we want to talk about in a week.
Svek has taken a totally different approach.
It's hilarious to watch them because they're so different.
They want to cover some of the same material, but in totally different ways.
Svek is coming at it from a very microcontroller point of view and he's going through add and sub and jump as instructions
and how that works.
And it's not that assembly is necessary to know,
but it's necessary to know how a microprocessor works
to be able to use it at the high level.
And there are rumors that there will be giveaways of dev kits
to go along with his sessions.
But that will all be in the blog, so you have to follow that to check it out.
And to follow it, you can sign up for the newsletter, which was an adventure.
If you are thinking about putting together a newsletter, I had no idea what a pain in the neck it was.
You have to have a real address that you put at the bottom of the newsletter in order to meet the can-spam legal requirements.
And so we went and got a post office box.
It was very exciting.
But yeah, so newsletter.
Sign up for it.
It almost works.
It sort of worked today.
I mean, sure, the recent posts were from two weeks ago, but the detailed information was current.
Software and I don't always get along.
It's very strange that I've chosen to do this, because if it can break, it will break for me. Well, it's hardware that breaks. That too, but everything breaks. Everything breaks.
And you just, I should stop pushing buttons. And that brings into my next thing, which was
checklists that our posts are getting complicated and it keeps making me wish for some form of checklist software.
I'm sure nothing like that exists anywhere.
I haven't found anything that works for me.
Okay, so when we do a post, it is in Google Drive and then somebody else reviews it.
And then it gets moved to Squarespace.
Man, do not get me started on Squarespace.
For some reason, we're the only people who are incapable of using the Squarespace editor
without having it have all kinds of problems.
Okay, so once it's in Squarespace, it gets moved to Needs Review.
It also gets social media URLs and an excerpt and a picture.
And then someone else comes and schedules it for publishing and verifies everything else that should have happened.
Yeah, can you imagine how many times we don't manage to tweet these things or whatever because we didn't add all of the little checkboxes?
What's even more hilarious is it's the same site and Squarespace system
that we use for the podcast. And the comments are on for the blog, but not for the podcast.
And so now I have another checklist for the podcast that I have to do all of these things
with social media and excerpts and making sure the links are good and i have to remember to turn off
the comments and if i don't turn off the comments then they get stuck on and squarespace can't seem
to turn them off because squarespace this is so not an ad for squarespace i know every other blog
or every other podcast is like you should use squares no. No. Oh, my God, no. Yeah. The alternatives all are worse.
I recognize.
There is no good option unless you're a professional web developer,
which, given how much time it takes when we're using the things that are prepackaged,
I don't really want to be a professional web developer.
No, me neither.
But, yeah, so I've been thinking a lot about checklists.
And I have a work project that involves power monitoring
that is this jumper, then program,
then don't forget to take off the programmer,
don't forget to take off the debug,
and then you add power here,
and you put a resistor there,
and blah, blah, blah, blah.
Well, it's not just checklists.
I mean, that's the whole idea behind test-driven development
and the whole idea behind test-driven development and the whole idea behind uh unit testing is you're verifying that things work at each each stage of development
or each stage of a project or each stage of coming into operating something for the first time you
run through some quick i mean a checklist is a series of tests i mean they're simple tests they might be visual inspection
they might be um this happened but these are a lot of things i need to do and they're tweaky
little things that i forget off sure but but yeah checking that you have done something is a test
oh absolutely and people don't like doing things like that because it gets in the way of doing the
things you think you're supposed to be doing it does it feels that's why i crashed my airplane oh yeah a few weeks back
because i got so frustrated that i just took off and i hadn't bothered to actually run through the
flight checklist and this is a radio controlled airplane not a real one i did not crash in an
airplane but but in that case uh servos were
reversed on a couple of the control surfaces and had i had a checklist and said okay when i move
the stick this way this flap comes up this way that wouldn't have happened and that by the way
ended up being a blog post the video of the very short video of the airplane which is subsequently
flown much better but it's the simple things like that where you get
frustrated and so you skip the checklist and he gets frustrated with i mean squarespace is
frustrating so you get frustrated with it and you just push go and get through it and done with it
because you want those aren't the things that you're doing right you want to be flying the
plane or you want to be writing software or you want to be writing i want to be writing a blog writing a blog post you don't want to be managing all
the infrastructure that surrounds all of that and so that's why people skip things is because
they get frustrated with doing things that they think aren't really related to the fun part or
the important part it isn't the frustration to me. It's just, I get focused on something else
and I just forget.
I mean, it's just pure,
I didn't remember.
Well, that's the place
where a checklist would help
because you probably would be motivated
in that case to follow it.
But I have post-it note checklists
and they last for about three go rounds
and then they get trashed
and I forget to make a new one.
And I tried doing it on my iPhone and that didn't quite work out.
It's not in front of your face.
You have to go,
you have to know to go look for the checklist.
Yeah.
And,
and I think Chris Beck suggested we put it at the top of each blog post,
but then I'm sure I would just leave the checklist in the blog post.
So I don't know.
I don't have a good method for this and I'm sad about it. So the checklist in the blog post so I don't know I don't have a good
method for this and I'm sad about it so it seems like the chief problem is
that you don't have something that's just there that you see and so you forget that it if you
had it in a text file you'd have to remember to open the text file before you did the thing
right yeah I guess that's it and you mentioned the post-it notes that's something that
it's there for a while
and then it gets torn up
and then you don't recreate it
yeah and I want it to be like
part of I don't know
Chrome or Safari or Firefox
and have it say
oh you're about to push go
on one of your blog posts
have you done all of these things
I guess
I guess I want to live in the future
well yeah all right I guess I want to live in the future well
yeah alright
that's difficult
I brought it up in case somebody
out there had a good easy solution
that was
I don't think anybody's going to have anything that knows that you're writing a blog post
you're asking for Clippy
I am asking
oh that's so awful
I'm asking for Clippy. I am. Oh, that's so awful. I'm asking for Clippy.
Oh, Clippy.
You and I could be such good friends.
Looks like you're posting on Squarespace.
Did you remember to save three times?
Yeah.
You know, when I do save on Squarespace, sometimes it deletes something.
Like, I know you should save more often often but i'm a little afraid of saving
that's what squarespace has brought to me like i said to all of you nobody else is complaining
about these things in their support forums i think it's i don't know i don't even think we
are complaining if anybody would like to write a cms for us that's that works all the time
and is very simple to use and as as
comfortable to edit in um we will pay you nothing but use it and we'll mention it on the show well
and and it should be able to withstand my incredible abilities to make everything break
and it should import natively from google docs so you can just write in google docs and then it goes
straight to the blog you know we do write in google docss and then it goes straight to the blog. You know, we do write in Google Docs because the collaborative editing is just amazing sometimes.
I have been impressed by that.
So yes, it should import from Google Docs.
All right, enough baseball.
Yeah, well, to your posts recently, there was the plane crashing which was hilarious but there was also one where
you talked about what you were using to learn the ham material for amateur radio license yeah i
asked on twitter and a whole bunch of people a whole bunch of people responded with actually a
wide variety of i haven't already talked about this no a wide variety of resources so i'm studying
i was studying i already took the exam.
I was studying to get a technician license because for RC planes,
if you want to do first-person camera transmitting back from the plane,
there's virtually nothing that's legal that you can buy.
There's a couple of transmitters that are very low power and on one channel.
But everything else you buy is in the amateur frequency bands so you have to have a license to be transmitting from your plane back
to you supposed to legally and most people don't but it's not that big a deal and it's kind of fun
and i had a ham license uh years ago but i let it lapse in 2007 2007 or 9 or something like that.
So I thought, well, maybe I'll go retake the test
and get my license back up,
and then I'll be free and clear to play around with the planes.
So I asked on Twitter what people had been studying with
because years ago there weren't iPhones and apps and things like that.
You brought home a book to study for the test,
and then you left it on the coffee table
and we both went and took the test because
me faced with the book, I couldn't.
In 1997.
Yeah.
Yeah.
But now it's great.
There's tons of websites.
There's a bunch of apps
and there's a bunch of great books and e-books out there.
Most of this is free. And so I used a bunch of apps and there's a bunch of great books and e-books out there. Most of this is free.
And so I used a couple of the suggestions and studied for two weeks.
And this weekend went and took the...
Well, and you studied like as though it were a new video game you had.
Well, I had the practice app, which gives you practice exams and you just can take them over
and over and over again uh while you're waiting in line or sitting in your car at a you know
waiting for somebody at a store or something um so yeah you know every you know takes about 15
minutes 10 to 15 minutes maybe maximum to take take an exam um so i probably went through 50 or
60 and and it kept track of the things you missed and said,
okay, these areas are the areas that you're doing poorly on each time you took the test. And then
it would give you a history of all your exams and you could see if you were doing better. And once I
was passing regularly, I said, okay, well, I'll go next weekend and take the exam. So, yeah, and I passed the technician,
and the people administering the exam suggested I take the next level
because it was free, and I didn't think I would pass that
because I hadn't studied for it, and I did pass that.
So now I am General White.
But you don't know your call sign yet?
They have not done it, yeah. yeah has not been issued as of today
tuesday yeah should be soon though so yes so no it's very cool and the funny thing is i was only
intending to kind of use it to be in the clear with the airplane stuff and maybe for using long
range uh airplane control over UHF although
that's less important now that the FAA is banned out of line of sight flight but now I've passed
the general I'm starting and looking at all kinds of other fun stuff you could do with it
I'm playing around with a Morse code education app and stuff like that. So maybe I'll actually get into ham radio because I have so much time.
Speaking of having far too much time,
let us get into the flaming earth section of this show.
Really?
Too soon?
No,
it's fine.
Is that what you call it?
Flaming earth?
No.
What do you call it?
I didn't call it anything yet.
So what we're sort of talking around
is our unity class which we've mentioned on the show before so what's unity unity is a game engine
it is known for being a 3d game engine but it also has 2d and it works very well with lots of
different interfaces sophie kravitz was on the show and talked about integrating Wiggleball into Unity as a gameplay metric.
And you can use your accelerometer from your phone or other device.
And it compiles native for a bunch of platforms, Mac, PC, Windows.
Android and iOS.
It also does mobiles and it does web, although for some reason Chrome does not
work, but for the most part
you can play in a web browser.
We decided
to take a class
in large part to score
ourselves some VR glasses
that we might or might not be able to get.
We started taking this Unity class
and we talked a little bit about the blood splatter a few episodes ago.
But yeah, I wanted to talk about our games right now because they're both pretty amusing.
But also about how doing this development is so much different than doing embedded systems development.
Okay.
Okay, go.
Okay, go.
Which part?
Whichever.
So, gosh, I don't know.
I mean, part of the class is to go through various types of games
and use that as a hook to learn different parts of the engine and the development
environment. And we've gone through three or four, three, I think. Three small games.
The latest one is the longest one so far. It's sort of a Galaxian clone and you're supposed to
put your own stamp on it. So I didn't. I've been copying an old game from the Apple II
called Alien Rain.
Well, I mean, it was different than the material
they gave you for the class.
Oh, yeah, yeah.
They give you all the assets,
and you can just use their assets,
or you can go wild and do your own stuff.
But the mechanics of the game are basically the same,
although you can tweak stuff to your own liking.
So yeah, I'm just making basically an old,
a clone of a clone of a clone
of Galaxian from 1982.
But then you added
adding animations
is really weirdly easy
and you added the earth spinning
and then if you're losing
it starts to get explosions
and then when you finally lose the earth
is a fiery ball.
Yes, yes. And then you did your game, the earth is a fiery ball. Yes, yes.
And then you did your game, which is just very standard.
You didn't really do anything different with yours, right?
Well, yeah, I actually did.
So imagine that, how do you describe it?
My game has poopy sounds.
My game has a cat.
My game has poopy sounds and a cat.
Yeah, that really is about, those are the highlights, man.
I'll put mine on Game Buck game bucket which will last for 30 days
and you can try it out it uh it is similar to galaxia in that there are things on the top that
fire down on things on the bottom and you control the the thing on bottom, which is a cat, you can throw yarn at the mice.
And if the mice are trying to kill you with their poos,
and if you hit the poo with a yarn,
then it can go back up to the mouse and kill it immediately,
or you can hit the mice with three yarns and that will kill them.
And yeah, it is just as bad as it sounds.
I really enjoyed speaking with Simone about her robots,
about her, you could just go ahead and bleep me here,
her shitty robots.
And I guess I may have channeled what i learned from simone into this game i think
you learned the wrong lesson it is a terrible game and i having made it having played it for
quite a while doing different testing things and trying to make it so you can lose which now you
can lose before for a long time you couldn't. And you should lose because the whole
violence at the end is hilarious. You're just spoiling the whole thing.
Anyway, yeah, it is, I learned
that sometimes you can make something really, really terribly awful
and that that makes it even more hilarious and it makes me laugh each and every time.
So, yeah, I put that out there as an
example of maybe what not to do. Yeah. But I've learned a lot. And so I did enjoy the game and I
enjoyed developing it. But I've also really started to look at my compilers that I use in my day-to-day job, and I look at them and I think, well,
you're crappy.
And I think this whole how we do this processor and data sheet stuff, learning Unity, there's
so much to learn.
I've only learned this tiny, tiny corner, and I know there's this huge amount more that I can do.
When we started animations, and I'm like, oh, this isn't very hard, and then it kept getting more and more complicated.
Like the cat's eyes blink, which was not part of the class, and I was so amused to make that happen.
So it's not that Unity is smaller than developing an embedded system.
You can't convince me that.
So why is it so much easier to get started in?
Well, for one thing, Unity is directed towards non-programmers, I think.
I think it's oriented towards people who want to develop games
who aren't necessarily software developers.
There's a lot of it that could be done by artists
with a limited amount of technical background, I think.
Well, and they encourage that
because they want you to write scripts
but then have generic names
so that someone else could do the asset.
So what I'm not sure about
is whether any of the kind of paradigms of development
that come out of a game engine are applicable to devices.
I don't know if directly applicable.
Because I just can't see myself in my day-to-day work.
All the hardware, this is the problem.
The target with Unity is always a similar microprocessor with a similar graphics chip and similar resources
similar being an order of magnitude yeah yeah i'm looking at in i'm not quite agreeing because
i've had some people who couldn't run my game well in safari or that's tweaky little things
like that but you're right that's not what mean. The difference between that and my iPhone,
my computer and my iPhone is a lot smaller
than the difference between my computer and my CoreTex M0.
CoreTex M4 with auxiliary graphics chip or something.
There's too many combinations and options.
But then again, I don't know,
because things like embed are out there
and things like Arduino are out there,
which make it a little easier, but they're not.
The thing about Unity is so much of it is visual, right?
It's not that most of what you seem to do so far
is import objects.
It's very object-oriented, but you see all the objects you see their inner
relationships you plot out their movements visually and most of the code that's involved
is little glue scripts that do a little bit of logic because there's no logic in the visual part
for the most part which is a completely different thing than embedded systems programming,
which is inherently non-visual.
You may not even have a display or anything.
So it's all logic from that standpoint.
That's a separate thing from the tools are terrible
versus the tools in Unity seem well-developed.
The documentation of Unity is well developed.
The documentation for processor I'm using right now, which is pretty new,
but still the documentation is really bad.
I feel every time I go and have to look up how to run the damn
ADC again, I'm just infuriated. Because why does it have
45 different options
and the way they laid them out makes zero sense. because why does it have 45 different options and it just doesn't,
the way they laid them out makes zero sense
and I think I'm messing stuff up.
It's just, it's like Unity is designed to work
when you put buggy inputs in
and embedded systems tend to be not resilient to buggy things.
I don't understand that.
Like, when my animations don't work,
they either yell at me because they don't work,
or they don't do anything at all.
But if my microprocessor's ADC was set up inappropriately,
it either does the worst possible thing,
I don't know why my ground is reading high.
Or it actually has a hard fault in spots.
It's not the worst thing that could happen, but it's just the documentation is...
Again, that's the difference between application programming and bare metal.
I mean, if something goes wrong bare metal, there's nowhere to go.
If an application fails, well, the process has an error,
and your computer stays running.
But the tools help me through that.
I mean, in Unity, we have this idea of build and run,
and it's build and deploy and run.
And just like in embedded systems, we have build and load and run.
There's that extra step that is cross-compiling to some effect.
Oh, yeah.
Not even to some extent.
It is cross-compiling.
And so usually when I say there's a cross-compiler,
that's what makes everything hard.
And Unity is showing me that it isn't that step that makes everything hard.
It is some other step.
And you're right.
It has to do with bare metal,
and it has to do with bare metal and it has to
do with not being as well adopted because unity has a lot more programmers than iar kyle or even
the gcc ones well i mean i think if you added up all of the embedded programmers in the world
who are doing it professionally or semi-professionally and put that on a scale
with all the game developers using unity, you wouldn't even see.
It would be obvious.
And they're making a tool.
They're making a tool specifically for this market,
whereas IAR is making a tool for many, many markets.
And that is a big point, yes.
Because IAR and the other compilers,
not just to pick on IAR,
they're being used for toys,
they're being used for medical devices,
they're being used for all kinds of different things.
And some people want MISRA,
and some people want it to be super fast,
and some people don't care about that
they just want their compiler to be cheaper
and so
the ways that they're being pulled
is many more
than Unity which has a more
focused direction
sure it's got 2D and 3D
and it's still got
I really do think the quality of our tools
comes down to the quality of our tools comes
down to the size of the market.
And there's just, you know,
these are small companies making these tools.
I don't think IAR is
huge. I don't think Kyle is huge.
And
you know, I feel like I'm being
an apologist a little bit, but
I feel like if the market were bigger,
then the tools would appear. I think so.
I agree with that, but I'm just still surprised
at the difference, and I hope that some of the
niceties trickle down. I don't think they will. I think they're
totally separate worlds. I mean, if you look at compiling
in embedded systems 10 or 20 years ago,
it was a lot different than then.
Really?
Oh, yeah.
It seems exactly the same.
This is better.
It seems exactly the same to me.
It's exactly the same now as software development was then.
What?
Embedded development has about the same level of tool goodness as software development
had many years ago if you're using 10 for many i disagree i just i seems 10 was 2006 i was using
green hills tool chain targeting x86 and it looked exactly the same as IAR does today to me. Same stupid Windows, same not very anti-aliased fonts.
Same stupid new line.
No new line in the file.
I would say there has been zero advancement
in the front-end tool that you interface with
in the last decade in the embedded world i wonder if
except for perhaps stuff like you know some of the static analyzers and the trace support stuff
that's probably advanced because the hardware support is advanced so it had to but well the
mizra stuff has advanced i didn't used to have that but i mean i know we harp on IR constantly, but it's what I spend my day in.
I mean,
the layout,
the user interface,
it's God awful.
It's late nineties.
God awful.
And it's inconsistent.
It's inconsistent.
It doesn't stay the same.
The windows change place.
The little sub windows change place all the time,
depending on if you're debug or editing. Things disappear off the window.
That's annoying.
It's not useful.
I don't need a giant 100-line debug log window
to come up every time I start debugging.
I don't ever want to see that.
You can save your workspace, right?
Yeah, I know.
It still changes it.
It doesn't matter.
I'll look at Christopher's setup.
And I have multi-monitors.
If it's on one monitor,
it decides to lose half the stuff.
When you come back to their thing,
you can't even find the pain to close,
to make it reorganize itself.
It's just not good.
And nobody spends any time on that.
Yeah.
So that's,
that's the area that I would love to see improve is just making,
take the friction out of the standard interface
that we are all familiar with.
And I know everybody uses Eclipse and loves it.
I don't understand.
There are some nice things about Eclipse.
The autocomplete, I don't understand why IR
doesn't have good autocomplete now.
I mean, come on, that's a feature from 2002.
It's time.
And well, yeah, there are a lot of features i want but mostly i also would like
the error messages to be like the actual error messages um not no new line and end of file when
you i got that one all week i've had that one i know and i'm surprised because i had it last
week and i mentioned it it's it'sader-Meinhof syntax error. Yeah.
If you haven't gotten it,
if you have gotten it and you don't know what it means,
email us, we'll explain.
It has nothing to do with there being a new line at the end of the file.
Although, why you need a new line at the end of the file, I don't know.
Isn't curly brace enough?
Okay, sorry. Yeah, Unity unity games unity games are fun unity class is interesting um my game is awful terrible really yeah i'm really worried about
what you're gonna make for the 13 year olds for the next cringe the next game which is 3D. You had another thing, Atomic Game Engine, what's that?
Yes, a colleague, when I mentioned we were playing around with Unity,
a colleague mentioned that another game engine had gone completely open source and free,
and that's the Atomic Game Engine, which seems similar.
I mean, just looking at their webpage, I'm sure it's not quite as advanced as
Unity is, just for
probably because not as many people use
it, but it looks nice.
It's a cross-platform editor
deploys to all the usual targets.
You can
use your preferred scripting languages, just
like Unity. So JavaScript, TypeScript,
C++, C Sharp,
fully open source
under MIT license.
That's a pretty liberal one.
Yeah, extremely permissive.
So yeah, there's a lot of options out there.
And I had always
wanted to play around with writing games,
but I didn't...
I think I really wanted to write games back
before there were a lot of engines like this.
And I think the earlier engines were not as friendly.
I think it was much more like embedded development.
It gave you a hand here and there, but it was still a lot of code.
But I've just been shocked at what this is like.
But it sounded like you thought I was focused on the wrong things.
With what?
With my things are...
No, I'm just trying to understand it
because I don't fully understand
how it could apply necessarily.
I don't think you're focused on wrong things.
I'm trying to work my way through it
because it is such a different
environment.
It's hard
for me to say, okay, what could I take
from this? I mean, pick an example.
What could we take and apply?
Fast compiling and emulation.
I mean, when I want to play my game, I just play it.
And if I wanted to be in this mode or that mode,
I just switch scenes.
And, you know, if I want...
See, but that's easy for them.
Because they can emulate everything.
It's not emulating anything.
Yeah.
It's running the engine.
But you don't, that lack of waiting 30 seconds to get it down
and then set it up in the bright mode and then do the whole voodoo to make it work, that's...
The iteration time on embedded systems is...
It's not getting faster either.
It's one of the things that is the biggest hurdle to productivity,
because I'm working on graphic stuff on an embedded system,
and a lot of the stuff requires just tweaky little,
okay, this one pixel's not right for some reason,
and there might be eight places that some flag is set wrong.
And it's really hard.
It's kind of hard to sit down and work it out on paper
what the right thing might be,
but it would be really easy to just say,
okay, I'll just go through all permutations of these flags
until we find the right thing.
Well, in Unity, you could do that while it was running.
Right.
On this, it's like, well, okay,
it's a one-minute-and-a-half turnaround every time I do that.
So in order to set a flag right through trial and error,
which I admit is not the greatest way to do things,
but if trial and error takes 20 seconds
versus working on a paper takes 20 minutes,
sometimes I'll do the trial and error.
But with an embedded system, it's like, okay,
the turnaround time to see visual changes
is a minute and a half.
And there are ways around that but not when
you're developing low-level support code that that does this on the chip so yeah that's i don't know
how to get that better no i don't either usb3 download to some flash chip that has a max speed
of 10 megabits per second yeah that doesn that doesn't seem viable. All right, new subject, new subject.
Chris Speck introduced me to the Emberly book,
which is a little drawing book,
probably for preschoolers.
And it made me wonder about gaps in education.
I didn't know, gosh, I didn't know until I was eight that pancakes had no I in them.
I thought they were, I would miss it on spelling tests.
It was panicakes.
I didn't realize there was no I in pancakes. Wait, what?
Why would there be panic?
Did they make panicked? Probably because my mom thought it was cute that I said it that way
and I didn't ever know that I was wrong.
I'm just trying to figure out the etymology of panic cake.
I don't know.
Patty cake, panic cake, I don't know.
I didn't know that responsibility had no D until high school.
I didn't know that chimney had a B.
Chimney just...
It's invisible.
It's invisible as well as being...
Okay, but words aside, this Emerald Book has little ways to draw things.
You know, it's how to draw people running, how to draw a building, how to draw a lion.
And it's not like it's great art, but it's icons. And if you look at the book, you probably will
say, oh yeah, of course, because it is icons that are built into our society now. I mean,
those are accepted visual cues for this thing, even though it doesn't really look like that.
And I've done, you know, I actually minored in art in college
or concentrated or whatever the word you want to use is.
And so I've done a fair amount of drawing.
And I like the Draw 50 books,
but if you use the Draw 50 books,
at the end you draw whatever was in there,
and it's very hard to customize. The Emberly ones, they're really easy to customize, and I like that.
And so my whole point here is, what other things did I just miss? What gaps did I not even know I had, that I'm now over 40 and discovering how to draw like a toddler and
really liking it.
Now it's your turn to either say, well, that was the last gap, or my gaps are, or I don't
know, maybe you've always drawn like a toddler.
What was, that was a
conversational handout do we need an actual baton we can have an actual baton if that's what you want
i'm just not sure where to go with this yes people have gaps in their education i had gaps in my
education some of which became greatly apparent in college as i started to fail things after being a straight a student in high
school um and that well the worst part about gaps in education is where when it is assumed that
you don't have that gap so you can be really well educated and be good at stuff and then come into
a situation where a new class or a new job and suddenly everybody
knows something and you don't and you don't understand it at all or maybe there's a technique
or a tool that they all have in their belts and you don't you're not familiar with it that that's
the experience i have where landing in a college class that on paper I was perfectly prepared for
and it's like well wait a minute how are they solving these problems they're all using this
tech this particular math uh engine or technique that I've never seen before and don't understand
or don't know how to apply or why I would apply it um that's where I got in trouble and same thing
happens in jobs you end, especially when you change jobs
and you end up at a new place
where people have been for a while,
then they all have their own ways of doing things.
You either end up the person saying,
well, that's stupid.
You should do it my way,
which I have biases toward.
Or you end up kind of running around scared
and not afraid to ask,
well, what is this thing you all are doing?
I've never seen that code pattern before or algorithm.
So I think we all experience this, not necessarily with drawing.
Well, it was just a good excuse to talk about it,
that I am still surprised by these things that seem basic.
Well, I still have huge gaps in my
kind of embedded education there's a lot of stuff you know and other people know who i talk to or
work with and they'll just they're super comfortable with you know low-level compiler
knowledge or low-level processor facts
or understanding of how they operate
in ways that are useful when you're writing code
that for me is like, well, I don't know.
It's a microprocessor.
So that makes me feel bad.
I wasn't...
Not bad enough to go learn it.
Well, yeah, there's that.
I mean, I'll learn it if I have to,
if there's a bug or something
or if there's a new piece of work that requires me to learn it.
Was the shockingly easy things that kind of caught my attention.
The things that I had sort of taught myself how to do, but taught myself how to do it the hard way, and didn't even know there was an easy way to go.
And I wonder how many other easy ways there are.
Well, it's apparently what's happening with math now.
Kids come home with homework that adults with degrees in mathematics can't do
because all the arithmetic has changed.
And apparently they're teaching it in ways that make certain
things very easy like estimation and stuff like that which are really useful tools to have but
not obvious that you that you should be good at estimation so i think i think kids are going to
come out with different holes in their education than that we did or maybe fewer i don't know
what's a different i mean looked at some of the new math
stuff the estimation and the pathway to statistics is just so much better now but the the getting
from here to there without a calculator is not the best.
Without a calculator.
Well, if you want a precise answer, it becomes harder.
Oh, I don't know.
I haven't looked at it enough.
Oh, well.
Yeah, let's see.
That's actually all I had.
Do you have anything else you'd like to add?
I know we're a little short, but that's okay.
We can go to the beach.
Ha, ha, ha, ha.
You say that every time.
Everybody's going to hate you.
I know. And you know what?
I didn't bring down the book to do a final thought,
so I'm just going to have to come up with one.
I don't think I had anything much else.
I mean, I did at some point want to discuss RC planes
and how cheap embedded processors has made that really interesting.
Okay, go.
No, I mean, do you...
Well, it's another one of these things that I've come back to after years
of being away from it and finding everything's different.
And with the planes now, all of the radio stuff is digital
and they all have telemetry channels.
And since microcontrollers are cheap and sensors are cheap,
you can just plug these modules together
and get all this data back from your plane.
You can get back altitude and GPS position and speed and temperature and whatever you want.
And it's just another one of these areas
where this kind of weird microcontroller revolution
has made things really cool and really easy
without knowing a lot of electronics,
which is a little bit sad.
Well, and you're looking at putting two different GPSs in there?
Only because I have to, because it's this modular system.
And so one modular system is doing one thing,
and the other modular system is doing something else
that don't talk to each other.
In my day, GPSs cost over $100
and required their own separate power supply
bigger than the one you use for your whole dang plane.
Yeah.
Get off my lawn, kid.
Now I have a box full of them.
But yeah, no, it's interesting.
And I encourage people,
I guess I encourage people to look at hobbies
they might've let go by the wayside
and come back to them with electronics
because a lot of things have changed
everywhere and ham's the same way i was looking at after the exams like okay what can i do with
this and everything's different there's all this digital stuff there's this weird you said you
wanted to find your older radio and i'm like i know where that is and i'm like you don't really
want it no it's it's that radio is perfectly fine for some stuff you can still use it but not
compared to all the really amazing stuff that's happening um there's all this low data rate digital stuff for really long
distance communication with low power uh yeah it's just it's really interesting how it's really
interesting how the world's mixed because you think of ham radio as this static old old guy
old white guy kind of thing and there's a lot of new stuff happening even there
that that's pretty interesting and experimentation so i just i'm enjoying the experimentation part
without necessarily having an end goal in mind i can see that yeah all right then well i guess
we will wrap it up oh there was one more thing uh yes we, we know that NPR launched a podcast called Embedded. I do not fear that you will geting, and to you for listening, of course.
Please also check out our blog, sign up for our newsletter, all those things. We do them because
we think you'll like them, and thereby like us. No, that isn't quite right. We just think you'll
like them. You can find it all on embedded.fm along with a contact link if you'd
like to say hello. Our final thoughts for our Just Us podcast are supposed to be from Winnie
the Pooh, but since I failed to bring down the book, this one is going to be from Ray Bradbury.
Zen in the Art of Writing is one of his books about writing instead of books about science fiction.
And he has this to say, I have never listened to anyone who criticized my taste in space travel,
sideshows, or gorillas. When this occurs, I pack up my dinosaurs and leave the room.
Embedded FM is an independently produced radio show that focuses on the many aspects of
engineering.
It is a production of Logical Elegance, an embedded software consulting company in California.
If there are advertisements in the show, we did not put them there and do not receive any revenue from them.
At this time, our sole sponsor remains Logical Elegance.