Video Learning Simple Robot Programming With a 'Non-Threatening' Robot Ball (Video) 29
Tim Lord for Slashdot: Adrian, with the hybrid group, you are using the GO language through a couple of different means, couple of different paths to control robots, can you talk about that?
Adrian Zankich from The Hybrid Group: Yes so, GO is actually a very awesome language for writing connected applications. So, most people think of GO as a language for writing web applications and a lot of the things that make GO awesome for writing web applications make it really great for writing connected applications for talking to devices. Concurrency, statically linked binaries, it’s a very strongly tight compiled language so you find a huge class of bugs right at compile time and you can easily deploy to hardware devices and really take advantage of reading multiple sensor data concurrently. It's incredibly fast and also more importantly its garbage collected.
Now, a lot of people think that since you're running the software on devices, you need hard real time, all that sort of stuff, and actually most of the times you don't because what you're doing is reading sensor information, multiple sensors at the same time and then just sending that off somewhere, to Bluetooth, some M2m protocol like MQTT or CoAP and it's being recorded in your database somewhere. So for that having a couple of millisecond GC pause really has no bearing at all in your application. And if your application is so time sensitive that you need that I really want to know what you're working on and because that's a really good problem to have. So GO is a really great language for running on these small devices for a lot of different reasons.
Slashdot: JavaScript also has advantages.
Adrian: Oh yes.
Slashdot: Cylon.js, talk about that a little bit.
Adrian: So with Cylon.js we try to make it easy to develop a connected application, something like Ruby on Rails that would help you develop a web application. So there's a huge push for web developers turning into device developers and the bridge of that is JavaScript. Now with things like Node.js, it made web developers able to program on the server side, so that empowered a whole class of people to program in ways that they never could imagine before. And now with things like the Intel Edison, which is Intel's new developer board, it’s a 1x computer, it's got a dual-core Atom processor, Bluetooth, WiFi, radio, everything like that, it has really great Node.js support. So going from web development to device development is a seamless transition and empowers a lot of developers to actually get into this IoT space. So with Cylon.js we're trying to make it easy to actually develop these connected applications and JavaScript is a fantastic language. It's very fast. The I/O model is great for a lot of the devices. Some of the things I was talking about what makes GO awesome which is concurrency, all that sort of thing. JavaScript has a slightly different take on that, but the great things is a lot of these applications are I/O bound, which is Node is perfect for that sort of thing. So JavaScript is a great platform too.
Slashdot: Speaking of platforms, people suddenly developing let’s say, they are developing things that are going run remote from their desktops. You’re using over here Sphero, in Sphero what I can really think of is toys, but you're using this as somewhat more of a platform?
Adrian: Yeah, so a Sphero robotic ball is fantastic. So you know, a way to get started with hardware programming. There's no wires, there's no soldering, you open it up from the box, charge it up, shake it a few times to turn it on, connect the Bluetooth to your computer and you can start hacking right away. So it’s a very easy way to get started writing physical applications. And a lot of people think, okay, so what's the practical use of learning how to program a Sphero? Well the practical use is, it's really fun and it gets you engaged in learning how to program with hardware. So it's got a motor in it, an accelerometer, RGB LED, can roll around, detect collision, change colors, you can do a lot of fun things. Then we start getting more advanced, you can hook up cameras with open TV, track the balls, make them do formations, do a lot of things ,and it's a very great starting point to getting to hardware programming because you know... How much more non-threatening can you get than a Sphero robot? These things are so much fun. I've been programming these for years and I love them, they are so much fun, they are great.
Slashdot: Between the two different platforms that you just described as far as open source-centric ways to program robots, if you were to advise someone to start learning to control robots with one of these, which one would you pick and why?
Adrian: So I’d say if you're a web developer, obviously Cylon.js is a great starting point because the transition from, let's say, sort of jQuery frontend, Ember, React development through Node.js Express, you know, server side stuff to device programming is a very easy transition. Now if you're not a JavaScript developer but C, C++, that sort of thing, Python, Ruby, GO is a really great choice for that because, it sort of fits more into the paradigm of those languages a little more, where it's a great language, easy to learn. It's got just over 80 keywords, you can learn GO in a few hours and just start hacking right away and it's a really great fantastic language. So I think it really depends on your background. If you're more web-centric, then obviously Cylon JavaScript and if not then GO could be really good fit for that.
Slashdot: And either one, you could start moving your Spheros around?
Adrian: Oh yeah, and so we have full support for things like Spheros, Raspberry Pi, Beaglebone Black, Intel Edison, different types of drones, Arduinos, lead motions et cetera. So, between toys, drones, more hacker boards, you’ve got the whole spectrum covered and they all have integrated APIs so you can actually write part of your application in GOBOT, part of your application in Cylon.js and communicate through each other. So you don't have to choose just one language, it's a polyglot world, just do it all and program your whole world together.
Slashdot: One thing I'm always curious about is when you’re programming a hardware like this, people are going to come with their own moves, their own recipes. Is there sort of a community of things that are using these languages, so we could download and upload for that matter, would they come up, is there a good sharing mechanism?
Adrian: Yes, so a great one is GitHub obviously, that's where sort of the world's open source exists now, but also a great platform is called Hackster.io where a lot of hardware platforms have sort of front pages that you can write your hacker projects and upload it to this website and tag different types of hardware platforms and really tap into that whole community. And people post step by step instructions on how they build their projects or whatever, where it is schematics, code, everything that you need. So that's a really great place to be a part of, see what other people are doing and just get really involved. So you know between places like GitHub to host your source code, to places like Hackster.io, to actually post your complete project, there are some really great communities out there, people who just want to learn and have fun and connect with other people.
Somebody never saw Phantasm (Score:2)
http://media.tumblr.com/tumblr... [tumblr.com]
If they think robot balls are non threatening.
Re: (Score:2)
Re: (Score:2)
That's damn funny
Re: (Score:2)
Re:Somebody never saw Phantasm or The Prisoner (Score:2)
Re: (Score:2)
I am the new number 635988 you are number 579555
And yes Patrick McGoohan was brilliant in that. Don't think we will see it's like again, (The remake was trash)
I love Sphero! (Score:2)
It's happy! It's fun!
Re: I love Sphero! (Score:2)
Threatening who? (Score:2)
Pussified (Score:2)
I mourn for the days of old, when you loaded your untested code onto a live turret to figure out if it worked. Kids these days, what with their coddling and non-threatening spheres.
Re: (Score:2)
I had a Big Trak when I was kid too. My first introduction to programming.
https://en.wikipedia.org/wiki/Big_Trak [wikipedia.org]
Happy Fun Ball (Score:4, Funny)
Re: (Score:2)
“Least threatening” (Score:2)
an unadorned robot ball [...] is about the least threatening robot
Ahem... [wordpress.com]
They solved this problem over 4 decades ago (Score:1)
For some reason, I can only post Anonymous Coward...
anyway http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/ [cyberneticzoo.com]
The sphero site is fact free (Score:5, Informative)
Turns out that any technical information is completely buried. They have a whole bunch of cool pix, and lots of stuff they want to sell you, but if you want to find out what it can do then they are silent.
This leads me to the conclusion that it is more likely then not hype and marketing. Anyone who is proud of what they build will make it easy to get the specs and API info. They must figure that they can move a lot of merchandize because ROBOTS!!!
1 Sell it to the parents.
2 Let it sit on the shelf.
3 Profit!
Don't waste you time of this.
"non-threatening" (Score:2)
Well, that's no fun. What possible use would I have for a non-threatening robot?
Gobot? (Score:2)
I preferred the Transformers.