Hi James,

i was about to write a lengthy answer.... i will compress it to the 
point that is still bothering me:

There is a well known website (for a good reason and especialy for all 
ruby users) with my name on it. This website, which might well be the 
first hit if you google for ruby and my name, states that i'm to dumb to 
create a simple script looking up some words from a dictionary. I realy 
hate explaining my next customer why (and perhaps i will never get the 
chance to tell him).

I would accept that, but not without beeing able to defend myself. You 
may argue i'm doing that already but whatever i write here will be 
invisible to anyone who looks at your website. (and i won't argue here 
if it has been less subjective whats right and whats wrong)

Maybe this is exaggerated but i hope you got my point, there comes some 
responsibility with publicity.

enough, to be a more constructiv:

=== Timing ./Adam Shelly/wordchain ===
Wordchain Finder
Connecting duck -> ruby
duck
ruck
rusk
ruse
rube
ruby
=== ./Adam Shelly/wordchain:  0.703 seconds ===

=== Timing ./Brian Schroeder/wordchain.rb ===
duck
dusk
rusk
ruse
rube
ruby

Loading database
Searching connection between duck and ruby
=== ./Brian Schroeder/wordchain.rb:  2.297 seconds ===

=== Timing ./Daniel Sheppard/word_chain.rb ===
duck
dunk
duns
dubs
rubs
ruby
=== ./Daniel Sheppard/word_chain.rb:  9.328 seconds ===

=== Timing ./David Tran/word_chain.rb ===
Loading dictionary...
Building chain...
duck
ruck
rusk
ruse
rube
ruby
=== ./David Tran/word_chain.rb:  43.89 seconds ===

=== Timing ./David Tran/word_chain2.rb ===
Loading dictionary...
Building chain...
duck
ruck
rusk
ruse
rube
ruby
=== ./David Tran/word_chain2.rb:  7.36 seconds ===

=== Timing ./Dominik Bathon/word_chain.rb ===
duck
ruck
rusk
ruse
rube
ruby
=== ./Dominik Bathon/word_chain.rb:  1.031 seconds ===

=== Timing ./Gavin Kistner/word_chain.rb ===
Searching in 2634 words with 4 letters
Chain between 'duck' and 'ruby', no longer than 12 links:
duck
dunk
duns
runs
rubs
ruby
--> 9.66s (after loading dictionary)

=== ./Gavin Kistner/word_chain.rb:  10.047 seconds ===

=== Timing ./horndude77/wordchain.rb ===
duck
dunk
dune
rune
rube
ruby
=== ./horndude77/wordchain.rb:  0.156 seconds ===

=== Timing ./James Edward Gray II/word_chain.rb ===
duck
ruck
rusk
ruse
rube
ruby
=== ./James Edward Gray II/word_chain.rb:  9.266 seconds ===

=== Timing ./Levin Alexander/word_chains.rb ===
duck
ruck
rusk
ruse
rube
ruby
=== ./Levin Alexander/word_chains.rb:  1.438 seconds ===

=== Timing ./Paolo Capriotti/chain.rb ===
duck
dunk
dune
rune
rube
ruby
=== ./Paolo Capriotti/chain.rb:  13.515 seconds ===

=== Timing ./Simon Kroeger/word_chain.rb ===
duck
dunk
duns
runs
rubs
ruby
=== ./Simon Kroeger/word_chain.rb:  1.125 seconds ===

=== Timing ./Simon Kroeger/word_chain2.rb ===
duck
dusk
rusk
ruse
rube
ruby
=== ./Simon Kroeger/word_chain2.rb:  0.829 seconds ===

=== Timing ./Will Thimbleby/word_chain.rb ===
duck
dunk
duns
runs
rubs
ruby
=== ./Will Thimbleby/word_chain.rb:  16.453 seconds ===

=== Timing ./William James/word_chain.rb ===
["duck", "ruck", "rusk", "rust", "rush", "ruse", "rube", "ruby"]
=== ./William James/word_chain.rb:  0.687 seconds ===

=== Timing ./William James/word_chain2.rb ===
duck
dusk
rusk
ruse
rube
ruby
=== ./William James/word_chain2.rb:  0.953 seconds ===

Of course this brings up the whole Benchmark problem, e.g. horndude77's 
blazingly fast algorithm uses precalculated files that take an hour to 
build.... see recent 'Performance Ruby' thread.

(for me the hardest part was compiling Brian Schroeder's extension on 
Windows - "your milage may vary")

cheers

Simon