NodeOS: a "hacker-friendly operating" system written in Node.js
nodeos.github.io "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.
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.
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.
neither of which is a programing language.
Very pretty diagrams and logos, but is there any code at all right now? The github repo is empty. https://github.com/NodeOS/NodeOS
Edit: ah, it currently resides inside the Docker-Node repository: https://github.com/NodeOS/Docker-NodeOS
This is actually a Linux distribution.
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.
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.
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.
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?
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.
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.
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 ). 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.
It's not a kernel! how hard can that be to understand?
I share your cynicism.
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.
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://stackoverflow.com/questions/14429203/inter-child-proc...
Also, syntax != V8 engine performance.
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.
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?
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.
How could this project go wrong in any way? It could become popular.