Understanding Node.js by building command line apps