Wandering in the desert of plenty: An architect in search of an application architecture

I need to adopt a javascript dev and deploy stack as framework for my new venture Linguathon. I’m delighted about this project because it brings together language teaching and web app worlds, something I’ve postponed for decades. So I need to adopt a javascript MV* framework to give me a solid, sound, yet flexible foundation. I have been studying Addy Osmani’s Developing Backbone.js Applications (also see the fascinating work in progress mirror http://addyosmani.github.com/backbone-fundamentals/ ), and “What we know now” (as Steve Blank is fond of saying… BTW I’m taking his free online lean startup course and reading his book; don’t want to make all the same mistakes all over again 🙂 ) is that I at least don’t have the time or even the stupidity to build everything from scratch using a bare bones, self-made, untried and tested by the community dev and deploy stack.

Updated code in a repo ready to run for two great and useful Node.js Express CouchDB (and MongoDB) tutorials

Up-to-date, executable code for two great tutorials on rolling a blog with express, Node.js and a noSQL database: https://github.com/victorkane/couchblogtut

The first, Blog rolling with mongoDB, express and Node.js, takes you “through the steps required to get a fully-functional (albeit feature-light) persistent blogging system running on top of node. It was first published on February 18, 2010 by Ciaran Jessup and last updated May 14, 2010.

The second, Blog rolling with CouchDB, Express and Node.js, was published on February 7, 2011 by Ian Wootten, and was commented on just this last April.

This pedagogical repo brings it up to date (as of June 22, 2011), makes a MongoDB branch basing the persistence on MongoDB; and a CouchDB branch (ultimately merged into Master) after the more recent article.

Hey Jade!

Far from being a wannabe “missing manual” for Jade this article is simply my own “path of understanding” of how the Jade template engine is utilized in the Express framework, expressed in a simple “work in progress” app which you can find here: https://github.com/victorkane/heyjade

Now, everyone complains that there is “no documentation” for Jade. Actually, just on github, there is a lot in the Readme.md, plus a huge examples directory, plus a jade example in the Express source. Not to mention the Express Guide, which enlightens us on many aspects of how Jade is used with Express.

So I thought I would just work my way through a good part of that, by building a little sample app on github that you can step through by branching through the commits. Again, please follow along here, and check back every now and then for updates as my comprehension goes deeper and deeper (I hope).: https://github.com/victorkane/heyjade

Simple Vim plugin management for Javascript development

I’ve written about vim as an IDE before. In this case, however, in order to prepare for node hacking, and also in line with a recent discussion about IDE’s on the node mailing list, I’m documenting here notes I made while getting geared up with gvim (macvim) for SSJS development with some of the more important plugins that were mentioned (you know, it’s that “so how do I actually do this” moment) (this should all work fine on either MacBook Pro or Ubuntu/Linux):

How to clone the Node.js web development tool Express from github and easily run the examples

Sometimes the simplest, easiest things are not documented anywhere, or at least, not documented very clearly, so I just thought I would document what I did here in order to get started running the examples provided in the full Express codebase.

Let’s suppose that node and npm are already installed and I am in the home directory of a Linux user. I do:

$ git clone https://github.com/visionmedia/express.git express_examples

and Express is cloned to the express_examples subdirectory. I then change into that directory:

$ cd express_examples

and tell the npm package manager to check for all dependencies (if you are on the Express mailing list see discussion at http://groups.google.com/group/express-js/browse_thread/thread/166a75fdb33c4ea8):

$ git submodule update --init 
$ npm install

The package manager npm will now do a lot of work and pages will scroll by. After a short while the trundling will stop and a ./node_modules directory will be filled with dependencies.

Then you can run any example you like: