Log For Humans and Machines

Logging is one of the easiest ways for an application to communicate information to humans or other machines. How many requests has the application received or how quickly has it served responses? How slow are the slowest actions and how often do they occur? These can be easily communicated through logs.

Versioning Your API

Choosing an API versioning strategy can be difficult. There are many approaches and each come with their own pros and cons. Two of the most common practices are to version in the URL or with headers. For Heroku's public API we decided to version with the Accept header.

People Make Projects Amazing

We have many amazing open source projects today, but none of them were just amazing overnight and none of them would be considered amazing without the people that have and do contribute to them. Projects themselves are good ideas, but its the people behind them that make them amazing.

Rake Tasks 102

This is a follow up post to Rake Tasks 101. In the 101 post we created Rake tasks, setup dependencies and made our tasks reusable by passing in parameters. In Rake Tasks 102 we'll be building on those practices, interfacing with a Rails environment and leveraging the cron to automate our Rake task.

Rake Tasks 101

I've been working with Rake quite a bit on my current project so I thought I'd share some beginner tips.