Development Hacks to Prevent Mistakes

This post is cross-posted at Development Hacks to Prevent Mistakes. Bugs are an inevitable part of software development. We do our best to write higher quality software, but we never...

High Availability at Braintree

Update (3/31/13): The video of the talk is online: High Availability at Braintree The slides from my RubyConf Australia talk are now online: High Availability at Braintree. The slides were...

Scaling PostgreSQL at Braintree: Four Years of Evolution

This post is cross-posted at Scaling PostgreSQL at Braintree: Four Years of Evolution. We love PostgreSQL at Braintree. Although we use many different data stores (such as Riak, MongoDB, Redis,...

Testing Interactions with a State Based Approach

There are two main types of unit tests: state based and interaction based. State based tests rely on the verification of state. These tests typically perform some operation and then...

Automate statement downloading with statement_hoarder

If you’re like me, you’ve switched all of your websites to paperless statements. No more bank, credit card, or utility statements arrive in the mail. But you would still like...