Embedded - 144: Asking For Clippy

Episode Date: March 23, 2016

Christopher 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)
Starting point is 00:00:00 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.
Starting point is 00:00:52 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.
Starting point is 00:01:18 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.
Starting point is 00:01:36 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
Starting point is 00:02:11 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,
Starting point is 00:02:42 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
Starting point is 00:03:06 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.
Starting point is 00:03:38 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.
Starting point is 00:04:02 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
Starting point is 00:04:50 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.
Starting point is 00:05:58 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...
Starting point is 00:06:21 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.
Starting point is 00:06:40 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.
Starting point is 00:07:14 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,
Starting point is 00:07:36 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.
Starting point is 00:08:04 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.
Starting point is 00:08:18 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.
Starting point is 00:08:34 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.
Starting point is 00:08:59 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.
Starting point is 00:09:21 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
Starting point is 00:10:40 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.
Starting point is 00:11:08 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.
Starting point is 00:11:32 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.
Starting point is 00:11:56 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
Starting point is 00:12:16 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.
Starting point is 00:12:33 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.
Starting point is 00:12:51 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.
Starting point is 00:13:19 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.
Starting point is 00:13:47 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
Starting point is 00:14:04 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.
Starting point is 00:14:47 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.
Starting point is 00:15:27 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
Starting point is 00:15:55 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
Starting point is 00:16:29 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.
Starting point is 00:16:59 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.
Starting point is 00:17:27 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.
Starting point is 00:18:23 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?
Starting point is 00:19:01 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.
Starting point is 00:19:47 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,
Starting point is 00:20:12 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
Starting point is 00:20:38 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
Starting point is 00:21:25 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
Starting point is 00:22:07 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
Starting point is 00:22:32 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.
Starting point is 00:22:51 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
Starting point is 00:23:05 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
Starting point is 00:23:30 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
Starting point is 00:23:44 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
Starting point is 00:24:01 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.
Starting point is 00:24:17 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
Starting point is 00:24:56 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
Starting point is 00:25:37 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
Starting point is 00:26:17 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
Starting point is 00:26:47 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
Starting point is 00:27:01 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
Starting point is 00:27:36 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.
Starting point is 00:28:18 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
Starting point is 00:28:57 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?
Starting point is 00:29:19 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.
Starting point is 00:29:48 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
Starting point is 00:30:13 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.
Starting point is 00:30:48 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.
Starting point is 00:31:14 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,
Starting point is 00:31:33 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
Starting point is 00:31:52 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.
Starting point is 00:32:12 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
Starting point is 00:32:47 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,
Starting point is 00:33:35 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
Starting point is 00:34:14 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.
Starting point is 00:34:59 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
Starting point is 00:35:38 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
Starting point is 00:36:00 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
Starting point is 00:36:42 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,
Starting point is 00:37:11 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,
Starting point is 00:37:48 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.
Starting point is 00:38:12 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
Starting point is 00:38:39 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.
Starting point is 00:39:07 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,
Starting point is 00:39:36 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.
Starting point is 00:39:56 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
Starting point is 00:40:22 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,
Starting point is 00:40:50 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
Starting point is 00:41:10 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
Starting point is 00:41:25 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
Starting point is 00:41:41 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.
Starting point is 00:42:08 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
Starting point is 00:42:29 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
Starting point is 00:43:12 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.
Starting point is 00:43:32 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.
Starting point is 00:43:48 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.
Starting point is 00:44:03 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.
Starting point is 00:44:16 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.
Starting point is 00:44:32 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.
Starting point is 00:45:08 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?
Starting point is 00:45:48 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
Starting point is 00:46:14 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.
Starting point is 00:46:29 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.
Starting point is 00:46:46 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
Starting point is 00:47:07 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.
Starting point is 00:47:23 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.
Starting point is 00:47:40 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,
Starting point is 00:48:06 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,
Starting point is 00:48:29 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,
Starting point is 00:48:48 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
Starting point is 00:49:12 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.
Starting point is 00:49:57 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.
Starting point is 00:50:18 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
Starting point is 00:50:53 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,
Starting point is 00:51:25 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
Starting point is 00:52:17 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
Starting point is 00:53:10 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.
Starting point is 00:53:34 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,
Starting point is 00:53:57 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.
Starting point is 00:54:32 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.
Starting point is 00:54:49 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
Starting point is 00:55:31 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.
Starting point is 00:56:13 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.
Starting point is 00:56:31 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.
Starting point is 00:56:53 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
Starting point is 00:57:19 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?
Starting point is 00:57:46 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.
Starting point is 00:58:07 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
Starting point is 00:58:25 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
Starting point is 00:59:06 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.
Starting point is 01:00:19 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.

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