2011 Global Day Of Coderetreat Toronto

December 3rd was the first Global Day of Coderetreat. Over 2200 developers in 90 cities participated. Back in November, while planning a trip to Chicago for SCNA, Corey confirmed that nobody was facilitating in Toronto. This city has a really active software scene, so I figured I’d give it a shot. Here’s the result:

Global Day of Coderetreat Toronto Group Picture

It couldn’t have happened without help:

We had 18 Coderetreaters, who roughly broke up into one-third Rubyists, one-third Java, and one-third .NET. Python, Clojure, Javascript, and Gosu made appearances too.

Our sessions looked like this:

  1. Intro to the Game of Life. For some, this Coderetreat was a first. Plus it’s good to warm-up before the coffee kicks in.
  2. Kent Beck’s Four Rules of Simple Design. There are various formulations, but I prefer the minimal:
    • Tests pass.
    • Reveals intent.
    • No duplication.
    • Small code.
  3. Choose Your Own Adventure. Pairs picked one or more constraints from a list. Popular choices included no conditionals, no iteration, methods under 2/5 lines, “Tell, Don’t Ask”, and no objects.
  4. Evil Mute Ping Pong. “Mute” because talking is prohibited. “Evil” because Implementors can use whatever loopholes they find to make the tests pass.
  5. Make It Work. Write the worst code you can. Give it your best shot. A good way to wind down.

The final retrospective offered a variety of thoughts, with a couple common themes: [re]discovering TDD, getting to know both new and familiar languages, and thinking about the social aspects of our craft.

Srdjan and Martin

Srdjan and Martin plotting. Loaned my ARxTA/Github-stickered laptop. Pretty sure they tried breaking Ruby. Gonna have to check on that.

Damon and Marcus

Damon and Marcus in Deep Pairing Mode.

Dan and Owen

Dan tells me he had a great time retreating into deliberate practice. Owen was happy to spend some time with Ruby sans Rails.

Tim and Taz

Tim laughs at the code while Taz… gestures at the code. That’ll teach it.

Mark and Roxanne

Mark and Roxanne also in Deep Pairing Mode.

Anna and Austin

Anna and Austin did unspeakable things with nested hashes. But hey, there’s a Clean Code guarantee.

Kyle and Chris

Kyle firing eye lazors at the code while Chris drives.

Yehoram and James

Yehoram concentrates despite James utterly smashing the fourth wall!

The rest are on Flickr:

Jenna Morrison Critical Mass

Jenna Morrison was killed while on her bike by the driver of a five-tonne cube truck one week ago. This morning, we had a Critical Mass to deliver her ghost bike:

The Bridge

Delivering Jenna Morrison's Ghost Bike

Mourning at Dundas and Sterling

Bike-over-head Salute

Hundreds of cyclists

Jenna Morrison Vigil and Petition-signing

Sidewalk Chalking

More on Flickr.

Delhi: I AM IN YOU.

Delhi: I AM IN YOU.

Isolated Rails 3: Easy Mode

Steven Baker showed us how to bootstrap Rails 3 with Isolate. Just so you have no excuses, stick this script somewhere in your path:

mkdir $*
cd $*
echo "gem 'rails'\ngem 'sqlite3-ruby'" > Isolate
echo "require 'isolate/now'\nrequire 'isolate/rake'" > bootstrap
rake -f bootstrap isolate:sh['rails new . --skip-gemfile']
sed -i '' '/Bundler/d' config/application.rb
sed -i '' '/gemfile =/,$d' config/boot.rb
echo "require 'isolate/now'" >> config/boot.rb

Now you never have to generate a Rails app without Isolate again.

First to 130wpm, @coreyhaines!

rtl: 115 wpm, Canada. coreyhaines: 115 wpm, USA.

115wpm & 0 errors on a 1 minute test for #learn2typewk.