The Company Book Club

We’ve started a book club of sorts at work.

Second book on the ticket (I skipped the first) is The Search by John Battelle. Amazon gives it a decent review and I’ve heard of it before but never actually read it. Should be a quick read.

The idea of a company-sponsored book club is interesting.

It sounds a bit like school, we’re all supposed to read the book by a certain date, than meet over dinner after work one day to discuss. From what I’ve heard, not everyone completed the first book (a more businessey book I believe) but the general discussion went well.

With The Search I’m interesting to see if there are any different interpretations of the content (ie. Google) by the developers and marketing people in our organization.

Regardless, I’ve got to finish Dreaming in Code first. Highly recommend it as well, been a good read so far.

Like to read, code and play foosball/basketball/soccer? Maybe there’s a job for you.

Code Reviews w/ Crucible

We’ve used FishEye to better understand our source code repositories for some time now.

Cenqua (the Austrailians behind Fisheye) were exhibiting at last years JavaOne. I mentioned that we actually paid for FishEye (they gave the impression that most people eval’d continouslly) and they were quick to explain their new product and offer entry to early access program around it. This new product was Crucible* *and it’s motivation was to provide a means to perform efficient and effective offline code reviews.

I was generally impressed with their brief demo and left excited.

Traditionally, our code reviews have been face-to-face interactions where one person (the reviewer) looks over varying amounts of code prior to the author checking it in. However tedious they may be, code reviews help maintain a certain quality in the code base and are treated as a learning opportunity, particularly if the author is more junior and the reviewer senior.

Crucible provides an integration to FishEye that allows you to easily manage the review process around a particular change set. You’re able to select multiple authors (a useful thing when you want multiple eyes looking at the same piece of code) and perform a review using a nice Ajaxy web interface. Now that the product has emerged from its early access program, you can get a demo or trial version of at its website.

The entire process is managed offline, you’ll get an email notifications whenever you’ve been selected as a reviewer or someone has commented on your code.

Part of the problem we face at work with online code reviews (reviews that preceed a checkin) involves scheduling. More often than not, there’s a non-trivial amount of code to review and the emphasis is often placed on getting it checked in. Keeping track of the required changes (and following up on) can be difficult as well. Not to mention that it can be distracting to have to spend an hour or two reviewing code.

Needless to say, Crucible is nice but not perfect. For us, policy still dictates that we don’t want code committed to the repository without review. With Crucible, we’ll commit to a private branch, have it reviewed, and merge down to the respective trunk.

There’s been discussions around the office that it would be nice to be able to perform a review off of a diff file. Face to face interaction is also lost when using a purely offline tool. Although, this can be partially solved if the author is providing timely replies to the reviewers comments.

In the end, it’s a useful tool. We’re still using the early access release and it hasn’t been rolled out to all of development. That being said, most of us that did use it found it beneficial. If we could get diff-based reviews, we’d be sold.

Richard St. John : Secrets of Success

Why do people succeed? Because they’re smart? Or lucky? How about: Neither. Inspired by a chance encounter with a high school student who asked him how to become a success, St. John interviewed more than 500 successful people, then distilled what they told him into eight simple principles.

See Richard’s 4 minute talk at the 2005 TED (Technology, Entertainment, Design) conference. Richard, the author of Stupid, Ugly, Unlucky and RICH, relates success to 8 (rather basic) ideas. Of interesting note are the accompanying comments he’s gathered during 500+ interviews with successful people over the past 10 years.

It’s not always easy to push yourself, that’s why they invented mothers.

On a semi-related note, there’s another Freakonomics book in the works.