156 RR Hardware Hacking with Julia Grace
- Published on:
- May 14, 2014
01:44 – Julia Grace Introduction
02:30 – The Current State of Hardware
04:07 – “Indie” Hardware
07:45 – The Hardware Movement
11:15 – The “Maker” Culture
13:07 – Getting Started
17:13 – 3D Printing & Laser Cutters
25:23 – Accessibility & Knowledge
- 3-D Printer Makes Life-Saving Splint For Baby Boy's Airway
- Teensy USB
- raspberry pi lego case
36:12 – Lower-level Programming
42:03 – Rubybots
43:49 – Evolution & The Future of Hardware
56:35 – Ruby Resources
Book Club! Object Design: Roles, Responsibilities, and Collaborations with Rebecca Wirfs-Brock
CHUCK: When my kids get old enough, I think I’m going to pay them bounties on the books that I think they ought to read.
JAMES: Pay them bounties?
CHUCK: Yeah. So, you read the book, you give me a reasonable book report, and I’ll give you ten bucks or whatever.
JAMES: Okay, then one of those books…
JAMES: Has to be ‘Punished by Rewards’, which is about how…
JAMES: Extrinsic motivators are problematic.
[This episode is sponsored by Rackspace. Are you looking for a place to host your latest creation? Want terrific support, high performance all backed by the largest open source cloud? What if you could try it for free? Try out Rackspace at RubyRogues.com/Rackspace and get a $300 credit over six months. That’s $50 per month at RubyRogues.com/Rackspace.]
CHUCK: Hey everybody and welcome to episode 156 of the Ruby Rogues Podcast. This week on our panel, we have Avdi Grimm.
AVDI: Hello from Yorklandia.
CHUCK: David Brady.
DAVID: I think Lisp programmers should be called “Lisperers”… (because they’re always using parentheses).
CHUCK: [Chuckles] James Edward Gray.
JAMES: I have no response to that. Good morning.
CHUCK: I’m Charles Max Wood from DevChat.TV. And this week we have a special guest, and that is Julia Grace.
JULIA: Hello from sunny Palo Alto, California.
CHUCK: Do you want to introduce yourself really quickly, for folks who don’t know who you are?
JULIA: Sure. So, I run engineering at a fabulous company called Tindie. No, it is not Tinder, it is [chuckles], you spell it T-I-N-D-I-E. And we are a marketplace for people who are building indie hardware. So, think people who are printing their own circuit boards, people who are making drones, robots, add-ons to awesome projects that you can build with Arduino and Raspberry Pi. I started the engineering team there. I’ve grown it to several individuals. My background is all software. I started programming when I was very, very young and have never looked back since. And now I’ve increasingly gotten into hardware programming.
AVDI: I have a question about indie hardware.
AVDI: Is Arduino too mainstream now?
JULIA: So, I think that the answer is, depends.
AVDI: I’m just being a dork.
JULIA: I actually have very, very strong feelings. And this is one of the larger hypotheses that I have about the current state of hardware, is that I have a lot of friends who are very intense electrical and mechanical engineers. And for them, Arduino is, it’s way too playing in the sandbox, like it’s for the kids. But the flipside of that argument is that Arduinos have enabled a huge class of people who previously would not have had access to hardware the ability to mess around with a circuit board and start programming. And so, when you think about declining cost in terms of both monetary but also access to technology, it’s really revolutionized the space. And because of that, ideally you have people getting into computing who wouldn’t have before. And those will be the future software mechanical electrical engineers. And it will diversify the landscape.
AVDI: It really does seem like we’re in a revolution of hardware right now.
JULIA: I definitely think so, but I have a lot of skin in the game. But even from when I started messing around with this stuff many, many years ago to today a lot has changed, and I think changed for the better.
DAVID: What do you mean by indie hardware?
JULIA: Hardware that is made by people who don’t consider themselves professional hardware manufacturers. So, that could mean anything from someone in their garage that is doing this on nights and weekends to somebody who stumbled into the tech shop if they have a local tech shop, which is for any listeners who are unfamiliar it’s a hacker/makerspace that gives you access to a lot of very expensive machinery. You pay a monthly fee. You can take classes, that sort of thing. So, it might be somebody who started getting into hardware there. Or it could be somebody who very strongly self-identifies as a “hardware” person. And we can talk a little bit more about that later. But they never really thought about selling or even giving their hardware to anybody else outside of themselves. But now with the rise of the indie hardware movement, they’re able to do that. So, long story long, probably I think indie hardware is anybody who’s not doing large-scale manufacturing, people who aren’t at Foxconn which is the factory that Apple uses to produce a lot…
JULIA: Of the Apple products that you may use and love or hate.
DAVID: So, indie hardware is people producing hardware products then?
JULIA: You know, I think it’s people who are producing and then people who are also consuming as well.
JULIA: I think to have a movement you need both producers and consumers.
JULIA: Because if you’re just producing, it’s just, it’s like broadcast.
JULIA: You need people actually listening, too. So yeah, that’s how I would define it.
DAVID: Okay, that’s awesome. I do a lot of hacking not so much with Arduino but with the Teensy, which is an ARM chip.
JULIA: Yeah, yeah.
DAVID: And just hacking little dingbat motor controllers and stepper controllers and little LED displays. And I’m like, “Wait. I’m not actually producing anything to give to anybody else. I’m just making little blinky lights that make me happy. Does that count as indie hardware?”
DAVID: Okay, excellent.
JULIA: You would love the stuff we have on Tindie. And you also, I’m not trying to be that person to plug their own company, but I just actually genuinely think that you might be interested in this stuff and the conversations that go on. And you don’t have to sell what you’ve made. But I think you might be excited by what’s available and inspired.
DAVID: that’s awesome. Also, this is a common misconception with Rogues and I’m going to say it on the show so that anybody following you can benefit from it.
DAVID: We have an implicit and it’s now an explicit rule: if you built it, you can plug it.
JULIA: [Chuckles] Okay. [Inaudible]
DAVID: Plug Tindie all you want.
DAVID: Because I had not heard of it until you mentioned it a few minutes ago. And you’re absolutely right, because I’m a tinkerer and I love hacking, soldering, etching my own circuit boards and that kind of crap. And I’ve made a few smoke-emitting diodes in my day. And having a resource where I can go to and find out, because I don’t have… like you I’ve got a software background. I did a little bit of hardware with ham radio when I was a teenager, so that was back pre-digital days. Everything was amplifier. Transistors were used for amplifiers rather than switching. And so, I didn’t understand things like ground loops and that kind of stuff. So yeah, Tindie sounds really awesome. So, by all means plug away. [Chuckles]
JULIA: [Laughs] Okay, thank you.
JAMES: So Julia, you’ve already hit on one of the major things that have been pushing the hardware movement so well, like Arduino. There are definitely other things like Raspberry Pi’s and many similar kinds of branches off of both of those. And 3D printers are becoming a big deal. And just the other day I saw this article on Wired, I’ll drop this in the show notes, about a completely open source laptop which was just amazing.
JULIA: Are you talking about Bunnie’s open source laptop? There are several now. [Laughs]
JULIA: Or maybe we’re talking about the same one. Sorry to interrupt you.
JAMES: No, no. It’s cool. It’s just I was surprised. You could go down and see the diagrams of the boards and just all the way down, completely open. Really cool stuff. So, what’s going on here? Why is this exploding all of a sudden?
JULIA: You know, I think there are a lot of different explanations. My personal belief, so if you look back a decade or so ago or even further, opening up your microwave or your toaster oven or your coffee maker, the only people who did that were crazy mad scientist types. And so, it wasn’t cool to show off your circuit boards. Circuit boards, [inaudible]…
JULIA: And all of that stuff, so to speak, was hidden behind a nice, shiny, fancy case. And so, when Arduino came out, and one of the creators of Arduino, he’s a designer and he specializes in visual design, and so there’s a reason why those boards are blue, why he chose certain colors. He wanted the boards to look good so that people didn’t feel like they had to hide them beneath a larger encasing. And so, what has started to happen is suddenly it’s cool to flaunt your circuit boards.
JULIA: And so, when society started realizing, “Hey, there are some really cool stuff going on under the covers and it’s not just a junky mess,” sometimes it is, but nine times out of ten there’s some really cool stuff going on behind the scenes. And it’s okay to want to know what’s going on. And it’s alright that you as an artist, even though you may not self-identify as an electrical engineer or a mad scientist or a “hardware hacker” but you as this maybe budding architecture student, it’s oaky for you to look under the covers. And it’s good and we encourage this experimentation. I think that started to drive the larger movement of, “Oh if I publish my schematics for what’s going on under there, this is actually cool, because I’ve started to learn that some of this hardware is actually approachable and really awesome.” And I think that is what led to this larger, one of the many pieces that led to the open hardware movement. It had predated Arduino but I think that’s why it became more mainstream. And then projects like Bunnie’s open laptop and some of the other stuff that you’re seeing, why society largely embraced and promoted those types of projects instead of it being so niche.
JAMES: That’s really awesome. It’s kind of leading to this maker culture. Do you want to talk a little about that?
JULIA: Yeah, yeah. It’s kind of funny. I feel like… I see a lot of people now who self-identified as, “I’m a nerd,” and now nerd became cool. Now, everybody’s becoming a maker. And I think that’s good. I think there have been large societal trends as I had hinted to before. But I think that maker is a good thing. And I think that people are starting to dig into hardware/software and other mediums and then realizing that there’s a word for this and the word isn’t ‘scary’. It’s actually fun and cool and comforting. And so, I think that that’s this larger… Maker Faire for example is a large event that’s put on by Maker Media, which is I believe part of the parent company of O’Reilly. And O’Reilly publishes a lot of those [inaudible] textbooks. And I’ve seen some of the Maker Faire promotional documents that they have put out. And to some extent the fair is exponentially growing in size and participants. It almost feels like even though I hang out with a lot of people who are very “maker-y”, it’s only just the beginning of a huge trend where I think that even later on, people who don’t possibly view themselves as makers will then start to self-identify with that term.
JAMES: That’s an interesting point, the trend in that direction.
CHUCK: Yeah. Now, there are a few maker shops around here where you can, like you said, you sign up, you pay a monthly fee and you get access to their equipment and things like that, their [cat] programs and whatever. I’m curious. Are there good places to get started with that kind of thing? Like picking a project that works out well or understanding the basics or how to start hacking hardware?
JULIA: Yeah, absolutely. So, I think that you’ve touched on one of the really big challenges right now of the “maker movement” that would encompass Arduino, in some capacity Raspberry Pi, and BeagleBone which is another type of board that Texas Instruments sells. You have all these people who are self-identifying as software people. And maybe these software people, myself included, where my degrees are in computer science, not in computer engineering. And so, you’ve got this group of people and a lot of these people may even have kids too that they want to start getting their kids of all ages into this. And they don’t really know, how do I find my gateway drug into hardware hacking? But you feel very intimidated by getting into this stuff. And so, one of the things that I did was I wrote, and I put this in the Tips and Tricks, I think maybe it’s just tips for the episode, of how to make your very first Arduino program. And it’s designed for people who know how to program, but not anybody who ever touched an Arduino before. So, I put that in there. So, if you want to and you create a… you set up your board and you can press a button on the board and it sends a text message to you. And so, that was a fun v1. And then the code’s on GitHub so that you can fork it and you can play with other libraries. And this is in Python. I know that this is a Ruby, Ruby Rogues titled podcast for a reason.
DAVID: We’re Python-friendly. We’re Python-friendly.
JAMES: We are, oh yeah.
JULIA: So, there has to be… come on, we’re talking about nerdy engineers. There has to be some element of nerd competition [inaudible].
JULIA: And there’s often, and I hate to bring this up to scare people, but there are a lot of fumes that come out when you’re printing plastics. And so, you want to be careful. [Chuckles] So, you don’t want to lean over the printer and then inhale all these fumes. So, even though it’s really cool, you have to, you just have to be careful and use some common sense. But laser printers are also super rad. And you can cut all this amazing stuff. But there is a little bit higher barrier to entry on some of that. But a lot of the 3D printers, there are many that are open source that use Arduino boards. You’ve got this full cycle of you can start hacking on Arduino and then you see how Arduino, how there’s actually a copy machine that’s all made out of Arduinos, where you copy documents. I know that’s so 1990, but that’s a thing. So yeah, those are a few ideas to throw out there.
JAMES: So, I thought I would mention my own experiences, because I think I made pretty much all the mistakes getting into…
JULIA: Oh, but do tell.
JAMES: [Chuckles] Really, my first big attempt was getting into a Linux media server. So, hooking up a media center and then tying that into everything in your house so your music can follow you around the house kind of stuff.
JULIA: So, not just MythTV. You were actually like MythTV +++++.
JAMES: You’re right.
JULIA: Smart Home before it was cool.
JAMES: Right, right.
JULIA: And you had to use Linux. [Chuckles]
JAMES: Right, right. I had to use Linux, exactly. So, I got into that and had various success. I did not like the media server and Linux stuff with it. It was complicated and way too much to figure out. And I got stuck. I did enjoy figuring out INSTEON stuff, so my light switches are wired to my house now and I can control them through my computer.
JULIA: That’s so cool.
JAMES: Yeah. My laptop, when I come into my office, I just turn my laptop and it turns everything on. It’s kind of neat. So, things like that. That was my first foray. And then eventually, I discovered the Raspberry Pi shortly after they came out and started playing with those. And to me, that was an easier barrier to entry because a Raspberry Pi is just a little Linux box. And most of us probably know the basics of setting that up. And it takes four hours, but you can compile Ruby on it and then just use Ruby. And so, it’s Ruby and I know what I’m doing. And even interfacing with the GPIO which are the pins let you talk to everything on a Raspberry Pi, there are libraries for that now and stuff. So, it’s great. And I believe there are binaries now too, for the Ruby. So, you don’t even have to do the four hour compile.
JAMES: So, that to me was a little bit easier barrier to entry and I had some fun playing with that. But then, the thing that really got me into it, and led me to ask Julia to come to this episode, is we did do a 3D printer. And that, she’s right, the barrier to entry is a lot harder. But I got smarter. And first I went and found somebody who was good with electronics, a friend of mine who built his own amp and stuff like that. So, he knew that side. And I said, I know the software side and together we’ll see if we can figure it out. And we just bought a kit from a company and they don’t do the kind of kits we did anymore. But we bought a kit, assembled the hardware. Actually, assembling the hardware is an easy part of making a 3D printer.
JAMES: That’s the really easy part. The hard part is you have this program that’s communicating with it on your computer. And then you have this slicer which is a different program that’s dividing up 3D models. And that’s communicating with the program on your computer that’s communicating with the printer. And then you have this firmware on the printer that’s interpreting all these messages that are being sent and actually running the printer. And the really hard part is getting all three of those set up in sync, talking to each other, properly calibrated. And a couple of years later, we’re pretty close [chuckles].
JAMES: No, we have actually been printing for a couple of weeks now. We’ve had some pretty good object prints, finally got over the hurdles and stuff. And it’s neat. Boy, I can’t tell you how much we learned setting it up. We read half the internet, I’m pretty sure, to figure all of this out and learning things about hardware and software and how everything communicates. And it was a really awesome experience. And actually, we’re doing in June a local group around here that does a regular teaching series, are having us come in to show our 3D printer. And we’re going to go show it printing something.
JULIA: Have you document-… you should write this up about your experiences and what you used, if you haven’t already.
JAMES: I haven’t. No, I do need to write it up. You’re right, because I have learned a lot. And it was a tough experience. If I were to give anybody a piece of advice on what I’ve tried, I would recommend starting with something easier than a 3D printer just because there are so many steps and it’s very hard if you don’t have a good idea of what you’re doing. We did succeed but I’m not exaggerating when I say it took a year and a half to get there.
DAVID: One intermediate step maybe, Julia you talked about laser cutters. I’m experimenting right now with a really low-budget, and by low-budget I mean about $300 so this is kind of a high ticket item for consumer, but it’s not up in the, it’s not a $30,000 laser cutter. And that is I went out and got a programmable stencil cutter. And this is a thing that, two big ones out there. There’s the Cricut and then there’s the Silhouette. And these are not being sold to makers. These are being sold to homemakers, scrap-bookers.
JULIA: Yes, yes, exactly.
DAVID: That basically cut fabric, cut vinyl. And I’m like, wait, cut vinyl. I have stickers on my laptop and those are made out of vinyl. And I went out and researched and Cricut takes hardware cartridges and it’s kind of tricky to hack on the Cricut. But there’s a competitor to the Cricut called the Silhouette. Again, they’re not catering to makers yet but it will take SVG files. And that means I can open up Inkscape on Linux and I can draw anything. I can take a Photoshop vector image, whatever, and I can program and I can stick it down on this thing and I can cut a piece of vinyl with it. And now, for one thing, I can cut a piece of vinyl, stick it on my laptop and I’ve got a cool sticker. Or I can cut a piece of vinyl and stick it on a piece of copper plate circuit board and drop it in the etch tank and I’ve got a circuit. All of a sudden, there are really interesting options opening up.
DAVD: I’m not ready to give a full report on how awesome or not the Silhouette is for this yet. I haven’t hacked it really to its full extent. But I’m very interested and excited to see what the possibilities of…
DAVID: Of abusing this product…
DAVID: In a manner that was not intended by its manufacturers.
JULIA: I think you’ve touched upon an important point. So, we’ve got these great new technologies that are coming out that are being used in ways that were not originally designed, or may even originally thought of by whoever manufactured them or whoever sells them or whatever. But I think that that means, when you see people, and I guess the word would be hacking these devices, that’s when some of the coolest innovation, even thought that word is a little ugh, cliché, but that’s when the innovation begins. And so, I think that the examples that you all have described, I think those are some fabulous ways of what we’re seeing. But I think in the future, doing the types of projects, the smart home, the market for people doing things with laser cutters like laser cutting wedding invitations, that market is hugely growing. And so, it will only become easier as mainstream society starts to see the incredible uses like in medicine, for example, for 3D printing. Because I think a lot, in the beginning a lot of people viewed these technologies as cute and fun and playful. And the Raspberry Pi, that’s the computer for your kids. And then people started using the Raspberry Pi as a TOR proxy. And so, you see these technologies being repurposed and used in ways that are no longer necessarily for fun and games. But, well maybe [laughs] maybe you’re conducting commerce on TOR.
DAVID: Yes. Commerce, commerce, that’s what we do on TOR, yes.
JULIA: But I think that the people who are identifying themselves, the makers and the hardware hackers, those are starting to be the glimpses of what might be possible in the near term or maybe longer term future by people who maybe don’t have the necessary skills or time to do the year-and-a-half deep dive into smart home. But I have friends that have set up some sweet, what would the word be, a video camera to take a picture when someone delivers a box to your house and then it texts you. And they can do this for under $50. It’s not very difficult. And that was just impossible to do two years ago. And so, I think this is just really changing the face of, it’s empowering a group of people who never thought that they could do this. And it was probably not only knowledge prohibitive but cost prohibitive before.
JAMES: Yeah, that’s a great point. You talked about 3D printers being used in medical applications. And I’ll add this link to the show notes. But yeah, I was reading a great article recently about how they used a 3D printer to help model a damaged esophagus and replace this young child’s windpipe. And they’re getting used everywhere. But what’s weird is once you have one, I’m just hitting the stage now because I just recently got to the part where I can reliably print what I’m trying to print, and you start… [Chuckles]
JAMES: Right, yeah. Embarrassing, I know. But you start to get all these ideas. My wife and I are big board game players and we love board games. And anybody who’s a big board game nut knows that they come in these horrible boxes where they have 50 million pieces and three slots.
JAMES: And there’s no way you can put them in there in any reasonable way. But so now, now that I have my 3D printer, I’ve been using Blender and playing around with different shapes that would fit in the space inside the box so that I can properly store the pieces. And the idea that I can just sit there in some 3D program and play with a model and then when I have it right, I can save it as an STL, send it to the slicer, and it’s going to pop out of that 3D printer, it blows your mind. It’s great.
DAVID: That is so cool, because that’s what I’m doing with the Silhouette where I’m looking at containers that are the wrong shape and I’m folding a piece of paper to about the right dimensions and then unfolding that piece of paper and then saying, okay Silhouette cut me exactly this but out of this stiff stock weight paper. And then I fold it back up into the origami box. And it’s got custom rounded box compartments inside the paper. And yeah, it’s not what these things where meant for, which is awesome.
JULIA: [Laughs] Yeah. You know, I think I always draw the analogy of when we saw the first car, when Henry Ford first created the first car, it was like if you needed to get the car repaired, you needed to know what you were doing. Cars weren’t necessarily, yes they were for people who maybe had a lot of money, but you also needed to know what was going on under the hood because your car could break down in the middle of nowhere and you had to be able to fix it. And now, that’s not the assumption. You go and you buy a car and I don’t know how to change the large battery in my Prius. I know how to change the other battery, but I don’t know how. I can change my oil but I don’t know how to do all the other things because I assume the car to just work. And I think in the future, we’ll buy these things and then they would just work, which then brings up the thought of, “But then people will find different ways to hack them and do other things.” And so, that will ideally lead to more cool projects and that sort of thing. So, I feel like if there’s a listener listening to the podcast and they’re like, “Oh my gosh. I can’t even imagine myself hacking my 3D printer,” don’t worry. There will come a time when these will become so commoditized that you won’t have to worry about hacking it and you can just print your Settlers of Catan pieces when they fall into your heat vent.
JAMES: Right, exactly.
JAMES: It’s already largely like that. You have sites like Thingiverse.
JULIA: Yes, yes.
JAMES: Which just has tons and tons of models ready for you to print. JULIA: And Shapewavs where you can just have them printed.
JAMES: Yes. Right.
JULIA: So, you don’t even own the printer. Yes.
JAMES: Yeah, so if you have a common need. So, one of the first things you find yourself wanting when you get your 3D printer up and running is a spool to hold your print plastic so that it will just spool off cleanly if queue up a 17 hour print and you don’t have to stand there like an idiot holding it.
JULIA: Inhaling the fumes. [Laughs]
JAMES: Inhaling the fumes, right. Exactly, which may be where some of my problems come from.
JAMES: Like Julia says, you just go on Thingiverse and there are spools all over the place. And you pick one and it’s a model already. You feed it into your 3D printer and your 3D printer will make you the spool that you need to print with your 3D printer. It’s cool.
DAVID: There’s a thing that I love, Star Trek, The Next Generation and Voyager and Deep Space Nine. Whenever they want to show one of the engineers working on something, he’s pulling out the isolinear chips and they’re just these little pieces of Plexiglas but they’re colored. The way the engineer is programming them is with this little flashlight that goes [shzzz] when he points it near the chip. As a programmer watching this ten years ago, I’m like there’s just no way a single point and click tool can program everything that we need. But look at the Arduino. And the fact that you can just stack shield on top of shield on top of shield, we’re really close to having isolinear chips. How far way are we from having FPGAs, these field-programmable gate arrays which are chips that you can reprogram using electricity? How far away are we from having basically a set of Lego blocks that you can stack together and point a little radio at them and beam radio energy at a certain frequency to change the chip from transmit to receive or to change it from emit the red light to emitting blue light, or change frequency or change resistance or whatever. We’re not that far away from it. And when we start to get close to this, we’re already seeing, one of my picks is going to be the Teensy chip because I thought I’d picked it nine times but I haven’t ever picked it on the show. One of the [inaudible] things about it is all of the outputs are internally limited, which means that you can accidentally solder one of these suckers to ground and then tell the chip, put power to that thing, which five years ago would blow out your whole circuit and you’d be testing…
DAVID: Yeah, toast. And you now have to check everything. Every single component of your circuit has to be tested to see if it cooperated in the overload by destroying itself. But now, the chip just goes, “Yeah, okay. You’re going to get 80 milliamps and I can give you that and you’re not going to get any more than that,” and we’re done. You can ship the thing. The rest of the circuit works fine. And you’ve actually got this thing that’s trying to burn itself out. And that, combined with, so we’ve got the little Legos, we’ve got the ability for people who don’t know all of the arcane secrets of electronic engineering and all the wrong… we still have to do things like put a diode across your motor input otherwise the fly back is 2000 volts and that will fry your chip. Okay. But you can learn that. And two years from now they’re going to ship Lego motor interfaces that have diodes in them also, so that you don’t have to know anymore. You just plug in the Lego and you get your little radio and you go [shzzz] and you’re done. And that is so exciting, because the future is coming!
JULIA: Yes, yes.
JAMES: I feel compelled to point out, since David use Legos so often, Legos can also be a pretty common tool in just custom hardware hacking. I’ll drop a link in the show notes just for Lego cases of Raspberry Pi for example. And I’ve seen tons of them built like clusters where you put tons of Pi’s in there and then use them for various purposes and stuff. But Legos are surprisingly useful in almost any building scenario.
JULIA: And you can print them.
JAMES: Yeah, exactly, if you have a 3D printer.
JULIA: All of those ridiculous copyright laws, that’s a subject for a whole other conversation.
JAMES: [Chuckles] Right.
JULIA: In the confines of your own home, you can do what you need to do. So, [chuckles] yes.
JAMES: Yeah, that’s a great point.
JULIA: Oh, at PyCon?
JAMES: Jim Weirich, a good friend of all of ours that passed recently, he went to the NodeBots stuff I believe when he was in England for Scots Ruby or something like that. And he went and attended their groups. And then he came back and was redoing all that stuff in Ruby. And that’s what got him playing with the robots and stuff. So, that was kind of interesting.
DAVID: Yeah. There’s a lot of Python, has a tinypy and they get a stripped down version of the interpreter. We do actually have a tinyrb. Ruby has a lot of really crazy awesome features that are really hard to implement in a tiny firmware. But things like tinyrb where you get rid of the really dangerous stuff like eval and the ability to throw lambdas around and crazy stuff like that, I think they’re probably really doable.
JAMES: What about mruby? [Chuckles] I didn’t pronounce it well. Mruby?
DAVID: [Chuckles] Okay. I [inaudible], “What about hmm, ruby?” I’m like, that’s…
JAMES: It’s a joke. It’s a joke from a conference talk. I can’t remember who gave it now. But yeah, mruby is meant to be embedded, right?
DAVID: Oh, perfect. Perfect.
JULIA: My main interface with Ruby is Chef.
JAMES: Sure, yeah.
JULIA: And we’ve recently started using Discourse, which is also from Jeff Atwood of Stack Overflow fame.
JAMES: We use Discourse as well with the Rogues.
JULIA: Oh, very cool, very cool. So, those are, whenever I need to write Ruby it’s because we’re debugging Discourse or Chef. [Laughs] So, I always have a tainted view. But when it works, it works. [Chuckles]
CHUCK: Yeah, you want to hear a dirty secret? I actually have a recipe in Chef-Solo to deploy Discourse.
JULIA: Oh, nice. I think we, [sighs] yeah, that’s what we use to control our boxes. But yeah, we just spun up another VM and put Discourse on it and it was fun times. It’s very great software.
CHUCK: I have a couple more questions just related to my own experience
CHUCK: And to see where you fall on this. One of them was in high school we were doing stuff with 8081 or 8085 chips and sending messages in. So, you were basically sending Assembler byte codes into the input pins and then turning on LEDs and making it count stuff on the other end. It seems like things have gotten a little bit more sophisticated these days. I was in high school 15 years ago. So, I wonder to what level you see people just buying a set of components, sticking it on a breadboard and just hacking with things that way.
JULIA: You mean, as opposed to?
CHUCK: As opposed to getting an Arduino or printing their own circuit board.
JULIA: I think it just depends. I’m trying to think about how to best answer your question. I think it depends on who they are and what their peers are doing, on what they have access to. So, there are some really amazing places that have a lot of really great tutorials. But I think what’s tough about, that I see with a lot of the younger students I work with, and I don’t even mean high school, I mean younger than high school, is that I have so many kits with LEDs and capacitors and buttons and lights and all this stuff. But if you don’t really know where to begin, then it’s hard to know how to build a circuit and where to put the capacitor and how to program it. And so, I think a lot of it, I think it’s very dependent on what the young person and old person, we’re all old now I guess, what they want to accomplish and what makes them excited about what they’re doing. Because I think there are always going to be people like yourself. But I think that what’s cool is there’s now a lot of other things that you can do that involve immediate gratification where you make something light up or turn on your lights or do something. So I don’t know. I don’t really know what the future holds. But I think the good thing is that when there are more options available then that means hopefully more people will get interested in doing these sorts of things. And then we’ll have a whole other awesome generation of people doing this. And I don’t know if that completely answers your question, but I never did any sort of hardware up until several years ago. I took physics and that was my only introduction to electromagnetics and optics. But I never messed around with low level circuitry until I was a fully-formed functioning adult. I don’t think we were fully-formed and functioning in college. Maybe some people were.
JULIA: But I think what excites me the most is that I have a friend who is also named Julia. And I talked about this in my Future Stack Talk so I apologize if you’re hearing it again or if I sound like a broken record. But I think it’s very important and very mind-blowing. And she runs these tech camps for teens. And these are primarily for teens. And she’s in North Carolina. And these are for teens who wouldn’t have had access to computers at all. And she sets up Raspberry Pi’s, which are obviously very low cost. And the teens come in and they program on the Raspberry Pi’s. And it’s just so eye-opening. It’s just amazing to see how mind-blown they are and how they’re suddenly like, “Wait, even though I don’t look like all of the cool programming nerds, I can be a programmer too.” And this is really cool. And it doesn’t have to be about, you don’t have to be that hard core person that uses all those words that I don’t understand or because they were being nerdy for the end of time, they came out of the womb being nerdy. I as this person who may not self-identify as a nerd, I can still do this too. I think regardless of how people engage, it’s more about that they are engaging in the first place that is the important thing.
AVDI: That’s really cool. When I think about a lot of these current maker trends, a lot of times the stereotype I think of is I guess what I think of as first-world toys.
AVDI: Some little device that, I don’t know, tweets how long it’s been since you’ve eaten bacon or something. I don’t know.
JAMES: Wait, you don’t have that?
AVDI: [Laughs] But I wonder. Do you feel like this democratization of hardware hacking, do you think it’s going to pan out beyond that? Do you think there is a potential for some more fundamental world changing?
JULIA: Oh, I absolutely do. but I think that the reason that that will happen is because of the decrease, I think the lower barrier to entry in both cost since you can now do this as we had discussed earlier in the podcast at such a dramatically, if you can by a Raspberry granite or Raspberry Pi it doesn’t come with peripherals or it’s a very inexpensive computer, if you can do this with cost. And since Raspberry Pi and Arduino have become more mainstream, not totally mainstream but more mainstream, you have a lower barrier to entry. I think that we have all the pieces for change. And so, I definitely think that this is, I hypothesize that this is the beginning of something bigger. And I really hope that 10 to 20 years down the line, when you look around at the people in software companies and hardware companies, you’ll see people not only of different genders and races but different socioeconomic backgrounds who had access to different things when they were young. And so, I think those of us who are nerds tend to think, “This is so cool, nerd 2.0. We’re now doing all these cool nerdy things. And we have the means to spend a lot of money to build all these crazy stuff. And if we break our boards, who cares?” But I think there’s also the inklings of larger, the tremors of larger change in the tectonic plates of the society structure around computing and access to computing.
AVDI: That’s a fantastic point, because I think a lot of times the hacker culture looks at itself as being very meritocratic.
JULIA: [Laughs] Yeah.
AVDI: And one of the things that go unexamined is when you look at most hackers’ backgrounds very often, there was some reason that they had access to a computer before other people or more than other people in different income brackets or whatever. They had access to a computer when other people didn’t and at an age when other people didn’t. And so, I think the same factor could very well be the case with hardware or with hackable hardware.
JAMES: Kind of along those lines, one of the things I’ve noticed about all the things I’ve been playing with is my three-year-old daughter is watching us play with all this stuff and getting something out of it. So, when we finally got it printing the other day and we’re making little objects, we were looking around on Thingiverse to find something we could print that wasn’t ridiculously long, would take 17 hours, and we could judge how well we were doing now. So, we printed a barrel of monkeys, the monkeys that you hook together arm in arm.
JULIA: Oh yeah. Yes, yes.
JAMES: With the barrel. It had all the monkeys and then you had the barrel and you could put the monkeys in the barrel and close the barrel. We printed the barrel of monkeys and we gave it to my little girl and her five-year-old friend. We gave it to them to play with. And so, they have seen us go from this box of parts that did nothing and over a course of time, which is epic to them, we assembled it and did it. And now we can just, they can pick pictures of things and they pop out of this printer. And it’s amazing.
JULIA: That’s awesome.
JAMES: That they grow up seeing this. I also had a blink(1). I don’t know if you know what this is, but it’s a silly piece of hardware. It’s a USB plug that you plug in your computer and it has an LED light on it. And you can control the hue and the flash rate and all that programmatically. So, you can just do fun things like have it blink a certain color whenever you get an email or whatever. You can do fun things with them. And she’s seen me play with that before and we would do things like she’d be like, “Change it to blue,” and I would invoke the command line client that changes it to blue.
JAMES: Or whatever, and just stuff like that. So, I feel like she’s growing up with these ideas about how she can manipulate her world in ways that other people might, “Ah, I didn’t grow up with those ideas.”
DAVID: That is so huge, to realize that she now lives, her mental model of the world is such that if there is any tiny small hard plastic thing of any shape or size or design, well not size, but any shape or design, I can make it. I can create it. I don’t have to wait for someone to produce it and give it to me and dictate to me as the consumer how it can be used, because it’s closed hardware.
JULIA: Or by a professional.
JULIA: [inaudible] of that notion of you have to be someone of a certain class, of a certain stature, in order to provide these things.
DAVID: Yeah. My father-in-law is a metal worker, has a full metal shop in his garage. And he built me a machine. It’s got way too many gears and ratchets and stuff. It’s a machine whose purpose is to look overly mechanical and crazy. And all it does is smash soda pop cans. But it’s an insanely complicated machine. And it’s a thing of beauty. It is genuinely art to watch this thing go around. And it’s got a hopper that you can stack cans in and it smooshes them and drops them out into a little catch basin. But to me, and the mental model of my world before and after I saw this machine, it annoys my father-in-law to no end. Because he wants me to look at the whole machine and appreciate it as art. And I keep going to there’s one flywheel up on the top, it’s not a flywheel it’s a pulley, a belt-driven pulley to provide gear ratio reduction from the electric motor, which is off a sewing machine by the way. But this flywheel is made out of aluminum. And it’s solid aluminum and he cast it. And to get the aluminum for it, he melted down a screen door.
JULIA: I bet that was an adventure.
DAVID: Yeah. And so, every time I go to this machine, I just fondle this flywheel and say, “You used to be a screen door.” And that is such a mind-blowing thing for me to whole this lump of metal that has been completely repurposed. It’s just so exciting and happy. And when you talk about Summer looking at 3D printed parts coming off of this machine and realizing, “Oh, I want a tiny plastic toy like this. Daddy, can we make this?” that’s the world that she’s in. That is so exciting to me.
JAMES: Yeah. It’s super fun too, because I get excited about it. They get really bored when you tell them, “What are you doing?” we’re like, “We’re calibrating the 3D printer,” and they’re like, “Yeah, yeah. When can we print something?”
JAMES: But now that we’re [inaudible]. And she occasionally mocks us for how long it took us. My friend that I work on with the 3D printer was coming over the other day to work, we work together, and she said, “Oh, maybe you could work on the printer,” because that’s all we do. [Laughter]
JAMES: Work on the printer. But yes, it was pretty funny. Hey, I want to answer Julia’s question. I’m slow, but I have her answer. The ways to use Ruby to do projects like this, there are some good resources. I mentioned that Jim got into the NodeBot stuff and then started building his own Ruby bindings to do that. He did that for the AR Parrot drone.
JULIA: Oh, that’s so cool.
JAMES: Yeah, his bindings are on GitHub, so I will put a link in the show notes.
JAMES: And then the other thing, Ruby does have a great library made by Ron Evans and others who we’ve interviewed on the show before. And it’s called Artoo, A-R-T-O-O, like R2D2 but spelled different. And it can talk to tons of different platforms, all the ones we’ve discussed today and more, like Spheros and stuff. Really cool library for doing…
JULIA: Oh, this is amazing. Yeah.
JAMES: Yeah, any kind of stuff. So, I will put links to those in the show notes.
JULIA: Thank you. But I get this question a lot from people. Of all sorts of programming communities and backgrounds and they’re like, “How should I do this?” And I’m like, “Let me look into that for you.” So, fabulous. Thank you.
JAMES: Alright. Have we covered it? Is there anything else we need to say?
DAVID: I’m just sitting here with my mind completely blowing, just so happy.
DAVID: I’ve just got this warm glow. I want to go hack on things.
JAMES: Yeah. I want to spend my afternoon tearing something apart.
CHUCK: Yeah, no kidding.
JULIA: If any of you are in the Midwest, I’m going to be talking about a lot of hardware stuff at Midwest I/O which is a new conference in Kansas City, Missouri this summer. So, I’m just always very cognizant of trying to plug things. But I think the conference will be really cool. And it’s the first year of it. And I think that it just seems like there’s not a lot of conferences and events for this sort of thing yet in the Midwest. I feel like it’s New York and San Francisco and Chicago. And so, if there are any listeners in the Midwest, you should check that out. And if you can’t attend, there’ll be talks online that you can watch of course. So, I just wanted to throw that out there.
JAMES: Wow, that’s in my backyard. I live in Edmond, Oklahoma. I’m about four and a half hours from there.
JAMES: Which is nothing in the Midwest. [Chuckles] JULIA: [Laughs] Yeah. Love it.
CHUCK: Alright, should we do some picks?
JAMES: Let’s do it.
CHUCK: Alright. Avdi, do you want to start us off with picks?
AVDI: I don’t have a lot this week. I did actually, I read a fiction book recently, which I rarely get time for. But John Scalzi was talking up this book that just won the Arthur C. Clarke Award. It’s called ‘Ancillary Justice’ by Ann Leckie. And so, I decided to go ahead and check it out and see what the fuss was. And I really enjoyed it. It’s a fine science fiction novel of the revenge against the galactic government variety. And it’s good just from a pure story standpoint. But it also made me think in interesting ways, because it’s told from point of view of a character that for various reasons has very little perception of gender. And so, one of the side things going on through the whole book is I’m noticing, I’m watching my mind try, I’m watching my mind want to put gender on characters in order to visualize the situations, because this character basically just refers to everyone as she because this character really doesn’t, both as part of what he/she is, what it is and the culture that it exists it, and I can say it because it used to be basically an AI. Although I guess that’s a problematic statement too. Wow, this is a whole [inaudible].
AVDI: Anyway, it was a fascinating exercise in watching my mind try to put a particular viewpoint on things just because it’s so used to doing that. So, that was a little bit mind-expanding. The only other thing I’ll say is that in my particular neck of the woods, in this particular latitude and longitude, the lilacs are just blooming. And so, right after this call I think I’m going outside and smell them. And I encourage anyone who is in a similar latitude and has access to these wonderful flowers to go and do the same, because they’ll just make your whole day better.
DAVID: Shelby Farrow just tweeted yesterday or a day or two ago that, every once in a while, I like to go outside and tell nature how awesome inside is.
CHUCK: Alright David, what are your picks?
DAVID: I’ve got a bunch so I’m going to move really quickly. I’ve already talked about the Silhouette and the Cricut. I’m a big fan of the Teensy USB development board. It’s a tiny little programmable chip that comes with all the pins that you need to solder. You can get it with pin outs to plug it into an existing circuit board or you can just get it with through holes to put wires on it. I build a little continuous integration spec monitor, basically. I just soldered LEDs directly to it because it was internally limited. And you plug it into the USB port. And I wrote a little RSpec adapter so that when I run my unit tests, the little green light starts cycling each time a test passes. I get the green LEDs blink. And then if a spec is pending, the green lights go out and now it’s only going to blink in the yellow. And if a spec fails, then it goes to the red. And it runs that way until it finishes. And then red, yellow, or green LEDs light up and stay lit continuously to tell me what the output of that spec run was. And this is kind of fun because I can now stick this to my monitor and I can have Guard running without running any type of, like Growl on OS X or any of those things that pop up the message board to tell you your specs failed or passed or whatever. Because I’ve got this really bright light on a physical piece of hardware shining in my eyes and saying, “Oh your specs are running. Oh, your specs are failing” and that sort of thing. It’s a lot of fun. I will pick these next three very, very quickly. When you start building circuits eventually you’re going to want to just go buy a bunch of electronics stuff like resistors and diodes and capacitors and all that kind of stuff. And my three favorite websites for that are DigiKey, which is just a big super store. It’s like Costco for electronic parts. Another favorite is Mouser Electronics. That’s Mouser.com. But the first site you want to check when you want electronic parts is AllElectronics.com. And the reason why you want to check them first is they have, quite frequently they get second hand stuff in. So, at one point they got in just a truckload of old road construction signs, like the great big arrow blinking orange yellows, lane ends, merge left, that kind of stuff.
JAMES: That’s amazing.
DAVID: And they pulled all of the LEDs out of them and they basically say these are 10 bajillion candelas. Do not look directly into this LED.
DAVID: With your remaining eye, because they’re just so insanely bright. They don’t have them anymore because they don’t have any more of the signs. They sold all the parts. But if they’ve got them they’re cheaper there because they’re usually refurbed or second hand or salvaged parts. And then if they don’t have exactly what you need, then I’d go check DigiKey or Mouser. My current favorite site right now, for large scale tinkering a little bit higher up in the intelligence scale, when I say intelligence the complexity of the circuit that you’re building, how intelligent the computer you’re playing with is so you’re going to step up to Arduino level, is Adafruit.com. That’s A-D-A as in Lady Ada, Adafruit.com. I just love everything about Adafruit. The way they are trying to get electronics into the hands of consumers and into people that don’t know tons about electronics. I’ll put a link to this in the show notes, but go to Adafruit and go to their wearables. They have two circuit and they’re little circular circuit boards.
DAVID: One’s called the Flora and one’s called the Gemma. And they are sewable microcontrollers. So, they’re designed, they’re just these little pucks that you sew them right onto your jacket or onto your sneakers or whatever. And then they make other little, in the same form factor, little sewable discs that you can attach to clothing or whatever that have super bright pixels on them or a GPS receiver and transmitter. And they have their, they can communicate over, you stitch them on with conductive thread or you stitch them down and then you string a little bit of wire between them. And then they start communicating with each other over 800 megahertz radio frequency. So, you can chain 20 of these LEDs together and you don’t have to wire them up. You have to wire them up correctly but you don’t have to do this big complicated circuit. You just build this little daisy chain. And then you program the Flora and tell it, “Hey, there are 20 of these little LEDs. I want you to change their color in this wave pattern.” And the Flora knows how to do it. “Okay, there are 20 of your. Line up. Here’s your color, your color, your color, your color, and they each pass the signal down.” The technology behind it is mind-blowing. But what it gives you is this little tiny thing that’s an inch in diameter than you can stitch onto your sneakers and just twist three wires together and attach it to this puck and plug in a battery. And you’ve got an awesome circuit that you can wear and walk around in. It’s absolutely just amazing. So, I’ll put a link to that. I just love everything that Adafruit is doing right now. They’re just crazy awesome.
JULIA: A lot of those, you can take the microcontroller out if you want to wash it.
JULIA: So, it’s not just, you’re not just making your Tron suit. You can like, every day wear.
DAVID: They actually thought about what wearable means. That is so cool.
DAVID: That is so cool. And they’ve got dozens of projects, like skirts that light up with motion sensors and sneakers that light up when you walk, and a jacket that has a GPS in it that blinks when you’re at your destination. Just awesome stuff.
CHUCK: Are you done, Dave? Because I’m already poor enough.
DAVID: Did I just scoop everybody else’s picks? I certainly scooped everybody’s wallets, right? Yeah, be careful with Adafruit.
DAVID: Yeah, it’s not really commerce. It’s more like theft.
DAVID: Because you can’t not spend money when you go to this website. It’s awesome.
JAMES: That’s awesome.
DAVID: Those are my picks.
CHUCK: Awesome. James, did we get your picks?
JAMES: Not yet. This week is inspirational blog post week for me, I guess. I have three of them. First, the recent rounds of debates going on in the Ruby community, we touched on professionalism and what it is to be a professional developer. And that led Greg Brown, a friend of the show to take, rewrite one of Uncle Bob’s essays to show him how he thought it could be more professional. And Bob ended up largely agreeing with Greg and they have this cool discussion. It’s all in a gist. So, I’ll link to it. It’s amazing. You should go see it. Another blog post that really inspired me recently was a post about doing small projects. And when we say small, this person Darius is getting at about 73 a year. So, a couple a week. And it’s amazing. It’s very mind-blowing. He talked about the effects of working at that smaller scale and what he’s able to accomplish. And it was a very inspirational post for me. So, I think you should check it out if that sounds a little interesting to you. And finally, I read a third post about micromessaging. And it was basically about different ways to pass messages between two services. And it introduced me to some things I wasn’t even familiar with like JSON RPC. I didn’t realize it was a thing. And that’s kind of cool. And what I like about this blog post is Eric, the author, shows how to do the same example several different ways. So, passing the message over Redis, passing it over RabbitMQ, and passing it using simple HTTP. So, all of these blog posts were cool. If you’re into those kinds of things, you might enjoy them. That’s it for me.
JULIA: Mine are, if you want to follow up with some of the stuff that I’ve talked about, about NodeBots, I posted some articles about general trends in web developers getting into boards. And so, there are those. And I put up my tutorial if you want to start programming your Arduino in Python. And I do point to some tutorials on Adafruit. And if I could take a 5,000-foot view of the space so that listeners can have a better understanding of all the various players in the indie hardware movement, so I often point people to Adafruit very frequently, even beginners. Because Adafruit I found actually has some really great beginner tutorials. And Adafruit makes a lot of their own components and a lot of their own parts. So, you can buy these really fully-featured kits from them. And then once you graduate from Adafruit, you can then, I’ve noticed a lot of people then start buying from Mouser and DigiKey because if you’re buying a lot of components, it makes sense to buy them from some of those producers versus buying them in a larger kit. Because maybe you’ll need LEDs. So, then you graduate to that. And then you start to graduate to doing some of the stuff that we’ve got on Tindie, which is for much more advanced folks. So, you got the whole gamut. And there’s also a place called SparkFun Electronics.
DAVID: Oh, yeah.
JULIA: That I would heavily suggest, I would strongly suggest as another great place to buy components. SparkFun makes their own Arduino clones, because Arduino is open hardware. So, I’ve noticed a lot of schools that maybe can’t afford the $30 to $45 Arduino depending on what you’re buying. You can buy them in bulk from SparkFun for much, much cheaper. I’ve heard they’re just as good but they’re not the Arduino board. But they’re fabulous stuff. So, I’d really suggest going there. That’s another place that’s maybe on the more advanced, once you’ve got some momentum on your electronics projects. And I think that is all.
CHUCK: Awesome. Tons of cool stuff in this episode. So much fun.
JULIA: Well, thank you guys so much for having me. It was so much fun to talk about.
JAMES: Yeah. Thank you, Julia.
CHUCK: Thanks for coming. Do you want to talk for the next couple of hours? Because…
JULIA: I wish I could. I wish I could. I’ve got to deploy some code. [Laughs]
CHUCK: Oh, back to software land, huh?
JULIA: Exactly, exactly.
CHUCK: Alright. Well, thanks for coming. We really, really appreciate it.
JULIA: Oh, thank you guys so much for having me. Have a wonderful day.
JAMES: You too.
[This episode is sponsored by Codeship. Codeship is a hosted continuous deployment service that just works. Set up continuous integration in a few steps and automatically deploy when all your tests have passed. Codeship has great support for a lot of languages and test frameworks. It integrates with GitHub and Bitbucket and lets you deploy cloud services like Heroku, AWS, Nodejitsu, Google App Engine, or your own servers. Start with their free plan. Setup only takes three minutes. Codeship, continuous deployment made simple.]
[A special thanks to Honeybadger.io for sponsoring Ruby Rogues. They do exception monitoring, uptime, and performance metrics and are an active part of the Ruby community.]
[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.]
[Bandwidth for this segment is provided by CacheFly, the world’s fastest CDN. Deliver your content fast with CacheFly. Visit CacheFly.com to learn more.]
[Would you like to join a conversation with the Rogues and their guests? Want to support the show? We have a forum that allows you to join the conversation and support the show at the same time. You can sign up at RubyRogues.com/Parley.]