If you are working with JavaScript, there's a good chance that you have a ton of promises or callbacks nested over and over again. Promises helped me clean up the numerous callbacks, but coroutines really took it to the next level. Coroutines allow you to remove callbacks entirely, and write asynchronous code that looks completely synchronous. Lets learn how...

Generators were introduced in ES6, and are available on these platforms. While I have not used generators in the browser yet, I use them heavily in server-side iojs.

Why should I care?

In my opinion, the number one reason to use generators is to clean up asynchronous code. Generators can also be used...

This year I'm going to refocus on my blog. I plan on writing at least one blog post a month for the rest of the year, but this month has been busy, so I owe you one. My first couple of posts will be about...

This took me way to long to figure out.

  1. In the S3 interface, click the magnifying glass icon to the left of your bucket.
  2. Click the "Edit CORS Configuration" button. It should be right next to "Add Bucket Policy"
  3. You should already...

I have just implemented the new url routing structure into Roads. Lets start with the example :

routes : {
  'users' : {
    controller : 'user',
    view : 'many',
    routes : {
      '#id' : 'one',
      'auth' : 'auth'
  'me' : {
    controller : 'user',
    view : 'one'

Each key is a "URl Part". I define a URL Part here as...

Yesterday I launched Bifocals.js, a node library for handling http responses.

It was my first big launch, and I learned a ton from it. Before I go into that, lets show some numbers...