diff --git a/Gemfile b/Gemfile
new file mode 100755
index 0000000..cb96de4
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,6 @@
+source "https://rubygems.org"
+gem "github-pages", group: :jekyll_plugins
+group :jekyll_plugins do
+ gem "jekyll-feed"
+ gem "jekyll-paginate"
+end
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100755
index 0000000..f56c105
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,202 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (4.2.7)
+ i18n (~> 0.7)
+ json (~> 1.7, >= 1.7.7)
+ minitest (~> 5.1)
+ thread_safe (~> 0.3, >= 0.3.4)
+ tzinfo (~> 1.1)
+ addressable (2.5.0)
+ public_suffix (~> 2.0, >= 2.0.2)
+ coffee-script (2.4.1)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.12.2)
+ colorator (1.1.0)
+ ethon (0.10.1)
+ ffi (>= 1.3.0)
+ execjs (2.7.0)
+ faraday (0.10.1)
+ multipart-post (>= 1.2, < 3)
+ ffi (1.9.14)
+ forwardable-extended (2.6.0)
+ gemoji (2.1.0)
+ github-pages (112)
+ activesupport (= 4.2.7)
+ github-pages-health-check (= 1.3.0)
+ jekyll (= 3.3.1)
+ jekyll-avatar (= 0.4.2)
+ jekyll-coffeescript (= 1.0.1)
+ jekyll-default-layout (= 0.1.4)
+ jekyll-feed (= 0.8.0)
+ jekyll-gist (= 1.4.0)
+ jekyll-github-metadata (= 2.2.0)
+ jekyll-mentions (= 1.2.0)
+ jekyll-optional-front-matter (= 0.1.2)
+ jekyll-paginate (= 1.1.0)
+ jekyll-readme-index (= 0.0.3)
+ jekyll-redirect-from (= 0.11.0)
+ jekyll-relative-links (= 0.2.1)
+ jekyll-sass-converter (= 1.3.0)
+ jekyll-seo-tag (= 2.1.0)
+ jekyll-sitemap (= 0.12.0)
+ jekyll-swiss (= 0.4.0)
+ jekyll-theme-architect (= 0.0.3)
+ jekyll-theme-cayman (= 0.0.3)
+ jekyll-theme-dinky (= 0.0.3)
+ jekyll-theme-hacker (= 0.0.3)
+ jekyll-theme-leap-day (= 0.0.3)
+ jekyll-theme-merlot (= 0.0.3)
+ jekyll-theme-midnight (= 0.0.3)
+ jekyll-theme-minimal (= 0.0.3)
+ jekyll-theme-modernist (= 0.0.3)
+ jekyll-theme-primer (= 0.1.5)
+ jekyll-theme-slate (= 0.0.3)
+ jekyll-theme-tactile (= 0.0.3)
+ jekyll-theme-time-machine (= 0.0.3)
+ jekyll-titles-from-headings (= 0.1.3)
+ jemoji (= 0.7.0)
+ kramdown (= 1.11.1)
+ liquid (= 3.0.6)
+ listen (= 3.0.6)
+ mercenary (~> 0.3)
+ minima (= 2.0.0)
+ rouge (= 1.11.1)
+ terminal-table (~> 1.4)
+ github-pages-health-check (1.3.0)
+ addressable (~> 2.3)
+ net-dns (~> 0.8)
+ octokit (~> 4.0)
+ public_suffix (~> 2.0)
+ typhoeus (~> 0.7)
+ html-pipeline (2.4.2)
+ activesupport (>= 2)
+ nokogiri (>= 1.4)
+ i18n (0.7.0)
+ jekyll (3.3.1)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 1.1)
+ kramdown (~> 1.3)
+ liquid (~> 3.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (~> 1.7)
+ safe_yaml (~> 1.0)
+ jekyll-avatar (0.4.2)
+ jekyll (~> 3.0)
+ jekyll-coffeescript (1.0.1)
+ coffee-script (~> 2.2)
+ jekyll-default-layout (0.1.4)
+ jekyll (~> 3.0)
+ jekyll-feed (0.8.0)
+ jekyll (~> 3.3)
+ jekyll-gist (1.4.0)
+ octokit (~> 4.2)
+ jekyll-github-metadata (2.2.0)
+ jekyll (~> 3.1)
+ octokit (~> 4.0, != 4.4.0)
+ jekyll-mentions (1.2.0)
+ activesupport (~> 4.0)
+ html-pipeline (~> 2.3)
+ jekyll (~> 3.0)
+ jekyll-optional-front-matter (0.1.2)
+ jekyll (~> 3.0)
+ jekyll-paginate (1.1.0)
+ jekyll-readme-index (0.0.3)
+ jekyll (~> 3.0)
+ jekyll-redirect-from (0.11.0)
+ jekyll (>= 2.0)
+ jekyll-relative-links (0.2.1)
+ jekyll (~> 3.3)
+ jekyll-sass-converter (1.3.0)
+ sass (~> 3.2)
+ jekyll-seo-tag (2.1.0)
+ jekyll (~> 3.3)
+ jekyll-sitemap (0.12.0)
+ jekyll (~> 3.3)
+ jekyll-swiss (0.4.0)
+ jekyll-theme-architect (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-cayman (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-dinky (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-hacker (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-leap-day (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-merlot (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-midnight (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-minimal (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-modernist (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-primer (0.1.5)
+ jekyll (~> 3.3)
+ jekyll-theme-slate (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-tactile (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-theme-time-machine (0.0.3)
+ jekyll (~> 3.3)
+ jekyll-titles-from-headings (0.1.3)
+ jekyll (~> 3.3)
+ jekyll-watch (1.5.0)
+ listen (~> 3.0, < 3.1)
+ jemoji (0.7.0)
+ activesupport (~> 4.0)
+ gemoji (~> 2.0)
+ html-pipeline (~> 2.2)
+ jekyll (>= 3.0)
+ json (1.8.3)
+ kramdown (1.11.1)
+ liquid (3.0.6)
+ listen (3.0.6)
+ rb-fsevent (>= 0.9.3)
+ rb-inotify (>= 0.9.7)
+ mercenary (0.3.6)
+ mini_portile2 (2.1.0)
+ minima (2.0.0)
+ minitest (5.10.1)
+ multipart-post (2.0.0)
+ net-dns (0.8.0)
+ nokogiri (1.6.8.1)
+ mini_portile2 (~> 2.1.0)
+ octokit (4.6.2)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ pathutil (0.14.0)
+ forwardable-extended (~> 2.6)
+ public_suffix (2.0.5)
+ rb-fsevent (0.9.8)
+ rb-inotify (0.9.7)
+ ffi (>= 0.5.0)
+ rouge (1.11.1)
+ safe_yaml (1.0.4)
+ sass (3.4.23)
+ sawyer (0.8.1)
+ addressable (>= 2.3.5, < 2.6)
+ faraday (~> 0.8, < 1.0)
+ terminal-table (1.7.3)
+ unicode-display_width (~> 1.1.1)
+ thread_safe (0.3.5)
+ typhoeus (0.8.0)
+ ethon (>= 0.8.0)
+ tzinfo (1.2.2)
+ thread_safe (~> 0.1)
+ unicode-display_width (1.1.2)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ github-pages
+ jekyll-feed
+ jekyll-paginate
+
+BUNDLED WITH
+ 1.13.7
diff --git a/_posts/2014-02-16-System Packages.md b/_posts/2014-02-16-System Packages.md
new file mode 100755
index 0000000..ba1e4c3
--- /dev/null
+++ b/_posts/2014-02-16-System Packages.md
@@ -0,0 +1,52 @@
+---
+layout: post
+title: System Packages
+date: 2014-02-16T20:40:59Z
+author: groundwater
+avatar-url: https://avatars.githubusercontent.com/u/538488?v=3&s=128
+comments: 7
+github-url: https://github.com/NodeOS/NodeOS/issues/16
+---
+I want to write a blog post about writing services for node-os. Feel free to add your input, or ask questions. I'll do my best to clarify things before making the post.
+
+A system package manager is generally responsible for one of three types of packages.
+1. libraries
+2. executables
+3. services
+
+In the case of node-os, a **library** would be any module which you'd install with `npm install` and then load with `require(...)`. In a system like Ubuntu, a library would probably be a shared lib like _openssl_, or _libxml2_. Typically libraries are pre-compiled, meaning you only download the platform binary when installing. This is often much quicker, and less error prone that downloading and compiling source files.
+
+`npm` handles pure-js libraries quite well, and node-os will not be changing how that works. To install a dependency to your module, call `npm install $dep` from within your modules directory. The story for c++ dependencies is a bit different, but I'm going to save that story for another time.
+
+The second type of system package type are **executable** packages. These place executable files onto your `PATH`, allowing you to call them from the command line. The `package.json` allows you to specify executables quite easily.
+
+``` json
+{
+ "name": "bender-rodriguez",
+ "bin": {
+ "destroy-all-humans": "destroy-all-humans.js"
+ }
+}
+```
+
+While `npm install -g bender-rodriguez` would install this package, and link it's executables, it's better on node-os to use `npkg install bender-rodriguez`.
+
+Finally that brings us to **services**. Services are long-running daemons, like web-servers, databases, ssh-servers, etc. The `package.json` doesn't really have a _service_ key, but it does have a `scripts:start` key. Define a service in your `package.json` file as such:
+
+``` json
+{
+ "name": "planet-express-server",
+ "scripts": {
+ "start": "node server.js"
+ }
+}
+```
+
+You can start the package with `npm start`, but that isn't really a solution for starting services managed by the system. To install and run a service the _node-os way_
+1. install the package with `npkg install $service`
+2. start the package through _init_ with `npkg start $service`
+
+A job stanza will be generated by _npkg_ and sent to _init_. Your service will be long-running, and restarted if it exits abnormally.
+
+Creating services in detail will be _yet another post_.
+
diff --git a/_posts/2014-02-17-CoreOS + NodeOS = Win.md b/_posts/2014-02-17-CoreOS + NodeOS = Win.md
new file mode 100755
index 0000000..cc1d4cb
--- /dev/null
+++ b/_posts/2014-02-17-CoreOS + NodeOS = Win.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: CoreOS + NodeOS = Win
+date: 2014-02-18T06:24:38Z
+author: groundwater
+avatar-url: https://avatars.githubusercontent.com/u/538488?v=3&s=128
+comments: 16
+github-url: https://github.com/NodeOS/NodeOS/issues/17
+---
+I've had a number of people who've tried to run node-os, but run into problems deploying docker. See NodeOS/NodeOS-Docker#5
+
+I'm exploring using CoreOS as the base system.
+1. it comes with docker
+2. it's lightweight
+3. it has a one-step vagrantbox ready to go
+ - https://coreos.com/blog/coreos-vagrant-images/
+
+Assuming you have Vagrant installed, you can get node-os running with
+
+``` bash
+$ git clone https://github.com/coreos/coreos-vagrant/
+$ cd coreos-vagrant
+$ vagrant up
+$ vagrant ssh
+core $ docker run nodeos/nodeos
+```
+- @jtenner this should side-step all those ubuntu/docker pains.
+
+I haven't really explored CoreOS much yet, but it looks promising. Basically CoreOS treats Docker as its package manager, which is pretty sweet. I think these two compliment each other well. To use _docker-speak_ CoreOS is the lightweight cargo ship, and node-os is the lightweight container.
+
+I'm going to explore this more, and hopefully turn this into a blog post.
+
diff --git a/_posts/2014-02-20-Filesystem Layout.md b/_posts/2014-02-20-Filesystem Layout.md
new file mode 100755
index 0000000..0011d52
--- /dev/null
+++ b/_posts/2014-02-20-Filesystem Layout.md
@@ -0,0 +1,36 @@
+---
+layout: post
+title: Filesystem Layout
+date: 2014-02-21T03:43:54Z
+author: groundwater
+avatar-url: https://avatars.githubusercontent.com/u/538488?v=3&s=128
+comments: 31
+github-url: https://github.com/NodeOS/NodeOS/issues/19
+---
+I should explain the filesystem layout of node-os a little bit, because it's a slight depart form what you'll find on Ubuntu, Redhat, Arch, etc.
+
+I think requiring root privileges in order to install a package is lame. I've ditched the concept of _global_ or _system_ packages altogether, the only global executable is `node` located at `/bin/node`. The directories `/etc`, `/lib`, and `/usr` contain a few files necessary for node to run. I would love to reduce the number of extra files laying about, but one step at a time.
+
+Any time you run `npgk install`, the new module will be downloaded into `$HOME/lib/node_modules`, and executables will be linked into `$HOME/bin`. Every user experiences a unique system, and every user has access to `npkg`. You do not need root privileges to install packages.
+
+For example, if there are two users on the system `bob` and `kim`, and bob runs `npkg install ncurl`, the filesystem will look roughly like:
+
+```
+/home/
+ bob/
+ bin/ncurl --> ../lib/node_modules/ncurl/ncurl.js
+ lib/node_modules/ncurl
+ kim/
+ bin/
+ lib/node_modules/
+```
+### root and init
+
+When the kernel is ready, it will start init as PID 1. In node-os, init is located in `/root/bin/init`. Init is a module like any other executable. It is available on npm, and can be updated with `npkg install`. Modules in `/root` come pre-installed with node-os. They are the necessary modules to boot the system into a usable state.
+
+An example set of default modules might be:
+- [init](https://github.com/nodeos/nodeos-init)
+- [npkg](https://github.com/nodeos/nodeos-npkg)
+- [wssh](https://github.com/groundwater/node-wssh)
+- [nsh](https://github.com/groundwater/node-bin-nsh)
+
diff --git a/_posts/2014-10-14-Keynote on NodeJsMadrid group.md b/_posts/2014-10-14-Keynote on NodeJsMadrid group.md
new file mode 100755
index 0000000..d707946
--- /dev/null
+++ b/_posts/2014-10-14-Keynote on NodeJsMadrid group.md
@@ -0,0 +1,11 @@
+---
+layout: post
+title: Keynote on NodeJsMadrid group
+date: 2014-10-14T10:01:56Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 17
+github-url: https://github.com/NodeOS/NodeOS/issues/73
+---
+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 :-)
+
diff --git a/_posts/2015-03-12-Starting GitBlog.md b/_posts/2015-03-12-Starting GitBlog.md
new file mode 100755
index 0000000..c7ce135
--- /dev/null
+++ b/_posts/2015-03-12-Starting GitBlog.md
@@ -0,0 +1,22 @@
+---
+layout: post
+title: Starting GitBlog
+date: 2015-03-12T22:42:23Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 3
+github-url: https://github.com/NodeOS/NodeOS/issues/115
+---
+In the last days there has been few work here at NodeOS, but that's because [we has been worked on a side open source project](https://github.com/NodeOS/NodeOS/issues/105): thanks to the awesome work of @formula1, now GitBlog is a reality :-D [GitBlog](https://github.com/NodeOS/GitBlog) is a blogging system that use GitHub issues as engine, so it integrate directly with our current work flow based on them :-) We'll store the content of the [legacy blog](http://node-os.com/blog/) for historical purposses and reference. In the next days maybe there would be some updates, but at this moment is production ready, and in fact this will be the first post there :-D
+
+But GitBlog hasn't been the only thing we have been working on... the most important one has been a re-design of the overlay layers inspired by [this IBM article](http://www.ibm.com/developerworks/linux/library/l-mount-namespaces/index.html) that have bring us trhee important things:
+- root home folder moved to the users filesystem
+- users has their own local filesystem hierarchy...
+- ...and root filesystem now it's read-only :-D
+
+This has the great advantage that will be easier to generate ISO disk images and to port to other platforms, since the root filesystem is minimal. So minimal, that now it only host the `resolv.conf` and terminfo files, so in a future iteration we'll remove them at all. No root filesystem, only the initramfs to boot the system and everything stored in the users home! :-D A too drastical design? Yes, but we are not willing to create a POSIX system here, but instead only the required parts to create an environment were Node.js apps could feel like at home :-) This give us more flexibility to optimize CPU & memory resources (specially disk space) and increase security by having less components in the system. It needs still some work to clean-up the final users filesystem and about automatically assign a filesystem namespace to new process (at this moment they are all mount on boot...), but seems promising :-)
+
+In other things, some people think that a graphical interface is important for an OS. I don't think so, and in fact it complicate the overall system so we decided to [split NodeOS and have several flavours](https://github.com/NodeOS/NodeOS/issues/106), but it's true that would be cool to be able to use NodeOS to play some games... :-P and that's why [there has been some progress towards FbDev support](https://github.com/NodeOS/NodeOS/issues/39#issuecomment-76904769). We have it by default thanks to Linux kernel default configuration, so why not use it? We were thinking about writting a wrapper library and use it as basis to implement the [Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) on top of it, but the fact is that [node-canvas](https://github.com/Automattic/node-canvas) (the most popular Canvas API library for Node.js) has surpassed us and now [it start to support FbDev natively](https://github.com/Automattic/node-canvas/issues/533) thanks to our comments :-D It's cool when your work can help to move forward other projects... :-)
+
+And last but no least... now we have a [Facebook page](https://www.facebook.com/NodeOperatingSystem) :-P It's not active yet but we'll try to fill it soon :-)
+
diff --git a/_posts/2015-03-22-I'm rootless.md b/_posts/2015-03-22-I'm rootless.md
new file mode 100755
index 0000000..5174fe8
--- /dev/null
+++ b/_posts/2015-03-22-I'm rootless.md
@@ -0,0 +1,78 @@
+---
+layout: post
+title: I'm rootless
+date: 2015-03-22T19:48:40Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 0
+github-url: https://github.com/NodeOS/NodeOS/issues/118
+---
+One of the advantages of being based on NPM is the so modular that NodeOS is. That's the reason why [you would have not seen too much movement lately](https://github.com/NodeOS/NodeOS/commits/master), but the fact is that in the project dependencies [there has been a huge improvement](https://github.com/piranna/nodeos-mount-filesystems): now thanks to a huge and agressive usage of the new Linux kernel multi-layer OverlayFS (we are needing to use a release candidate version of upcoming Linux 4.0 so [it could be available](http://www.phoronix.com/scan.php?page=news_item&px=Linux-3.20-OverlayFS-Changes)! :-D), NodeOS offer a per-user independent & isolated root filesystem, and in fact now there's no real root partition at all (that's great to simplify the process to create a live ISO or a Raspberry PI disk image!!! :-D), making this not only the first OS to have a similar approach (loosely inspired in [Plan9 `bind` union directories](http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Union_directories_and_namespaces)) but probably making it one of the most secure OSes, at least from a file access point of view :-)
+
+``` Javascript
+[ 1.072752] EXT4-fs (sda): warning: mounting unchecked fs, running e2fsck is recommended
+[ 1.076131] EXT4-fs (sda): mounted filesystem without journal. Opts: errors=remount-ro
+Hello! I'm a user init script :-)
+Welcome to NodeOS!: username: nodeos
+Welcome to NodeOS!: password:
+/ # ls
+[ 'bin', 'dev', 'etc', 'init', 'lib', 'proc', 'share', 'tmp', 'usr' ]
+/ # ls /bin
+[ 'blessed',
+ 'cat',
+ 'cp',
+ 'ip',
+ 'ln',
+ 'ls',
+ 'man',
+ 'mkdir',
+ 'mv',
+ 'node',
+ 'npm',
+ 'nsh',
+ 'pwd',
+ 'rm',
+ 'sh',
+ 'slap' ]
+/ # node
+> process.env
+{ HOME: '/',
+ TERM: 'linux',
+ LANG: 'es_ES.UTF-8',
+ vga: '0x318',
+ PATH: '/bin' }
+/ # cat init
+#!/usr/bin/env node
+
+console.log("Hello! I'm a user init script :-)")
+/ # ./init
+Hello! I'm a user init script :-)
+/ # ls usr/bin/
+[ 'env' ]
+/ # cd usr/bin/
+/usr/bin # ls
+[ 'env' ]
+/usr/bin # cd
+/ # ls share/
+[ 'man' ]
+/ # ls share/man/
+[ 'man1', 'man3', 'man5', 'man7' ]
+/ #
+```
+
+Pretty, isn't it? :-D
+
+The way it works is fairly simple and it's inspired by [this IBM article about mount namespaces](http://www.ibm.com/developerworks/linux/library/l-mount-namespaces/index.html) (that definitely are the next step where to move to improve all this OverlayFS big hack... if needed :-P): `initramfs` not only mount the users filesystem, but also means as a basis for the "general root filesystem" used as basis later for all the users (since by design since Linux 2.6.0 it will be always loaded in memory, so we re-use it). This is done by removing the unneeded modules and executables used to start and mount the filesystem so earn some RAM, but also to remove some possible security holes on that modules, so we keep only with an initram only with the Node.js executable and its needed dynamic libraries, and since they will be used everywhere this makes also the system faster. The users partition need to be mounted somewhere, so I'm doing it on the `/tmp` folder on the initramfs, so this way I can later mount over it an in-ram `tmpfs` filesystem for each user, hidding the raw users partition from being accesible by anybody and also preventing to write temporal data on the real hard disks.
+
+After that, we use this initram as a read-only "carbon copy" where to mount over each of the users home (also root) and later using [chroot](https://github.com/melor/node-posix#posixchrootpath) to give to each users an unique root filesystem isolated from the others. This is only needed to exec the per-user `/init` executable and when login in the system, so it's easy to have the access controlled, and all their subsequent process will be running inside their corresponding user `chroot` jail. There's a minor exception regarding to the `root` user: if it's available in the users filesystem (that's not mandatory at all), since [logon](https://github.com/piranna/logon) needs to access to the users home directory to read their login configuration, it is mounted first and later the users partition mount point is moved to a `home` folder inside its own filesystem, so it can access to them without modifying the carbon-copy initram root filesystem. After that, it is configured exactly the same way as any other regular user.
+
+This also has the advantage to give to the users a simple filesystem hierarchy were to work, since their "home" is in fact the root of their own filesystem hierarchy, so they can easily install packages globally without requiring special permissions and will not need to configure anything since they will naturally be installed in their home directory by deafult.
+
+There are some improvements that need to be done, obviously. First of all, the "demo" users filesystem that's automatically generated on the build process needs to give diferent `uid`s and `gid`s to each one of the users folders since this is used as basis for the security scheme (maybe a patch for [genext2fs](http://genext2fs.sourceforge.net/)?), but since it's only for demo purposses this is not so a problem (but definitely we need to add some some info about how to create and config a custom, real one...).
+
+Other notable problem is regarding to the `/dev` and `/proc` filesystems, since they are shown on each user filesystem as empty folder. In the case of `/dev`, the best solution is [to implement a filesystem that only show the device entries that are accesible by the user and owned by him or not currently used](https://github.com/NodeOS/NodeOS/issues/95), so they could be exclusively accessed. This could be easily done by using [fusejs](http://c4milo.github.io/fusejs/), since the NodeOS Linux kernel is already being compiled with support both for [FUSE](http://fuse.sourceforge.net/) and [CUSE](http://lwn.net/Articles/308445/). Regarding to `/proc`, something similar could be done, but seems its configurable at mount how accesible it is, so by using shared mountpoints I could have it replicated on all the users root filesystem. On the other hand, I would like that [Node.js remove its dependency on it](https://github.com/joyent/node/issues/10426) so it could be removed at all from NodeOS, since it's obviously a posible entry point for security issues since you hace access to all the kernel internal structures... :-/
+
+Next step, update the project documentation, some love for Docker (I have been focusing on QEmu since by default Docker needs `sudo`, so it makes more dificult to build the images) and generate (nightly) live ISOs :-) It will be funny to see NodeOS running on real hardware... :-D
+
+P.D.: oh, and [we have now 2200 stargazers](https://github.com/NodeOS/NodeOS/stargazers) and counting!!! :-D
+
diff --git a/_posts/2015-04-02-It's alive!.md b/_posts/2015-04-02-It's alive!.md
new file mode 100755
index 0000000..1d0aac9
--- /dev/null
+++ b/_posts/2015-04-02-It's alive!.md
@@ -0,0 +1,23 @@
+---
+layout: post
+title: It's alive!
+date: 2015-04-02T14:12:25Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 2
+github-url: https://github.com/NodeOS/NodeOS/issues/127
+---
+It's has been a tough week, but as we advanced on [our previous post](https://github.com/NodeOS/NodeOS/issues/118), finally we got a great milestone leading to [our first alpha release](https://github.com/NodeOS/NodeOS/issues/37) to raise lower the entry barrier to new NodeOS users: now NodeOS has [pre-build images](https://github.com/NodeOS/NodeOS/releases) automatically generated both for QEmu, CD live ISOs images ([one of the most requested issues](https://github.com/NodeOS/NodeOS/issues/30), also on [Twitter](https://twitter.com/espectalll123/status/566359430472957952)), and disk images (with a writable usersfs partition! permanent storage! yay!:-D )...
+
+...that work on real hardware!!! :-D
+
+To create the CD-live ISOs it was more-or-less easy thanks to the fact that now the root filesystem is read-only (so it can boot from a CD-ROM) and using [grub-mkrescue](https://www.gnu.org/software/grub/manual/html_node/Invoking-grub_002dmkrescue.html). Problem is, that it requires to define a usersfs partition by hand, or if not the changes would only be done on memory. To allow to make them persistent the best option was to make a partitioned disk image with both a read-only rootfs and a read-write usersfs, and allow to write it to an USB pendrive. At first I though about continue using grub, but after two days I left it: it's difficult to use on disk images, bloated and require to use `sudo`, so I decided to [think different](http://en.wikipedia.org/wiki/Think_different) (I did already by using [musl](http://www.musl-libc.org/) instead of [glibc](http://www.gnu.org/software/libc/)) and ended using [syslinux](http://www.syslinux.org/wiki/index.php/The_Syslinux_Project). Result? Easy to configure (and similar to the one used on the Raspberry Pi boot process), works natively with disk images, don't need `sudo` and it was ready in just two hours :-D I'll later from grub-mkrescue to use [isolinux](http://www.syslinux.org/wiki/index.php/ISOLINUX) so I can use only one boot system.
+
+Oh, and if you want to write it to an USB pendrive, t[here's also a tool to do this](https://github.com/NodeOS/NodeOS/blob/master/bin/installUSB) and automatically expand the full disk space... Would be interesting to see this on a hard disk... ;-)
+
+There are some more issues to fix. For example, the errors you see on the previous image are regarding that the image is prepared to mount usersfs from `/dev/sda2`, while as you can see it has set the USB drive as `/dev/sdb` (and `/dev/sda` is my internal hard disk), so I'll need to add support on [nodeos-mount-filesystems](https://github.com/piranna/nodeos-mount-filesystems) to mount them based on UUIDs to prevent this. Another more annoying was that the first test on real hardware on [my work](https://www.kurento.org/) MacBook didn't booted at all, just to get to the point later that Macs are using EFI instead of BIOS, so I'll need to investigate how to do a disk image that can boot on both systems.
+
+Anyway, now I can say it:
+
+ :-P
+
diff --git a/_posts/2015-04-10-We are featured on XKCD.md b/_posts/2015-04-10-We are featured on XKCD.md
new file mode 100755
index 0000000..d19ce64
--- /dev/null
+++ b/_posts/2015-04-10-We are featured on XKCD.md
@@ -0,0 +1,15 @@
+---
+layout: post
+title: We are featured on XKCD
+date: 2015-04-10T15:52:20Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 2
+github-url: https://github.com/NodeOS/NodeOS/issues/130
+---
+We... sort of :-P
+
+[](http://xkcd.com/1508/)
+
+It could be [runtime.js](http://runtimejs.org/), too... ;-)
+
diff --git a/_posts/2015-04-29-Let's build a beta.md b/_posts/2015-04-29-Let's build a beta.md
new file mode 100755
index 0000000..c74ba79
--- /dev/null
+++ b/_posts/2015-04-29-Let's build a beta.md
@@ -0,0 +1,36 @@
+---
+layout: post
+title: Let's build a beta
+date: 2015-04-29T09:29:02Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 12
+github-url: https://github.com/NodeOS/NodeOS/issues/146
+---
+Now that almost all the tasks for the [alpha](https://github.com/NodeOS/NodeOS/issues/37) are complete, I think it's time to start thinking and discussing where to work now:
+- [x] **showstopper** Update version of Node.js (fix v8 issue)
+- [ ] UIs
+ - [ ] blessed correctly working by default
+ - [ ] NodeOS font
+ - [ ] HTML renderer (Chromium Embedded Framework)
+- [ ] OS flavours
+ - [ ] mainframe
+ - [ ] workstation
+- [ ] alternative kernels
+ - [ ] FreeBSD
+ - [ ] NetBSD
+ - [ ] runtime.js
+- [ ] alternative platforms
+ - [ ] ARM (raspberry pi)
+ - [ ] MIPS
+ - [ ] PowerPC
+- [x] splitted modules for each layer
+- [ ] [tests for all packages](https://github.com/NodeOS/NodeOS/issues/75)
+- [ ] [containers for each user](http://docs.docker.com/articles/security/)
+- [x] network reverse proxy (only http/ws?)
+- [ ] dhcp client written in Node.js (including ability to set ip/rotue/netmask)
+- [ ] ~~npkg update~~ Intended to use [ndm](https://github.com/npm/ndm)
+- [ ] EFI support
+
+Any other idea? :-)
+
diff --git a/_posts/2015-10-01-I'm (not) a liar.md b/_posts/2015-10-01-I'm (not) a liar.md
new file mode 100755
index 0000000..f833c8a
--- /dev/null
+++ b/_posts/2015-10-01-I'm (not) a liar.md
@@ -0,0 +1,17 @@
+---
+layout: post
+title: I'm (not) a liar
+date: 2015-10-01T22:08:40Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 6
+github-url: https://github.com/NodeOS/NodeOS/issues/173
+---
+One of the biggest features of NodeOS is the fact that there's no root user and that all users get isolated ones from others without any possibility to access to the others files by several mechanism (mainly chroot and strict file permissions), but as a big feature it was also a big lie, because in fact all the users were running as root inside their own home folders. Well... not anymore :-)
+
+In the last weeks [I've been implementing](https://github.com/NodeOS/ExclFS) a FUSE filesystem that could allow access to the devices on `/dev` one user at a time, allowing to everybody to access to all the hardware devices without the risk of damaging or steal data. That was the last thing needed to have really isolated users, so after some tune-ups on the mount of the filesystems, now all the users get their permissions correctly downgraded while maintaining the possibility to control the hardware:
+
+
+
+So after that, the core functionality of the [alpha stage](https://github.com/NodeOS/NodeOS/issues/37) is ready, remaining only to improve the support of applications inside NodeOS (specially npm and nsh) and generate images for Vagga/Docker, and maybe add support on [logon](https://github.com/piranna/logon) to create new users, so any help is welcome. Also I'm finishing my thesis, that I intent to release as CreativeCommans and that will be a good documentation of how NodeOS works internally.
+
diff --git a/_posts/2015-11-18-NodeOS 1.0-RC1.md b/_posts/2015-11-18-NodeOS 1.0-RC1.md
new file mode 100755
index 0000000..b13b4dd
--- /dev/null
+++ b/_posts/2015-11-18-NodeOS 1.0-RC1.md
@@ -0,0 +1,17 @@
+---
+layout: post
+title: NodeOS 1.0-RC1
+date: 2015-11-18T11:40:50Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 12
+github-url: https://github.com/NodeOS/NodeOS/issues/181
+---
+It has been a long time, but now that [all the core functionality is ready](https://github.com/NodeOS/NodeOS/issues/37) being only a matter of some tune-ups and add some external projects like find a suitable `git` client or improve [nsh](https://github.com/groundwater/node-bin-nsh), now we can say it: we have a [release candidate](https://github.com/NodeOS/NodeOS/releases/tag/v1.0-RC1) :-D
+
+The last weeks there has been a lot of work to make this happen, like adding support for LXC containers using [vagga](https://github.com/tailhook/vagga) and re-enabling support for Docker, but also work to make [all the dependencies downloaded using Node.js instead of bash scripts](https://github.com/piranna/download-manager) (and a lot of fixes on several projects to make it work like [download](https://github.com/kevva/download), [tar-stream](https://github.com/mafintosh/tar-stream), [jsdiff](https://github.com/kpdecker/jsdiff) or [vinyl-fs](https://github.com/gulpjs/vinyl-fs)). Next step, made the build scripts also in Javascript :-)
+
+We have also made it possible to test independently the cross-compiled Node.js binary by using [QEmu user mode](https://wiki.debian.org/QemuUserEmulation) so we can detect build failures in an earlier stage, and improved memory consumption by using [node-kexec](https://github.com/jprichardson/node-kexec) both on [usrbinenv](https://github.com/piranna/usrbinenv) and [logon](https://github.com/piranna/logon), although this is a point that still needs to be improved. But best of all... we have network enabled by default! :-D Only dhcp at this moment and the wire needs to be plugged on boot to fetch the address and DNS servers, but it's just enought to start fiddling around.
+
+As a side note, I've inscribed NodeOS this year both on the spanish national [Free Software Universitary Championship](https://www.concursosoftwarelibre.org/1516/proyectos/8) and the Granada University[Free Projects Competition](http://osl.ugr.es/bases-de-los-premios-a-proyectos-libres-de-la-ugr), so let's cross our fingers to see if this year we won again! :-P
+
diff --git a/_posts/2016-01-04-What makes NodeOS better than other traditional operating systems?.md b/_posts/2016-01-04-What makes NodeOS better than other traditional operating systems?.md
new file mode 100755
index 0000000..2a4195c
--- /dev/null
+++ b/_posts/2016-01-04-What makes NodeOS better than other traditional operating systems?.md
@@ -0,0 +1,55 @@
+---
+layout: post
+title: What makes NodeOS better than other traditional operating systems?
+date: 2016-01-04T23:33:35Z
+author: evanplaice
+avatar-url: https://avatars.githubusercontent.com/u/303159?v=3&s=128
+comments: 4
+github-url: https://github.com/NodeOS/NodeOS/issues/200
+---
+General purpose operating systems are extremely complex. First they have to provide an extensive HAL (Hardware Abstraction Layer) that can support the wide range of different devices they can be installed on. Second, they need to provide functionality as well as protection for multiple users and many programs/services that support those users.
+
+Web servers require none of that functionality. They generally run off of VMs (Virtual Machines) that abstract away all of the hardware-specific details and they're generally designed for single-purpose usage.
+
+Lets say you decided to build an OS from scratch. Start by stripping everything down to the bare essentials. HAL isn't required because the VM already takes care of abstracting away the hardware. V8 already provides memory/filesystem sandboxing so the separation of user/kernel space (and all of the processing overhead it requires) is no longer necessary.
+
+What you get is an OS that takes up less than 10MB of space, boots up in seconds, requires zero maintenance (other than pushing new updates), requires minimal memory overhead, and runs as fast or faster than the fastest C implementations running on a general purpose OS.
+
+If you've ever used IaaS, you've probably had to deal with the pains of deployment. Deploying a complete general-purpose OS image is a PITA. Docker makes things easier by making it so you only have to deploy your application-specific differences but it adds yet another layer of abstraction, including more complexity and space/memory overhead. Plus, you still have to manage updating the underlying OS for security vulnerabilities and bug fixes.
+
+Here are the layers of abstraction for a Docker deployment:
+
+```
+Hardware -> VM -> Kernel Space -> User Space -> Docker -> V8 VM -> Application
+```
+
+And for an application specific system in NodeOS:
+
+```
+Hardware -> VM -> Kernel Space -> V8 VM -> Application
+```
+
+Fewer layers, means less bloat and drastically reduced surface area for security vulnerabilities.
+
+---
+
+Use case - Building a Load Balancer:
+1. clone NodeOS
+2. install a load balancer implementation via NPM
+3. install additional dependencies to auto-restart, log, profile the system
+4. add a custom configuration
+
+Run the build step which packages everything (incl a minimal Linux kernel and Node/V8) as a VM. Then deploy the VM using git or some other deployment tool.
+
+Occasionally, you may need to update dependencies (npm update) and/or modify the config. Run the build step again and it's ready for deployment.
+
+In most setups, the OS lives on the server and changes/updates are either managed remotely via provisioning tools (ex ansible/puppet) or pushed as Docker containers.
+
+In a Unikernel. The setup, dependency management, build process can all be automated using NPM and existing libraries. The builds are small enough that they can be versioned using git.
+
+Theoretically, you could do a whole system setup with 4 commands:
+- git clone
+- npm run install
+- npm run build
+- npm run deploy
+
diff --git a/_posts/2016-03-02-Not a toy OS anymore.md b/_posts/2016-03-02-Not a toy OS anymore.md
new file mode 100755
index 0000000..acc6db9
--- /dev/null
+++ b/_posts/2016-03-02-Not a toy OS anymore.md
@@ -0,0 +1,30 @@
+---
+layout: post
+title: Not a toy OS anymore
+date: 2016-03-03T00:11:31Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 14
+github-url: https://github.com/NodeOS/NodeOS/issues/216
+---
+With the [release of the release candidate](https://github.com/NodeOS/NodeOS/issues/181) it would seems that this repository has been somewhat quiet, but the fact is that there has been a lot of progress lately on other areas of NodeOS (and I'm not talking only about the new 700 stargazers or the repercussion on Twitter of the project and the publication of several [articles on Internet](https://www.toptal.com/nodejs/nodeos-the-javascript-based-operating-system)... ;-) ) like my bachelor thesis or the rewrite of [nsh](https://github.com/piranna/nsh) (still in progress, but when I get to rid the stdin problems it will be really awesome :-D ) and specially thanks to the work of @lite20, @Coretool and @formula1 here on the issues but also on projects like [noGUI](https://github.com/Coretool/noGUI) (keep rocking guys!!! ;-) ).
+
+But last February 29th (what a charismatic date ;-) ) something "magic" happened, that by the way while I'm writting this [there are some spies](https://github.com/NodeOS/NodeOS/commit/050bb316986953726f661eb771fa3bb822890693#commitcomment-16460007) asking me for details ;-)
+
+The suggestion of @Xe about [using an independent C-based init process](https://github.com/NodeOS/NodeOS/issues/187#issuecomment-164025249) didn't worked as expected but at least it helped to have an [init process](https://github.com/piranna/nodeos-init) that shutdown gracefully the system when no more processes are running.
+
+But I was thinking: Node.js can run on regular Linux systems, so _something_ happens between starting the system `init` and executing Node.js that allow latest ones to run correctly that was not needed before. Maybe the kernel filesystems like `/proc` or more probably `/sys` (that I was not using before)? So trying to isolate it I made a copy of my Ubuntu `initrd.img` file and [included it](https://scaryreasoner.wordpress.com/2009/08/29/debugging-the-linux-boot-process/) Node.js and its needed libraries. Later booted my computer using it and disabling my hard disk to force to keep into the initram and there I was able to run Node.js. Cool! Time to clean the `init` script. Mount root partition, NFS, parsing Linux command line... at the end I get only three suspects: the mounting of `/sys`, `/proc` and `/dev` filesystems, _of course_.
+
+But I was afraid. What if I was wrong? What if by removing them Node.js _still runs_ on the Ubuntu initram? Could be the problem be somewhere else? And ironically, that would have been the time I most enjoyed something doesn't work :-P After checking it found the culprit: `/dev`, the system devices filesystem. WTF? What could have changed on v8 that makes uses of the system devices that's missing and makes it consume the full CPU? Anyway I didn't wanted to fix the Ubuntu initram but instead to make NodeOS to boot with newer versions by mounting `/dev` before executing Node.js, so now that I have an independent `init` process that would be a good candidate to do it. [Just a couple of lines](https://github.com/piranna/nodeos-init/commit/e60693419caf5f8740d2b1b6767e8dccd85bbf59), and check that everything was working. Ok, let's go for the real deal. Use Node.js 0.12.10 (one of the closests to the 0.11.14 one used by NodeOS) as I was using on my tests with the Ubuntu initram? No, let's go crazy, run before walk, fail with a lot of noise and use the latest 4.3.1 stable. And after 30 minutes compiling... _magic_:
+
+
+NodeOS barebones layer. Using Node.js 4.3.1. **For real**
+
+I don't have words to explain that moment beyond the fact my cat run scaried and my parents though I got insane :-P One year and a half looking back for a bug... that would turn mad to anybody :-P
+
+After the exctatic moment and some well gained nice tea drinking (not pun intended, I still don't sell hats :-P ), I needed to update all the NodeOS dependencies that use a compiled module due to the fact I was using outdated ones that were compatible with Node.js 0.11.14. Really a lot (8 of them just only on the [NodeOS organization](https://github.com/NodeOS)...). It was greatly useful the previous work done by @heavyk (since I've never used [nan](https://github.com/nodejs/nan) before), and after two days now we have NodeOS fully working with Node.js 4.3.1 and ready for the upcoming ones :-)
+
+There are not prebuild images yet because the build process has got to be really huge and fat and the CI server is not capable to manage so much downloads and compiling steps. I'm thinking about moving to another more capable alternative, but there are also son discussions and [pull-requests](https://github.com/NodeOS/NodeOS/pull/214) to remove some functionality from the build process and move it to [another independent projects](https://github.com/NodeOS/nodeos-cross-toolchain) that could more easily be tested and generated and also get it faster to generate NodeOS itself by using prebuild binaries.
+
+Anyway, the code is already available in master branch, and whatever direction the project carry on from now, keep this sentence in your mind: **NodeOS is not a toy OS anymore**, and it's very capable to be used on production environments for real use cases from now on. F*ck yeah B-)
+
diff --git a/_posts/2016-04-08-Prebuilds, again.md b/_posts/2016-04-08-Prebuilds, again.md
new file mode 100755
index 0000000..f56ba77
--- /dev/null
+++ b/_posts/2016-04-08-Prebuilds, again.md
@@ -0,0 +1,21 @@
+---
+layout: post
+title: Prebuilds, again
+date: 2016-04-08T20:05:43Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 0
+github-url: https://github.com/NodeOS/NodeOS/issues/224
+---
+In the last weeks it could seems there have been too few movement in the project due to several reasons: NodeOS core is stabilized after the [RC1](https://github.com/NodeOS/NodeOS/issues/181), and both me and other members of the project we have been busy with work and classes (I hope to read my thesis in May! :-D ). At the end, we are working on NodeOS on our spare time and we have some real-life responsabilities...
+
+The point is that we have been banging our head against some walls while moving towards the 1.0 version. For example, @tylerl0706 has been getting some non-reproducible issues while trying to fix the pending bits to port [nodegit](http://www.nodegit.org/) so we can have a working git client on NodeOS (needed to use git repos with npm). In my case, although I got some good progresses [reimplementing nsh as a bash-languaje interpreter](https://github.com/piranna/nsh) running on a single process (that would lead in the future to write a _bash-2-javascript_ transpiler) instead of just executing the user commands, the fact is that I've [found a bug on Node.js](https://github.com/nodejs/node/issues/5574) where stdin stream is not correctly processed and makes it unusable and the alternative is to not be able to auto-detect when it's running on an interactive shell, and also trying to fix [download](https://github.com/kevva/download) module to [decompress on real time](https://github.com/kevva/download/issues/88) instead of hold the files in ram (making it impossible to download NodeOS dependencies on memory constrained systems) lead to some cryptic errors or random incomplete downloads without notification. Really frustrating :-( Good things are, building an OS a such a complex task that always there's something to do, and if something it's burning yourself you can try with another thing :-)
+
+One recurrent issue people is having is that `nodeos-cross-toolchain` module [dissapears](https://github.com/NodeOS/NodeOS/issues/218) when using latest Node.js 5. The reason is that it includes npm 3, that has changed the organization of the `node_modules` folder to being maximally flat, deleting its folder on the way. Until now the only solution is to still use Node.js 4 and npm 2, but it will someday gets support and it's time to move on, so since it was almost autonomous I've finally converted it on an [independent npm module](https://github.com/NodeOS/nodeos-cross-toolchain) thanks to a modified version of the use of [prebuild](https://github.com/piranna/prebuild) to be able to use some [prebuild releases](https://github.com/NodeOS/nodeos-cross-toolchain/releases) of general purpose binaries. This allow to use `nodeos-cross-toolchain` as a dependency of the NodeOS layers without needing to build them again and again, but also move forward to the npm 3 support and more important to allow to test it independtly and reduce NodeOS build time to the half (yes, the cross-compiler takes so much time as NodeOS itself...), so now instead of [pick some microwave pop-corn and go to see a movie](https://github.com/NodeOS/NodeOS#build-nodeos-in-three-steps) it's just a matter of see one chapter of your favorite soap opera :-P It has helped to reduce build time not only to convert the cross-toolchain on a precompiled npm module, but also I've created prebuild modules for [genfatfs](https://github.com/NodeOS/genfatfs), [genext2fs](https://github.com/NodeOS/genext2fs) and [qemu](https://github.com/NodeOS/qemu). Yes, you've read it right: now you can use [QEmu](http://qemu.org) as a [npm dependency](https://github.com/NodeOS/NodeOS/blob/7cb4bb925986a97fb7ffd9e6fdf469b583cb56bd/package.json#L45), no kidding :-D
+
+But to be honest, upcoming npm 3 support what not the main reason to move cross-toolchain as an independent module, but NodeOS prebuild images. NodeOS build process has got to be so much complex and heavy weight that the CI server was getting random errors constantly (and in fact I'm thinking to move to another one due to this, but I've not found any other free one as fast... maybe is it time to give another opportunity to TravisCI?), so the only possible solution was to split the build process in several independent fragments and test them separately, tha obvious first one was the cross-toolchain since it only would need changes when a new version of GCC or Linux kernel arises. So after adding the dependencies and tuning-up the build scripts and fix some bugs on the [publish-release](https://github.com/piranna/publish-release) module... finally we have [prebuild NodeOS images](https://github.com/NodeOS/NodeOS/releases) again after 4 months of silence, just ready so people can test the upcoming 1.0 version :-D
+
+Last but not least, another tiny bit that has been floating around since some time ago was the possibility to add an [administrator mode](https://github.com/NodeOS/NodeOS/issues/177) that would allow to admin some system global configs like to allow to `logon` to [create new users](https://github.com/piranna/logon/issues/3), while at the same time don't allow users to log in the system to prevent problems like the fact in WIndows most people (specially in domestic environments) access to the system with administrator permissions. It was easier to implement that what I though on a first time, just by [forcing the user to a REPL](https://github.com/NodeOS/nodeos-mount-filesystems/blob/7937600616a6987d472d0e85d9c4143ec9585c97/server.js#L285) if system is booted with the `single` flag and don't execute the users `init` processes (specially the one for `root`, that start `logon`). This also help me to find a bug on [nodeos-init](https://github.com/piranna/nodeos-init) where it was trying to exec as a command any positional argument that it was being given so it though `single` was a command (when it's not :-) ), so now it [detects](https://github.com/piranna/nodeos-init/commit/c23ce46be2ada9e1899b9129a4a162507c43ff55) if the first one is an absolute path (since at boot the kernel doesn't define itself the `$PATH` environment variable used to locate the binaries) and if not, it gives all the parameters as arguments for the default `/sbin/init` binary that mount the partitions and boot the system :-)
+
+So as you can see, steady NodeOS is moving towards it's 1.0 version! :-D Let's hope the issues that have appear on its dependencies modules can be fixed soon and we can release something we can be proud of :-)
+
diff --git a/_posts/2016-04-11-A Cool Thought.md b/_posts/2016-04-11-A Cool Thought.md
new file mode 100755
index 0000000..f67cf92
--- /dev/null
+++ b/_posts/2016-04-11-A Cool Thought.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: A Cool Thought
+date: 2016-04-12T06:21:48Z
+author: lite20
+avatar-url: https://avatars.githubusercontent.com/u/8516575?v=3&s=128
+comments: 3
+github-url: https://github.com/NodeOS/NodeOS/issues/228
+---
+I just wanted to bring up something cool I was thinking about today. NodeOS and Android share as many similarities as British vs American English.
+
+Both systems are based off the Linux kernel. Android actually just uses kernel modules for all hardware interaction and uses the JNI to interact. In the same way, NodeOS uses v8's bridge to the native interface to access kernel operations.
+
+There are also deep relationships between the two languages. Aside from the notable similar , code structure, and fact that they're both , both projects were worked on by the same developers. The same developers who created the Java Hotspot VM, worked on V8 too.
+
+I find the similarities quite interesting. We do of course have differences. NodeOS is arguably more portable, capable of supporting more technology with less work (less layers between userspace and kernel modules).
+
+I could keep going but eh, it's all cool!
+
diff --git a/_posts/2016-04-14-Keynote at UC3M Linux Users Group.md b/_posts/2016-04-14-Keynote at UC3M Linux Users Group.md
new file mode 100755
index 0000000..fa1a398
--- /dev/null
+++ b/_posts/2016-04-14-Keynote at UC3M Linux Users Group.md
@@ -0,0 +1,13 @@
+---
+layout: post
+title: Keynote at UC3M Linux Users Group
+date: 2016-04-14T19:56:21Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 4
+github-url: https://github.com/NodeOS/NodeOS/issues/229
+---
+As some of you would already know if you follow us on [Twitter](https://twitter.com/TheNodeOS), last Tuesday I was giving a keynote about NodeOS on the [Charles Third University Linux Users Group](http://www.gul.es/), and finally I've got the [recording](https://drive.google.com/file/d/0B9fEpRL8W1SPZUFkeGNDYk1RSlE/view?usp=sharing) of the keynote ready to be downloaded :-)
+
+And in other news... :-P I have been fiddleing the last days with [coverdeeps](https://github.com/piranna/coverdeeps), a little tool to check the global test coverage of a project and all its dependencies, since they are important (or more!) than the main project. It's currently limited to project that are already published on the npm registry and using [coveralls.io](https://coveralls.io/) for test coverage publishing so it's really pesimist about the results, but it's a good beginning the NodeOS objective to being an OS (the first one?) with a perfect score of [100% test coverage](https://github.com/NodeOS/NodeOS/issues/75) :-)
+
diff --git a/_posts/2016-06-25-1.0.0-RC2.md b/_posts/2016-06-25-1.0.0-RC2.md
new file mode 100755
index 0000000..55818a2
--- /dev/null
+++ b/_posts/2016-06-25-1.0.0-RC2.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: 1.0.0-RC2
+date: 2016-06-25T23:44:56Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 10
+github-url: https://github.com/NodeOS/NodeOS/issues/259
+---
+Just exactly one month after my degree thesis (with distinction, f*ck yeah ;-) ) and with a lot of nights without sleep, we have available [NodeOS 1.0.0-RC2](https://github.com/NodeOS/NodeOS/releases/tag/v1.0.0-RC2).
+
+There has been some problems lately with the packages and the build process, but they are due to the heavy changes on the architecture that I hope they are going to be better for the future. The main one, is the split of the different layers on independent, isolated and autonomous projects that are themselves published on NPM, but also (and that's the important part) they have their own tests [passing on SemaphoreCI](https://semaphoreci.com/nodeos) and configured to work with [GreenKeeper](http://greenkeeper.io), so when we'll move to 1.0.0 final we'll be able to work on a real Rolling Release distro, and also there have been suggestion to [include an autoupdater](https://github.com/NodeOS/NodeOS/issues/247) on NodeOS itself. As an implementation detail, these layers and submodules (like [qemu](https://github.com/NodeOS/qemu), that it's now [published on npm](https://www.npmjs.com/package/qemu)) use extensively the [prebuild-install](https://github.com/mafintosh/prebuild-install) module to distribute prebuild images of their components, so no more pop-corn & movies to build NodeOS but just only a coffee. Yes, build process it's _blasingly fast_, and there's also a lot of room for improvement so we could end up blurrying the line between install and compile times by merging both processes ;-)
+
+Other important change due to the increasing number of installing problems is the movement to npm3 and deprecation of npm2, so now build process is deterministic, faster and use less memory (also in NodeOS disk images, that have decreased ;-) ). Only drawback is that since npm3 considers the `install` process a one-time execution it's needed to split the install of the dependencies (`npm install`) and the generation of the NodeOS image (`npm run build`), but this also allow better flexibility and also remove the need of network connection when building the system since all the modules included on the NodeOS images has been set as dependencies of the NodeOS module itself, so they are getting cached for later.
+
+But probably the most important change is Node.js, because not only it has got [it's own npm package](https://www.npmjs.com/package/nodejs) downloading prebuild binaries based on musl (maybe we should propose to Node.js org to host and distribute them side-by-side with their glibc ones?), but also it has been upgraded to bleeding edge 6.2.2! :-D There has been some problems because `/proc` was not being mounted and [it's needed by musl](https://github.com/nodejs/node/issues/7175#issuecomment-227170756), but thanks to it I give the chance to do some improvements to `nodeos-init` and now it's easier to use and robust, cleanly clossing the system itself on shut-down :-)
+
+Let's more to 1.0.0! :-D
+
diff --git a/_posts/2016-06-25-Refresh the Website!.md b/_posts/2016-06-25-Refresh the Website!.md
new file mode 100755
index 0000000..586509c
--- /dev/null
+++ b/_posts/2016-06-25-Refresh the Website!.md
@@ -0,0 +1,18 @@
+---
+layout: post
+title: Refresh the Website!
+date: 2016-06-26T00:42:03Z
+author: lite20
+avatar-url: https://avatars.githubusercontent.com/u/8516575?v=3&s=128
+comments: 60
+github-url: https://github.com/NodeOS/NodeOS/issues/261
+---
+Hi! Are you a front-end web developer? Now is your chance for you and your buddies to contribute to NodeOS (without having to decipher underlying technology in the build process; double win!)
+
+We're redesigning our website and would love to have the talent's of all the developers combined! The first step, of course, would be to design a new page so let's use this thread and create a new idea. You may propose:
+- Theme idea's
+- Template ideas (you can sketch, or paste screenshots)
+- Web frameworks (like bootstrap) that we should (or shouldn't) use, and why
+
+Looking forward to getting this going with you all! Tell all your friends!
+
diff --git a/_posts/2016-08-04-How to get more contributors?.md b/_posts/2016-08-04-How to get more contributors?.md
new file mode 100755
index 0000000..9a08214
--- /dev/null
+++ b/_posts/2016-08-04-How to get more contributors?.md
@@ -0,0 +1,28 @@
+---
+layout: post
+title: How to get more contributors?
+date: 2016-08-04T09:31:59Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 52
+github-url: https://github.com/NodeOS/NodeOS/issues/279
+---
+I have been thinking about this topic since a long time ago but didn't got yet a clear solution. It seems NodeOS has got some interest to be used on production or it's already being used for it, but for being this possible in the long term it would need to be dedicated some more time and not being only a "hobby" done in our spare time both for maintenance and development of new features (NodeOS has became a really big project with a lot of dependencies that need to be maintained, although I'm trying to automate these tasks the most I can), and since we are several here that would be interested on getting some revenues, I think it's time to ask the big question: how to monetize NodeOS, so I've open this issue to discuss for alternatives and try to find solutions for this.
+
+The main problem I think we have are:
+- How to measure contributions
+- There are collaborators from around the world in different timezones
+- There are collaborators that don't participate anymore
+
+This makes it difficult to define a model fair for everybody beyond to use BountySource where anybody gets payed for the issues that he solve, but that doesn't give promotion of NodeOS at big scale. It would be possible to create a company/association (I think Germany laws are easy for this, maybe @michielbdejong can give us some advice here, could you? :-) ) that give support, consultancy and expertise about NodeOS, but here the problem is how don't give the feel that NodeOS is owned by that company.
+
+A NodeOS Foundation would be the coolest option by putting the project in the first place and maybe would make it easier to get some sponsors and assists to events representing to NodeOS and not only just as individuals (as I have done on the keynotes and championships, but try to give on them the attributions to @groundwater for starting the project and the other collaborators as much as I can), but here we come again the the first problem: how to distribute the money in a fair way.
+
+Another option, maybe the better, is to forget by the moment about the beneficts and create a non-proffit organization just to have some identity and to promote NodeOS itself, try to get some sponsors for travelling to conferences and little more (at this moment we don't have any cost on servers or similar, only the website domain), and if things go well, maybe promote the organization to a foundation and dedicate those sponsor funds to pay a developer for one or two months working full or part-time or by objectives. I admit from start that I would candidate for that if we get to that situation (just to be clear and honest), but although I'm the most active one here and has a somewhat mind-map of how I want NodeOS to be, I'm not propossing this to "get all the money" but instead I'm very concerned and worried about how to make others to benefict for their work on NodeOS.
+
+Also, there's the big problem of promote NodeOS and nock some doors to get sponsors of the project and financiation... I think Node.js Foundation and NPM org would be the obvious candidate to ask for, but we would need to show we are not just some kids playing here, so adding native git support for npm with a pure javascript library instead of relaying on an external git cli command would be a really good presentation letter. Later we would consider other big players like Mozilla Foundation if we get a good integration with B2G OS (I know it's community driven, but sure they are not unaware what's happening on their community ;-) ) and if we got luck we could also ask to the Linux Foundation as an example of how powerful and easy to use Linux has became in the last years.
+
+Opinions? Suggestions? There are some list here on GitHub about finatial mechanism for Open Source projects, it would be a good idea to reference them here too.
+
+/cc @luii, @5paceManSpiff, @SpaceboyRoss01, @kskarthik, @Coretool, @lapineige, @lissyx, @Ryuno-Ki, @khanshakeeb
+
diff --git a/_posts/2016-08-14-New organization scheme.md b/_posts/2016-08-14-New organization scheme.md
new file mode 100755
index 0000000..c894d25
--- /dev/null
+++ b/_posts/2016-08-14-New organization scheme.md
@@ -0,0 +1,13 @@
+---
+layout: post
+title: New organization scheme
+date: 2016-08-14T18:29:47Z
+author: piranna
+avatar-url: https://avatars.githubusercontent.com/u/532414?v=3&s=128
+comments: 6
+github-url: https://github.com/NodeOS/NodeOS/issues/292
+---
+To make the NodeOS organization easier to manage I've removed the teams and now will continue with fine-grain access control. Now instead of having direct access to the repo, anybody that wants to contribute to NodeOS I can be able to add him to the NodeOS organization and assign him (or her) the corresponding issue to work with, so there's no duplicated efforts. Due to that, they'll need to create a pull-request that will be merged with the reference repo on the NodeOS organization, and also you can be able to create new repos without needing to ask me first (as happened with the [docs](https://github.com/NodeOS/docs) repo). I will be able to create new teams for specific repos like the website that work together and make sense to have access to all of them at once, but in general terms will not be anymore the "all or nothing" access control of before.
+
+I will continue to use directly the NodeOS organization repos until 1.0 version, after that I'll protect the `master` branch of all of them and only it will be able to push and merge new commits the [NodeOS-bot](https://github.com/NodeOS-bot) account managed by the CI server.
+
diff --git a/assets/css/index.css b/assets/css/index.css
new file mode 100755
index 0000000..1a744ea
--- /dev/null
+++ b/assets/css/index.css
@@ -0,0 +1,69 @@
+* {
+ margin: 0;
+ padding: 0;
+}
+
+.hero-head {
+ margin-bottom: 120px;
+}
+
+.hero-body {
+ padding: 5%;
+}
+
+.banner {
+ width: 100%;
+ position: absolute;
+}
+
+.nav {
+ box-shadow: none !important;
+}
+
+.nav-item {
+ color: white !important;
+}
+
+.nav-item{
+ font-size: 1.1em;
+ font-weight: bold;
+ text-transform: uppercase;
+}
+
+.nav-item:hover {
+ text-decoration: underline;
+}
+
+.hero-image {
+ width: 80%;
+}
+
+.download:hover {
+ background-color: #1D3555 !important;
+ transition: all 0.3s ease;
+}
+
+ul li img {
+ width: 15%;
+ vertical-align: middle;
+ margin-right: 5px;
+}
+
+.subscribe {
+ background-color: #1D3555;
+}
+
+.subscribe h1 {
+ margin-top: 5px;
+ margin-right: 20px;
+ font-size: 1.2em;
+ color: white;
+}
+
+.media {
+ margin-bottom: 12px;
+}
+
+.post.title {
+ margin-bottom: 8px !important;
+}
diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico
new file mode 100755
index 0000000..2cbb665
Binary files /dev/null and b/assets/images/favicon.ico differ
diff --git a/assets/images/github.png b/assets/images/github.png
new file mode 100755
index 0000000..2e191ea
Binary files /dev/null and b/assets/images/github.png differ
diff --git a/assets/images/hex_art.svg b/assets/images/hex_art.svg
new file mode 100755
index 0000000..a6d956b
--- /dev/null
+++ b/assets/images/hex_art.svg
@@ -0,0 +1,20 @@
+
+
diff --git a/assets/images/linux.png b/assets/images/linux.png
new file mode 100755
index 0000000..acad88a
Binary files /dev/null and b/assets/images/linux.png differ
diff --git a/assets/images/logo.png b/assets/images/logo.png
new file mode 100755
index 0000000..c8df1d0
Binary files /dev/null and b/assets/images/logo.png differ
diff --git a/assets/images/logo_white.png b/assets/images/logo_white.png
new file mode 100755
index 0000000..ee7cdc0
Binary files /dev/null and b/assets/images/logo_white.png differ
diff --git a/assets/images/nodejs.png b/assets/images/nodejs.png
new file mode 100755
index 0000000..91780ba
Binary files /dev/null and b/assets/images/nodejs.png differ
diff --git a/assets/images/nodeos-update.png b/assets/images/nodeos-update.png
new file mode 100755
index 0000000..2fbf96b
Binary files /dev/null and b/assets/images/nodeos-update.png differ
diff --git a/assets/images/nodeos-update@2x.png b/assets/images/nodeos-update@2x.png
new file mode 100755
index 0000000..f91351d
Binary files /dev/null and b/assets/images/nodeos-update@2x.png differ
diff --git a/assets/images/npm.png b/assets/images/npm.png
new file mode 100755
index 0000000..5089c60
Binary files /dev/null and b/assets/images/npm.png differ
diff --git a/assets/images/terminal-window.png b/assets/images/terminal-window.png
new file mode 100755
index 0000000..dd096cd
Binary files /dev/null and b/assets/images/terminal-window.png differ
diff --git a/assets/images/terminal-window@2x.png b/assets/images/terminal-window@2x.png
new file mode 100755
index 0000000..80a3df2
Binary files /dev/null and b/assets/images/terminal-window@2x.png differ
diff --git a/docs/Building-From-Source.md b/docs/Building-From-Source.md
new file mode 100644
index 0000000..924d89e
--- /dev/null
+++ b/docs/Building-From-Source.md
@@ -0,0 +1,150 @@
+---
+layout: docs
+---
+
+# Building From Source
+
+## Step 1: Prerequisites
+
+- **Git**. To install using:
+
+ - for **Debian/Ubuntu**: `apt-get install git`
+ - for **Arch**: `pacman -S git`
+
+- Node 6.x
+- NPM 3.x
+
+After you installed the prerequisites just clone the repository
+
+```bash
+$ git clone https://github.com/NodeOS/NodeOS.git
+```
+
+## Step 2 (Debian/Ubuntu): Dependencies
+
+Once you've installed the prerequisites you need the dependencies for
+Debian/Ubuntu using `apt-get`. First you need to update your cache.
+To do so run
+
+```bash
+$ dpkg --add-architecture i386
+$ apt-get -qq -y update
+```
+
+Then you install the dependencies listed below
+
+- cross compiler dependencies: `apt-get -qq -y gcc g++ realpath texinfo`
+- barebones dependencies: `apt-get -qq -y bc libpixman-1-dev`
+- bootfs dependencies: `apt-get -qq -y genisoimage libuuid:i386`
+- initramfs dependencies: `apt-get -qq -y cpio`
+- userfs dependencies: `apt-get -qq -y autoconf automake`
+- qemu dependencies: `apt-get -qq -y libsdl1.2-dev`
+
+Or as a one liner:
+
+```bash
+$ apt-get -qq -y gcc g++ realpath texinfo bc libpixman-1-dev genisoimagelibuuid:i386 cpio autoconf automake libsdl1.2-dev
+```
+
+Or just run if you're outside the folder
+
+```bash
+$ cd NodeOS/
+$ bin/install-dependencies
+```
+
+## Step 2 (Arch Linux): Dependencies
+
+Once you have installed the prerequisites you
+need the dependencies for Arch Linux
+
+- cross compiler dependencies: `pacman -S gcc texinfo python2`
+- barebones dependencies: `pacman -S bc pixman lib32-pixman`
+- bootfs dependencies: `pacman -S cdrkit`
+- initramfs dependencies: `pacman -S cpio`
+- userfs dependencies: `pacman -S autoconf automake`
+- qemu dependencies: `pacman -S sdl`
+
+**_Note: The initramfs dependencies are not shipped with the installation of
+Arch Linux thats why we need to install them on Arch Linux_**
+
+Or as one liner:
+
+```bash
+$ pacman -S gcc texinfo python2 bc pixman lib32-pixman cdrkit cpio autoconf automake sdl
+```
+
+## Step 3: Installation
+
+Once you've installed the correct dependencies for your operating system you
+can start with the installation of NodeOS.
+
+**_Note: If you have Arch Linux you need to set python2 as default binary when
+you run `python`. Because the standard python binary is python3 and nodegyp
+doesn't uses it._** To do this, run following commands:
+
+```bash
+$ cd /usr/bin
+$ ln -sf python2 python
+```
+
+The next step is to install the npm dependencies and the bundled dependencies to
+do this run following command:
+
+```bash
+$ npm install
+```
+
+## Step 4: Build NodeOS
+
+We've installed all neccassary dependencies and prerequisites, the next thing
+we need to do is to build the whole thing, to do so just run:
+
+```bash
+$ npm run build
+```
+
+if you want to build NodeOS for Docker run the following commands:
+
+```bash
+$ PLATFORM=docker npm run build
+$ npm run dockerBuild
+```
+**_WARNING: If you try to start the generated docker image you'll get a error on
+the current version (1.0.0-RC3) of NodeOS that /bin/exclfs cant be found
+for more Information check out Issue [#326](../issues/326)_**
+
+then precede with **Step 5**
+
+## Step 5: Run your fresh NodeOS build
+
+Now you can run your fresh build with:
+
+For QEmu:
+```bash
+$ npm start
+```
+
+For Docker:
+```bash
+$ npm run docker
+```
+
+If NodeOS boot without a error, then everything was compiled correctly.
+**If not look under [[Troubleshooting]]**
+
+After NodeOS has booted up you should see something like:
+
+```
+Hello! I'm a user init script :-)
+```
+
+Now you're prompted to enter your username and password. By default, the
+username and password is `nodeos` and cannot be changed without altering code.
+
+```
+$ username: nodeos
+$ password: nodeos
+```
+
+**Note: This is not permanent on later versions this will be changed**
diff --git a/docs/Commands.md b/docs/Commands.md
new file mode 100644
index 0000000..de8212e
--- /dev/null
+++ b/docs/Commands.md
@@ -0,0 +1,36 @@
+---
+layout: docs
+---
+
+# Commands
+
+This site describes all available Commands in NodeOS. At the moment there are not many commands but they can be extended by NPM Or you create your own commands.
+This list is helpful for Linux beginners, on the list below you find the Name and the description for the corresponding command.
+
+## List of Commands
+
+Command | Description
+------- | -------
+cat | is one of the most frequently used commands on Unix-like operating systems. It has three related functions with regard to text files: displaying them, combining copies of them and creating new ones.
+cp | is an internel command of a unix shell to copy files.
+davius | Davius is a HTTP/WebDAV server that offer the content from the filesystem.
+env | is a unix command, that shows the environment variables when called with no arguments or it starts a program in another environment without changing the variables of the active one.
+ln | is a standard Unix command utility used to create a hard link (link) or a symbolic link (symlink) to an existing file.
+ls | is a command to list files in Unix and Unix-like operating systems.
+man | is used to format and display man (or manual) pages
+mkdir | is used to create a new folder
+mv | is used to move files or folders
+node | This is the node binary
+npm | is NodeOS's package Manager (like: pacman (Arch); yaourt (Arch); apt-get (Debian/Ubuntu))
+nsh | is the shell of NodeOS (both "no shell" and "node shell" accurately describe nsh)
+pwd | Returns the current working directory
+rm | is a basic UNIX command used to remove objects such as files, directories, device nodes, symbolic links, and so on from the filesystem.
+sh | is a command language interpreter that shall execute commands read from a command line string, the standard input, or a specified file.
+wget | is a computer program that retrieves content from web servers.
+ip | The ip command is similar to ifconfig, but more powerful and is intented to be a replacement for it.
+ifconfig | stands for "interface configuration". It is used to view and change the configuration of the network interfaces on your system.
+pstree | pstree shows running processes as a tree. The tree is rooted at either pid or init if pid is omitted.
+performance | is a benchmark tool to check the speed of some (javascript?) functions
+loadtest | Runs a load test on the selected HTTP or WebSockets URL.
+testserver-loadtest | This command will show the number of requests received per second, the latency in answering requests and the headers for selected requests.
+node-ntp-client | This binary implements the NTP Protocol which gets the Network time over a specific Server (like 'pool.ntp.org')
diff --git a/docs/Dependency-Tree.md b/docs/Dependency-Tree.md
new file mode 100644
index 0000000..6e15bfd
--- /dev/null
+++ b/docs/Dependency-Tree.md
@@ -0,0 +1,238 @@
+---
+layout: docs
+---
+
+# Main repositories
+* [NodeOS](https://github.com/NodeOS/NodeOS)
+ [](https://semaphoreapp.com/nodeos/nodeos)
+ [](https://waffle.io/NodeOS/NodeOS)
+ [](https://gitter.im/NodeOS/NodeOS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+ [](https://www.bithound.io/github/NodeOS/NodeOS)
+ [](https://opensource.org/licenses/mit-license.php)
+ * [nodeos-cross-toolchain](https://github.com/NodeOS/nodeos-cross-toolchain)
+ [](https://semaphoreci.com/nodeos/nodeos-cross-toolchain)
+ * async
+ * *download-manager*
+ * fs-extra
+ * prebuild-install
+ * prebuild
+ * [nodeos-barebones](https://github.com/NodeOS/nodeos-barebones)
+ [](https://semaphoreci.com/nodeos/nodeos-barebones)
+ * [cpio2tar](https://github.com/piranna/cpio2tar)
+ * cpio-stream
+ * tar-stream
+ * *download-manager*
+ * minimist (^1.2.0)
+ * *nodeos-nodejs*
+ * *qemu*
+ * suppose (^0.6.1)
+ * [nodeos-initramfs](https://github.com/NodeOS/nodeos-initramfs)
+ [](https://semaphoreci.com/nodeos/nodeos-initramfs)
+ * *download-manager*
+ * [nodeos-mount-filesystems](https://github.com/NodeOS/nodeos-mount-filesystems)
+ * async (^1.5.2)
+ * mkdirp (^0.5.1)
+ * rimraf (^2.5.2)
+ * prompt (*)
+ * [nodeos-mount-utils](https://github.com/NodeOS/nodeos-mount-utils)
+ * mkdirp (^0.5.1)
+ * [nodeos-mount](https://github.com/NodeOS/nodeos-mount)
+ [](https://www.bithound.io/NodeOS/nodeos-mount)
+ * async (^1.5.2)
+ * nan (^2.2.0)
+ * grunt (~0.4.5)
+ * grunt-mocha-test (~0.12.7)
+ * grunt-contrib-watch (~0.6.1)
+ * grunt-node-gyp (~3.0.0)
+ * q (~1.4.1)
+ * posix (^4.0.0)
+ * chai (^3.5.0)
+ * errno-codes (^1.0.2)
+ * istanbul (^0.4.3)
+ * mocha (^2.4.5)
+ * proxyquire (^1.7.4)
+ * rimraf (^2.5.2)
+ * sinon (^1.17.3)
+ * sinon-chai (^2.8.0)
+ * *nodeos-nodejs*
+ * [usrbinenv](https://github.com/piranna/usrbinenv)
+ * kexec (^2.0.0)
+ * *qemu*
+ * suppose (^0.6.1)
+ * [nodeos-rootfs](https://github.com/NodeOS/nodeos-rootfs)
+ * *download-manager*
+ * [genfatfs](https://github.com/NodeOS/genfatfs)
+ [](https://semaphoreci.com/nodeos/genfatfs)
+ * prebuild-install (^1.1.0)
+ * prebuild (^4.2.2)
+ * *qemu*
+ * [nodeos-usersfs](https://github.com/NodeOS/nodeos-usersfs)
+ [](https://semaphoreci.com/nodeos/nodeos-usersfs)
+ * [bin-man](https://www.npmjs.com/package/bin-man)
+ * [bin-pwd](https://www.npmjs.com/package/bin-pwd)
+ * [davius](https://github.com/piranna/Davius)
+ * finalhandler (^0.4.1)
+ * fs-extra (^0.26.2)
+ * minimist (^1.2.0)
+ * [oneshoot](https://github.com/piranna/oneshoot)
+ * async (^1.5.0)
+ * escape-html (^1.0.3)
+ * serve-static (^1.10.0)
+ * ws (^0.8.0)
+ * [recv](https://github.com/piranna/recv)
+ * rimraf (^2.4.4)
+ * *[serve-static](https://github.com/piranna/serve-static)*
+ * parseurl (~1.3.0)
+ * *[send](https://github.com/piranna/send/tree/index)*
+ * istanbul (0.4.1)
+ * mocha (2.3.4)
+ * supertest (1.1.0)
+ * dhcpjs (^0.5.0)
+ * [debugfs](https://github.com/piranna/DebugFS)
+ * async (^1.5.0)
+ * [Palmtree](https://github.com/lite20/palmtree)
+ * [genext2fs](https://github.com/NodeOS/genext2fs)
+ [](https://semaphoreci.com/nodeos/genext2fs)
+ * prebuild-install (1.0.2)
+ * prebuild (^4.2.2)
+ * [ifconfig](https://github.com/NodeOS/ifconfig)
+ * *src-sockios*
+ * [src-ifaddrs](https://github.com/NodeOS/node-src-ifaddrs)
+ * nan (^2.0.9)
+ * [src-errno](https://github.com/NodeOS/node-src-errno)
+ * nan (^2.0.9)
+ * [ip](https://github.com/NodeOS/ip)
+ * *src-sockios*
+ * loadtest (^1.4.3)
+ * [logon](https://github.com/piranna/logon)
+ [](https://travis-ci.org/piranna/logon)
+ * colors (^1.1.2)
+ * kexec (^2.0.2)
+ * posix (^4.0.0)
+ * prompt (^1.0.0)
+ * mocha (^2.4.5)
+ * mocha-eslint (^2.0.2)
+ * [node-bin-getty](https://github.com/NodeOS/node-bin-getty)
+ * [src-unistd](https://github.com/NodeOS/node-src-unistd)
+ * nan (^2.0.9)
+ * [src-termios](https://github.com/NodeOS/node-src-termios)
+ * nan (^2.0.9)
+ * [node-wget](https://github.com/tylerl0706/wgetjs)
+ [](http://badge.fury.io/js/wgetjs)
+ [](https://travis-ci.org/angleman/wgetjs)
+ [](https://gemnasium.com/angleman/wgetjs)
+ [](#licensemit)
+ * request (~2.27.0)
+ * license-md (~0.2.5)
+ * grunt (~0.4.1)
+ * grunt-bump (~0.0.11)
+ * grunt-license (~0.1.4)
+ * mocha (~1.12.0)
+ * should (~1.2.2)
+ * *nodeos-nodejs*
+ * [nodeos-reverse-proxy](https://github.com/piranna/nodeos-reverse-proxy)
+ [](https://travis-ci.org/piranna/nodeos-reverse-proxy)
+ * basic-auth (^1.0.4)
+ * concat-stream (^1.5.1)
+ * finalhandler (^0.5.0)
+ * http-proxy (^1.14.0)
+ * kexec (^2.0.2)
+ * posix (^4.0.2)
+ * uuid (^2.0.2)
+ * mocha (^2.5.3)
+ * supertest (^1.2.0)
+ * npm (^3.9.6)
+ * [nsh](https://github.com/piranna/nsh)
+ [](https://travis-ci.org/piranna/nsh)
+ [](https://coveralls.io/github/piranna/nsh?branch=master)
+ * array-flatten (^2.1.0)
+ * async (^2.0.1)
+ * decode-prompt (^0.0.2)
+ * glob (~7.0.5)
+ * [lib-pathcomplete](https://github.com/piranna/node-lib-pathcomplete)
+ * glob (~7.0.5)
+ * pathchop (0.0.0)
+ * *[lib-pathsearch](https://github.com/piranna/node-lib-pathsearch)*
+ * mkdirp (~0.5.1)
+ * mkfifo (^0.1.5)
+ * npm-path (^2.0.2)
+ * shell-parse (^0.0.2)
+ * to-string-stream (^0.1.0)
+ * uuid (^2.0.2)
+ * concat-stream (^1.5.1)
+ * *easy-coveralls*
+ * mocha (^2.5.3)
+ * string-to-stream (^1.1.0)
+ * ntp-client (^0.5.3)
+ * performance (^1.1.0)
+ * [pstree](https://github.com/piranna/pstree)
+ * archy (^1.0.0)
+ * async (^1.5.2)
+ * scanf (^0.7.2)
+ * slap (^0.1.60)
+ * *qemu*
+
+# Common packages
+* [download-manager](https://github.com/piranna/download-manager)
+ [](https://travis-ci.org/piranna/download-manager)
+ [](https://coveralls.io/github/piranna/download-manager?branch=master)
+ * async (^2.0.1)
+ * [bzip2-maybe](https://github.com/piranna/bzip2-maybe)
+ [](http://travis-ci.org/piranna/bzip2-maybe)
+ [](https://coveralls.io/github/piranna/bzip2-maybe?branch=master)
+ * is-bzip2 (^1.0.0)
+ * peek-stream (^1.1.1)
+ * pumpify (^1.3.5)
+ * through2 (^2.0.1)
+ * unbzip2-stream (^1.0.9)
+ * concat-stream (^1.5.1)
+ * *easy-coveralls*
+ * standard (^8.0.0-beta.5)
+ * tape (^4.6.0)
+ * diff
+ * [download-checksum](https://github.com/piranna/download-checksum)
+ [](https://travis-ci.org/piranna/download-checksum)
+ [](https://coveralls.io/github/piranna/download-checksum?branch=master)
+ * inherits (^2.0.1)
+ * openpgp (^2.3.2)
+ * force-array (^3.1.0)
+ * got (^6.3.0)
+ * gunzip-maybe (^1.3.1)
+ * multi-progress (^2.0.0)
+ * pump (^1.0.1)
+ * rimraf (^2.5.4)
+ * strip-dirs (^2.0.0)
+ * tar-fs (^1.13.0)
+ * *easy-coveralls*
+ * mocha (^3.0.2)
+ * nock (^8.0.0)
+ * tmp (0.0.28)
+* [nodeos-nodejs](https://github.com/NodeOS/nodejs)
+ [](https://semaphoreci.com/nodeos/nodejs)
+ * prebuild-install (1.0.2)
+ * [buho](https://github.com/piranna/buho)
+ [](https://travis-ci.org/piranna/buho)
+ [](https://coveralls.io/github/piranna/buho?branch=master)
+ * concat-stream (^1.5.1)
+ * *[github-basic](https://github.com/piranna/github-basic)*
+ * github-from-package (0.0.0)
+ * github-url-to-object (^2.2.3)
+ * minimist (^1.2.0)
+ * *easy-coveralls*
+ * mocha (^2.5.3)
+ * nock (^8.0.0)
+ * prebuild (^4.2.2)
+ * *[publish](https://github.com/piranna/node-publish)*
+* [qemu](https://github.com/NodeOS/qemu)
+ [](https://semaphoreci.com/nodeos/qemu)
+ * prebuild-install (1.0.2)
+ * prebuild (^4.2.2)
+* [src-sockios](https://github.com/NodeOS/sockios)
+ * nan (^2.0.9)
+* [easy-coveralls](https://github.com/piranna/easy-coveralls)
+ [](https://travis-ci.org/piranna/easy-coveralls)
+ [](https://coveralls.io/github/piranna/easy-coveralls?branch=master)
+ * coveralls (^2.11.11)
+ * fs-extra (^0.30.0)
+ * *[jscoverage](https://github.com/piranna/jscoverage)*
+ * mocha-lcov-reporter (^1.2.0)
diff --git a/docs/FAQ.md b/docs/FAQ.md
new file mode 100644
index 0000000..ff92a56
--- /dev/null
+++ b/docs/FAQ.md
@@ -0,0 +1,33 @@
+---
+layout: docs
+---
+
+# Frequently Asked Questions #
+
+### What is NodeOS
+NodeOS is an operating system build entirely in Javascript and managed by npm. Any package in npm is a NodeOS package, which at last count was 301,660 packages. The goal of NodeOS is to provide just enough to let npm provide the rest.
+Since anyone can contribute to it, anyone can create NodeOS packages.
+
+### Why does NodeOS dont have a GUI yet?
+Currently NodeOS is in Pre-Alpha state (see [Alpha Roadmap](https://github.com/NodeOS/NodeOS/issues/37)) we need
+to check every box on there to get to the Alpha and after this we need to finish all tasks for the Beta (see [Beta Roadmap](https://github.com/NodeOS/NodeOS/issues/146)).
+We're working as fast as we can, but some of us are working full time at other Jobs.
+We hope you can understand that we're no magicians. It's basicly like building a House, first you need a stable platform for placing your bricks and after that you can put a Roof on it.
+But, if **you** want to create (or dedicate you for) a GUI for NodeOS feel free to Contribute!
+
+### I want to use the NodeOS Logo for a Blog post (or similiar)
+You can freely use them for non-profit purposses just by giving attribution to the authors. Third party files are
+stored mostly for documental and historic purposses under the concept of "fair use", if not stated otherwise you
+should contact the original authors asking for permission to use them beyond personal use.
+
+[NodeOS Media](https://github.com/NodeOS/media)
+
+### I get a error during the Build Process
+First you should check out our [[Troubleshooting]] site, to see if you get a error listed in there and
+if you get a new error that never happened to anyone before you can open a Issue right [here](https://github.com/NodeOS/NodeOS/issues). But please search for this Issue before you post it and follow the Contributing Guidelines.
+
+### I have a freakin' cool idea for NodeOS!!1!
+
+That's great!
+Let us know by creating a Issue on this [Page](https://github.com/NodeOS/NodeOS/issues).
+But please follow the Contributing Guidelines!
diff --git a/docs/FileSystem.md b/docs/FileSystem.md
new file mode 100644
index 0000000..f5c3ac8
--- /dev/null
+++ b/docs/FileSystem.md
@@ -0,0 +1,65 @@
+---
+layout: docs
+---
+
+
+## System Directories
+
+The base filesystem is laid out as follows.
+
+A few standard linux directories are now considered private,
+and only included for compatibility with the current *libc*.
+
+```
+/bin <-- contains latest node executable
+/lib
+/usr
+/etc
+```
+
+All user-editable content should be in user-directories.
+The root user's home is in it's standard `/root` location.
+
+```
+/root <-- root user
+/home <-- non-root users
+```
+
+The [[root]] user is special because it boots the system.
+
+Other standard kernel-provided file systems are mounted in their usual locations.
+
+```
+/dev <-- devfs
+/proc <-- procfs
+/sys <-- sysfs
+/tmp <-- tmpfs
+```
+
+## user directories
+
+There are no *global* services, modules, or commands.
+Directories that were once system-leve, like `etc`, and `var` are now user-local.
+
+```
+$HOME/
+ bin/ <-- executable commands
+ ls, cp, mv
+ lib/
+ node_modules/ <-- modules installed by npkg
+ log/ <-- logs from init jobs
+ etc/ <-- configuration files
+ var/ <-- persistent data
+ tmp/ <-- ephemeral data
+```
+
+In detail:
+
+- `bin` contains executable commands, linked during `npkg install`.
+- `lib` contains `node_modules` which holds modules installed by `npkg`.
+- `log` contains output from services and jobs.
+- `etc` contains local config values for services and jobs
+- `var` holds persistent data for services and jobs.
+- `tmp` holds ephemeral data for services and jobs.
+
+These directories are used assumed by the `npkg` command.
diff --git a/docs/Service-Starter-(PalmTree).md b/docs/Service-Starter-(PalmTree).md
new file mode 100644
index 0000000..7fcb6e3
--- /dev/null
+++ b/docs/Service-Starter-(PalmTree).md
@@ -0,0 +1,31 @@
+---
+layout: docs
+---
+
+
+# PalmTree, the NodeOS Service Starter #
+_REPOSITORY:_ [https://github.com/lite20/palmtree](https://github.com/lite20/palmtree)
+
+_NPM MODULE:_ [https://www.npmjs.com/package/palmtree](https://www.npmjs.com/package/palmtree)
+
+## Introduction ##
+Sometimes we need scripts, or services to launch on startup. This is a remarkably easy task in NodeOS.
+The startup program launcher on NodeOS is called PalmTree. PalmTree uses a simple .json file in the /etc/ folder called "palmtree.json". In this file, which we will refer to as the palmtree, is simply a JSON encoded array of objects. Each object contains at minimum the command to execute. Additionally, you may specify a name, or arguments to go along. Let's take a look at an example palmtree.
+
+`[
+ {
+ "command": "plexdl",
+ "name": "PlexDL",
+ "args": ['beta-gui']
+ }
+]`
+
+As you can see, a command is specified, a name for the program, and an argument. Only the command is necessary.
+On startup, with this palmtree, PalmTree would run the command "plexdl" with the argument "-beta-gui" and if there were any issues, it would report them and refer to the command as "PlexDL".
+
+## Adding or Removing Commands ##
+### Manually ###
+To add or remove scripts/services from startup, simply remove the object from your palmtree. A graphical GUI is underworks to allow you to do this easily.
+
+### Programatically ###
+To add or remove scripts/services from startup programatically, the palmtree.json file is a perfectly formatted JSON file. In NodeJS, you can use `require` to load it, or use the fs module and JSON parse it. Then make your adjustments, be it adding or removing a program, then re-serialize the JSON object and write it back to the file.
diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md
new file mode 100644
index 0000000..77efdda
--- /dev/null
+++ b/docs/Troubleshooting.md
@@ -0,0 +1,158 @@
+---
+layout: docs
+---
+
+
+# Troubleshooting
+
+If you have problems to compile your NodeOS version or get errors during the
+compile process then please look below.
+
+## NodeOS boots into the REPL
+
+This error occurs when NodeOS cant mount the filesystem. This will propably
+happen when you compile your NodeOS with Arch Linux.
+
+**Solution: Use a newer version of NodeOS, if its still failing to mount
+please open a issue**
+
+## Incorrect NPM Version
+
+This error mostly occurs when you use NPM 3 with Node.js 5.x because NPM 3 uses
+a flat dependency structure
+
+```bash
+cp: the call of stat for 'node_modules/nodeos-barebones/out/latest' is not possible: file or directory not found
+cp: the call of stat for 'node_modules/nodeos-initramfs/out/latest' is not possible: file or directory not found
+cp: the call of stat for 'node_modules/nodeos-usersfs/out/latest' is not possible: file or directory not found
+```
+
+**Solution: Please use the newest version of NodeOS to resolve this problem**
+
+Reference: Issue [#223](../issues/223)
+
+## Dissapearing nodeos-barebones
+
+This error occurs like the error above on the NPM version
+
+```bash
+$ find . -name adjustEnvVars.sh
+./node_modules/nodeos-barebones/node_modules/nodeos-cross-toolchain/scripts/adjustEnvVars.sh
+
+$ npm install
+
+> NodeOS@0.0.0 install /home/tbrooks/Projects/nodeos
+> scripts/build
+
+scripts/build: line 7: /home/myprofile/Projects/node_modules/nodeos-barebones/node_modules/nodeos-cross-toolchain/scripts/adjustEnvVars.sh: No such file or directory
+
+npm ERR! Linux 4.4.1-2-ARCH
+npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
+npm ERR! node v5.6.0
+npm ERR! npm v3.7.1
+npm ERR! code ELIFECYCLE
+npm ERR! NodeOS@0.0.0 install: `scripts/build`
+npm ERR! Exit status 1
+npm ERR! etc...
+```
+
+**Solution: Please use the newest version of NodeOS to resolve this problem**
+
+Reference: Issue [#218](../issues/218)
+
+## NSH crashes on empty pipe
+
+If you're using a old NodeOS docker image and enter `|` then you can get something like this
+
+For the old Docker images:
+
+```bash
+/root/lib/node_modules/bin-nsh/node_modules/lib-cmdparse/index.js:15
+ if (env && item[0] != '-' && item.indexOf('=') > 0) {
+ ^
+TypeError: Object