Hacker News new | past | comments | ask | show | jobs | submit login
Node OS (node-os.com)
58 points by ajones on May 4, 2016 | hide | past | web | favorite | 47 comments



I'm astonished that this has been up for an hour and no one's mentioned Atwood's Law:

"Any application that can be written in JavaScript, will eventually be written in JavaScript."

http://blog.codinghorror.com/the-principle-of-least-power/



Great Talk to watch


People are even doing hardware design in the browser now. That may or may not directly involve JavaScript on HW part as I don't know how much those apps rely on servers. It's conceivable a basic, EDA tool could be built with Javascript, though.


But the kernel needs to be in javascript. Since anything written in javascript becomes 2X better. </sarcasm>


I find it sad that before I added </sarcasm> people thought I was being serious and downvoted me. Once I added </sarcasm> I got upvoted.


Not to forget your bootloader. grub.js


What about the firmware?


nsa_backdoor.bin.js


Cooperative multitasking, as found in the Windows 3.1 era!


I have a two-finger salute I typically give to cooperative multitasking especially thanks to the Windows 3.1 era. ;) I still investigate it with better type systems, languages, hardware monitors, whatever. I just think "NOOOOO!!!" is a good default when I see it.


What would be really interesting is Elixir-OS/Erlang-OS where the entire OS can take advantage of a 50 core CPU.


You may be interested in learning about some of the approaches taken by the Midori project:http://joeduffyblog.com/2015/11/03/blogging-about-midori/

A research OS with the theme of treating the OS as if it were a distributed system.


Actually, BEAM can somewhat (and probably should be) considered an OS. It's got most everything you'd need baked in and ready to go...

Right now, I'd say the bigger issue isn't he entire OS taking advantage but the applications running within it... in which case, yes, BEAM would be an amazing paradigm shift! :D


The entire os can in fact take advantage of a 50 core cpu and most of the things that would benefit the most can.


I remember SGI adding code to Linux to to make it work on their NUMA machines with 256 sockets and 2,000-4,000 cores with single system image. They were my favorite but not only one. I'm sure some distro out there can handle 50 by now. :)


Thanks, I was not aware of this :)


Are you saying current OSs dont?!


Current OSes don't include the buzzword "Elixir" so they aren't relevant to Hackers.


I'm honestly not sure. I was under the impression that it was limited... but thinking back perhaps I was thinking of the software that usually doesn't take advantage of multiple processes. Also half joking :D



I have no idea about the details, but this is kind of cool:

http://erlangonxen.org/

http://zerg.erlangonxen.org/


One thing I can't seem to find is, is this a true nodejs-based operating system in that it's all single threaded? single-threaded event loop stuff works well for network servers but an OS? To me it seems like a terrible idea.


I'm going to have to assume it's using some form of Node's clustering support, which will let you run up to X instances where X is the maximum number of supported instances for the number of cores you have. Otherwise, you're right, bad combination.


What about something like ChromeOS? Does it need multi-threading?

If each app is running it's own thread, and can spawn new threads, maybe that would work.

Also, though Node.js is currently single-threaded, there is the Nexus project https://github.com/voodooattack/nexusjs which is doing multi-threaded javascript. Maybe this or Node.js will support multiple threads in the future.


Nashorn on the JVM supports threads. So the problem is definitely not a JS issue but a JS engine issue. NodeJS is single threaded because NodeJS V8 is. There was a talk about implementing workers that communicate view text messages though, I don't know the state of workers in NodeJS .


It's still based on the linux kernel.


I recently read about the SIMD support for Javascript. While parallelism and distributed systems contribute a lot to the OS, SIMD is something nice to have on top that. So, JS may be single threaded but having SIMD support might speed things up.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...


Why not? Many languages and Operating Systems used to be single threaded. Many still functionally are for a lot of things.

Of course it's still challenging but it's built on top of the Linux kernel so it's also not a pure NodeOS (which would probably be impossible).


> node-os is the first operating system powered by npm Read More

That's not a very nice tagline to have after the recent left-pad fiasco.


My favourite part is that I clicked it and got a 404. That seems really appropriate.


fiasco?


Let me Google that for you: http://lmgtfy.com/?q=npm+fiasco


Wow this looks lovely to support


When all you have is a hammer...


I love node, but a node REPL in lieu of a shell sounds like the worst thing ever.


"Read More" link 404'd for me.


<< Die heart Node.js fan >>

As much as I love Node.js, I have grown to dislike npm. Git + Github is a much nicer way to publish.

Also the whole left-pad fiasco.


Not going to defend npm here, but how is using Github as registry going to avoid left-pad-gate?


you are right - its not possible to avoid left-pad-gate due to github being a similar company as npm ( in terms of law ).

But using git means its theoretically possible to have multiple registries - etc.


To be quite frank, the fact that the node community hasn't adopted vendoring as a standard practice speaks volumes about that community.


Now you can left-pad your entire environment instead of just your production build!

Wow!


I assume the whole thing goes down when left-pad or some other trivial dependency can't be resolved.


npm no longer allows packages to be unpublished after 24 hours.


It's a brave new world


It's happening: https://xkcd.com/1508/





Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: