Archive for June, 2008

Email is an appropriate medium for a surprisingly small subset of all communications. As a measure of reference, imagine the minimum amount of emails you could live with … then divide that by 2, please. Keep in mind: before emails, companies were in business and people were communicating.

The fact that email is not the magic communication bullet might be obvious to some. But it falls under the uncommon “common sense” that I hear about a lot.

I don’t want to repeat what others before me have said … if need be, you can refer to Merlin Mann’s Inbox Zero series or Tim Ferris’s ideas on the topic.

Let’s consider email in the context of “bandwidth”:

Communication Bandwidth

Here’s my communication policy:

  • email: to attach documents or communicate asynchronously
  • IM: to exchange URLs, to check if people are available, or for quick checks. As soon as the discussion goes back and forth a few times, I’ll upgrade to the phone
  • phone: when the person is remote or IM failed. If visuals are needed, I’ll upgrade to “in person” or some sort of screen sharing app.
  • in person: default

Of course, I’m against unnecessary meetings and interruptions. But how many times have you witnessed an email thread that kept going when a 10-minute call could have clarified everything? How many times have you waited while somebody was typing on IM?

For reasonable people, the rule is: use the appropriate medium for what you need to communicate. For others, especially new people brought into a group, a set of guidelines would go a long way toward both reducing email debt and communicating better.

Read Full Post »

I’ve been playing with autotest for my latest Rails project, and it’s great.

However, if you’re doing a “Ruby without Rails” project and your directory structure is different from the established conventions, you’re out to reverse engineer autotest itself and find outdated recommendations on Google.

It doesn’t have to be this way, here’s my .autotest:

require ‘autotest/redgreen’
require ‘autotest/timestamp’

# quit on first CTRL-c
Autotest.add_hook(:interrupt) do |at|
  at.wants_to_quit = true

# run all tests for ANY file
Autotest.add_hook(:initialize) do |at|
  at.add_mapping(/.*/) do |filename, _|


Read Full Post »