Recharging the Batteries

My personal recharging battery techniques, for those times when you just can’t stomach another article on the newest web framework.

  • Disconnect where reasonable. Sometimes on vacation this is pretty easy, but since you’re a bit burned out and still probably at work, concentrate on some of the non-technical aspects of your job that don’t get looked at enough.
  • Take a temporary ban on reading technical books, listening to podcasts, etc.
  • Play mindless games. I prefer to play mindless card games like Munchkin or Nuclear War with a group of friends, but since I don’t have that many old geek friends who still play these games nearby, a mindless video game will often suffice. Just not a mindless massive multi-player online game, because I have a dangerous propensity to get sucked into those.
  • Hang out more with the fam.
  • Remind yourself that some personal project can wait a week while you have some downtime.
  • Read a fiction book. I rarely read anything but technical books, given how much I try to keep up on, but sometimes it’s good to take a break and read some fiction.

Fitnesse Hunt The Wumpus Example

I got a pleasant surprise recently when I checked out the Fitnesse.org site and found a fleshed out Hunt The Wumpus example. Up until now the basic examples on the Fitnesse site were really too simple. The examples in the FIT book are more elaborate, but I found the book itself to be one of those I put down because I just couldn’t get into the text.

Hunt the Wumpus brings back memories as a kid typing the code in from one of those big books of BASIC games.

Code Review with Jupiter

I’ve held off using a tool for our code reviews because I didn’t see one that was available that supported a fairly lightweight process. One exception to this was the Eclipse Jupiter code review plugin which we can now use because almost all of our developers have migrated to RAD. (Also suggested by Tim Shadel over at Zdot.)

We tried out Jupiter on our last code review. It installs like any other Eclipse based plug-in. We reviewed about 12 classes from one developer and there were a total of two reviewers. (This was a few too many classes, but it was an experiment).

It uses a XML file based approach to contain all the review information. You simply pick the classes you want to review, add the names of the reviewers and check in the XML file into version control. Simple enough, but you’ll still have to inform everyone about the review via email or in person.

Then you right click on the code and add issues. When you meet up to go through the issues you can simply drive the review from someone’s laptop with an overhead projector. As it turned out I was the only one who had time to actually review the code, so it was just my issues to review. Actually neither of them had gone as far as installing the Jupiter plugin.

It was really nice to have some organization around the review. When you select an issue it can jump right to the code and you have the comment in front of you to jog your memory. If it turns out to be something that needs to be changed, you just select ‘Valid’ from the pull down menu and flag the issue. Then you jump to the next issue.

At the end of the process the developer can just open up all the valid changes and work through them offline.

The best part of the tool was using it for the actual review since it was much easier to focus and drive through the agenda in a single hour. The weak point was as a plugin and file based system it didn’t offer a lot of automation support. For now the vote among the developers is to give Crucible a chance when it shows up soon as a beta.

Reinvigorating Daily Scrums

On at least one of our Scrum projects the daily Scrums aren’t popular with the developers on the team. My best guess is that they need to adjust their format a bit. Typically the developers just read off the spreadsheet numbers on their tasks:

1
OK, I did 34 and 36, and take 2 hours off 37.  Today, I'm working on the JSF page for feature X.

They were of the opinion that maybe they only needed one or two Scrums per week. My top of the head suggestion was maybe they needed to adjust how they ran the Scrums. Perhaps trying to focus more on just finished tasks and stop worrying so much about exact hours. The point of the Scrums are to sync up the team and share information, not feel like drudgery.

AJAX in The World Is Flat

I’ve finally gotten around to reading The World is Flat since I’ve had some downtime recovering from a nasty flu. It’s one of those talked about business books that you sort of need to read so you know when people are referring to it. Very simple synopsis is that everything in the world can now be outsourced and so competition is global. Then think of 500 pages of anecdotal examples.

Turns out AJAX has so much hype it even ends up in the book:

Because these tools are delivered over the Internet and written in standard Web formats, they are accessible to anyone who has an Internet connection and are easily interoperable with any business. What enables work flow at this level is AJAX, a Web development technique that allows complex Internet business applications to be embedded into a Web page, then called up with a simple browser and accessed as easily as viewing a page on Amazon.com.