Red Squirrel Reflections
Dave Hoover explores the psychology of software development

Dave Hoover

All [Atom]
Craftsmanship [Atom]
Dynamic [Atom]
Intersection [Atom]
Learning [Atom]
Links [Atom]
Polyglot [Atom]
Projects [Atom]
XP [Atom]
Old Blog

Obtivian Blogs

Andy Maleh
Colin Harris
Fred Polgardy
Jim Breen
Kevin Taylor
Todd Webb
Turner King
Tyler Jennings


March 2009 (1)
January 2009 (1)
December 2008 (1)
October 2008 (3)
September 2008 (1)
June 2008 (4)
April 2008 (3)
March 2008 (1)
February 2008 (1)
August 2007 (1)
July 2007 (1)
June 2007 (1)
May 2007 (4)
April 2007 (3)
March 2007 (5)
February 2007 (6)
January 2007 (6)
December 2006 (10)
November 2006 (5)
October 2006 (8)
September 2006 (8)
August 2006 (5)
July 2006 (12)
June 2006 (7)
May 2006 (5)
April 2006 (5)
March 2006 (4)
February 2006 (2)
January 2006 (5)
December 2005 (5)
November 2005 (3)
October 2005 (3)
September 2005 (6)
August 2005 (4)
July 2005 (7)
June 2005 (14)
May 2005 (6)
April 2005 (8)
March 2005 (9)
February 2005 (11)
January 2005 (16)
Old Archives


Tue, 23 Jan 2007

Adventures in Inshoring

Like many small consulting companies, Obtiva was built upon a longstanding relationship with a large, local client. A client like this provides a strong foundation on which to build a business. As I said in my 2006 Retrospective, my primary goal for 2007 is to spend an increasing amount of time in our Wheaton office leading our Rails projects. To achieve this goal, we will need to bring in a steady stream of new projects. I'm happy to say that January has proven to be a good start. We kicked off two new Rails projects: negotiations software for a large bail bonds company and (yet another) social networking application for a major television network.

While these projects are wildly different, they have one thing in common. Both clients are located in California. Why is that significant? Go read Mike Karlesky's insightful post on Inshoring. While neither Obtiva nor Atomic Object can compete with the prices of our offshore brethren, it is possible for us to undercut our coastal colleagues.

Moving toward distinct, shorter-term projects creates a need for a steady stream of new business, which is exacerbated by our expertise in Ruby on Rails and agile practices. We have found that by coupling a killer technology like Rails with the disciplines of frequent releases and test-driven development, we are able to deliver our projects ahead of schedule. This puts more pressure on us to bring in more projects, but it also increases our chances for repeat business, not to mention the morale boost our team feels. It's a positive feedback loop that I hope we'll still find ourselves in when summer arrives.

[/obtiva] permanent link

Sat, 13 Jan 2007

Rose's First irb Session

HooverObitvaMacBook:~ davehoover$ irb --simple-prompt
>> 'rose'.capitalize
=> "Rose"
>> 'RoseHoover'.swapcase
>> 943222 + 3000000000000000000000
=> 3000000000000000943222

[/learning] permanent link

Wed, 10 Jan 2007

SafariWatir on iPhone?

I'm not sure why anyone would want to run Watir scripts on a handheld device ... but since the iPhone runs on OS X and ships with Safari, I'm wondering how difficult it would be to get SafariWatir setup ... just because we can.

[/projects/watir] permanent link

Tue, 09 Jan 2007

Pioneers: independent, yet cooperative

I'm slowly working my way through The Spirit of Democratic Capitalism, a book that looks at democratic capitalism form a historical and theological perspective. Much of what I've read reminds me of the talks and writings of Nathaniel Talbott on homesteading. I read a quote last night that reminded me of a quality that makes many ThoughtWorkers special, and something I'm trying to cultivate at Obtiva. I'm talking about this contradictory quality of being fiercely independent, and yet cooperating almost continually with their colleagues. The quote that struck this chord was about a family that journeyed from upstate New York to the Iowa territory in 1842:
They took pride in being free persons, independent, and self-reliant; but the texture of their lives was cooperative and fraternal. p. 135
I immediately thought of Obie and Aslak when I read this. When the three of us were on our first project together at ThoughtWorks, I was star-struck by their development prowess. They are certainly intelligent, ambitious, and motivated guys, but the thing that struck me was the breadth and vitality of their personal networks. Colleagues were frequently IM'ing them with questions ... and whenever we were stuck, we didn't just have Google at our disposal, we had a responsive network of world-class developers to ask questions of. And we often did. This is a habit (and network) I have taken with me as I left ThoughtWorks. While individual qualities are critical for success, a cooperative network is a distinguishing asset that is hard to detect on a resume or portfolio.

[/learning] permanent link

Wed, 03 Jan 2007

assert_select for Watir

Inspired by Jamis' post on assert_select I've just committed an update to my Watir on Rails plugin that adds support for both assert_select and assert_tag. Give it a try!
require File.dirname(__FILE__) + '/../test_helper'

class GettingStartedTest < Test::Unit::TestCase
  include WatirOnRails
  def test_getting_started
    browser = open_browser("/")
    assert_select "div#getting-started h1", "Getting started"
    assert_tag :tag => "h1", :content => "Getting started",
               :parent => { :tag => "div", :attributes => { :id => "getting-started"} }
Rather than asserting against the body of the response from the controller, I'm grabbing the HTML from the most recently opened browser.

[/projects/watir] permanent link

Reviving the Lightweight Visual Thesaurus

I've brought my Lightweight Visual Thesaurus back to life. I'm hoping to make some improvements to it this year, like supporting more browsers than just Firefox.

[/projects/lvt] permanent link

powered by blosxom