The Work of Being Lucky

Lisa Crispin‘s article about her team not being special (We’re Not ‘Special’) reminded me of something I heard a few times in the past: Me being lucky in being were I am.

And it’s true: I was lucky a few times: In 2009 (if I remember correctly) I went to a presentation at Lehmann’s  (@Lehmanns in case you prefer Twitter) where, apart after a great presentation about Scrum and during the discussion and socializing part someone from the Xing team told me about the Agile Testing Days later that same year. Sure enough, I went there — and met a whole lot of exciting (and excited) people there. The connections to colleagues from all over the world also was worth going there.
So yes, I was lucky meeting the person who would give me the information I needed.
However, to me at least, being at the presentation was not lucky or coincidental at all: It took me a 200km drive by car to get there and another 200km drive to get home again.
So was it sheer luck? I don’t think so. In fact I truly believe that in order to be lucky, one needs to go to the places where it happens.

There have been other times I was lucky: Being (kind of) dragged into a dinner of a conference (the same one as above, BTW), was another time I was there, ready to be lucky: Someone asked me whether I’d like to join dinner. Of course I did and had a great time. A great time until someone asked me about the presentation I would give, and someone else then asked me whether I knew that this was the speakers dinner. Oopsie, I didn’t know! I found that was embarrassing, even though everyone else thought it was amusing. Now, a while later, it’s certainly a funny story to tell.

I think that to be lucky, you need to go out and be there, be present in a context where you’d like to be lucky: This might be a local user group gathering, some conference … or twitter (for this also see my post over at Zen & the Art of Automated Testing). Did I mention that I was lucky to find a cool new project via Twitter? Well, I did. 🙂

In other words: It’s work and you (well, I at least) will have to pay a price to be lucky and I totally find it worth the hassle.

Now go out there and get lucky. And if you’re lucky in getting lucky you may become happy as well. Good Luck!

That said, I think Lisa’s team might in fact be special, but not in the way Lisa is frustrated about: To me it seems special because of the hard work, experiments and continuous improvements it went though. In this (may be special) sense they’re special and lucky.

osx-gcc-installer or XCode

  1. How to remove Xcode completely from your system:
    sudo /Developer/Library/uninstall-devtools --mode=all

    Use at your own risk!

  2. Where to get Xcode: The App store: https://developer.apple.com/xcode/
  3. OSX-gcc-intstaller: https://github.com/kennethreitz/osx-gcc-installer
Addtional info: Another way is to get the “Command Line Tools for Xcode” at https://developer.apple.com/downloads/ (which requires an Apple developer account).
Happy hacking!

NoMethodError in Rails Tests — Fun With Fixtures

In case there’s this weird error message when running unit tests for a Rails app, chances are that your fixtures need some attention. Especially if the schema changed…

NoMethodError: undefined method ‘name’ for #

method method_missing in test_process.rb at line 511
method method_missing in test_case.rb at line 158
method rescue in run in setup_and_teardown.rb at line 26
method run in setup_and_teardown.rb at line 33
method block (2 levels) in run_test_suites in unit.rb at line 641
method each in unit.rb at line 635
method block in run_test_suites in unit.rb at line 635
method each in unit.rb at line 634
method run_test_suites in unit.rb at line 634
method run in unit.rb at line 594
method block in autorun in unit.rb at line 492

There’s no test method given, because, well the tests don’t even get that far: It’s likely that there’s a key (column name) given in the fixture, which is not in the DB schema (anymore).

TextMate 1.5.10 … and Ruby 1.9.2

There’s a new version of Textmate available. Cool, thanks! However after installing … I couldn’t run Rake tasks anymore (the keyboard short cut to remember: Shift-Ctrl-R).

In ‘rake_mate.rb’ (line 49, /Applications/TextMate.app/Contents/SharedSupport/Bundles/Ruby.tmbundle/Support/RakeMate/rake_mate.rb). I inserted “.lines” to make it look like this:

tasks = [DEFAULT_TASK] + tasks.lines.grep(/^rake\s+(\S+)/) { |t| t.split[1] }

Additionally I had to ‘re-copy’ the plist.bundle as described on the rvm site.
Now everything works fine again.

Addendum: As mentioned in the rvm guide to using TextMate, I had to (re) move TextMate’s own Builder.rb out of the way:

cd /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ ; mv Builder.rb Builder.rb.backup