nodebots / nodebots.io

The NodeBots Website
http://www.nodebots.io
139 stars 72 forks source link

What is a NodeBot? #11

Closed olizilla closed 10 years ago

olizilla commented 11 years ago

I've been using the definition that "NodeBots are robots that are controlled by node.js", as per https://github.com/nodebots/www/blob/gh-pages/index.html#L9

This seems like a usefully broad and inclusive definition, that is easy to explain to others.

The trade off with inclusivity is you might end up with people at the party that you don't agree with. The example that led to this issue is the proliferation of things that could be called NodeBots under the simple definition, but only support blocking delays, rather than temporal style non-blocking task queues, which is pretty limiting if you need to keep reading sensors whilst orchestrating actuators. See: The talk by @rwaldron for a better explanation http://www.youtube.com/watch?v=HT2e4QLGDLs

I'd suggest that the definition is fine, and that a system that only supports blocking execution is still a NodeBot if JS is doing the leg work, it's just not a very capable one. I think it'll work better if we make people feel included under the NodeBots banner, and then help them figure out how to make more capable systems.

voodootikigod commented 11 years ago

So this is a long and drawn out discussion that I do believe needs to happen, though not sure THIS is the best place for it. I would contend that the meaning of a nodebot is the following which is derivative from: http://voodootikigod.com/nodebots-the-rise-of-js-robotics/

Nodebots are robotics that are made accessible to JavaScript developers.

This intentionally broad definition allows, though doesn't enforce (for better or worse) the variants of implementation and format such that the core heart and intention is retained. Democratizing hardware so software and web developers can create beyond the borders of the cloud.

Just my (ever depreciating) two cents.

rwaldron commented 11 years ago

The example that led to this issue is the proliferation of things that could be called NodeBots under the simple definition, but only support blocking delays, rather than temporal style non-blocking task queues, which is pretty limiting if you need to keep reading sensors whilst orchestrating actuators.

Which thing is limiting? 'blocking delays' are a problem and will prevent a program from processing input until unblocked; temporally bound tasks are the solution.

I'd suggest that the definition is fine, and that a system that only supports blocking execution is still a NodeBot

I disagree, this eliminates the benefit of writing a program in node, but I won't die on this hill.

if JS is doing the leg work

...Which disqualifies the nodesapien from calling itself a nodebot—none of the leg work is written in JS. I feel shitty even typing that, but it's true. I don't want that to be the definition. I don't want awesome projects and people's hard work to be ignored or excluded, but then I'm half a liar if I expound on the benefits of controlling robots with programs running on node.

Skeptic: "Why node?"

Me: "Evidence shows benefits of single threaded, turn based, non-blocking execution."

Skeptic: "What about this project that doesn't do that at all?"

Me: "Oh sorry, I'm actually full of shit I guess"

rwaldron commented 11 years ago

After re-reading this, I'm willing to concede my technical position to Chris's bigger picture vision.

voodootikigod commented 11 years ago

<3z And don't view it as a concession -- I would view it as the recommended but not only implementation target.

Also, this discussion is IDEAL for campfire with marshmallows.

On Thu, Oct 10, 2013 at 2:38 PM, Rick Waldron notifications@github.comwrote:

After re-reading this, I'm willing to concede my technical position to Chris's bigger picture vision.

— Reply to this email directly or view it on GitHubhttps://github.com/nodebots/www/issues/11#issuecomment-26079470 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | RobotsConf http://robotsconf.com/ | RobotsWeeklyhttp://robotsweekly.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

rockbot commented 11 years ago

... on the beach, perhaps? Maybe in December?

reconbot commented 11 years ago

:+1: On Oct 10, 2013 2:55 PM, "Raquel Vélez" notifications@github.com wrote:

... on the beach, perhaps? Maybe in December?

— Reply to this email directly or view it on GitHubhttps://github.com/nodebots/www/issues/11#issuecomment-26080844 .

olizilla commented 11 years ago

Sorry for the ambiguity. I was trying to say that I agree, blocking is limiting and temporal is a neat solution.

I've been blithely calling a bunch of things NodeBots without much thought and it's helpful to talk about it, as I'm trying to get a meet-up going in here in London. It's all moot anyway as RobotsConf will mark the RISE OF THE MACHINES... unless we get smores all up in their inlets.