Alex Chaffee's blog



Alex ChaffeeAlex Chaffee
Alexisms
edit Posted by Alex Chaffee on Wednesday December 26, 2007 at 11:56PM

Sayings I use, only some of which are actually originally attributable to me. Anyone with research on a saying's provenance, feel free to comment. This page, unlike a normal blog entry, will be updated as needed with stuff I find myself saying with air quotes.

A comment is a lie waiting to happen.

"Legacy" means any program that people are actually using.

(Feathers: "Legacy" means "no tests.")

If you try hard enough, you can make anything fail.

There's no such thing as human error. (Only system error.)

If you pay attention to something, it gets better.

It's always a people problem. (Jerry Weinberg)

You can see a lot by looking. (Yogi Berra)

Yogi wrote a book called "You Can Observe A Lot By Watching" but I prefer to think he was misquoting himself.

Language Log has a take on this quote: She was seeing at me

Object-Oriented Programming is like teenage sex: everyone says they're doing it; few actually are; and those who are rarely know what they're doing. (Anonymous, via Misko)

Here's a simple test for whether you're doing it right: Is your data in the same class as the methods accessing it? Oh, really? Check again.

Double negatives are not unconfusing.

Encapsulation means putting similar things together, and keeping dissimilar things apart.

Of course, the trick of design is knowing along what axes to group or differentiate items. One rule of thumb that has served me well since the days of Gamelan -- when we were sorting dozens of incoming applets per day into categories -- is:

Don't look at the item and think, "What category does this item belong in? Look at the category and think, "If I were looking for items in this category, would I want to find this item?"

In other words, make your API fit the mindset of the user, not that of the provider.

Conway's Law: "Any piece of software reflects the organizational structure that produced it."

Or, "The structure of the code reflects the structure of the coders."

Read the error message.

Alex ChaffeeAlex Chaffee
Scrum Diagram
edit Posted by Alex Chaffee on Wednesday December 26, 2007 at 11:07PM

Good Scrum diagram. Suitable for XP too (replace "sprint" with "iteration" and "daily scrum" with "daily standup").

Courtesy of Mountain Goat Software

Alex ChaffeeAlex Chaffee
iPhone-Optimized Webapp
edit Posted by Alex Chaffee on Thursday December 13, 2007 at 03:49PM

Alex ChaffeeAlex Chaffee
Rails 2.0 Released
edit Posted by Alex Chaffee on Thursday December 13, 2007 at 03:44PM

Alex ChaffeeAlex Chaffee
Bush Learns Standup Rules
edit Posted by Alex Chaffee on Thursday December 13, 2007 at 03:21PM

Again, thanks to Steve.

So, who needs a pair?

"So, who needs a pair?"

(See also Bush Violates Standup Rules)

Alex ChaffeeAlex Chaffee
Collapsing Migrations
edit Posted by Alex Chaffee on Wednesday December 12, 2007 at 09:19PM

(6:30 pm: updated to use mysqldump) (12/14/07: updated to remove db:reset since the Rails 2.0 version now does something different.) (12/15/07: updated to not set ENV['RAILS_ENV'] since that gets passed down to child processes)

There was an old hacker who lived in a shoe; she had so many migrations she didn't know what to do. Every time her build ran clean, she spent a whole minute staring at the screen.

Fortunately, she read this blog post and now her db:setup task is so fast she's started building multiple test environments so she can run tests in parallel!