Menu Sidebar


Early access beta of “Objects on Rails” Now Available

UPDATE: Objects on Rails is now complete and freely available online. Often, at conferences and users group meetings, I find myself discussing the intersection of Ruby on Rails, Object-Oriented development, and Test-Driven Development, and I’ll mention something like “I prefer to develop my business objects first, and add ActiveRecord in later”. This usually leads to questions about how I structure […]

Making a Mockery of TDD

I made this gnomic remark on Twitter the other day: To be a successful mockist, you must dislike mocks. A lot of people re-tweeted it, so I guess I’m not completely alone in thinking this way. I should back up a bit. A “mock object”, or “mock”, is a specific kind of test double. It […]

5 things programmers preach but don’t practice

I’m having a frustrating day of merge hell. Just to blow off some steam while specs run, here are some things that, in my experience, are a lot more common in theory than in execution in proprietary software development projects. At least in the Ruby/Rails projects I’ve been exposed to lately. Not pointing fingers or anything, […]

Demeter: It’s not just a good idea. It’s the law.

Is #try really so bad? In response to my recent post about #try being a code smell, a lot of people made the reasonable objection that the example I used—of using #try on a a Hash—was a pathological case. A much more typical usage of #try looks like this:

user may or may not […]

Linkdump #8

Scriptensity: Emscripten 1.0! This is the first I’ve heard of this project: it’s an LLVM-to-Javascript compiler. Which means you can (for instance) compile C++ to Javascript. I can’t decide if this is amazing or just batshit insane. Probably both. tags: development javascript llvm web c++ c compilers Overall Emscripten is now in very good shape. […]

Newer Posts
Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.