141 RR Teaching Kids with Ron Evans

by Charles Max Wood on January 29, 2014

Get your Ruby Rogues T-Shirt or hoodie!! Ladies’ sizes available as well!

Panel

Discussion

02:24 – Ron Evans Introduction

03:21 – Programmers Podcast Carnival

04:48 – Teaching Kids to Program

14:51 – Introducing Kids to Programming

19:31 – The Value of Programming

28:30 – Organizing Programs to Teach Kids and Getting Involved

42:27 – STEM vs STEAM

46:28 – Family Life: Household Programming Activities

  • Hackers vs Crackers/Black Hats

52:56 – Age, Curriculum, and Competition

01:10:25 – Females and Programming

01:17:45 – Resources

01:26:37 – Robotics

Picks

Book Club

Ruby Under a Microscope by Pat Shaughnessy! We will be interviewing Pat on February 27, 2014. The episode will air on March 6th, 2014. No Starch was kind enough to provide this coupon code your listeners can use to get a discount for Ruby Under a Microscope. Use the coupon code ROGUE for 40% off! (Coupon expires April 1, 2014.)

Next Week

Depression with Greg Baugues

Transcript

RON:  I’ve changed hotels due to a lack of Wi-Fi while my wife glared at me the entire time.

[Laughter]

[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] 

[This podcast is sponsored by New Relic. To track and optimize your application performance, go to RubyRogues.com/NewRelic.]

[This episode is sponsored by Code Climate. Raise the visibility of quality within your team with Code Climate and start shipping better code faster. Try it free at RubyRogues.com/CodeClimate.]

[This episode is sponsored by SendGrid, the leader in transactional email and email deliverability. SendGrid helps eliminate the cost and complexity of owning and maintaining your own email infrastructure by handling ISP monitoring, DKIM, SPF, feedback loops, whitelabeling, link customization and more. If you’d rather focus on your business than on scaling your email infrastructure, then visit www.SendGrid.com.]

CHUCK:  Hey everybody and welcome to episode 141 of the Ruby Rogues Podcast. This week on our panel, we have David Brady.

DAVID:  I am emotionally 12 years old.

CHUCK:  James Edward Gray.

JAMES:  I can’t beat that. Good morning. [Chuckles]

CHUCK:  Josh Susser.

JOSH:  Hey, I made it! Good morning.

CHUCK:  I’m Charles Max Wood from DevChat.TV. I just want to let you know that I updated the details on Rails Ramp Up. So, if you’re looking to learn Ruby on Rails, go check it out, RailsRampUp.com. We also have a special guest and that is Ron Evans.

RON:  Hi everybody. Glad to be here.

JAMES:  I don’t think the call thing works though because I can only see one eye of Ron. He doesn’t have a whole face. We didn’t get the whole Ron.

DAVID:  Take the ring off, James! He can see you!

[Laughter]

CHUCK:  I was going to say.

RON:  It is a blue eye, not a red eye. Thank you very much.

[Laughter]

CHUCK:  The fire!

RON:  Although it is the eye of Ron, which is very close to Sauron.

CHUCK:  Yeah.

[Laughter]

DAVID:  Sauron has heterochromia?

CHUCK:  Yeah.

RON:  Exactly.

CHUCK:  It’s half of Sauron.

RON:  He just realized, oh whoops, one of the RGB cables is not plugged in. Oh no!

[Laughter]

RON:  We’re doomed.

DAVID:  Seven of our listeners are googling heterochromia.

CHUCK:  [Laughs]

DAVID:  Here’s a hint: do an image search. It’ll be much cooler.

[Laughter]

JAMES:  The others are not googling because you said it.

CHUCK:  [Laughs]

DAVID:  Yeah, that’s true. It’s safe for work and safe for lunch.

[Laughter]

JOSH:  So, hey Ron, welcome to the show.

CHUCK:  Do you want to introduce yourself, Ron?

RON:  Sure. I am the ring leader of The Hybrid Group. We’re a software development company based in Los Angeles, California, home of the flying space robots. If you’re a fan of either the Jet Propulsion Laboratory or SpaceX, you know I’m not making this up. So, service announcement: yes we are a software development consultancy so if you want great software development, give us a try. HybridGroup.com. Alright, service announcement out of the way…

DAVID:  Wait, you’re with SpaceX?

RON:  No, they’re just the neighbors.

DAVID:  Oh, okay, okay. Because I was going to say, “Are you teaching children to program so that you can launch them into space because they’re little?”

[Laughter]

RON:  Well, that would be somewhat ideal.

DAVID:  That’s brilliant!

JAMES:  How come NASA never thought of that? The shuttle could be significantly smaller.

RON:  They did. It’s called space camp.

JAMES:  That’s true. That’s true.

CHUCK:  Yeah, I’m going to derail us back to the topic at hand.

[Laughter]

CHUCK:  So, this episode is actually part of a podcast.

JAMES:  Wait, we have a topic?

CHUCK:  Yeah, it’s we’re teaching kids to program and it’s part of this podcast carnival that was organized by Zach Kessin from the Mostly Erlang podcast.

JAMES:  Oh, cool.

CHUCK:  And there are six other shows that are also doing the same thing. They are talking about it this week, so if you subscribe to them or just go pick up the episode, you can see that. They’re all listed at PodcastCarnival.com. And really quickly it’s Mostly Erlang, us, Giant Robots Smashing Into Other Giant Robots, The Changelog, Herding Code, and NodeUp. So, if you want to go check out any of those shows, we’ll put links to the show notes as well as to the carnival. So, you can go check that out and get six podcasts where we’re all talking about teaching kids to program.

JAMES:  It’s amazing what I can learn by listening to my own podcast.

JOSH:  [Laughs] I get that a lot.

[Laughter]

CHUCK:  Oh, I do that sometimes, where I hear myself say something and I’m like, “I don’t think I knew that.”

[Laughter]

JAMES:  I didn’t know everything you just said and I’m super excited about it.

DAVID:  When did I know that?

[Laughter]

CHUCK:  Apparently when we recorded.

RON:  Yeah, that’s very similar when you google some trouble you’re running into with programming and you find your own blog post from last year as the first result.

DAVID:  Yes.

JAMES:  Right. Yup.

RON:  That’s when you know you are genuinely screwed.

[Laughter]

JOSH:  That’s when the internet became surreal for me.

DAVID:  Yes.

CHUCK:  If I can’t help me, nobody can.

[Laughter]

DAVID:  Yup.

JAMES:  Alright, well let’s talk about kids.

JOSH:  Yeah. So Ron, you’ve been doing stuff with teaching kids to program for a while.

RON:  Yes, I actually invented teaching kids and…

[Laughter]

JOSH:  Programming.

JAMES:  And the internet and stuff like that, right?

RON:  Yeah, exactly. I get that strangely. We all learn from somebody. So obviously, there was someone teaching kids programming, or at least humans programming, or else we wouldn’t be programming now. Q.E.D. But yeah, I…

JOSH:  I think that infinite recursion runs out of team at Alan Turing or something like that.

RON:  Or Alan Kay perhaps. But yes.

JOSH:  [Chuckles]

RON:  So, I actually have been involved in education in different forms informally, not as a professional pedagogue which I’ll get into hopefully a little while later in our conversation. But what started the recent serious labors of love that we have done at Hybrid Group with a little project called KidsRuby that a few people have heard of, I was actually inspired just as far as KidsRuby. So, KidsRuby is an easy way for kids to learn to program in what is probably the most beautiful programming language, Ruby. What inspired it was I saw a giant need as far as making it easy for kids to get started. You know, you say, “Oh I want to teach my kid to program so I give him a brand new shiny MacBook Pro.” And first thing that I say is, “Hey kid, you got to download Xcode.” And they’re like, “Huh?” Right?

[Laughter]

RON:  You know, that’s a lot different from the machines that many of us and certainly my generation, we learned from things like the Commodore 64 or the Apple II. You just turned it on and there was your basic prompt. You were immediately coding. You couldn’t do anything without coding. And even arguably the same with DOS, certainly the same with Bash or many other shells. You’re immediately in a kind of programming environment as opposed to what is both the good and the bad side of the legacy of Doug Engelbart’s work. Everything has a menu now and you can find everything.

But it also made it possible for us to be cavemen-esque in our use of technology where we just point and groan and it does its thing, which is fine if we’re going to be consumers of information. But if we are going to be producers of it, we have to have a different way of thinking. So, looking around at the other things that were out there, and certainly there was nothing outside of Hackety Hack which, fantastic project by the way. Originally I was driving to the Los Angeles Ruby meetup a couple of years ago. And I got stuck in very, very bad Los Angeles traffic. Legendary LA traffic. It actually took an hour longer to get to my destination. So, I was left alone for an entire hour in my car to think, alone. It’s very dangerous.

DAVID:  About traffic.

RON:  Well my mind drifted out of traffic.

DAVID:  Okay.

RON:  You know, away from the pain. So, it’s a different sort of pain. The previous year before that at the Los Angeles Ruby conference which is coming up again this year, LARubyConf.com. It’s a great conference. So, one of the speakers at this particular conference was Sarah Allen. And Sarah May was also there. If you’re not familiar with these two programmers, they are the original founders of RailsBridge. Sarah Allen is an adviser to the president and Sarah Mei has been a keynote speaker. And the two of them had been very involved in not only outreach to teach more women programming, but they’ve also done some work involved with teaching kids programming.

JOSH:  Sarah Allen actually went off to be a fellow at the Smithsonian, right? So, her role in the administration is all about education, which is pretty awesome.

JAMES:  Woah.

JOSH:  So, please continue.

RON:  So, we had a dinner after the conference, because many of us, we’re very enthused about teaching kids programing or doing something. So, I’m not getting involved. We vow to start thinking about getting ready to make a plan. So a whole year had passed, approximately, when I’m sitting there in my car on traffic. And I’m thinking over the last year, I’ve done nothing.

JAMES:  [inaudible] traffic for a year?

RON:  Over this last year, since this we have this great dinner and conversation. And I was all enthused. I myself have not done anything at all. You know, time passed, got busy, whatever excuses I had created for myself. In this long, boring hour of LA traffic of introspection, I decided to change the topic of the talk I was about to go give at the LA Ruby meetup. Gave a spontaneous talk when I got there about why we need to teach kids programming and gave it a name: KidsRuby, which was at the time really nothing more than, “We’re going to go in and we’re going to,” at the time Y had disappeared and his projects were languishing. And we’re old and crufty anyway even at the time. Y’s code was always inspirational, not really production-grade, as he himself had said. This is an idea of a thing you should do, not necessarily what you should actually do.

So it started out, working, just fork Hackety Hack and we’re going to fix it and add a bunch of stuff to it and translate it. We’re going to turn it into a much better thing. Then I stared at Y’s code for a couple of days and I realized I couldn’t actually work on that code while in the state of mind necessary to understand all that code perhaps. It wasn’t the way I thought about writing code.

JOSH:  So, it sounds like Y’s code is a transcendental experience.

JAMES:  Awesome.

RON:  Oh, it is self-referential.

JOSH:  [Chuckles]

RON:  Certainly. So, after staring at this code for a while, I realized, “Let’s go back to first principles. What are we trying to do?” It’s really a simple idea and drawing on a lot of the same conceptual influences as Bret Victor does with Light Table, which actually came out around the same time. So, I can’t say one was influenced by the other at all. It was more that we were influenced by the same underlying ideas, which was a better way to look at code. A simpler way to look at code which was the code is on the left, the results are on the right. You enter in the code, you click on the run button, and you see what happens. That’s it. There is no three. Three is what you make of it. Three is what you do. Three is the space into which you insert your own ideas. And that was all it is. It was a very deceptively simple idea like playing the conga drum.

DAVID:  That is so [meta].

RON:  It looks really easy until you actually try to do it. Then you realize there’s infinite depth to it.

JAMES:  Right.

RON:  So, a few of us at Hybrid Group got excited about this idea. And every day is a hackathon at Hybrid Group. So, we got started along with a couple of our other friends in the community. And then got our first version of KidsRuby ready to do our first KidsRuby class at the, again LA Ruby Conf. I think it was 2011. And it was very, very challenging. It didn’t work on anything but Ubuntu USB drive that we created. So, we had to boot everybody into that. It didn’t work on Windows. It didn’t work on the Mac. It turns out it’s a lot harder to install a new Ruby without installing Xcode and a bunch of compilation tools. There’s a significant bar to entry…

JAMES:  Yes.

RON:  That Yehuda Katz did some work on and a number of other people. Yehuda actually helped with KidsRuby later, as did many people in the Ruby community where I drafted them basically like, “Hey I’ve got this problem. Sit down and pair with me right now because I got a class in two days. And it’s Ruby Conf and I know you don’t give a talk for three hours.” [Chuckles] That was a couple of years later.

JAMES:  That’s awesome.

RON:  Yeah. I got to pair with Yehuda, with Aaron Patterson, with [Jim Wyrick], with a bunch of people. I can’t even remember everyone. If I’ve missed your name, I’m sorry. It was the greatest Ruby Conf of my life. I missed every session. All I did was pair with various people…

[Laughter]

RON:  To deal with various issues I had with compilation of serialport gem on Windows or OS X or who knows what, basically everything in time for our kids’ class that we were teaching on the Sunday afterwards. But it was the greatest Ruby Conf of my life, getting to pair with all these geniuses. It was an immensely satisfying and humbling experience, as all of this has been.

[Chuckles]

JOSH:  So, it’s time for Hallway Conf.

RON:  Yeah, exactly. A Hallway track is always the best. Just because you could see the talks…

JAMES:  So, I want to talk about a lot of things you’ve touched on there.

JOSH:  Yeah, so I want to say too that I have a nephew who’s in high school and a niece who’s soon to be in high school and they’re both really interested in learning to program. And so, I’m here to represent teenage kids and find out about that, because I want to be guiding them in that direction.

RON:  Lucky you’re not their parents or else they wouldn’t listen to you at all.

[Laughter]

CHUCK:  I was actually going to say, those sound like teenagers. I guess when you’re as old as Josh…

JOSH:  Oh yeah, yeah.

CHUCK:  The definition of kid changes, yeah.

[Laughter]

JOSH:  Hey, you know I look at people in their 20’s and they’re all kids to me now.

[Laughter]

RON:  We’re all kids here. But actually, that was perhaps one failing of naming it KidsRuby, was teenagers are like, “We’re not kids.”

JAMES:  [Laughs]

RON:  Oh, should we call it TeenRuby? No, that’s not cool. We’re just [inaudible].

CHUCK:  Yeah, because then it would know everything.

DAVID:  No, it needs vampires that sparkle.

[Laughter]

JOSH:  EmoRuby.

JAMES:  EmoRuby?

DAVID:  EmoRuby. [Laughs]

JAMES:  Ron made a lot of good points there, I think. And there are a ton of things I would like to say. But I’ll start with just this one. While computers have definitely moved to the point where yeah, I can’t even imagine thinking about installing Ruby on a new Mac as part of a ramp up. Although hey, Maverick ships with a modern Ruby, which is cool. But also I think in some ways things have gotten easier.

For example, I got my little girl for Christmas the game Robot Turtles. And if you haven’t seen this, it was a Kickstarter project but it’s beyond that now and it’s a board game. And you set up these little scenarios with this robot turtle. Ha, get it, robot turtle? And a gem that the robot’s trying to get to and there are these walls and there’s ice and lasers. And it’s a very simple game, so much that the basic concepts start basically with move forward, turn left, turn right, and that’s about it. And that’s good, because my little girl’s just three and a half and that’s right about her speed so far. And then as they get older, they ramp up and you add more and more of these concepts to get them into it.

And the idea is that you’re starting to teach some basic programming-like concepts. You know, a series of steps that leads to some outcome. It even has kind of functions that come in sort of later in the cycle. But I think it’s interesting to remember that not all teaching of programming has to happen at a keyboard or things like that. And we have some good resources for starting to get those ideas or help people think that way before we ever get there. Like Robot Turtles, there’s also the GoldieBlox books which are more engineering focused but they have kids read this book and construct little incredible machine-like contraptions and stuff.

RON:  Robot Turtles is pretty great. It is a board game. And again, it’s nothing original, nothing new there at all. It’s tremendously well put together, but there have been actually some great physical games using kids as elements of a processor where kids are themselves data elements and one kid’s the CPU and other kids are memory. And there’s been a bunch of great games created that are out there, have been for a number of years.

I love Robot Turtles because it puts together a bunch of those concepts and it makes it a nice label and a nice package. And in our modern era, if we don’t have a nice label and packaging, it’s very hard for people to rally around them. I think that’s a big part of the reason why we’re seeing that with Kickstarter. But to its credit, Robot Turtles is a physical product to teach the concepts of computing at a young age.

I saw another really cool project just recently from Linda Liukas of Rails Girls fame, Hello Ruby, which is actually a book. A new Kickstarter just came out. Check that out. It looks very cool as well. And again, I think it’s a very legitimate use of Kickstarter in this case of saying, “Hey there are going to be physical production costs to actually create this physical product,” and not just saying, “If you don’t fund this, I’m not going to work on this open source thing,” which is certainly the danger of Kickstarter.

Perhaps that’s a good time to meander over to the topic of should we really be trying to use the teaching of the next generation as a way to make money? Should that be a profit? Or is that the shared infrastructure of the 21st century? Is that something that’s a commons, that’s a collective that really none of us own? But if that’s the case, how do we actually invest into it sufficiently to really give it the attention it needs?

JAMES:  Yeah. That’s what it comes down to for me, I think, things like the Kickstarter projects. And even if you have classes that parents have to sign up for and stuff like that to bring their kids or whatever, I don’t view it so much as a charging for providing the service or anything like that. It’s that these things take lots of energy and effort. It’s like you talked about, how much energy you put into getting KidsRuby functional and stuff. And people, it’s like, “Well I can do that or I can work on these other things,” and it encourages people to work on that and make it better. And I think that’s a good thing overall.

RON:  Well that brings up a couple of great points that I think would be great for us to talk about. One of them is this idea of the intrinsic value of programming. Like, “Wow we should teach everyone to program!” Well, why? Why should we teach everyone to program?

DAVID:  [Chuckles]

RON:  [Inaudible] Specifically, well actually, Seymour Papert wrote really articulately on this as a guy who’s been lionized by all of the different, those who’ve come after, certainly. And Bret Victor blogged about this I think a couple of months ago. Should we really teach programming to everyone? Papert was kind of astounded at the conclusion that people took that somehow learning to program improved your brain intrinsically. Papert did not have that idea at all. Papert’s concept was more programming is a transport mechanism for ideas. It is not a thing in and of itself to teach. It’s not like going to the gym and if I do lifts that my muscles get bigger. It’s that if I have to learn how to dance in order to perform a dance routine. But the value of it is not the practice of it per se, it’s the end result.

So, a lot of what has been this popularization of the let’s learn to code movement, which I certainly respect and appreciate. Thank you very much Code.org for sending so much traffic to KidsRuby for example and doing things like the Hour of Code, I think are very good in the sense of, “Okay we’ve raised visibility.” But we have to also, visibility to what? There are a lot of different reasons why one perhaps might wish to learn to code. And a quote from the great B.B. King, the blues musician, he said there were only three reasons to learn to play music, and I’ve always tried to apply this to coding, it’s either to have some fun, make some money, or to learn something. And if you were doing it for any other reason, you should put your guitar down. Or in this case the keyboard.

[Chuckles]

RON:  Yeah.

JOSH:  Now like I said, I got a nephew. He’s 16 now. And he’s wondering what he’s going to do with his life. He’s at that age. And I said learn to program, because when you’re an adult, in 10 or 20 years, pretty much every professional job is going to include some sort of software literacy in the job requirements. Doing business metrics reporting, the people who can program are going to have an advantage over the people who can’t because they can build their own reports, learn exactly what they need to learn.

RON:  Yes, yes, exactly that. And so, that’s my problem with charging people for this, is we’re really charging them for access to oxygen.

[Laughter]

CHUCK:  Nice.

JAMES:  You know, it could be worse. We could be charging them for Wi-Fi, right?

RON:  Right.

[Laughter]

DAVID:  Oh.

RON:  Yeah, exactly. Well that is in fact an issue.

JAMES:  It is an issue. Some places have actually declared it to be a right of the citizens and stuff like that.

RON:  Whereas others, they’ve shut down the library hours and the public library was one of the few places where people who are not of means, like aren’t we all? We’re spoiled brats in the technology industry. We are. Talk about first-world problems and just the fact that that meme even exists just pretty much spells it out. “We’re so far above Maslow’s pyramid that we’re looking down on it going oh great view from up here. Let me get a picture from my smartphone.”

[Laughter]

DAVID:  Yeah.

RON:  And it’s easy to forget this. We do infrequent free all-day programming camps for kids called KidsCodeCamp. And we’re actually going to be doing the next one coming up at the SCALE conference, which is the Southern California Linux Expo, in its 12th year. There’s actually going to be two days of tracks that are oriented around kids and young coders and new people. But what was the point of this? Oh yeah, SCALE, KidsCodeCamp, right.

So, we did one in Baltimore at RailsConf. And a whole busload of kids was brought in from Baltimore’s Digital Harbor High School. So, Digital Harbor High School is a public high school in Baltimore which is accessible to any kid in the city via a lottery. So, there’s no other prerequisite for entering. It’s strictly based on available spots and a lottery. So, grades are not taken into account. Nothing else is taken into account. It’s the one and only school of its kind in Baltimore. It’s like The Wire with white MacBooks given out to each kid.

And I’m not exaggerating. Working with these kids for one day was deeply humbling. I have goose bumps right now, actually. You know, these are kids who come from deeply impoverished socioeconomic backgrounds. They’re kids and families of which frequently one of more family members have been incarcerated or are incarcerated. They came to this class starving for knowledge. We had a box of books that was kindly donated by O’Reilly. Every single one of these books was gone. And these kids, they weren’t grabbing gratuitously. Their questions were hyper-focused. They were, “How do I build an app and get it on the app store so I can charge for it?”

DAVID:  Yup.

RON:  How can I build a website that’s got an ecommerce shopping cart? Because their cousins and their siblings are out standing on the street corner washing a car window trying to pick up a few spare dollars. This is their same entrepreneurial spirit, not in the sense of I want to gratify myself with creating the next dog-walking app, but how am I going to survive (in the most literal sense)?

JAMES:  Right.

RON:  So seeing this, it was an enormous reality check for anybody who was forgetting that we are intensely fortunate to work in the industry we do and with the tools that we do and live the lifestyles that we do. So, we should be giving back. We should be making the time. Public service is the price that we should be paying for the intense level of good fortune. I don’t want to use the word privilege because I don’t mean it in the social justice context, but I mean how greatly fortunate we are to be lucky enough to have the advantages that we do, and the obligation that we have to then give back. Because it’s not like, “Oh it’d be nice,” but really, “How did we get here?” In my case, it was a public education system.

And on that, for a minute just to riff, I think that there are many different ways to educate kids. You know, I understand people’s sentiments behind homeschooling or private schools or charter schools. And I think that that’s great for your own kids if you choose to do that, absolutely. But I think that the rest of the community is missing out significantly just by the presence of your children in this group. And that where we start to resemble the group that we’re around, well we need to take a true leadership position by actually walking the talk and not just saying, “Oh I think we’d like to do that,” and go back to Baltimore for a minute. My friend Dave Troy, let’s give a shout-out to, if you don’t know Dave…

JOSH:  I actually do.

RON:  Dave’s a great guy.

JOSH:  Yeah, he’s awesome.

RON:  He’s quite brilliant. And also, he moved from the suburbs back into metropolitan Baltimore in order to really walk the talk of his beliefs that we need to be good citizens by actually engaging directly with the communities in which we live, not just saying we’re going to. I know it’s really easy to throw a few bucks at somebody via Kickstarter and feel like you’ve done something. But that’s not enough, especially the kind of money that we all make as software developers. That’s the easy way out. And to just say, “Oh somebody else is going to take care of this problem so I can go feel good about myself,” well I’m glad that it’s a contribution. But we can really go a lot further.

People have given us some contributions for KidsRuby and we’ve spent a lot more than we’ve taken in just because when we hold these KidsCodeCamps, we’re giving them free lunch, we’re giving them USB drives with open source software, we’re donating our time, we’re providing a location, we’re giving them free t-shirts, we’re basically paying these kids to come to our programming camp.

JOSH:  Awesome. Where do I sign up?

[Laughter]

CHUCK:  So, I want to ask a question about organizing something like this. How do you find a venue and the resources to do this if you’re not, I’m assuming Hybrid Group makes enough to pay for all of that, but I’m personally not in a position to do that so how would I go about organizing an event like this?

RON:  The KidsCodeCamp concept, which is like a programming circus coming to town.

JAMES:  [Laughs] I love it.

[Chuckles]

RON:  It’s a one-day thing. We’ve collocated with key conferences so it’s been relatively easy to just dovetail it off of the organizers. Like, “Hey let’s do a free programming thing for kids.” If you say no to that, there will be a mob of angry humans at your door just saying, “Please reconsider.” [Chuckles] “Quit,” or if that’s how they put it. I doubt. But everyone says yes. And then there’s lots of companies that are eager to throw into the [inaudible] of handling some expenses, so it’s really a matter of organizing them.

But that’s just one thing. We come to town. If we’re doing it at a Rails Conf or a SCALE or whatever, and get a bunch of kids excited, we do community outreach so that we get kids there who are not just kids of the programmers. Because those are great kids too, but we really want to get out beyond our own little community, reaching out to other more marginalized communities, which might not be one based on race or socioeconomic class. It’s just being a geek is still not cool.

JAMES:  [Laughs]

RON:  Certainly not in the USA.

JAMES:  Speak for yourself. [Laughs]

RON:  Well I think it’s cool.

DAVID:  Yeah.

RON:  We think it’s cool. But people say, “Yeah I know what geeks are like. I’ve seen The Big Bang Theory.” I’m like, “You people are making fun of us there.”

JAMES:  [Laughs] Right, yeah.

RON:  [Laughs] You know, that does not portray us in the light that we see ourselves.

JAMES:  [Laughs]

DAVID:  I think it’s perfectly accurate. Bazinga!

[Laughter]

RON:  Yeah, exactly.

CHUCK:  Yeah. So, dovetailing off of a conference, I guess that makes sense as far as…

RON:  Yeah, let me just finish that thought before we go off. So, KidsCodeCamp is cool. That’s great. But it’s just a one-day thing. So, what then? The circus rides off into the sunset and the kids are like, “Great.” You know, it’s a Bridge to Terabithia scenario. You left me here and now what do I do? And that is where other groups have risen up from this same movement of which we are just a part. Going back to the idea we didn’t invent kids or programming or teaching kids to program.

And there are some great organizations, CoderDojo being a particular favorite of mine for a couple of reasons. CoderDojo took the same concept of what we have tried to do with KidsCodeCamp but made it a lot more structured. We had this idea, “Oh we want a cookbook so that somebody who wants to do this has the recipes for actually organizing it.” Well CoderDojo took it further and, “Great. We’re going to actually set up a place with a regular weekly series of events,” more like the computer clubs of yore. Whereas KidsCodeCamp was about, “Let’s get you excited about the idea,” CoderDojo then fills in that gap of, “Okay now what are we all going to do about it on a regular basis?” So, I very much look to them.

And in terms of the mass marketing of programming as a thing, Code.org has done a lot better job. Again, our focus was, “Let’s build some tools and actually go out and do it at a very grassroots level.” They said, “Let’s recognize the way that mass media works on the internet and do a cool video to raise awareness and raise a bunch of money,” which worked really, really well. And these are very complementary strategies, those of us who are doing the projects that are then feeding into these movements. We aren’t trying to start a movement. I don’t think anybody goes to try to start a movement. If they do, they probably fail. We’re just riding off of those same waves.

So, in terms of what the resources are to do it yourself, there are a lot of them now. And I’ve mentioned just a couple of them. And that doesn’t even include great things. I’ll give a shout-out to The Pasadena Foundation run by my friend Erik Dreyer. So Pasadena, California, home of the Jet Propulsion Laboratory, they have an amazing non-profit organization called The Pasadena Foundation. And The Pasadena Foundation actually raised money and created a curriculum to be used in the public schools to teach programming and robotics, so third-period robotics class starting in middle school.

JAMES:  That’s amazing.

RON:  I want to go back.

JAMES:  No kidding.

RON:  Right? Seriously.

DAVID:  Yeah.

RON:  And it works really well for a couple of reasons. One of them is that it’s just a regular part of school. It takes away the whole self-selection bias that takes place with those who are courageous enough to identify as geek, which is not cool at best and can actually get you physical sanctions at worst.

JOSH:  Can we just call it bullying?

[Laughter]

RON:  Yeah. There’s a lot. Bullying goes on, for any reason at all, and anything that can identify a marginalized minority is going to be used as a pretext for bullying. It happens. And especially when that person has something you don’t, then envy creates a particularly vicious kind of bullying. And that’s a different problem. But we can’t talk about teaching kids without thinking about that as a part of the context of what they’re dealing with. It’s easy for the kids in Palo Alto who all have multiple computers and it’s all really cool and they all go to school where all the cool kids have gone to college.

And then you go to East Palo Alto and things are a lot different. They’re a lot different. If you have a nice computer, someone’s going to beat you up and take it away from you. And there’s nothing you could do about it. And if you try to go to the authorities, then there’s going to be even worse bullying. So, this is the reality that you’re looking at and this is the environment we have to work with and to try to do something about it. It’s easy to throw our hands up and to say, “Oh the future is in trouble. We can’t do anything. I give up.” But that’s not really true. We’re going to have to live in that future and even more those of us who have kids, we literally have skin in the game.

[Chuckles]

CHUCK:  Yeah, absolutely.

RON:  And it doesn’t matter if it’s your bio kids or adopted kids or they’re just kids you care about. They’re your kids in the sense that you’ve taken some responsibility for the outcome of their lives and actively doing something about it, so kudos to all these volunteers. And there’s been a group of people for many years who have dedicated their lives to studying how to better teach kids, devoted their lives to low-paying careers and sometimes dangerous environments in order to make that happen. They’re called teachers.

JAMES:  [Laughs]

CHUCK:  Yeah.

JAMES:  For sure.

RON:  So, why is it that we geeks with our frankly massive egos who like to think that we know everything thinking that we can do anything better under the sun, in particular like something intellectual like teaching? Oh well clearly we’re going to be better. We’re smarter than everyone. So of course, we’re going to be better at teaching, right? Ignoring the fact that, if you were such a good cook you should be in the kitchen as the chef and I should be at the table waiting for the food to come out. Oh yeah, right, people forget that.

Professional teachers have been struggling with less resources, more students per class, more of an emphasis on test taking and test preparation, less flexibility in curriculum. There have been a lot of factors and just a general hostility on the part of the people who would be the most likely to be able to help them. And then when the affluent take their kids out of the public system and put them into private schools or homeschooling then the system becomes even more impoverished. And we need to put resources into [gifted] education too. Well it needs to be part of the public system and not just our own discretionary, we all have a role to play. Industry, we have our role to play. The public sector has its role to play. And just the general public also has its role to play. And if all of these groups don’t get together on the same side, then you end up with the scenario we have now.

JOSH:  Yeah and there’s not agreement. Everybody doesn’t agree on what the right approaches are and where to put funding and all that. So yeah, those are big structural problems that need to get fixed. I like that you are out there and putting it out there and doing what you can as an individual and within your community.

JAMES:  Yeah.

JOSH:  So, that’s awesome. That’s inspiring. I want to know more about how. This conversation, I want it to be about how do we all do that? How we get out there and be individually involved and energizing our communities?

JAMES:  I want to add to that just a little bit. I read this great piece a year back or more called ‘Stop Stealing Dreams’ by Seth Godin I think. And it’s a really critical piece about what’s wrong with the schools and where they’re going wrong. And it’s the kind of thing that you read through it, it’s very detailed, and you expect to get to the end and see something like, “We got to nuke it and start over,” or, “Go homeschool everybody,” or whatever. You would expect that kind of ending from it.

But what really made me respect it was how he ends on yeah, the public schools got some problems and we got to figure out how to fix these problems or whatever, but we should be putting into the public system. You should be sending your kids. You should be taking them and their three friends from school to the museum or whatever. Basically the little things we can all do to help raise the overall level of everything and bring others with us. I think that’s

RON:  Wow James, thank you. You just hit two critical topics to me right there. And it was also kind of a partly response to Josh as well. Everybody wants to do some big thing that gets PR coverage on the usual websites. Why? Why do that? Why not just do something that’s a little more humble. It’s like I’m willing to donate money to people I don’t know but not give help to people I do.

JAMES:  [Laughs]

RON:  Because it’s embarrassing. It’s embarrassing for whom? [Laughs] It’s really embarrassing to need help and not get any. Start at your local level. If you have kids, start with your kids and their friends. If you don’t have kids, go find kids. There are kids everywhere. Just listen. Open the windows, stick your head out. Listen.

[Chuckles]

RON:  I’ll bet you there’s a school not too far from you unless you live in an intensely rural area. Go down to that school. Say, “Hello. I’d like to help,” but be like, once they’re like, “Oh my god, a unicorn just walked in. It’s a local community volunteer here to help who’s not trying to sell me something? What?” once they stop crying, they’ll be like, “Wow, where do you want to help? Because you can just pick a spot.” Every school’s website sucks.

[Chuckles]

CHUCK:  Yeah.

JOSH:  So there’s that, but there’s also we’re breeding a bunch of new startup millionaires out here in California. And so, there’s a ton of technically literate programmers who are driven to achieve who have, through their perseverance or good fortune, ended up with a lot of free time and income. And a lot them don’t have to work anymore. And I would love to see a lot of those people just go to schools and start teaching how to program.

JAMES:  Yeah.

RON:  Yes, and I’d like to see them do it at the grassroots level, not just, “I want to start yet another Code.org.”

JAMES:  Right.

RON:  “Because it satisfies my ego as a founder to have my name attached to another thing.” The most authentic kind of giving is the anonymous kind. That which we could have gone the route, we had investors saying we want to fun KidsRuby and we just looked at them like, “Well that’s really nice of you. But why don’t you just go make a donation to your local public school and they can invite us to come for free?” Because we’re just doing this and the only way that this can happen is if everybody does a little.

If we outsource it to a particular set of organizations no matter how well-intended, then we really lose the social anarchy which created open source in the first place. And that is really the thing we’re trying to teach, is this idea of maintaining the commons. Going around and picking up the trash at the park. Why? Because I saw trash at the park. We’re not waiting for the city to go and clean it all up and complain the whole time like, “What a bad job they do.”

But also, going back to something that James said about taking them to the museum, I would like to fight against this idea that we need to teach STEM, Science, Technology, Engineering and Math, and I’d like to introduce. We need to teach STEAM, the arts and the humanities are even more important. They’re actually way more important. Actually, I’m just going to stand out. The humanities are more important than engineering. Here is why: because if we do not know the reasons for which we do things, then either we do the wrong things or there are unintended consequences of our actions that we fail to consider. And I like to pick on…

JOSH:  Ron, that’s awesome. I think there’s a third point which is if we don’t understand the reasons that we do things, then if the things those reasons are based on change, then we don’t change what we’re doing. Like if you’re eating because you’re hungry and you don’t understand that you’re eating because you’re hungry and you stop being hungry, you keep eating, right?

JAMES:  Right.

JOSH:  Not good for you.

JAMES:  Yeah, yeah, yeah.

RON:  And also not knowing the difference between healthy food and unhealthy food and just trying to satisfy a craving to put something into your stomach versus some understanding about what kinds of food you should eat, quantities of food you should eat and such. There’s a lot to it. And so, part of it is the need for design in technology, which is the utility part of aesthetic. It’s not just aesthetics for their own sake.

But why are we anti-aesthetics for their own sake? Looking at the humanities as something that is only for the affluent, it does a great disservice to the arts. It also does a great disservice to the rest of humanity. Oscar Wilde, all of us are in the gutter, but some of us are looking at the stars. Well the stars are up there for all of us. We just have to know to look. And if we do not teach that to the younger generations, and then we decry them for their lack of taste, it’s because we never taught them any. We never expose them.

JAMES:  I think you’ve really got something there, too and to kind of tie it back in with the little things you can do, I think the problem we have with some of this is trying to bite off more than we can chew and underestimating how far the little things can go.

So for example, a buddy of mine and I, we get together once in a while. We’ve been working on our 3D printer and just putting it together on the kitchen table having some fun. And we’re about 90% of the way there now. We’ve got the whole thing going. You can watch the motors move and stuff. We’ve got a couple of minor things to fix and we’re going to be printing 3D objects. And you should see how our children react to this. They come in. They talk about the printer. They watch it move. They want to know how we’re doing and progress like that.

Along similar lines, we did a thing a few weekends back like, “Hey let’s get together and build a game in one day using Ruby Gosu so we can figure out what this Gosu thing is.” And we did. We got together and in a day we had a game, a functional game. And our kids were playing with it that night. And they see this happening and they know that people are able to do these things. And then obviously, our kids are very young. So, we do let them help out in areas where they can and stuff. But as they get older, when they want to help more, sure, you bet. Let’s do it. I think just the seeing that these kinds of things are possible and experiencing that changes the way you think about things. Then you have access to more possibilities. You believe in more things than the kids that don’t see that kind of stuff.

JOSH:  James, I wonder if there’s actually a growing place in family life for the children to get involved in household programming activities.

JAMES:  [Chuckles] Oh you mean like messing around with home automation and stuff like that?

JOSH:  Yeah. When I was a kid, I was five years old when my mom started me to cook. And I’ve been cooking my whole life and it’s an incredibly valuable life skill. I learned a lot of stuff from my parents, all sorts of stuff. I know how to clean and cook and keep up the house and install baseboards and all that stuff. And as programming becomes more and more present in our lives, it’s like we’re going to be programming our houses. When I was a kid, I had to program the VCR.

JAMES:  [Laughs] Right, yeah.

JOSH:  Off to a good start.

RON:  That’s a great point. And the maker movement and the mini maker movement, it’s not just about programming but it’s also about making physical things. We focus on electronics a lot, but it’s also knitting or sculpture. It’s the making of things, the creation act itself. But I worry a little bit about the closed nature of some of the more popular companies, Apple in particular. Apple is the new Microsoft in this way where there’s less user-serviceable anything or user-accessible anything.

JAMES:  Yeah.

RON:  Where things are actually locked away and you can’t even do it. You’re not even allowed to, in fact. You may be violating some law by doing so, inadvertently. So, it’s hard to teach.

JAMES:  Compared to say a ThinkPad where you buy it. It comes and it comes with the manual that explains how to take the whole dang thing apart.

RON:  Right. And if you go back to another hacker generation, one before ours, the car hackers, the hot rodders as they were known to each other and to us. They were dealing with supposed closed source but it was all actually open. All the bolts fit. Engine blocks could be put onto different transmissions and switched around. There was a large body of knowledge both official in the terms of manuals as well as unofficial in terms of tribal knowledge that was shared, groups of enthusiasts. There was a whole movement of experimenters. And that same kind of thinking is what created the tech industry as we know it, this ability to tinker. And a lot of the products that are being sold except outside of a very few that are in the open hardware movement, figuring out how to lock them down is first and foremost on the list of the investors priorities. So, I’m not sure how. That’s very antithetical to teaching a hacker generation.

There was an article in Forbes that was emblematic of exactly this problem, the title of which was something like, I think it was from November, October timeframe, it was “How do we teach kids to program without teaching them to be hackers?” And the way that my forehead was bulging, I was literally foaming at the mouth. I’m like, “We want to teach them to be hackers. You fools!”

JAMES:  [Chuckles] Yes, exactly.

RON:  That is exactly the point!

CHUCK:  [Chuckles]

RON:  In fact, I can’t wait to teach these kids to be hackers just so that they could subvert your dominant paradigm…

[Laughter]

RON:  And perhaps come up with a new one. Because if we actually want to progress as a society, we’re going to need some new ideas and some new thinking but it has to be built up off of the old ones. If we don’t even know what they are, then we just keep reinventing UNIX but not as well, to paraphrase.

DAVID:  Well, does Forbes understand that hacker means tinkerer or are they using the common perception of hacker means what we refer to as crackers or people that…

JAMES:  Black hats.

DAVID:  Yeah, black hats basically. I’m okay with people being a little afraid of black hats. And it sounds like you’re okay with having some kids be out there, be a little black hat so that they can subvert the paradigm and that sort of thing. Well, I definitely…

RON:  Well, let me rephrase that just to be clear.

DAVID:  Okay.

RON:  Kids, do not be crackers. Do not violate laws.

[Chuckles]

RON:  Do not go to jail. Do not take your parents with you to jail.

DAVID:  This episode of Ruby Rogues is provided entirely for educational purposes only.

[Laughter]

RON:  I will not bake you a cake with a file in it and send it to you. I’m sorry. [Laughs]

DAVID:  Some of the people who laughed at that joke have been on alt.2600 back when Usenet was around.

JAMES:  [Chuckles]

RON:  Yeah. And that is a thing, is the war on hackers, it’s posited, is the new war on drugs. It’s a place where the large resources of law enforcement to be allocated and the new villain, the new scary person. And so, we’re the heroes and the villains, right? On the one hand, the Zuckerberg characters are thrown out, which “Hey kids, grow up and be a Zuckerberg.” That is not how I want my kids to end up.

[Laughter]

RON:  Nothing against him as a person. I know very little about him. I’ve never met him so I can’t really weigh in on that. But the thing that, this representation of “Do whatever it takes to fight your way through competition in order to make a lot of money,” I think that’s teaching really the wrong lessons about why we should do these things. And it’s not building the kind of society that I would like to see, one where making money, it goes back to that Kickstarter idea. Why do we pay so much attention to projects that are funded on Kickstarter? Well it’s because people funded it on Kickstarter, the same reason we pay so much attention to companies that receive venture financing. Somebody said this was worth a bunch of money basically. And that’s a kind of social reinforcement.

Perhaps there are other kinds of social reinforcement that we could also use that might encourage other characteristics that are the ones that we want to see. Not, “I want to just make a bunch of money,” but perhaps, “I want to contribute to open source,” or, “I want to do something that makes the world significantly better and does not have an associated cost.”

CHUCK:  Yeah. I want to jump in here real quick. We’ve talked a lot about the reasons why and some of the ways to get involved. What I’m really interested in is at my kids’ school they have after school programs. And so, I want to get in and I want to help my kids but I want to help some of the other kids that are at the school. It’s pretty varied as far as income and background at the school. And so, some of these kids really won’t have the opportunity because their parents aren’t involved in technology or they’re not involved in ways where they would really have an opportunity to explore the thinking processes and learning that goes on with programming.

So, if I wanted to go in and set up a club, what would I need and what age levels are we looking at? Because my kids are in elementary school, so they’re not at the 12 and older group. My oldest is eight. My youngest is two. And so, when about are they at that age where they can start doing this?

RON:  Well, there are a lot of great resources. The two that immediately pop to mind, I mentioned CoderDojo which is very community organized, basically like setting up a computer club at your child’s school. The nice thing about that is it’s very open-ended. You could do whatever you want with it. They have different curriculums and different things.

But one that’s a lot older and a lot better structured as far as specifics are Lego FIRST Robotics, which if you’re not familiar, Lego has a huge educational division. And Lego FIRST Robotics is a robotic competition that starts out at the local, goes up to the regional, state, and then national levels. It takes place every year. One of the speakers at RobotsConf in December of last year was Wei Lau who is not an official representative of Lego FIRST Robotics. He just happens to be a caring contributor/participant who also happens to have led a couple of teams of high-schoolers to win the national championship.

So, a couple of things about it that are good: one is that here in America we care a lot more about sports than we do about pretty much anything else. And part of that is a love of competition. So, adding a competitive element to it encourages some kids to get excited. And we all love competition. That’s why we have hackathons. That’s why we have all these different kinds of events that are structured around winners and losers. Whether or not that’s the right message to be sending, it’s a thing that exists right now. And a lot of kids who might not otherwise be interested are going to get interested. And it’s a factor of the professional world. It’s a factor of the natural world. So, there’s no reason to run away from it.

But Lego FIRST Robotics is excellent. They start at very young levels where it’s not really competitive, where it’s just playing with the different Lego Mindstorms or even just playing with Legos for that matter. There have been some really interesting things done with Kanban Legos. And I have a little prototype design somewhere of teaching kids to program using Legos and Ruby actually. I just never Kickstarted it. But Lego FIRST Robotics actually gives out scholarships to kids to go to university to study robotics and computer science. Every year they have three to four million dollars of scholarships that are available, that are not applied for. Yeah, I said that. I’ll say it again. Every year, there are three to four millions of dollars in scholarships that are available and are not granted because they do not have enough applicants.

JAMES:  That’s insane.

DAVID:  Yup. Yeah.

RON:  I know. So, I would encourage it just for that alone, just to tap into all these resources that already exist. Between CoderDojo and Lego FIRST Robotics, if you run out of steam there, and again elementary school, we can start. Let’s talk about things that are free and open source just in terms of software for a second. Scratch. Scratch is a visual programming environment. Some people call it block-based programming, where instead of textual code, you’re dragging a flowchart-like system to write your programs. It’s a much easier way to teach very young programmers, especially those who lack the fine motor skills of typing.

In fact, there’s a version that has not come out yet, but it’s called Scratch Junior. Scratch Junior is the same concept of Scratch but even more simplified with some color choices that are easier for even younger kids to visualize. It’s intended to teach programming as young as kindergarten age. Recent research into the brain development of babies has shown that very, very young children have far greater capacity to understand than they’re actually able to express. Babies before they’re actually able to speak are able to understand a lot more language. They just don’t possess the necessary neurons to control a fairly complicated physiological process.

JOSH:  Right. And this is why a lot of parents are using sign language to communicate with their young children. James, you did that with your girl, right?

JAMES:  Yeah, we did actually. We started pretty much when she was born and you can get lots of great books about it, just simple things to do with them. And I think it was the pediatrician or something that told us, “Don’t get discouraged. You probably won’t see responses until about seven months or something.” Actually, our girl started signing about five doing just some simple symbols like milk and stuff that she picked up. And it was really cool, actually, being able to communicate with them earlier on some level.

JOSH:  The one thing I’ve heard that makes me a little concerned about computer skills for young children is that I’ve heard that keyboarding, typing on a keyboard, doesn’t create the same sort of hand-eye coordination that learning to write with a pencil or pen does. And that they’ve done a couple of studies and I don’t know who they is, but somebody’s done a couple of studies that show that if children grow up typing all the time, it actually doesn’t develop the parts of the brain that…

DAVID:  I think the sooner they learn what carpal tunnel feels like, the better off they’ll be.

[Laughter]

JAMES:  I think in response to that I would say I think we have this flaw where we think programming, computer, keyboard, these are horribly intertwined in our mind. But I don’t know that it has to be quite that way. Ron brought up Lego Mindstorms which is a very physical kind of programming. Obviously, there’s still some code playing with in different ways. But one of the things, I mentioned I’ve been working on a 3D printer, my ultimate goal is this: I’m building a 3D printer to be able to print parts to build a little robot on the ground with just three wheels probably. And the idea there is I want to mount a pen in the center and then I want to put a logo programming environment to talk to the robot so that they can drive the robot around and have it draw pictures basically on big pieces of paper and stuff like that. I would say don’t underestimate the value of the physical kinds of programming as well.

RON:  Well that’s actually one reason why, as many people know I’m pretty deeply involved in robotics. In fact, you guys have to invite me back on to talk about that, because that’s a whole other show [inaudible].

JAMES:  Agreed. Done.

CHUCK:  Yup. [Laughs]

RON:  But I will say on the subject, we introduced KidsRuby robot edition about one year ago where we added support for the Sphero robotic sphere. So, you could basically write some simple Ruby code to control a Sphero robot. And that was a revelation. The kids, their eyes were, there was not a lot of blinking going on. Let me just put it that way.

[Laughter]

RON:  There are only two reasons why kids actually want to learn to code. It’s to make games or to make robots. I guess there’s a third reason, which is to get their parents off their back, but that’s not a very good one.

DAVID:  I was going to say to make robots that play games, but sure. That could work too.

[Laughter]

JOSH:  In ten years, kids are going to be building robots and programming them to do their chores.

CHUCK:  Rogue robots, huh?

JOSH:  [Laughs]

DAVID:  Yeah.

JOSH:  Roguebots.

JAMES:  Then they are going to discover, just like the rest of us do, that the automation time takes way farther than doing the actual activity.

DAVID:  And they’ll do it anyway.

RON:  But it’s process, not product.

JAMES:  That’s right.

RON:  The journey is the reward. We’re trying to teach them how to do things. We don’t care about the actual results so much. It’s the struggle of trying to get it to work. That’s the fun part.

DAVID:  Yes.

JAMES:  Agreed.

RON:  And that’s what Papert was trying to say about programming, that programming is to teach ideas. It’s not to teach the idea of programming as a thing of itself. It’s as a carrier for concepts. Learning, “Oh I’m going to learn about the way that we can eliminate noise in a signal in order to reduce errors.” Wow, that’s a very interesting idea, that we can actually get rid of errors. How do we get rid of errors? I thought once an error committed, always shall it be. Well no, actually. And that goes to the fun concept, what James was saying. You’re building a 3D printer. I think that’s great.

I also don’t think it matters if you ever get it working. It’d be great if you did, and I’m sure you would like it to work very much. But the point of actually dogging it is more important than the end result. If you really need some 3D printing done, you’ll go find a 3D printer already set up ready to go. That’s not why you build a 3D printer. That’s not why you build anything. It’s for the sake of actually doing it. Otherwise, if you want to listen to a really great guitar solo, you can go buy a bunch of music. On the other hand, if you’re just trying to learn to play guitar you’re not expecting to blast off a great solo. But that’s not the point.

JOSH:  Are you saying that the journey is the reward?

[Chuckles]

RON:  I am saying the journey is the reward. And it’s supposed to be fun. This is a big problem with teaching kids anything, is if it’s not fun, then it sucks and it’s boring.

JAMES:  I actually did a pick on this show a few episodes back, but I’m going to go and bring it up here again. It was a blog article I really enjoyed about this dad who basically handed his, I think it was a son, but his child, his three-year-old a Linux laptop. And they just booted into a shell and the dad made simple shortcuts, like type blue and it’ll change the terminal blue, or type this and you can play this game, or whatever. And just started teaching him simply like that and kept working with him on up.

I think when they were around five he introduced startx to get into X windows and throw him into something like xmonad, which we think of as a killer geek tool to maximize our environment, have all these windows that we can control. But actually, it’s almost a minimal GUI and then it takes off a lot of the GUI trappings. And it concerns itself with things like where windows go and stuff like that. And it was just this really cool story about how these simple things, doing these simple things, can be a gentle on ramp to getting into stuff like this. It’s cool stuff.

DAVID:  Yeah.

RON:  Well Linux right there, just Linux. Also, that kid, flash-forward to that kid in ten years. 15 years old, has a gray beard down to their knees and knows more about bash than all of us collectively. How did this happen? Oh yeah, my dad gave me a Linux laptop when I was five.

DAVID:  Yeah.

RON:  And so, part of that is just the freedom and flexibility. But kids are smarter than we think. Kids are smarter than we are. All these artificial barriers. There was a great story, not last year but the previous year about, no I think it was last year, the One Laptop Per Child team, they were trying to work on their out of the box experience. So, they had a bunch of them that they’d put into cardboard boxes and brought to a remote village somewhere in Africa. Stop me if you’ve heard this story. But they gave out these boxes and they had disabled the camera because they didn’t have the software that they thought needed. There was some reason why they had disabled the camera. But they didn’t give out, there were no instruction manuals. There was nothing. They just gave out these XO laptops to these kids.

They came back in two months and they basically just figured out on their own with no documentation or anything exactly how they could get this camera to work. So these kids, little kids, hacked the camera into operation when they’ve really been disabled by these researchers and caught the researchers entirely by surprise because they were trying to experiment with something else. So, I don’t think we should underestimate the intelligence of any human being.

DAVID:  Yeah.

RON:  Regardless of their age.

JAMES:  I got to tell you this story. A dad said to me, not too long ago, a few weeks or maybe a few months ago, it was just one of the best things I ever heard, is like, “Yeah I blocked the internet for my daughter because,” blah, blah, blah, reason. But he said, “But I left the SSH port open to my Raspberry Pi,”

[Laughter]

JAMES:  which then you can get out to the rest of the internet. And he’s all, “If she figures that out, I’m totally cool with that.” [Chuckles]

DAVID:  Yeah.

RON:  What’s really funny is that dad thinks that he has controlled the only access to the internet for that person.

JAMES:  Right, right. Yeah, yeah, yeah.

[Laughter]

RON:  And those of us who have kids are laughing. We’re like, [Laughs]. No yeah, you had the door. Front door was locked. They just went out the back door with the other geek kid, crawled down the trellis.

[Laughter]

CHUCK:  Well, that’s one of the things that I seriously hope I encounter with my kids, is we’re going to put controls in place and I hope, I sincerely hope, that they find ways of circumventing those.

DAVID:  Yeah.

CHUCK:  And then we can sit down and we can say, “Okay well now that you’re persistent enough to get around it, we’re going to talk about how to be responsible with the processes that you’ve picked up and responsible with the internet.”

DAVID:  Do it in the opposite order, Chuck.

RON:  Yes, I was just going to say that.

DAVID:  Talk about responsibility first so that when they do crack it you can go, “Very good grasshopper. You have stolen the pebble from my hand. You can now leave the monastery.”

[Laughter]

RON:  Alright, true story. My oldest son really, really loves online gaming. And he discovered some big multi-user online game that’s very popular in Korea some years back. And then of course, it’s all through in-game purchases. So, I was working in my separate home office room and I see an email coming through PayPal that’s purchases points in this online game system. I’m like, “Oh that’s very weird. I didn’t purchase any points in this online game system. Huh. There’s only one person in this house I know who plays. It happens to be my older son.” So, I go in there and I say, “So, I just saw a purchase come through PayPal from this game,” and immediately his head just bows down, looks down. He’s staring at the ground like he’s completely caught. So, I give him the grilling and it turns out he shoulder-surfed my PayPal password.

[Laughter]

RON:  So, it was an incredibly conflicted moment. One the one hand I’m like, “He is a hacker like his father before him,” but oh man, lucky it wasn’t his friends’ parents’ PayPal.

JAMES:  I know, right?

[Laughter]

RON:  Or else it’s like, “Dad, dad.” I’m like, “Yeah, visiting hours are over, son. You got to go now.”

[Laughter]

JOSH:  Like that’s any different from slipping a few bucks out of your dad’s wallet while he’s watching the game.

JAMES:  Yeah, yeah.

CHUCK:  Well, you have to be smart enough not to get

RON:  Well yeah, it’s exactly the same except for the consequences.

JAMES:  Right.

DAVID:  Yeah, that would have been capital punishment in our house.

RON:  That would have been sufficient. But when there’s a three-letter acronym agency asking you questions, all of a sudden things are a lot different.

DAVID:  Yeah.

RON:  So, the things that we did as we were kids, I was really scared of the police when I was a kid. But it’s not for the reason you think.

[Laughter]

RON:  It’s because they might catch me and take me home and tell my mom what I had done.

JAMES:  [Laughs]

DAVID:  They did that to me! Bastards.

RON:  [Chuckles] I wasn’t scared of the police themselves. I was really scared that they would tell my mom and there was no way I was getting out of it because there was no way I was going to deny it in front of the police.

JAMES:  That’s hilarious.

[Laughter]

RON:  So, that’s a lot different than now. I don’t know if you’ve read the acceptable use at your kids’ elementary school, but basically they can fine you a very large sum of money if your kid does something at the school computer lab that they consider bad, of which it’s a fairly long list and kind of ambiguous.

JAMES:  I’ve broken almost every item on that list at my school. I’m pretty sure.

JOSH:  [Laughs] Yeah. Hey Ron, I got a little different question for you here. So, Paul Graham got a little bit of heat recently. He posted this [inaudible] about female founders and one of the things he said was, “I don’t know how to get girls interested in programming,” because he was talking about the pipeline and why aren’t there…

RON:  He just doesn’t know how to get girls.

[Laughter]

RON:  And what I mean by that specifically is he’s looking at everything in terms of himself and what’s going to satisfy him. You know, I read that article and like many of the [inaudible] on this topic, well finish your question first.

JOSH:  Yeah, let me focus my question here, which is in your experience, do you have to get girls interested in programming compared to boys?

JAMES:  [Laughs]

RON:  I thought Ron Jeffries, who I really respect, many of the voices of reason are older voices in our community. We should listen to them. He said we don’t need to get more women interested in programming. We need to get more people. If they happen to be women, great.

DAVID:  Yeah.

RON:  And I thought that was from one abstract point of view, that was right on. But from another point of view, it denies certain basic realities about the environment

DAVID:  Right. [Inaudible]

RON:  in which we’re operating in. Yeah, exactly.

JOSH:  Yeah.

RON:  One solution is to just throw up your hands and say, “Oh the future will all let it work out someday.” Well, it took 200 years to get the civil rights thing worked out for voting and even that’s still a little ambiguous in some places. So, I would like to think that we engineers can apply a little social engineering that if we want to get certain outcomes, there are a number of reasons why we want to get more women involved with programming. It has to do with why we want to get more humans involved with programming of different kinds as opposed to just the ones, people of color, transgender, people who are people not associated with programming at all, people who are very down on the programmer thing because that represented a sort of negative behavior. But on the other hand, it was a victory of sorts for geeks and it was a sad statement of we made it through the door so now we’re going to shoot down at everyone else. You’re supposed to shoot up, not down.

DAVID:  Yeah.

RON:  You’re supposed to aim your punches up, not down.

JAMES:  Nice.

RON:  So, I think we do have a responsibility to do something. I think there are things that we can do. I was sorry that the science of it though can’t be discussed. When Larry Summers gave his famous speech, which was probably very poorly delivered, I didn’t hear the actual speech but I read some excerpts from it, it did bring up the fact that there’s not a lot of good solid scientific research done on why we don’t have more women in programming. But guess what? There is some. So, what are some of it that we’ve learned?

Well guess what? One of the places they did some really good research was Carnegie Mellon, which I believe had the first robotics program at any university. I met a great female roboticist from Carnegie Mellon recently and that reminded me of the research that they had done, which was they asked this question: Why do we not have more female computer science graduates? Even of the ones who enter with the intentions of obtaining a degree, a larger number fail to matriculate versus their male counterparts.

JOSH:  Sure.

RON:  So, one of the things that they had learned was a lot. One of the factors was that those females who had previous experience doing programming of any kind had a much greater propensity to survive the rigors of an undergraduate computer science degree. And it didn’t matter so much the quantity of it. even going to something like a CoderDojo or even a one-day thing like a KidsCodeCamp was sometimes enough to help dispel the imposter syndrome of “I can’t do this” versus the “I’ve done this before so I must be able to do it now.”

So, there are things that we can do collectively. Paul’s bigger point was if we want, was I think something we didn’t even discuss, which was is this even such a good thing at all? Should we be trying to get everyone to start their own companies and become rich and make Paul money? Should we perhaps be trying to…

JOSH:  So, the answer to that is no. [Laughs]

RON:  Yeah.

JOSH:  So Ron, this is a lot of good stuff we’ve been talking about. I want to back up just a little bit because you haven’t actually answered the question that I asked, which is do you have to do extra work to make girls interested in programming? Are girls just as interested in programming as boys?

RON:  Well, I’ll give you a couple of personal examples. One of the first KidsCodeCamps that we did, there was a young programmer female. She had read about half of Chris Pine’s Learn to Program already before coming to the camp. And she was very, very impressive and also had really good posture as she held her hand up to ask questions perfectly behaved. I think that there are definitely physiological differences between male and female brains. We see consistently that girls have a lot greater capacity to sit still and focus. And they certainly have a lot more linguistic capability. I’ve seen consistently that girls do extremely well in these programming classes. Girls who don’t necessarily have programming experience, but they have a tremendous attention span and they’re genuinely interested. I don’t think that that is the problem.

Katie Hagerty just gave, 11-year-old Katie Hagerty just gave one of the keynotes at the Ruby Conference in Miami and it was amazing. Actually, it was called My KidsRuby Journey. And I cried. Not like sobbing crying, but it brought tears to my eyes just because there’s my new boss, literally. If even as an open source project, if KidsRuby is intended to serve our customers, well there is customer number one. But I don’t think we need to do special things to attract girls into programming. I think what we need to do is make a special effort to keep them there. I think that girls have every bit if not more capability at a younger age to do extremely well at high-ability concentrated tasks that require that kind of thinking.

But I think that we, all the social structure around it, and that’s our behavior, and then the behavior that is going to be mirrored by the way that we act, I think that’s the part that we need to do something about. I don’t think we need to dumb down programming for girls, nothing of the sort. But I think we need to control our behavior and create new social structures which encourage them to stay in programming.

JOSH:  Okay. I’m satisfied with that answer.

[Laughter]

JOSH:  I have one more question. I know we’re way overtime. But this is the question I wanted to ask before the show even started, which is…

JAMES:  I’m sorry. We got to go, Josh. Thanks. I’m just kidding.

JOSH:  Okay, we’ll get you next time.

[Laughter]

JOSH:  So like I said, I got my sister’s kids. They’re very interested in learning to program. They live in Pittsburg. I don’t live in Pittsburg anymore. How do we find programs for teaching kids? I know that there are these code camps. There are all sorts of other stuff, hackathons and teaching events going on. Is there a directory of these that somebody maintains? How do you go about finding that stuff? What do I tell my sister?

RON:  Well, that’s one of the things CoderDojo really did right, is to create a distributed community as opposed to a centralized one. And we have tried to encourage this with KidsCodeCamp but we didn’t do all of the work that CoderDojo has done to package it up and make it easier. But they have curriculum and they also have a directory of CoderDojos so starting your own CoderDojo is really nothing more than registering your local affiliate. And that makes it possible for those who are interested both as volunteers and also those with kids to find these local resources. You can’t teach programming if you don’t know how to program. So, we need actual programmers to stand up and be counted.

Some mentioned what Paul Lockhart wrote about in this fantastic paper A Mathematician’s Lament, which if you care about education and programming, directly applies to what we’re talking about here. Taking something amazing and beautiful and artistic and fun like mathematics and making it boring and pedantic and nobody wants to learn it, how do you screw things up that badly? Lockhart really got into that very well in this short but amusing and sad, it’s both amusing and sad, but I think there are a lot of lessons for us to learn in terms of programming.

So, this is one of the things that CoderDojo has really done right, the same thing that we were trying and have been trying to do with KidsCodeCamp, it’s all about the programming community getting involved, not just saying, “Hey teachers, go teach programming.” They’re like, “Programming? How’s that? I don’t know how to program.” Well you’re not going to be a very good programming teacher not because you have a lack of intentions but because it’s really hard to teach violin if you don’t play violin.

JOSH:  Okay. Well, cool. So, the summary on that is I should tell my sister to go look at the CoderDojo stuff? Is that the place where she should start?

RON:  Yeah, CoderDojo is a great resource. Code.org also has links to a lot of local groups. Those are the two most active communities who are strictly involved in the non-profit area, which is what I’m mostly interested in.

JOSH:  And those are good for children starting at about what age?

RON:  I don’t think that they’re limiting the age at which, there are different programs within them that are definitely oriented towards particular age groups. There are certainly outliers.

JOSH:  Okay.

RON:  Actually, one of our contributors…

JOSH:  But grade school, grade school would be okay?

RON:  Yeah, elementary. Upper elementary is a great place to get started.

JOSH:  Cool.

RON:  Anything there and above, it works really well. We actually have a contributor to KidsRuby who’s in middle school, Theron Boerner. We met him at a KidsCodeCamp a couple of years ago in Austin. And he kept bothering us with questions.

JAMES:  [Laughs]

RON:  Which is like the story of my life. Keep asking question so they keep answering them and they don’t get too sick of you. So he actually, right before Katie Hagerty’s keynote, Theron had become one of the commit writes contributors to KidsRuby. And these are serious commits. They’re not just a little textual change, even though we’ll take anything. So, there’s always going to be the outliers who are in middle school and could be CTO of…

[Laughter]

RON:  Of most early-stage companies, frankly. But at the younger ages, there are resources for every age. It doesn’t matter whether it’s games like Robot Turtles or activities like some of the group activities I was describing earlier, or all the way up to the more structured things like Lego FIRST Robotics. Any age group that you decide to get involved, there will be some activities for them to play with. And play is underrated. Fun, the power of fun. When you’re playing, your mind is the most engaged. And we all use this term all the time ourselves. We say, “Oh, so have you tried AngularJS?” “Oh, I played with it.” What does that mean? It means I’m not expected to be serious. But I am trying it out. It’s a way of alleviating the cognitive stress associated with doing something you don’t actually know how to do yet.

At some point later, someone says, “Are you still [playing with AngularJS?” “No, I’m actually doing something with it now,” or “I moved on to EmberJS” or whatever it is that your response is. We need to give kids a chance to play, not just playtime as something else to do when they’re not studying, but as a first-class activity.

JAMES:  I just wanted to say for the different things for different levels, we’re starting to see quite a few resources for, I’m thinking they’re probably for teenagers more, but we’re starting to see things like programming books specifically targeted at kids or activities that kids often enjoy. Just looking through the [inaudible] list here for a couple of seconds, I found a 3D game programming for kids, which by the way uses JavaScript, and being a big Ruby guy it’s funny that I should say JavaScript but I think JavaScript has the advantage of being one of those easy on ramp things because everybody’s got a browser. So it’s not the, you have to install 50 things plus Xcode to get everything going kind of stuff.

Anyways, I saw that book. Another one was the new one from Andy about making Minecraft plugins, which is a great on ramp. You’ve already got the game then you’re just building some tie-ins to do things that you’re going to have really good interactive feedback on. Flying Creepers is one of the subtitles of the book. And I just think things like that are probably pretty good resources again for a little bit older, or if you have a parent that’s willing to work through it with you or something, you could probably do it even younger. There are definitely tons of resources out there these days.

RON:  Yeah, absolutely. And Minecraft is programming. It’s a kind of visual programming, but somebody built an [ALR]…

JAMES:  Good point.

RON:  with Minecraft. There is enormous sophistication. So, a bunch of the younger people at Hybrid Group all started programming by way of doing mods and macros, where our age group we started more with the basic prompt. But it was the same idea, which is I can get in and change things. And going to JavaScript for a minute, in many ways JavaScript is a great programming language because they can go into a webpage of a site they already use and see the JavaScript and even change it and execute it right in their browser…

DAVID:  Yeah.

RON:  the same as they change their CSS. They’re like, “Whoa, I just hacked this webpage.”

DAVID:  Yup.

RON:  Well, not by the cracker definition, but we don’t want them doing that anyway. The point was more that they just learned that they have a lot more power than they thought. And a lot of these ideas are empowering thought itself, of taking a thought and, well we taught you programming as a way of carrying that thought and of actually implementing that thought into something concrete.

You could do the same exact thing with any thought in any genre of the human experience. It doesn’t matter whether it’s a sculpture. It doesn’t matter whether it’s a new political construct. It doesn’t matter whether it’s a movie. It doesn’t matter what it is. You can create something from your thought, but there is a series of tangible steps in order to do so in a decomposition and recomposition process. And that kind of thinking is what Papert really wanted to teach, not just programming in and of itself.

DAVID:  Yeah.

JAMES:  So, we really need to get to picks soon, but just one last thing I want to say before we shut this off. We talked a little bit about the physical kinds of programming and robotics and we’ll definitely get Ron back to talk about all that. But as a teaser, you should really go and watch his talk at GoGaRuCo this year where he showed flying robots, Spheros moving around, Spheros playing the Game of Life, super cool stuff. And it’s hard not to watch that and get excited about messing with physical kinds of programming. So, I think we’ll just close on that. If nobody has anything else, can we do picks?

DAVID:  Let’s do picks.

JOSH:  Sounds good.

JAMES:  Alright. Josh, can you start us off?

JOSH:  Sure, sure. Although technically that was last year’s GoGaRuCo.

JAMES:  Sorry.

JOSH:  [Laughs] Okay, so speaking of last year’s GoGaRuCo, there’s this new website up there, RubyConferences.org. I’m not sure that we need a Ruby Conference directory, but since it’s up there, I figure I’ll just point people at it. [Chuckles] It could actually be very handy for the community to have something a little more targeted than going on Lanyard and looking for conferences. So, thanks guys for putting that up. I hope it becomes a useful resource.

And then I have, since we’re talking about teaching children to program, there’s a hilarious video of a talk that I saw recently about infantapaulting. [laughs]

JAMES:  What?

DAVID:  Please tell me that means what I think it means.

JOSH:  It means exactly what you think it means.

DAVID:  Yes!

[Laughter]

JOSH:  So…

RON:  The kid’s a little angel. Look, he’s got wings.

[Laughter]

JOSH:  So Zach Weinersmith, the guy who does Saturday Morning Breakfast Cereal cartoons.

[Laughter]

JOSH:  It’s like this ten-minute talk, which is hilarious and it’s completely satirical. But the think that I love about it is that it’s a really great exemplar for how to do a good technical talk. And it’s just hilarious and engaging too. So, everybody who wants to give a talk, go watch this.

JAMES:  That’s awesome.

JOSH:  So, I put a link to YouTube up there. It’s from the BAHFest which I don’t know what BAH means. [Laughs] That shows how useful I am.

JAMES:  Awesome. David, you’re up.

DAVID:  Howdy. I’ve got three picks today. The first one is a book called ‘Play: How It Shapes the Brain, Opens the Imagination, and Invigorates the Soul’ by the people who wrote it…

JAMES:  [Laughs]

DAVID:  Stewart Brown and Christopher Vaughan. Sorry, I looked away and when I looked back I couldn’t see where the author’s name was on the page. I’ll be upfront. I’ve only read one chapter in this. But it’s the chapter where they basically say there’s eight different ways that people tend to play. And we all tend to have a dominant mode. And then the very playful people have several subordinate play modes. And so, as you can imagine, I am a person with a dominant mode which is the joker. I love being the class clown. But I have several subordinate modes like explorer and I can’t remember the other ones. But the one that I’m not is competitive. And a lot of people are very competitive as their dominant mode of play.

And so, if you’ve ever wanted to know the mechanics of how things are played with or how you play with things and why play is fantastically good for you, if you want to be smarter, better, gooder at what you do and maybe language too, then play is a really good way to do this. And honestly, the first chapter of the book is like an apologist manifesto for MDs and PhDs trying to study play and how they’ve had to retitle. They have to talk about discretional, diversional use of discretional time as the title of their thesis because if they say, “I’m studying play,” there’s pushback from the scientific community that, “That’s not real study.” And no, actually it is. It’s real study and it turns out to be really, really important. So, that’s my first pick, is Play.

My second one is absolutely inspired by, I thought of this during today’s episode when Ron you mentioned that several million dollars in unclaimed scholarships go by every single year. There’s also several million or, I want to say billion but that’s probably an exaggeration, but there’s millions and millions of dollars of grant money from the government that goes unclaimed every single year. And when I was much younger, there was this crazy, crazy guy named Matt Lesko who would do these late night infomercials. And he wears these ridiculous suits covered in question marks like the Riddler. And I think the reason he does it basically is his entire motto is, “If you just go ask, you will be astonished with what you can find.”

And if you go to the public library and just look for Matt Lesko, you will find basically like a phonebook that he puts out every year, and I’m talking like a New York City phonebook, like three inches thick, on just newsprint. And all it is, is a directory of you look up your financial and psycho, not psych, well actually some of it’s psychological, but you look up your demographic, whatever you are, a perfect example of being you. and you look yourself up in this book, that I’m in a rural community, I’m poor, my parents make this much money, I am a white male, or I am a Hispanic female, and you flip to that section of the book and it’s page upon page upon page of grants that you can just apply for and it’s the addresses and who you talk to.

And it turns out, he’s still doing it. And he’s still around. So, I’m glad that I’m not out of touch. He’s got a lot more gray hair now, but if you go to Lesko.com he’s still doing it. And it looks like a crazy late-night infomercial, like “Get all the government benefits you deserve,” is the current headline title. It just looks ridiculous. But this man helped me pay for some of my college. So, he’s the real deal. And there are all kinds of stuff in there. The current newsletter is 50 programs for busy moms. So, if you’re a single mom, you need to be checking this guy out. So, Matt Lesko is my second pick.

And my third pick, I didn’t get the chance to shill my book at the top of the show so I just want to say that I am still writing The Job Replacement Guide. That’s three straight weeks of me working on the same thing. So, just from an ADD standpoint, I think this book really has potential. I guess the one thing that I would say about it on this show is that I’m getting a lot of people signing up that are out of work and desperate to replace their job. But I’m also getting some signups from people that are unhappy with their current job and I want to make it very, very clear that this book is for both sets of people.

So, if you want to be prepared for needing to replace your job, go for it. This is absolutely the book that will prepare you for it. So, if you’ve ever had to put up with a boss that pisses you off, this is the book that will let you say, “You know what? I don’t have to put up with this,” because it will calm you down about the terrifying prospect of unemployment.

So, them’s my picks. I think that was a pretty good, in the backchannel James says “This is not a David record yet.” And I could probably vamp for about six more minutes and reach my best time for picks…

JAMES:  [Laughs]

DAVID:  But I’m not going to. So, them’s my picks.

JAMES:  Chuck fell asleep during David’s picks. So, we’re going to skip him this week.

DAVID:  Yup.

[Laughter]

JAMES:  No actually, Chuck had to step out. So, he’s not here right now. But I have a couple of picks I want to do really quick. I saw this great article from Chad Fowler. I read it just before coming on the show. And it’s so important, I feel like it had to be my main pick today. It’s called Killing the Crunch Mode Antipattern. And I believe in everything in this article about 110%. This is I think, feel like a disease we have in the tech community. And really focusing on controlling our work pacing and stuff like that. So please, please, please go read this article and spend some time thinking about it. And then when you have all that extra time because you’re not spending ridiculous amounts of time working when you shouldn’t be, you’ll have more chance to teach your kids Ruby, which is great.

My other pick. Yeah?

JOSH:  James, I just want to build. I think that Chad had two really good articles out. There was also his one on empathy that was really great. But the crunch mode thing is, so Rob Mee, founder of Pivotal Labs said if a neurosurgeon is in your brain cutting around doing surgery and things get dicey and suddenly they got to fix something, you don’t want them throwing all of their discipline and standard practices out the window and just try anything that works, or that they think might work. You want them to stick to their training and their discipline and rely on that to get through the crisis.

JAMES:  I may be wrong, but I think that it was actually Uncle Bob Martin who said that at a Rails keynote.

DAVID:  When he keynoted it, RailsConf a couple of years ago. Yeah.

JAMES:  Yeah.

JOSH:  I heard Rob say that first.

JAMES:  Ah, interesting. Cool.

JOSH:  So, we know where Uncle Bob got that.

JAMES:  Aha! [Chuckles]

DAVID:  Excellent.

JOSH:  Or maybe they both got it from the same place, or who knows?

DAVID:  Yup.

JAMES:  Super, super important article. Please go read it. You owe it to yourself, really.

Okay, other pick is my wife and I have been watching a new show on Netflix. Well a couple, one Avdi already picked and that’s how I found it so I won’t do that one right now. But the other one that we found recently is called Once Upon a Time and it’s a cool story about what happens if all the fairy tale characters end up in Storybrooke, Maine and how all that goes down. It’s a cool show. It’s pretty family-friendly so you can probably watch it with your kids. And good stuff, you should check it out. And those are my picks. We’re going to try to get some picks from Ron if we can get him back in here, okay? Hang on.

DAVID:  So, while we’re bringing him in James, I actually have a sticky note on my monitor that says exhaustion is not a status symbol.

JAMES:  [Chuckles] Exactly.

DAVID:  And I actually got that from one of Brené Brown’s books. She’s the woman who did the vulnerability talk or the TED talk on vulnerability. And I can’t remember which book it’s from, so go buy all of them. And it’s just my advice to you.

JAMES:  Give us your picks, Ron.

RON:  Well, my two favorite things, one is OpenBCI which is the open brain computer interface. It’s a Kickstarter project that just closed and completed their funding. A very, very cool physical interface between your brain and the computer using an EEG. So, that looks really, really interesting.

The other thing is Light Table from Bret Victor, a very radical and interesting way of visualizing and editing code. They just pushed a new release about a week and a half ago. And there are a couple of different plugins for Light Table to be able to edit Ruby code along with many other languages. Looks really, really interesting and appears to be ready to start playing with.

JAMES:  Didn’t that also just go open source, if I remember right?

RON:  Yes, that is also correct.

JAMES:  Awesome.

RON:  I only mention things that are open source.

JAMES:  [Laughs] Awesome.

RON:  I’m prejudiced in that way.

JAMES:  Very cool. Well Ron, thank you so much for coming on the show and talking with us about is.

RON:  Yes, thank you.

JAMES:  It was a great time.

JOSH:  Yeah, hey Ron…

RON:  Sure.

JOSH:  Quick question. Do you have any appearance coming up? Are you speaking anywhere? Where can people follow you?

RON:  Wow. Well, I’m deadprogram on Twitter. That’s how you can keep up with my activities. We have a lot of stuff coming up this year. In February we’re doing a robot hackathon at the Los Angeles Ruby Conference. We’re then doing both a talk on robotics as well as doing a KidsRuby programming class at the Southern California Linux Expo. That’s the biggest, one of its kind in Southern California. Usually about two or three thousand people there, so that should be pretty great.

JOSH:  When’s that?

RON:  That’s also in February. In March, we’re going to be at Makerland in Poland, which is a theme park for makers with 3D printers and Arduinos and Raspberry Pis and robots and drones and us. So, that’s going to be really fun. Then in April, we’re going to be at Gopher Con, which is the first conference for the Go programming language. Very interesting language if you haven’t checked that out. Then in May, we are fortunate to have been invited to deliver the closing keynote at the Scottish Ruby Conference. So, see you there.

JAMES:  Awesome. Alright. Well, that’s our show. Please leave a review on iTunes if you enjoyed it. And go out and…

DAVID:  Book club, book club, book club…

JAMES:  Book club. Yeah, yeah, yeah. We are reading ‘Ruby Under a Microscope: An Illustrated Guide to Ruby Internals’ by Pat Shaughnessy. Super great book. Nobody can stop talking about it so we’re super excited to do it. And that will be in February I think, late February. Is that right? Something like that. I don’t have the date in front of me right now. But Mandy will put it in the show notes.

JOSH:  Cool.

JAMES:  So, definitely grab a copy, start reading, good stuff. And that’s it. Please go out and spread programming throughout the young masses. Thanks. Bye-bye.

DAVID:  Grab a kid and teach him something about programming.

JAMES:  [Laughs] Or how to hijack cars, whichever one.

DAVID:  You know, sure. Cars have computers in them.

JAMES:  [Laughs]

RON:  Everything has computers now. Believe me, this skill will come in handy.

JAMES:  [Laughs] Right. Bye.

JOSH:  Bye.

DAVID:  Bye.

RON:  Thanks everyone.

1 comments
E__G
E__G

One of the best episodes ever. Thanks.

Trackbacks

  1. […] in Running Code webmachine webmachine diagram Mostly Erlang – 029 Teaching Kids to Code Ruby Rogues – 141 RR Teaching Kids with Ron Evans Introducing Erlang by Simon St. Laurent Learn You Some Erlang for Great Good Erlang Factory Chicago […]

Previous post:

Next post: