Strong opinions, weakly held

Incentives for developers

I’m not an economist but I’m a big believer in incentives. In this Err the Blog post on his Ruby on Rails toolbox, he has this to say about the excellent exception_notification plugin for Ruby on Rails:

E-mails us whenever an exception is raised on the site. Some days I just gather up the exceptions in my Inbox and bang away on those bugs for an hour or two. Then, no more e-mails. It’s very gratifying.

There are two reasons I love this plugin. The first is that those problems that you missed during testing are brought to your attention immediately. No more grepping log files, looking for problems you might have missed. When a user hits a land mine, there’s an email in your in box letting you know.

The second is that if your site is busy at all, you have a very powerful incentive to fix the bug ASAP. If the problem is catastrophic, suddenly you’re getting a whole lot of email that you have to delete, all saying the same thing. Is it painful? Of course. But it insures that fixing the bug is the most efficient course of action for even the laziest programmer. Being bombarded with pointless email is a powerful incentive to make the pain stop. I like that.

Anyone know of a similar tool for Java? There’s an email appender for log4j, but I’ve always found it to be kind of a pain to deal with.


  1. Amen to that! Some days we get hit with 100’s of e-mails in the span of a few minutes. You better believe we jump on those bugs STAT!

  2. Taking the risk of mentioning a non-Rails framework, I’ll say that this is a really useful feature of the Django framework. Getting the error e-mails is a great way of finding out what’s wrong, immediately.

  3. Apache::ASP (http://www.apache-asp.org) does that out of the box, which has always been exceptionally handy.

  4. I would caution that you’d want a very short SMTP client timeout. If your SMTP server is performing poorly (which they do, often, but you don’t notice it because they’re blocking background operations), blocking your webapp on SMTP throughput will turn out to be an achilles heel. In general, I’d say that email isn’t a very good medium for this, SMTP is pretty heavy weight. There’s a JMS appender for log4j, I would prefer that over SMTP. Syslog-style UDP messages are also good bets, I wrote our own appender at Technorati that writes to a spread message group and it generally performs as well as our ethernet’s TCP throughput.

  5. Ian, the whole point is that it ends up right in your inbox. Sending a message would happen in a separate thread or process, and would never delay the response to the user.

  6. Neat idea. I’ll need to use this on my site.

    I tried to make bug reports insanely easy to enter with a link on every page, but still no one does it.

Leave a Reply

Your email address will not be published.


© 2019 rc3.org

Theme by Anders NorenUp ↑