<commit_before>:markdown
  Here are some useful tutorials and services that we recommend for the
  competition.

  # <a name="tutorials"></a>Tutorials

  #### Installation &amp; Package Management
  1. [How to install node & npm](http://blog.nodeknockout.com/post/33857791331/how-to-install-node-npm)
  2. [Managing dependencies with npm](http://blog.nodeknockout.com/post/33907937140/introduction-to-npm)

  #### Web Frameworks
  1. [Writing a web app with Express](http://blog.nodeknockout.com/post/34180474119/getting-started-with-express)
  2. [Creating a RESTful API with hapi](http://blog.nodeknockout.com/post/34571027029/making-an-api-happy-with-hapi)
  3. [Using restify and DTrace for performant RESTful web services ](http://blog.nodeknockout.com/post/34710903021/restify)

  #### Debugging &amp; Error Handling
  1. [Debugging with Node Inspector](http://blog.nodeknockout.com/post/34843655876/debugging-with-node-inspector)
  2. [Error tracking with Rachet.io](http://blog.nodeknockout.com/post/35214296133/error-tracking-in-node-with-rachet-io)

  #### Data Persistence
  1. [Introduction to MongoDB](http://blog.nodeknockout.com/post/35214638964/a-basic-introduction-to-mongodb)
  2. [Persisting data with MongoDB & Mongoose](http://blog.nodeknockout.com/post/34302423628/getting-started-with-mongoose)
  3. [Advanced MongoDB: storing files using GridFS](http://blog.nodeknockout.com/post/35215400231/a-primer-for-gridfs-using-the-mongo-db-driver)
  3. [Advanced MongoDB: geospatial indexes](http://blog.nodeknockout.com/post/35215504793/the-wonderful-world-of-geospatial-indexes-in-mongodb)

  #### Libraries and Utilities
  1. [Using Socket.IO for real-time messaging](http://blog.nodeknockout.com/post/34243127010/knocking-out-socket-io)
  2. [Implementing OAuth login with Passport](http://blog.nodeknockout.com/post/34765538605/getting-started-with-passport)
  3. [Cross-platform graphics with Bonsai](http://blog.nodeknockout.com/post/35145390645/telling-stories-with-bonsai-js)
  4. [Sending email with Nodemailer](http://blog.nodeknockout.com/post/34641712180/sending-email-from-node-js)

  # <a name="services"></a>Services

:markdown
  ## <a name="ratchetio"></a>Ratchet.io
  
  [Ratchet.io](https://ratchet.io) is real-time execption tracking on steroids. 
  It has the basics covered&mdash;de-duplication, alerts, context, graphs, a 
  solid backend&mdash;and adds a dashboard, search, replays, Github integration,
  an API, and more. Set it up in 5 minutes.

if !user
  p
    a(href="/login") Sign in
    |  for the super-secret free signup link.
else if user && (user.contestant || user.judge)
  h4 For free access to Ratchet.io for Node Knockout
    p 
      a(href="https://ratchet.io/fasttrack/nk2012/") https://ratchet.io/fasttrack/nk2012/

:markdown
  ## <a name="teleportd"></a>Teleportd

  [Teleportd](http://teleportd.com) provides an API for accessing mobile
  photos that are publicly shared online. It aggregates photos from Twitter,
  Instagram and a dozen other social networks, seeing an average of 100
  photos/s. Geolocation and keyword tags are associated with the photos,
  opening up a wide range of use cases.

if services.teleportd
  if !user
    p
      a(href="/login") Sign in
      |  to see how to get 
      strong free access to Teleportd's unlimited api
      |  during Node Knockout.
  else if user && (user.contestant || user.judge)
    h4 For free access to Teleportd's api for Node Knockout
    != markdown(services.teleportd)

:markdown
  ## <a name="mongolab"></a>MongoLab

  [MongoLab](http://mongolab.com) is a full-featured MongoDB-as-a-Service
  cloud solution that completely automates the operational aspects of running
  MongoDB. With the MongoLab cloud platform developers can deploy and manage
  highly available databases for their applications and leverage automated
  backups, web-based tools, 24/7 monitoring, and expert support. Free 500MB
  databases are available on Amazon AWS, Azure, Joyent, and Rackspace.

  No special credentials are needed to use MongoLab's free 500MB plan during
  Node Knockout. Just [sign up to get a free account](https://mongolab.com/signup/).

:markdown
  ## <a name="monitaur"></a>Monitaur

  [Monitaur](http://monitaur.net) is instant server monitoring. Set it up in
  30 seconds (seriously, it's really easy). Record and view your system stats<commit_msg>mongohq resources<commit_after>:markdown
  Here are some useful tutorials and services that we recommend for the
  competition.

  # <a name="tutorials"></a>Tutorials

  #### Installation &amp; Package Management
  1. [How to install node & npm](http://blog.nodeknockout.com/post/33857791331/how-to-install-node-npm)
  2. [Managing dependencies with npm](http://blog.nodeknockout.com/post/33907937140/introduction-to-npm)

  #### Web Frameworks
  1. [Writing a web app with Express](http://blog.nodeknockout.com/post/34180474119/getting-started-with-express)
  2. [Creating a RESTful API with hapi](http://blog.nodeknockout.com/post/34571027029/making-an-api-happy-with-hapi)
  3. [Using restify and DTrace for performant RESTful web services ](http://blog.nodeknockout.com/post/34710903021/restify)

  #### Debugging &amp; Error Handling
  1. [Debugging with Node Inspector](http://blog.nodeknockout.com/post/34843655876/debugging-with-node-inspector)
  2. [Error tracking with Rachet.io](http://blog.nodeknockout.com/post/35214296133/error-tracking-in-node-with-rachet-io)

  #### Data Persistence
  1. [Introduction to MongoDB](http://blog.nodeknockout.com/post/35214638964/a-basic-introduction-to-mongodb)
  2. [Persisting data with MongoDB & Mongoose](http://blog.nodeknockout.com/post/34302423628/getting-started-with-mongoose)
  3. [Advanced MongoDB: storing files using GridFS](http://blog.nodeknockout.com/post/35215400231/a-primer-for-gridfs-using-the-mongo-db-driver)
  3. [Advanced MongoDB: geospatial indexes](http://blog.nodeknockout.com/post/35215504793/the-wonderful-world-of-geospatial-indexes-in-mongodb)

  #### Libraries and Utilities
  1. [Using Socket.IO for real-time messaging](http://blog.nodeknockout.com/post/34243127010/knocking-out-socket-io)
  2. [Implementing OAuth login with Passport](http://blog.nodeknockout.com/post/34765538605/getting-started-with-passport)
  3. [Cross-platform graphics with Bonsai](http://blog.nodeknockout.com/post/35145390645/telling-stories-with-bonsai-js)
  4. [Sending email with Nodemailer](http://blog.nodeknockout.com/post/34641712180/sending-email-from-node-js)

  # <a name="services"></a>Services

:markdown
  ## <a name="ratchetio">Ratchet.io</a>
  
  [Ratchet.io](https://ratchet.io) is real-time execption tracking on steroids. 
  It has the basics covered&mdash;de-duplication, alerts, context, graphs, a 
  solid backend&mdash;and adds a dashboard, search, replays, Github integration,
  an API, and more. Set it up in 5 minutes.

if !user
  p
    a(href="/login") Sign in
    |  for the super-secret free signup link.
else if user && (user.contestant || user.judge)
  h4 For free access to Ratchet.io for Node Knockout
    p 
      a(href="https://ratchet.io/fasttrack/nk2012/") https://ratchet.io/fasttrack/nk2012/

:markdown
  ## <a name="teleportd">Teleportd</a>

  [Teleportd](http://teleportd.com) provides an API for accessing mobile
  photos that are publicly shared online. It aggregates photos from Twitter,
  Instagram and a dozen other social networks, seeing an average of 100
  photos/s. Geolocation and keyword tags are associated with the photos,
  opening up a wide range of use cases.

if services.teleportd
  if !user
    p
      a(href="/login") Sign in
      |  to see how to get 
      strong free access to Teleportd's unlimited api
      |  during Node Knockout.
  else if user && (user.contestant || user.judge)
    h4 For free access to Teleportd's api for Node Knockout
    != markdown(services.teleportd)

:markdown
  ## <a name="mongolab">MongoLab</a>

  [MongoLab](http://mongolab.com) is a full-featured MongoDB-as-a-Service
  cloud solution that completely automates the operational aspects of running
  MongoDB. With the MongoLab cloud platform developers can deploy and manage
  highly available databases for their applications and leverage automated
  backups, web-based tools, 24/7 monitoring, and expert support. Free 500MB
  databases are available on Amazon AWS, Azure, Joyent, and Rackspace.

  No special credentials are needed to use MongoLab's free 500MB plan during
  Node Knockout. Just [sign up to get a free
  account](https://mongolab.com/signup/).

  ## <a name="mongohq">MongoHQ</a>
  MongoHQ is the fastest and easiest way to create a MongoDB database to use
  with your application. Our goal is to allow developers to focus on what they
  do best while we keep your database fast, optimized and reliable. It takes
  [less than 30 seconds to sign up and create a MongoDB
  database](https://www.mongohq.com/signup).

  For NodeKnockout, we have available 512MB plans in multiple data centers.
  Simply sign up and create a database and you will have full access to our
  industry-leading tools and a friendly and intelligent support team. We're
  excited to see what you build ... Good luck!

  ## <a name="monitaur"></a>Monitaur

  [Monitaur](http://monitaur.net) is instant server monitoring. Set it up in
  30 seconds (seriously, it's really easy). Record and view your system stats
{'fraction_non_alphanumeric': 0.11220136518771331, 'fraction_numerical': 0.04426194539249147, 'mean_word_length': 4.138082191780822, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 9, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '785397', 'n_tokens_mistral': 3393, 'n_tokens_neox': 2953, 'n_words': 866}