23 karma · joined January 26, 2013
And here you have it now :-) Thank you! :-D
The best advantages of such a system are performance and memory foot-print, since there are no intermediate layers between the Node.js binary and the Linux kernel making Node.js applications to run almost on the metal, but also making it easier to understand and learn since all the applications are written in Javascript and it's code is easily accesible. It has some particular characteristics that make it different of other OSes, like a build system fully managed by the npm package manager, full unpriviledged access to system devices in a secure way, or the combination of OverlayFS and chroot jails to provide per-user root filesystems, allowing to each of them to create its "own" OS inside NodeOS while being isolated from the other users.
The project was winner on the systems category of the spanish national Universitary Free Software Championship 2014-2015, and it's a participant of the 2015-2016 edition and of the University of Granada Free Projects Championship 2015-2016. Future roadmap includes ARM support and a graphical HTML5-based GUI.
You can download NodeOS source code, build instructions, prebuild ISO images and contribute to its development at https://github.com/NodeOS/NodeOS (pull-request are highly welcome).
P.D.: Thank you to @dang (https://news.ycombinator.com/user?id=dang) by advice me how to publish correctly the message :-)
Yes, it's a same there's no way to do connections based on IP at this moment... It was discussed some time ago on the W3C WebRTC mail list but don't know where it went :-/
It's true that WebRTC currently needs a handshake server and that SDPs are a sh*t, but on ShareIt! (http://shareit.es), my own WebRTC P2P filesharing application, I have solved it using anonimous XMPP servers thanks to my framework WebP2P.io. Currently is not working just because I only was able to find one public XMPP server (Jappix.net) and they recently closed the access and with exams I'm not able to fix it (it's working using a PubNub backend channel, but only for Chromium <= v25 since recent ones generate incredible big and useless SDP strings), but it's functional.
Also, regarding to using another nodes as intermediary, with the old filetransfer-only protocol (I'm changing it to be more generic and create an agnostic-protocol network, but currently I'm really busy to finish it) I was able to connect two peers between them using just the WebRTC P2P network, so YES, IT'S POSSIBLE!!! :-D
Yes, I have been working very hard the last year trying to create a production-grade P2P application (I need to work to make it more robust, by the way...), and also thanks to it I've won the last week the "Most Innovative Project" on the national spanish VII Universitary Free Software Championship :-D
http://www.concursosoftwarelibre.org/1213/premiados-vii-cusl
EDIT: Ok, I have just read about Gnutella design on wikipedia and although in the past I didn't understand anything (I never was too much into P2P programs since I had internet from neighbours wifi...) now I can say that yes, both Gnutella and ShareIt!/WebP2P has a lot of things on common about their purposses and how it's designed, although just by serendipity :-P This definitely it's not bad, since I can be able to learn from their errors and also I would be able to propose to extend Gnutella to support DataChannels & HTTP as transport layer, so everybody wins :-D
Yes: I developed DataChannel-polyfill, the first working implementation of the DataChannels specification, too... :-)
Ideally, I would like to use something more "agnostic" like SIP or XMPP, but didn't be able yet to do it in an anonimous way, since both protocols require to create accounts somewhere that later when you register on a SIP or XMPP server it ask to confirm that you exists, so goodbye anonimity :-(