
Node OS - dhruvarora013
http://node-os.com/
======
Havvy
The main benefit they're giving is that you can use `npm` instead of `yum` or
`aur` or whatever the package manager you use is. IMO, you're better off using
Nix if you are tired of your package manager.

------
mrmondo
That is disgusting, it's not even native (not that you'd want it to be), not
to mention that NPM is the most unreliable package manager out there.

~~~
arms
Why do you think NPM is "the most unreliable package manager"? I don't use
Node, but I thought the general consensus was that it's one of the best out
there. I'm genuinely curious.

~~~
stormbeta
No offense, but where on earth did you get that impression from? I have a
feeling whoever told you that has either never used npm with a non-trivial
project or was messing with you.

I've had more issues with npm in the last month than I've had with pip, gem,
and apt combined over the last two years. "most unreliable package manager" is
an apt descriptor.

~~~
shayanjm
If you've used it for anything non-trivial, then you probably should've been
using a private registry - in which case you get the decentralized benefits of
npm sans npmjs.org availability issues.

source: a number of non-trivial node deploys

------
spankalee
I was hoping that this would be about a unikernel for node.js, ala MirageOs,
which would be quite interesting for running node directly on VMs, Xen,
Raspberry Pi, and such.

------
andrewstuart2
I think calling it an OS might be a stretch. "Linux distribution" is perhaps a
little more accurate.

~~~
awalton
Honestly, it might be time to put the pejorative term "Linux distribution" to
death. It was pretty true when there was Slackware and Debian, but the we're
not talking about two stalks off of the same evolutionary branch anymore, but
an entire ecosystem of different animals.

Modern "distributions" ship with vastly different libcs (bionic, newer vs
older glibc, muslc), different userland runtimes (busybox, "GNU/Linux" with
core utils, etc), different compilers (various branches of gcc, llvm
increasingly), different init systems (SysV, upstart, systemd, etc), different
security frameworks (AppArmor, SELinux), different display servers (X,
Wayland, unfortunately Mir and SurfaceFlinger) and vastly different UIs (from
Android, to GNOME and its fragmentations, to KDE and its fragmentations, LXDE
and XFCE, and so forth). You can't even bet on the file system hierarchy being
the same anymore, with aberrations like NixOS running around. The saddest part
is that Linux is the most some of these operating systems have in common, and
these days it can easily have the least overall impact on most of the users.
These things are completely different animals, loosely bound by design
contracts like FreeDesktop.org's various specs and Linux Standard Base specs
which everyone violates in new and unique ways.

Not treating these operating systems as entirely different entities is being
at best dishonest, and at worst is costing millions, perhaps even hundreds of
millions of dollars in effort across the industry. You can't honestly target
"Linux" as a platform because it's _not_ a platform. If you've maintained, or
especially if you've distributed any piece of software on "Linux" these days,
you've seen the horrors.

~~~
broodbucket
>unfortunately Mir and SurfaceFlinger

I don't know anything about SurfaceFlinger, but why do you call out Mir here
after referencing a vast amount of other components of a Linux distribution
that all essentially do the same thing? Who knows, Mir could turn out better
than Wayland.

Weird how everyone's happy for an abundance of choice, except when it's a
display server or init system. Those two generate so much hate and I don't
really get why.

------
CoffeeDregs
Not to say that the project doesn't look valuable, but I'm not sure if the
project is still alive. See:
[https://github.com/NodeOS](https://github.com/NodeOS) Latest commit was 4
months ago.

~~~
jackmoore
I thought the same thing, then noticed the only files in the repository are
the readme and info for contributing. I'm not sure where the actual project
source is.

~~~
centizen
It's here: [https://github.com/NodeOS/NodeOS-
Docker](https://github.com/NodeOS/NodeOS-Docker)

EDIT: Nevermind, seems this is all meta and dockerfiles.

------
codereflection
npm frustrates me to no end, so my knee jerk reaction to this is "No!"

Interesting idea though. However it's not an OS, it's using NPM as the OS's
package manager.

[http://node-os.com/blog/introduction/](http://node-os.com/blog/introduction/)

~~~
Vekz
Nice blanket negative statement "NPM IS BAD". Maybe you'd consider expanding
on why npm frustrates you? and leaving a comment with more value.

~~~
Pacabel
I don't see why codereflection needs to spell it out. The problems with npm,
and JavaScript in general, are quite apparent to anyone who has used them. And
if you haven't used them, a quick search engine search will turn up this
information many times over.

It'd make sense to ask for such clarification if the information truly wasn't
available elsewhere, and accessible with a quick search. But that's obviously
not the case.

It's pointless to rehash this obvious stuff over and over and over and over
again.

~~~
bshimmin
It'd be good if there were a canonical "Why npm sucks" article, like the
"fractal of bad design" one for PHP.

This one seems like a fairly reasonable candidate:
[http://www.jongleberry.com/why-i-hate-
npm.html](http://www.jongleberry.com/why-i-hate-npm.html) (though the "nested
dependencies" bit needs much more swearing, and I disagree with the last
paragraph suggesting things in Ruby and Python land are just as bad).

~~~
evanriley
In the last paragraph there, is he saying that Golang is 'bad' because it
doesn't have a package manager? Does it need one? I always assumed 'go get'
was enough.

Honestly curious here.

------
Pacabel
What benefit does this approach bring?

It reminds me of Chrome OS and Firefox OS. These all are based upon the Linux
kernel, so they could potentially offer a very rich user experience like so
many more traditional Linux distributions do. Yet they intentionally cripple
themselves into being limited, JavaScript-only platforms.

This would be understandable if, say, storage space was expensive, like it was
in the 1980s, and the software had to be kept lean and limited. But that's
clearly not the case today, even when it comes to low-end smartphones.

The same goes for runtime performance. It'd be one thing if software written
in JavaScript was consistently and significantly faster than software written
in C, C++, and other commonly used languages. But that just isn't the case.
Unless we're looking at highly tuned and highly unrealistic benchmarks that
even the JavaScript VM authors have focused on making run fast, JavaScript's
performance is quite bad.

It would be understandable if perhaps the user experience could be improved in
some way by them providing superior alternatives to the traditional userland
software offered by Linux distributions. Yet this isn't the case, either,
because some of the biggest complaints with Chrome OS and Firefox OS are that
the bundled software is awful, and users have no real recourse due to the very
limited environment that both offer.

As far as I can tell, users just can't win with a system like this. The kernel
is powerful, but this power is isolated and kept inaccessible. The userland
experience is much worse than what one would get if just using a traditional
Linux distro, and running the JavaScript software on top of that. The benefit
to the user just isn't apparent.

~~~
Havvy
Well, with FirefoxOS, you don't have Android's Dalvik nonesense nor iOS's
restrictive marketplace. They needed some userland language, since the
isolation keeps security high. These mobile computers aren't used in a
security conscious way, and many developers are unscrupulous in the
environments. Give them the power to install rootkits, and they will.

------
cdnsteve
This link seems to have detail than the homepage.
[https://github.com/NodeOS/NodeOS-
Docker#introduction](https://github.com/NodeOS/NodeOS-Docker#introduction)

------
dhaivatpandya
As a concept, I guess this can be called an OS, but at the present moment, it
is pretty far from one. Right now it seems like this is basically a work-in-
progress replica of BusyBox built on Node.

------
lorddoig
> 83 points by dhruvarora013 4 hours ago

I'm guessing there's a hundred neckbeards on 4chan who've been laughing
hysterically for ~3.5 hours

~~~
hartator
why would be they laughing? It's a hoax?

------
vanilla
npm gives you dependency hell in a medium sized project, with a node_modules
folder 10 times larger than the project.

This on a OS level ... interesting

------
varkson
I'm generally pretty open about using web technology outside the web, but come
on guys, why do we need this?

~~~
mmahemoff
No doubt JavaScript's past, present, and future is intertwined with the web,
but really it's an independent programming language. It's not like there are
primitives for divs and tables.

And by an accident of history, it also happens to be the world's most popular
programming language and overall a decent scripting language, so I can't see
why its web association should make it any less OS-ready than any other
language.

Plus, Node's async model lends itself implementing lower-level OS features
(not that they are present so far in NodeOS).

~~~
CmonDev
We are forced to use poorly-designed legacy languages on the "open" web, but
why would you torment yourself with them when you are not limited outside of
the "open" web?

------
freakonom
npm as your package manager:

    
    
        npm install -g
    

node as your shell:

    
    
        node
    

An actual minimalist kernel booting to node might be interesting. But this
isn't that. This just looks like plain node and npm, except locked down and
made complicated for no reason.

------
sarciszewski
I haven't dabbled in Node yet; my main source of hesitation was I've been told
npm doesn't cryptographically sign packages. If npm as a package manager is a
selling point, I would hope this has been corrected (or had been all along).

Otherwise, enjoy your MITM trojans.

~~~
wcummings
So then you can't host a mirror?

~~~
sarciszewski
Sure. But if anyone wanted to use your mirror, how would they know you didn't
make changes to the base package without crypto? :)

------
Touche
The main repo hasn't been updated since February:
[https://github.com/NodeOS/NodeOS-Docker](https://github.com/NodeOS/NodeOS-
Docker)

~~~
yebyen
This is not necessarily a bad thing, right?

I've written Dockerfiles before that don't need updating and are useful months
later

~~~
Touche
Is your dockerfile an OS?

~~~
yebyen
Yes? Sort of .. is your distribution an OS? (Should the distro's source repo
change every time the installer is rebuilt from new upstream packages? I don't
think so)

Someone has been working on this repo for the last 22 days and they merged
their changes back in #12. Possibly in response to allegations that the Node-
OS project is dead.

I would expect most of the active development to be in the upstreams of this
project (npm, linux kernel), it doesn't seem to be dead at any rate. Just not
very fast-paced or popular.

------
xj9
How is this useful exactly? I suppose there _are_ JS bindings for GNOME (if I
remember correctly) so getting a GUI stack wouldn't be that difficult, if
that's where they want to go.

I just don't see how using NodeOS would be an advantage over any other *NIX
distro.

~~~
naturalethic
It isn't useful at all. It is an experiment and a hobby. For those of us who
use javascript everywhere we already can, it is natural to want to push it
further and see what we come up with.

------
xiaoma
Atwood's law continues.

------
dubcanada
Reminds me of [https://www.destroyallsoftware.com/talks/the-birth-and-
death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-
javascript)

------
noobermin
I am an outsider who is starting to touch javascript but I have my history in
scripting and numerical sims. Is all this stuff about node.js really something
revolutionary or is it hype?

~~~
sarciszewski
My experience with node-webkit leads me to believe it could, once ironed out,
actually become a popular way for web developers to get their start with
client-side apps.

As far as Node.js as a server-side scripting language? Idk. I'm a PHP guy.

------
imslavko
First submission of this link a year ago:
[https://news.ycombinator.com/item?id=6519671](https://news.ycombinator.com/item?id=6519671)

------
mappu
A similar project in perl:
[http://perllinux.sourceforge.net/](http://perllinux.sourceforge.net/) (2005)

------
naviehuynh
what is the purpose of this OS anyway?

------
mattdeboard
No.

------
totoroisalive
The npm / node bubble has begun.

------
sauere
Operating Systems written in JavaScript, Webframeworks written in C.

It sure is a strange world we live in.

~~~
oscargrouch
nah.. its still Linux.. much like Android or Firefox OS

~~~
rkda
Wonder why you're downvoted. I think your point is valid.

~~~
sarciszewski
Yeah... Anyone who makes a valid point or say something possibly humorous gets
downvoted by overly sensitive HN readers. (Like this comment inevitably will,
too.)

~~~
sarciszewski
(I wonder how many people downvoted it because they disliked what I said, and
how many downvoted it as a proof of concept?)

~~~
andrewflnr
It was downvoted because it was manifestly false and destructive.

~~~
sarciszewski
Destructive? In a literary sense, or in a "10 tons of TNT" sense? I'm no
literary critic if that's what you're implying.

~~~
stingraycharles
Destructive as in the opposite of constructive. Your comment added no value to
the discussion.

~~~
sarciszewski
Adding no value to a discussion makes a comment neutral, not negative.

