Process

Crafting Commits in Git

A commit, like a well-designed function or class, should represent a single concept. A distinct, cohesive commit is easy to understand, review, and, if necessary, revert. Git’s powerful staging area allows you to finely craft your commits. You decide which … Continue reading

Posted in Process | Tagged | 8 Comments

Testing Doesn’t Scale

The Ruby community’s obsession with testing is unrivaled. Over the years, Rubyists have gone from old school TDD using test/unit, to modern BDD with RSpec and finally to comprehensive integration testing, including JavaScript support, via Cucumber. The goal was tests … Continue reading

Posted in Process | 33 Comments

Behavior Driven Development for node.js

On Tuesday night, the San Francisco Server Side JavaScripters had an excellent meetup hosted by the folks at CBS Interactive. I gave a short talk on using zombie.js with jasmine-node to test drive your node.js application under automation. Here is … Continue reading

Posted in Process, Web | Tagged , , , , , | 1 Comment

Getting “Test”-y in iOS Apps: Test-Driven Development and Automated Deployment

View more presentations from rudyjahchan Recently, Jonah and I have been exploring test-driven development and automated deployment on the iOS platform. As we were both attending iOSDevCamp 2011, we decided to give a lightning talk summarizing our discoveries and to … Continue reading

Posted in Mobile, Process | 8 Comments

Pragmatic JavaScript Testing with Jasmine

As more and more parts of our applications are written in JavaScript, its important to have them covered with automated tests. Fortunately, there are numerous JavaScript testing tools available. As a BDD fan, the RSpec inspired Jasmine is currently my … Continue reading

Posted in Process, Web | 21 Comments

Virtual Environments with Vagrant

After a recent run-in with an irate local sysadmin, I was convinced to try out developing on a virtual machine. His argument was that developing on one platform, such as OS X, when you are deploying to another, such as … Continue reading

Posted in Process, Web | 1 Comment

Organizing User Stories and Code by Activity

Recently I was introduced to a tool developed by my co-workers called Story Mapper. Story Mapper was inspired by an agile design technique outlined in this post; it involves a way of organizing user stories around activities. During the story … Continue reading

Posted in Process, Web | 3 Comments

Crank your specs :redux

A couple months ago, Ben Lindsey wrote ‘Crank Your Specs’ which talked about how to speed up your test suite.  I’ve been chatting with him since then, and trying to figure out other ways to shave some time off our … Continue reading

Posted in Process, Web | Leave a comment

Better Mocking in Ruby

In TDD we write tests to discover the interface of the object we’re testing. Mock objects extend TDD by discovering an object’s collaborators. [1] By mocking an object’s collaborators we can truly test an object in isolation. Changes in the … Continue reading

Posted in Process, Web | 10 Comments

Raking and Testing with EventMachine

I have been getting more and more interested in high-performance Ruby apps, and in EventMachine in particular. First of all, super props to Aman Gupta for EM, and to some other Ruby devs out there who have been writing libraries … Continue reading

Posted in Process, Web | Tagged , | 14 Comments