Target audience: developers
Philipp’s comment: Effective Debugging contains 66 recipes that show you how to track, find and fix bugs with less headaches. The recipes are neatly grouped into chapters. Every recipe has a Things to Remember section at the end which wraps up the described technique.
Some of the recipes are very basic and should be in every developer’s arsenal; at least after having read the book. Some recipes are meant for the hard to crack cases while some may seem very obvious. I like the completeness of Diomidis Spinellis’ approach. It reminds us that successful debugging starts with mastering the basics. If you’re already familiar with a technique, you can always jump ahead to the Things to Remember section and continue with the next technique.
If you’re a .NET developer like me, you will appreciate the tooling you get out-of-the-box even more after having read the book. Though for some of the recipes in the book I would like to see a sample for the .NET universe.
To have a more complete list of Debugging Tools in the .NET Universe and insight on how to use them I’m going to post more articles in the next couple of months.
The book is definitely worth a read and serves as a reference for the more advanced, rarely used techniques.
Go grab your copy today and let me know what you think about the book. Which technique did leverage your debugging skills the most?
Target audience: everyone
Urs’ comment: A quick read full of examples on how sketchnotes can help you in many situations. I used the book mainly as inspiration on how to improve my own sketchotes. Not as good as the first book by Mike Rhode on sketchnotes, but worthwile.
P.S. did I really miss to write a review on his first book? Hmmmm.
Target audience: developers
Urs’ comment: A short, simple book about what makes software complex, how to prevent that and therefore keep software simple. This book contains rules and facts about software regarding code simplicity. The problem of the book is that either you probably know most of its content or you think that it doesn’t work anyway (I got this impression while reading through the reviews on Amazon). Anyway, I think it is worth the time and helps to reflect on one’s own way of coding.
Target audience: .NET developers
Urs’ comment: This book explains Dependency Inject very well: from concepts over patterns and anti-pattern to specific libraries. Read it when you use any kind of Dependency Injection in your .NET project.
The only sad thing is that Ninject is not part of the book 😉
Target audience: software architects
Urs’ comment: This book claims a lot, and delivers little. There are several good tips in this book, but overall I simply don’t like it. I don’t like the “tone” it is written in.
There are only few books about Agile and Lean software architecture, therefore I cannot really give a better alternative covering the same topic.
Ultimately, that means you have to read it in case you are in any kind responsible for the architecture in an Lean/Agile set-up.
Target audience: anybody interested in lean
Urs’ comment: I heard and read a lot about lean during the last years. I heard about eliminating waste, Toyota, lean architecture and much more. This book helped me understand what lean actually is, and what it’s not. I like the samples and stories and the clear distinction of values, principles, methods, tools and activities.
It’s a quick and nice read, so there is no excuse to not read it – in case you want to use the term lean yourself.
I was excited when I got the chance to review the book RavenDB High Performance from Packtpub. Because we are using RavenDB in production. The title itself High Performance gave me the impression that this book is all about micro optimizing RavenDB by tweaking internals of RavenDB. I was quite surprised when I detected that this book takes another approach.
The first chapter starts with introducing what a document database is and explains in a few words the RavenDB architecture. In my point of view this chapters is useless. Let me explain why. I think you only buy this book after you have already decided to use RavenDB or you have at least read another introductory book about RavenDB. Therefore, you already know what a document database is and what its pros and cons are.
The second chapter although speaks about how to optimize that data model. In my opinion, this is one of the most important chapters of this book. You learn how to store relationships and efficiently fetching data by leveraging the RESTfulness of RavenDB.
The book talks about the most important aspect to build scalable systems: Reduce the number of times you actually hit the real server. Remember, doing nothing is always scalable :D. One way to achieve this is to heavily use RavenDB’s aggressive caching support. Further chapters introduce you briefly to how to monitor RavenDB with Glimpse, Performance Counters and statistics. More topics like Sharding, FailOver clustering and how to deploy RavenDB to the cloud are also covered in this book. Although in my personal opinion the sharding and failover part should be extended because it can be a complex process in real live scenarios.
Overall, the book was a quick and decent introduction into performance relevant topics for RavenDB.
Many of the developers diving into the world of distributed systems are looking for a library or framework, which helps them to get started quickly. Usually they seek a better replacement for their existing Remote Procedure Call Technology. NServiceBus seems to fit into that space and offers a whole new world to discover. However, NServiceBus is more than just a framework! It incorporates in its core many years of experience building distributed systems and has been adopted throughout the globe in many .NET environments.
David Boike not only introduces the knowledge how to get started with NServiceBus but also how build up future-proof distributed systems by leveraging the experience built into the framework. It starts with a getting started sample, which gets you up to speed in a few minutes. From there on the reader is taken to a journey about Commands, Events, Fallacies of Distributed Computing, Eventual Consistency and embracing failures by making your application code fault tolerant. With this knowledge in the tool belt, the reader learns to take advantage of the extensible API NServiceBus offers. Get ready to tackle advanced messaging scenarios! Know it, learn it, and love it!
Target audience: Softwarearchitekten
Urs’ comment: Dieses kleine Büchlein beschreibt typische Verhaltensmuster von Softwarearchitekten – sowohl positive wie negative. Auf unterhaltsame Weise beschreiben diese Verhaltensmuster, was einen guten Softwarearchitekten ausmacht und vor was er sich in acht nehmen muss um es sich nicht mit dem Team, den Stakeholdern oder dem Projekt selbst zu verspielen.
Dani’ comment: Beim Durchlesen dieses Buches habe ich mich selber in der einen oder anderen Rolle wieder erkannt und musste schmunzeln. Sehr unterhaltsam aber auch lehrreich für die Selbstreflektion.
Target audience: Everyone interested in usability testing
Urs’ comment: The book is funny, short and informative. I didn’t read this book because I want to perform usability tests. We have usability experts in our company for this. But, I wanted to learn more about this topic and this book showed me a lot of important things to know about usability testing. For me the most interesting information in here is what to expect from usability testing and how to integrate it into an Agile way of working.