Windows Developer Power Tools. James Avery and Jim Holmes. O'Reilly (Book Review)

Until reading this book, I did not realize how much productivity I stood to gain.

When I first agreed to review this book I didn't know what I was really getting into. I expected a brief catalog of fairly standard, well-known tools which would only come as a surprise to fresh graduate. I expected I getting a small pocket-sized book which I could devour in one train ride. I could not have been more wrong.

The book covers over 170 Open Source tools across a wide variety of development domains from Windows Forms and Web Development, to working with Databases and XML data. Each tool will in some way enhance your productivity in some way, allowing you to do the things your really enjoy about writing software on the Microsoft Windows platform. The productivity gains vary from being able to generate the tedious 80% of your project to those 5 second boosts which all add up and prevent RSI.

Each of the 23 chapters is targeted at a particular issue or development task and opens with one or two pages describing this task. These are so well written that I think the opening of Chapter 9 [Analyzing Your Code], which gives a quick explanation of code metrics, is my favorite section of the whole book. This means that the book is not just an encyclopedic reference of tools, but also of modern development techniques.

After the introduction a very brief description of each tool follows. These are great memory refreshers once you have read the book and are repeated on the companion web-site. Each tool is then given its own section and the chapter closes with a bibliography for people interested in finding out more.

This structure of "Introduction, Overview data, Full Text, Where to get more information" is repeated for each tool. The overview data includes such information as:
  • The version covered – Good for project which version quickly
  • The home page
  • The License Type
  • Which versions of the .NET Framework are supported
  • A collection of related tools for cross-referencing purposes

The full text of each tool explains where to get the tool, how to install it and how to get started using it allowing you to jump straight in and leverage the tool. This section is often littered with useful screenshots which give you a glimpse at the experience you will find when using the tool. The text for each tool closes with instructions for getting support on the tool and often a brief passage from the tools creator explaining the thinking behind creating the tool.

If that weren't enough, the book also has a companion website at where all of the tools are listed and tagged, each with a download link enabling you to download one straight from the site. You can even create your own "toolbox" and add tools from the site to it, allowing you to quickly and easily provision new machines from the web site itself.

All in all I have thoroughly enjoyed reading this book. I would have liked to have seen more information about the selection process for the tools and readers would do well to remember that a tools inclusion (or lack of inclusion) in the text is not necessarily an indicator of its maturity or usefulness. Be sure that you have a lot of time if you buy this book as you are likely to download, install, and play with many of the tools. If you do then using a virtual machine is highly recommended. None of the tools did anything harmful to my computer, but having 170 tools running at once just isn't advised.

You can purchase the book from here:

Disclosure: The Perth .NET User Group is a member of the O'Reilly User Group and Professional Association Program. O’Reilly make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by O’Reilly.
Posted by: Mike Minutillo
Last revised: 27 May, 2011 02:42 PM History


25 Aug, 2010 10:40 AM @ version 0

Woooooooooooooooooooooooooooooow /Hey thanks man!! you are so good. I think this the perfect work.

power tools

21 Sep, 2007 12:58 PM @ version 0

Thanks Jim. CoolCommands is one of those weird tools. It doesn't sound that great until you've spent 1 day without it.

21 Sep, 2007 12:46 PM @ version 0

Let me dogpile on too with a "Thanks!" for your review.

I'm also happy to see you're using a few of my most favorite tools: GhostDoc, SlickRun, and Rhino.Mocks.

BTW: The URL for CoolCommands moved. It's now at

21 Sep, 2007 01:47 AM @ version 0

Cheers for that James. I look forward to the website updates. It must be a hard thing to maintain. If it gets too useful, people will stop buying the book ;)

As a result of reading the book I am now using MbUnit, Rhino.Mocks, CoolCommands, GhostDoc, SlickRun, TaskSwitchXP and TestDriven.NET as frequently as I am able.

CoolCommands seems to have unfortunately disappeared and I haven't had the time to look into where it went.

20 Sep, 2007 05:06 PM @ version 0

Thanks for the great review! I am glad you liked the book. The selection process for the book was pretty simple, we got together a huge huge list of tools that we had used or heard about and then slowly started to weed out the ones that were abandoned, not useful enough, or were already well-represented in the book. For instance we had Community Server and Subtext so we decided to leave out dasBlog and the other .NET blogs available.

We are working on some updates for the site that should be available soon, so keep an eye out for those.

Say Hi to Madsen for me. :)


No new comments are allowed on this post.