November 2012
16 posts
Node Knockout Winners!
We’re excited to announce the winners of Node Knockout! Here are the champions among the 167 entries submitted this year.
Overall Team
Disasteroids
by SomethingCoded
Disasteroids is a game where you do battle among a series of asteroids, slinging missiles at other players through the gravity field and trying to hit the most exciting shots. Inspired by the classic artillery games of...
(protip) Add the Vote KO Badge to your App
Here’s a quick tip: your entry should link to your team’s page so you can
get as many votes as possible.
Alternatively, if you want to let people vote directly from your app, you can
use our Vote KO widget:
Here’s how to use it:
<iframe src="http://nodeknockout.com/iframe/YOUR_TEAM_SLUG" frameborder=0 scrolling=no allowtransparency=true width=115...
Using Apigee with Node
Overview
Apigee App Services is a hosted cloud service to store, retrieve & query your data — and so much more. Create a user record in our database and boom — we automatically give you a method to let that user sign-in to the service (using OAuth), let him own other pieces of data, post stuff to his activity wall, and the ability to become friends & share data with other users — without...
Getting started with Geddy, Socket.io, and...
This is the 17th in a series of posts leading up to Node.js Knockout on
getting started with Geddy This post was written by Geddy
contributor and Node Knockout Judge Daniel Erickson. It is cross-posted
on the Geddy wiki.
Intro
I’ve had a few people ask me to write a quick guide to getting started with
authentication and realtime events with Geddy. These are both really amazing
new features so I...
MongoLab's Joyent-hosted MongoDB Quick Start
MongoLab provides MongoDB-as-a-Service on the Joyent Cloud (and on Cloud
providers) for the lowest latency between your Nodejitsu app and MongoDB.
500MB databases are available for free. In a recent test, ping latency
averaged under 800 microseconds between our MongoLab Joyent servers and a
hosted jit.su server. We have a web GUI for managing, searching, and editing
documents in MongoDB. We...
MongoHQ Is Excited to Sponsor Node Knockout 2012 →
A great post by MongoHQ announcing their sponsorship (including $20K in prizes), and also highlighting some of the most exciting things about Node Knockout.
Introduction to Jitsu deployment
This is the 16th in a series of posts leading up to Node.js Knockout on
using jitsu to deploy to Nodejitsu This post was written by Nodejitsu
Support Engineer Colton Baker (aka Sly).
TL;DR
$ git clone git@github.com:nko3/[slug].git myapp
$ cd myapp
$ [sudo] npm install -g jitsu
$ jitsu login # username and password provided on your NKO team page
$ jitsu deploy
Installing
To install Jitsu,...
The wonderful world of geospatial indexes in...
This is the 15th in a series of posts leading up to Node.js
Knockout on using mongodb with node-mongodb-native
This post was written by Node Knockout judge and
node-mongo-db-native author Christian Kvalheim.
MongoDB has native support for geospatial indexes and extensions to the query language to
support a lot of different ways of querying your geo spatial documents. We will touch on a
all of...
A primer for GridFS using the Mongo DB driver
This is the 14th in a series of posts leading up to Node.js
Knockout on using mongodb with node-mongodb-native
This post was written by Node Knockout judge and
node-mongo-db-native author Christian Kvalheim.
In the first tutorial we targeted general usage of the database. But
Mongo DB is much more than this. One of the additional very useful
features is to act as a file storage system. This is...
A Basic Introduction to MongoDB
This is the 13th in a series of posts leading up to Node.js
Knockout on using mongodb with node-mongodb-native
This post was written by Node Knockout judge and
node-mongo-db-native author Christian Kvalheim.
Mongo DB has rapidly grown to become a popular database for web
applications and is a perfect fit for Node.JS applications, letting you
write Javascript for the client, backend and database...
Error Tracking in Node with Rachet.io
This is the 12th in a series of posts leading up to Node.js
Knockout, and covers using Ratchet.io in your node app.
Ratchet.io is an error monitoring, aggregation and intelligence service that
has plugins for a wide variety of languages and frameworks including Rails,
Django, PHP and Node.js.
Let’s create a simple server with some bugs to get started.
Installation
npm install...
Telling Stories with Bonsai.js
This is the 11th in a series of posts leading up to Node.js
Knockout on debugging node processes using Bonsai.js.
This post was written by Bonsai.js contributor Dustan Kasten of
Skookum Digital Works.
Bonsai.js is a new graphics library that, unlike most graphic libraries
currently in the wild, ships with an SVG renderer. Not only that, but it has
an architecturally separate runner and renderer...
Find shared photos in real-time with Teleportd →
Teleportd is providing contestants unlimited access to their photo api for the competition. Click the link above to see how it works.
Debugging with Node Inspector
This is the 10th in a series of posts leading up to Node.js
Knockout on debugging node processes using Node Inspector.
This post was written by Node Knockout judge and Node Inspector
author Danny Coates.
While node has a built in debugger, Node
Inspector provides a pleasant graphical interface for debugging node programs.
Node Inspector is a debugger interface for node.js using the WebKit...
Getting Started with Passport
This is the 9th in a series of posts leading up to Node.js Knockout on
using Passport. This post was written by Node Knockout judge and
Passport creator Jared Hanson.
Passport is middleware for Node.js that makes
implementing authentication quick and easy. Authentication can take a
variety of forms, including a username and password, OpenID,
OAuth, and BrowserID.
Many users prefer to sign in...
October 2012
8 posts
Restify
This is the 8th in a series of posts leading up to Node.js Knockout on
using restify. This post was written by Node Knockout judge and
restify creator Mark Cavage.
restify is a node.js module purpose
built to create REST web services in Node. restify makes lots of the hard
problems of building such a service, like versioning, error handling and
content-negotiation easier. It also provides...
Sending email from node.js
This is the 7th in a series of posts leading up to Node.js Knockout on
using Nodemailer. This post was written by Node Knockout judge and
Nodemailer creator Andris Reinman.
tl;dr — How to send an e-mail using Nodemailer
Install Nodemailer
> npm install nodemailer
Include the module in your script and create a reusable transport object
var nodemailer = require("nodemailer");
var...
Making an API happy with hapi
This is the 6th in a series of posts leading up to Node.js Knockout on
using hapi. This post was written by Node Knockout judge and hapi
contributor Wyatt Preul.
Hapi is a framework for rapidly building RESTful web services. Whether you
are building a very simple set of RESTful services or a large scale, cache
heavy, and secure set of services, hapi has you covered. Hapi will
help get your...
Getting Started with Mongoose
This is the 5th in a series of posts leading up to Node.js
Knockout on using Mongoose. This post was
written by Node Knockout judge and Mongoose maintainer Aaron
Heckmann.
Getting started with Mongoose and Node
In this post we’ll talk about getting started with Mongoose, an
object modeling tool for MongoDB and node.js.
Install
We’re going to assume that you have both MongoDB and...
Knocking out Socket.IO
This is the 4th in a series of posts leading up to Node.js
Knockout on how to use Socket.IO. This post was written by
socket.io creator Guillermo Rauch.
Ready to rock the Node Knockout 3? Considering making a
real-time app or game? Then you’re likely considering
Socket.IO
Socket.IO makes realtime easy and cross-browser
If the web 2.0 was about AJAX requests and responses, the real-time...
Getting Started with Express
This is the 3rd in a series of posts leading up to Node.js
Knockout on how to use Express. This post was written by express
author Tj Holowaychuk.
In this short tutorial for Node Knockout we will be creating a small
application using the popular Express framework.
Express is a light-weight Sinatra-inspired web development framework.
Express provides several great features such as an intuitive...
Introduction to npm
This is the 2nd in series of posts leading up to
Node.js Knockout about how to use
npm. This post was written by npm author
Isaac Schlueter.
npm is a NodeJS package manager. As its name
would imply, you can use it to install node programs. Also, if you use
it in development, it makes it easier to specify and link dependencies.
Installing npm
npm now comes with node. So once you install node...
How to Install node & npm
This is the 1st in series of posts leading up to the 3rd annual
Node.js Knockout about how to use
node.js.
This post covers how to install node and npm on three popular development
platforms: Mac, Ubuntu, and Windows.
Instructions for other platforms can be found on the
Node Wiki.
The Easy Way
We personally use package managers to make it easier to keep our node
installation up to date, so...
September 2011
1 post
Node Knockout Winners!
After much delay, we’re happy to announce the
Node.js Knockout winners!
Overall / Solo:
Observer
by Speedo
Observer allows you to watch your application users in real time, and
see in your browser what they are doing, all the events are duplicated
and emulated.
If a user clicks on a button that triggers an alert or a other
javascript interaction, the same interaction will...
August 2011
30 posts
Voting is Open
Check out the entries
(proprotip) Customize The Vote KO badge
You can pass CSS to the Vote KO badge using a query parameter. This is particularly useful if you have a dark background:
<iframe src="/iframe/fortnight-labs?css=https://raw.github.com/gist/1176404/e336c0efd7c6d78fa1f49fda2f5e813ab747f580/ko-button.css"></iframe>
Countdown to KO #24: Pusher Pipe
Early access program for the Pusher Pipe
In case you haven’t heard of Pusher before, we are a hosted service for adding realtime features quickly and easily to your web and mobile applications. Our main transport mechanism is WebSockets, and we think WebSockets are the bomb.
We have specialised in building a scalable infrastructure that can handle tons of connections, and making it...
Countdown to KO #25: MongoHQ
Node Knockout: Getting Started with MongoHQ
We are happy to provide the full MongoDB infrastructure for the Node Knockout competition this year. Here are some brief instructions for how to get started with using our service.
Create a MongoHQ account.
Go to https://www.mongohq.com/signup and create a MongoHQ account for you and your team. This will log you into MongoHQ.
Add your Node...
NKO Quick Start
Here’s a quick overview of how to get your Node.js Knockout app up
and running correctly. Please review the
overview section of this post, as it contains essential information for
the contest.
Overview
Set up a server with the NKO npm module.
Push to your team’s GitHub repo.
Deploy to Joyent, Heroku or
Linode.
If you deploy to Linode: curl http://nodeknockout.com/id_nko2.pub...
Countdown to KO #23: Login with Password,...
This is the 23rd in series of posts leading up to Node.js Knockout
about how to use everyauth to manage logins. This post was written by
everyauth author and Node.js Knockout contestant Brian Noguchi.
Introduction
So you want to add logins to your web app? Assuming that you are using
Connect or
Express (and who isn’t these
days?), then everyauth can get you up and running within...
Countdown to KO #22: PostageApp
This is the 22nd in series of posts leading up Node.js Knockout,
and covers using PostageApp to send email in your node app.
Given the time crunch for Node.js Knockout, there’s barely enough time
for anything. Getting your app configured to send email is one of those
things that can prove to be far more time-consuming than you expect,
especially if you’re not prepared.
Here’s a quick-start...
1 tag
Coundown to KO #21: Using Spreecast during Node...
This is the 21st in series of posts leading up Node.js Knockout,
and covers using Spreecast during to collaborate with your team and
share with other participants around the world.
What is Spreecast?
Spreecast lets groups share video experiences in real time.
With Spreecast, you can broadcast your live video to the world,
pulling in viewers to share the experience when it suits you,
and...
(protip) Add the Vote KO Badge to your App
Here’s a quick tip: you should link to your team’s page to get as
many votes as possible.
Alternatively, if you want to let people vote from your app directly,
you can use our “Vote KO” widget:
Here’s how to use it:
<iframe src="http://nodeknockout.com/iframe/YOUR_TEAM_SLUG" frameborder=0 scrolling=no allowtransparency=true width=115...
Coundown to KO #20: no.de Getting Started Guide
This is the 20th in series of posts leading up to Node.js Knockout
about how to use Joyent’s no.de service. This post was written by
no.de architect and Node.js Knockout judge Isaac Schlueter.
These instructions will tell you how to deploy your code on Joyent’s
no.de service.
Create an Account
Go to no.de and click “Sign up”.
Then fill in the stuff. You’ve...
Countdown to KO #19: A primer for GridFS using the...
This is the 19th in a series of posts leading up to Node.js
Knockout on using mongodb with node-mongodb-native
This post was written by Node Knockout judge and
node-mongo-db-native author Christian Kvalheim.
In the first tutorial we targeted general usage of the database. But
Mongo DB is much more than this. One of the additional very useful
features is to act as a file storage system. This is...
Countdown to KO #18: Load Testing with blitz.io
This is the 18th in series of posts leading up Node.js Knockout,
and covers using blitz.io to load test your node app.
What’s blitz.io?
blitz.io, powered by Mu Dynamics, is a self-service load and
performance testing platform. Built for API, cloud, web and mobile
application developers, blitz.io quickly and inexpensively helps you
ensure performance and scalabilty. And we make this...
Countdown to KO #17: Natural Language Processing...
This is the 17th in series of posts leading up Node.js Knockout,
and covers using natural in your node app. This post was written
by natural author and Node.js Knockout judge Chris Umbel.
“natural” is a general-purpose natural language processing library for
node.js developed principally by Chris Umbel. Various algorithms in
the way of stemming, classification, inflection, and...
Countdown to KO #16: Stock Market Mashups with...
This is the 16th in series of posts leading up Node.js Knockout,
and covers using TradeKing in your node app.
At TradeKing, we’ve all been infatuated with Node. From its inception
we’ve been touting its swift performance, reasonable learning curve, and
its particular ability to add a completely new dimension to web
applications.
While developing the API we were always thinking...
Countdown to KO #15: Publish/Subscribe with PubNub
This is the 15th in series of posts leading up Node.js Knockout,
and covers using PubNub in your node app.
PubNub lets you connect mobile phones, tablets, web browsers and more
with a 2 Function Publish/Subscribe API (send/receive).
HTML Interface
If you are building HTML5 Web Apps, start by copying and pasting the
code snippet below. If not, skip to Other Languages.
<div pub-key="demo"...
1 tag
Countdown to KO #14: Deploying Your Node.js App to...
This is the 14th in a series of posts leading up Node.js Knockout, and
covers deploying your Node.js app to a Linode VPS.
A Linode VPS means freedom. You get everything from the Linux kernel and root
access on up. All managed by a simple yet very powerful control panel.
This post will get you going with a Node.js/Socket.IO app on Linode.
Do I need to sign up with Linode?
Short answer: no....
Countdown to KO #13: Build Phone and SMS Apps with...
This is the 13th in series of posts leading up Node.js Knockout,
and covers using Tropo in your node app.
Tropo is a multi-channel communication platform that lets you build
Phone, SMS and IM apps - all using the same Node.js codebase.
On the phone side, Tropo integrates with SIP (the industry standard for
VoIP telephony) and Skype. On the SMS side, Tropo supports sending
inbound and outbound...
Countdown to KO #12: SpacialDB Intro
This is the 12th in series of posts leading up Node.js Knockout,
and covers using SpacialDB in your node app.
What is SpacialDB?
SpacialDB is a Geospatial database service that allows you to create,
operate and scale dedicated Geospatial databases in the cloud. Your
SpacialDB databases can be used transparently in place of any database
in cloud such as Amazon RDS or Rackspace Storage or Heroku...
Countdown to KO #11: Node Twilio
This is the 11th in series of posts leading up Node.js Knockout,
and covers using Twilio in your node app.
For this example we’ll be using the node-twilio helper library by
Stephen Walters to get you started with the basics of initiating a
call and then answering it.
Start off by installing node-twilio using npm:
$ npm install twilio
Parts of node-twilio depend on the express...
Countdown to KO #10: Deploying Your Node.js App to...
This is the 10th in series of posts leading up Node.js Knockout,
and covers deploying your Node.js app to the Heroku platform.
Heroku is a platform that lets you deploy your Node.js app instantly,
without needing to deal with servers or systems administration. The
recently-released Celadon Cedar stack supports Node.js (alongside
other languages such as Ruby and Clojure). You can also use...
Countdown to KO #9: A Basic Introduction to Mongo...
This is the 9th in a series of posts leading up to Node.js
Knockout on using mongodb with node-mongodb-native
This post was written by Node Knockout judge and
node-mongo-db-native author Christian Kvalheim.
Mongo DB has rapidly grown to become a popular database for web
applications and is a perfect fit for Node.JS applications, letting you
write Javascript for the client, backend and database...
Countdown to KO #8: Introduction to PDFKit
This is the 8th in a series of posts leading up to Node.js
Knockout on creating PDFs with Node using PDFKit. This post was
written by Node Knockout judge and PDFKit author Devon Govett.
Want to generate PDF documents in your Node Knockout app? Then you
should be using PDFKit to generate them! PDFKit is a PDF document
generation library for Node that makes creating complex,...
Countdown to KO #7: Debugging with Node Inspector
This is the 7th in a series of posts leading up to Node.js
Knockout on debugging node processes using Node Inspector.
This post was written by Node Knockout judge and Node Inspector
author Danny Coates.
Node Inspector is a debugger interface for node.js using the WebKit Web
Inspector. It’s the familiar javascript debugger from Safari and Chrome.
Install
With npm:
npm install -g...
Countdown to KO #6: Getting Started with Mongoose
This is the 6th in a series of posts leading up to Node.js
Knockout on using Mongoose. This post was
written by Node Knockout judge and Mongoose co-maintainer Aaron
Heckmann.
Getting started with Mongoose and Node
In this post we’ll talk about getting started with Mongoose, an
object modeling tool for MongoDB and node.js.
Install
We’re going to assume that you have both MongoDB...
Countdown to KO #5: Taking a Walk (with Node.js)
This is the 5th in a series of posts leading up to Node.js
Knockout on pulling it all together using Node Express
Boilerplate. This post was written by
@mape, “solo winner” of Node.js Knockout 2010.
Taking a walk every now and then is good for the body and the mind. But as
with many other endeavors, often the hardest part is taking that first step.
The same goes for ideas and...