Fosdem over

February 28, 2005

Back in London last night after having spent the weekend in Brussels at FOSDEM (the Free and Open Source Developers’ European Meeting). This year I mostly spent my time in the Perl room. Additionally, this year I decided not to bring a laptop. This freed me from being sucked into reading email or coding during the talks, so I actually managed to follow some of the talks and even take some notes.

Test-Driven Development

February 20, 2005

  • Author: Kent Beck
  • ISBN: 0-321-14653-0

The book is made up of three parts. The first 17 chapters, roughly half the book, is devoted to an extremely detailed example of implementing multi-currency arithmetic using TDD (Test-Driven Development). This part is enormously repetitive; you can probably get away with reading only every other page.

The second part is an example of how to implement the xUnit test framework using TDD. Beck switches from Java, which he uses in the first part, to Python for this bootstrapping exercise. There are comments for Python newbies along the way, so this part doubles as a Python tutorial. While not as repetitive and detailed as the first part, this part is not much easier to follow. Maybe I missed something on the way, but I found this part a bit contrived.

The last part of the book is devoted to patterns for test-driven development. Beck covers techniques for dealing with broken tests, refactorings and design patterns particularly suited for TDD and more. I was getting bored by now, so I must admit to skimming this part of the book.

This book is not an easy read. The first part in particular is so repetitive and focuses so much on the details that it pretty much fails to paint the big picture. Luckily for us, Beck decided to add some appendices. The second of these, despite being just over two pages, the book on its own. It shows how one could arrive at an implementation of a Fibonacci routine using TDD. In contrast to the rest of the book, this example is short and straight to the point. Halfway through part 1, when your brain starts seeping through your ears and ruins your favourite cardigan, turn to the Fibonacci example on page 211. It’s a vital complement to the rest of the book, showing in broad strokes how TDD works.

This might sound like a terribly negative review. However, I believe the ideas and principles introduced in this book are so important that they can easily rise above my bashing of their presentation.

TDD is quite possibly the most influential concept I have come across. I wish I came across these ideas several years ago, as I believe it would have saved me an awful lot of grief. I strongly suggest you give this book a chance.

iPod shuffle

February 17, 2005

I just received the iPod shuffle I ordered a few weeks ago. Commuting will hopefull become a whole lot more bearable in the future. I splashed out for the bigger (1GB) version, I should have space for quite a lot of music.