{"action":"created","issue":{"url":"https://api.github.com/repos/NodeOS/NodeOS/issues/73","labels_url":"https://api.github.com/repos/NodeOS/NodeOS/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/NodeOS/NodeOS/issues/73/comments","events_url":"https://api.github.com/repos/NodeOS/NodeOS/issues/73/events","html_url":"https://github.com/NodeOS/NodeOS/issues/73","id":45732403,"number":73,"title":"Keynote on NodeJsMadrid group","user":{"login":"piranna","id":532414,"avatar_url":"https://avatars.githubusercontent.com/u/532414?v=3","gravatar_id":"","url":"https://api.github.com/users/piranna","html_url":"https://github.com/piranna","followers_url":"https://api.github.com/users/piranna/followers","following_url":"https://api.github.com/users/piranna/following{/other_user}","gists_url":"https://api.github.com/users/piranna/gists{/gist_id}","starred_url":"https://api.github.com/users/piranna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piranna/subscriptions","organizations_url":"https://api.github.com/users/piranna/orgs","repos_url":"https://api.github.com/users/piranna/repos","events_url":"https://api.github.com/users/piranna/events{/privacy}","received_events_url":"https://api.github.com/users/piranna/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NodeOS/NodeOS/labels/blog","name":"blog","color":"e11d21"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2014-10-14T10:01:56Z","updated_at":"2015-02-01T10:27:53Z","closed_at":"2015-01-28T18:29:48Z","body":"They have [just accepted](https://github.com/NodeJsMadrid/talks/issues/1) that I do a keynote about NodeOS, so I'll need to prepare something... :-) Not a hurry, probably it will be in some months, there are other ones on the queue and I'm a bit bussy at this moment, but it's a step :-)"},"comment":{"url":"https://api.github.com/repos/NodeOS/NodeOS/issues/comments/72359412","html_url":"https://github.com/NodeOS/NodeOS/issues/73#issuecomment-72359412","issue_url":"https://api.github.com/repos/NodeOS/NodeOS/issues/73","id":72359412,"user":{"login":"piranna","id":532414,"avatar_url":"https://avatars.githubusercontent.com/u/532414?v=3","gravatar_id":"","url":"https://api.github.com/users/piranna","html_url":"https://github.com/piranna","followers_url":"https://api.github.com/users/piranna/followers","following_url":"https://api.github.com/users/piranna/following{/other_user}","gists_url":"https://api.github.com/users/piranna/gists{/gist_id}","starred_url":"https://api.github.com/users/piranna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piranna/subscriptions","organizations_url":"https://api.github.com/users/piranna/orgs","repos_url":"https://api.github.com/users/piranna/repos","events_url":"https://api.github.com/users/piranna/events{/privacy}","received_events_url":"https://api.github.com/users/piranna/received_events","type":"User","site_admin":false},"created_at":"2015-02-01T10:27:53Z","updated_at":"2015-02-01T10:27:53Z","body":"> 0077 Permisions\r\n>\r\n> Though I'm working within ubuntu, I know very little about linux : / I know the bare minimum to do server work and make sure my own desktop system is in place. I trust whatever system you employ. I will definitely say, what you're suggesting definitely seems ideal.\r\n\r\nThis is only done on users folders so only them can access to their\r\nfiles, as I said on other dirs I'm using custom ones. By the record:\r\nif you don't have enabled the execution dir (0111) you can be able to\r\naccess to its files at all (I shooted in my feet by setting 0000 on\r\nsystem folders... :-P ).\r\n\r\n\r\n> Create a new user when your system gets messed up\r\n>\r\n> I like this idea alot and I remember you talking about creating user profiles so that they can be shared/reinstalled as well similar to chef and docket.\r\n\r\nYes, a per-user package.json with all its installed packages :-)\r\n\r\n\r\n> This definitely seems ideal. I suppose I never thought of the idea of making everything dispensible, however, I suppose when it comes to important documents, backing them up is probably the best decision anyway.\r\n\r\nObviously... :-D But create a new user is not like format your hard\r\ndisk. Root partition is intended to be minal and read-only, so it\r\nshould work allways, if you mess up is in your home directory, and in\r\nNode.js the only directories that would need to be removed to start\r\nover are ~/bin and ~/.lib/node_modules, only problem here would be if\r\nyou installed a library/program that's not on NPM or you did it\r\nmanually.\r\n\r\nBut yes, a backup is always a good idea, hard disk failures happens :-P\r\n\r\n\r\n> HTTP and Websockets are enough, Its possible to use LXC containers\r\n>\r\n> Thats a good question. You're correct that heroku and nodjitsu don't allow FTP access. Though SSH is pretty important in many regards, it can be emulated via websockets as well.\r\n\r\nI was thinking so, WebSockets can emulate SSH, with the advantage that\r\nthe reverse proxy would redirect directly to your own wssh instance in\r\nyour own home folder :-)\r\n\r\n\r\n> I was attempting to do my own research on it previously though I didn't write much as it started to become apparent the learning curve for it was much higher than a week long project. LXC seems well maintained.\r\n\r\nLXC is a feature of Linux kernel, what you pointed out are the\r\nuser-space tools. Anyway, it's well maintained and tested since more\r\nthan 5 years ago and it's derived from other system used for about 15\r\nyears ago ;-) Oh, and based on one of the corner-stone of Plan9,\r\ndesigned in 1991... :-P\r\n\r\n(Disclaimer: I learned operating systems at university using Plan9,\r\nand my teacher was Francisco J. Ballesteros \"nemo\", one of the Plan9\r\npopes and author of http://lsub.org/who/nemo/9.intro.pdf, that was our\r\nclass book, that's why I talk so much about it :-P)\r\n\r\n\r\n> There doesn't seem to be any node bindings, though that is not be a huge issue. I suppose for\r\n\r\nWell, there's something... :-)\r\n\r\nhttps://www.npmjs.com/search?q=lxc\r\nhttps://www.npmjs.com/package/lxc\r\nhttps://www.npmjs.com/package/libvirt\r\n\r\nBut definitely not too much and in a bad state :-( But it's something\r\nto start about :-)\r\n\r\n\r\n> ** V8, fork/spawn and race condtions **\r\n>\r\n> So atom forced node to do some good things, interesting.\r\n\r\nhttp://strongloop.com/strongblog/whats-new-node-js-v0-12-multiple-context-execution/\r\nMoney can do almost anything... ;-)\r\n\r\n\r\n> I wonder if io.js even has this on their radar. Considering they are a fork, they have everything node does though it is pretty interesting nonetheless. To bring everything into the same event queue, wouldn't that make every module just requirable?\r\n\r\nThey doesn't need to be requirable, it's something related to the\r\nruntime, no more. The event queue is just a list of functions waiting\r\nto be executed, each of them with a reference to their context stack,\r\nit's just a matter of removing global variables :-) The collateral\r\nconsecuence of this, is that without global variables, you can consume\r\nthe event queue by several CPUs without race conditions or performance\r\nproblems, too!!! :-D\r\n\r\n\r\n> ** I recreated the wheel **\r\n>\r\n> T___T No issue, honestly they probably did it better than I did. Not going to lie, I spent maybe 7 hours on it so I don't consider it worthwhile. If theres already stuff out there, I'm not going to work on mine anymore :P. I have other projects I'd like to get back into, though helping NodeOS succeed is definitely on my priority list.\r\n\r\nWell, don't worry, it was funny, isn't it? :-) Anyway, I was reading\r\nabout the other alternatives and about blessing and blessing-contrib,\r\nand seems it was not a bad idea at all :-) The alternatives are\r\nsomewhat primitive, being tvmc the most mature but using a custom\r\nformat, and being slide.js a bunch of spaguetti code by it's readme\r\n(!). Also, by using directly ANSI color libraries you would recreate\r\nwhat blessing and blessing-contrib are already doing (text label,\r\nimages...), so I would only remove the markdown parser part for a good\r\ntested one and continue from there ;-) Seems it would be an\r\ninteresting project, specially if you craft a code higligh blessed\r\nplugin, make it somewhat compatible with impress.js and add\r\nanimations... :-P\r\n\r\n\r\n-- \r\n\"Si quieres viajar alrededor del mundo y ser invitado a hablar en un\r\nmonton de sitios diferentes, simplemente escribe un sistema operativo\r\nUnix.\"\r\n– Linus Tordvals, creador del sistema operativo Linux"}}