

NodeOS: a "hacker-friendly operating" system written in Node.js - zellio
http://nodeos.github.io/blog/introduction/

======
danpalmer

      "Node is not a perfect language by any means..."
    

'Node' is not a language by any means.

An OS's main job is managing hardware resources, and either Javascript/Node is
too high level, or the abstraction needed to give it access to those resources
will come at too high a cost to make this a usable operating system.

------
noise
I think you mean NodeSH, not OS. I don't see any aspect of this that tells me
it's an operating system.

"Node is not a perfect language by any means, but..."

Also, Node is a framework, the language is Javascript.

~~~
camus
node is a mashup between v8 and some C/C++ libs,with a javascript interface.
It's not really a framework , i would say node is closer to nginx than rails
for instance.

~~~
ehutch79
neither of which is a programing language.

------
3JPLW
Very pretty diagrams and logos, but is there any code at all right now? The
github repo is empty.
[https://github.com/NodeOS/NodeOS](https://github.com/NodeOS/NodeOS)

Edit: ah, it currently resides inside the Docker-Node repository:
[https://github.com/NodeOS/Docker-NodeOS](https://github.com/NodeOS/Docker-
NodeOS)

------
codezero
This is actually a Linux distribution.

------
rubyn00bie
Yeah, this seems like a shell and not an operating system. I don't want to
hate on someone's efforts, but I am failing to see how this will be of benefit
for anyone? I could just be missing something, like the mission or vision,
also, FWIW-- I hate NPM. I think it is one of the worst I've used... I stopped
using Node on persoanl projects because of it (though it has gotten marginally
better since I stopped).

If this was to be a shell, I could see it being useful... There are a few
similar projects out there. Though I'd suggest a language like Ruby, as I
believe it makes for nicer DSLs than Javascript.

As well, I'd be afraid of Google and betting on V8 for long term support, or
non-breaking API changes that cause the "OS" to shit the bed.

------
Morgawr
Sure, because hosting the whole repo on github is going to be a smart move.
Call me when there are dependencies issues, new versions that break the whole
systems and security issues with unsigned packages.

No, just no.

~~~
michaelmior
I'm not sure I see the objection here. Package versions should be pinned so
dependency management and version conflicts shouldn't be an issue. I don't
believe npm signs packages, but it at least communicates with the server via
HTTPS and properly validates the certificate so I don't really see the
security concern there.

------
owaislone
Why would I use this and not npm on Ubuntu? Mozilla is not going to distribute
Firefox using npm and even it it does, why not use npm to install FF on Ubuntu
if it really is that great.

I'm just trying to understand the reasoning behind this. What do I gain by
using NodeOS instead of a regular linux distribution?

------
Mikeb85
Sounds interesting, and could serve as an alternative to Chrome OS or Firefox
OS.

In many ways, it's a throwback to the old days of Lisp machines. Entire OS in
a dynamic language, extensible at run-time, etc...

With the many languages that compile to JS (and now Asm.js) this could be huge
and very interesting.

~~~
danpalmer
As far as I'm aware, the Chrome and Firefox parts of the respective OSes run
in userland, and not that close to the kernel, whereas the diagram on GitHub
for this suggests the kernel and Node would be much closer. I could be wrong
about this though, it's vague.

------
angersock
Great, more badass rockstar ninja developers using the newly discovered 201x
techniques of async coding to disrupt the operating system.

My beef is not that the author is playing around with using an actually pretty
awesome dynamic language as an operating environment; it's that the author
doesn't explain that what they're doing is actually, you know, an operating
system.

How are you booting? How are you writing to the file system--and which? How do
you handle multiple users? How do you handle device IO? How about scheduling?

I want so badly to be able to take projects like this seriously, but it can be
hard sometimes.

EDIT:

Ah, so, this is just Node sitting on top of Linux (
[https://github.com/NodeOS/Docker-NodeOS](https://github.com/NodeOS/Docker-
NodeOS) ). Would've been nice if that was mentioned in the article.

EDIT2:

Hmm...what's the word for it when the OS suspends your program while waiting
on IO for it...a sink ro nose? a sink rose? Bah, I can't remember--that's just
old boring shit from the dinosaur ages of computing anyways.

~~~
bachback
It's not a kernel! how hard can that be to understand?

------
ryanthejuggler
Heh. Literally this morning I had to use Node to pipe data from one process to
another. Unless there's a drastic increase in the efficiency of the syntax,
I'm keeping this at arm's length.

~~~
bachback
that's a system call/protocol layer. node is used for some of the highest
performance stuff in the world. try this: [http://zeromq.org/bindings:node-
js](http://zeromq.org/bindings:node-js)

[http://stackoverflow.com/questions/14429203/inter-child-
proc...](http://stackoverflow.com/questions/14429203/inter-child-process-
communication-options-in-node-js-cluster)

Also, syntax != V8 engine performance.

~~~
ryanthejuggler
Right, but in a shell syntax <= my performance. If I'm typing something 5
times a day, I'd rather type "ls dir|grep README" than some extremely long
string of JS. I'm talking about usability, not raw performance.

------
holyjeebis
I'd be terrified if this guy had done work for me previously. How exactly is
it that someone like this guy ends up being a "Professional Software
Engineer"? Has the bar been dropped that low?

~~~
nfoz
In Canada, the term "Engineer" is a professional designation. You are not
legally allowed to call yourself an engineer unless you have gone through the
degree and professional accreditation. It feels really strange now to live in
the U.S. where anyone is allowed to refer to themselves as an Engineer :)

Not saying the Canadian way is better, it's just interesting.

------
andreastt
How could this project go wrong in any way? It could become popular.

