Home / Archive by category "Book"

Book review: Effective Debugging – 66 Specific Ways to Debug Software and Systems by Diomidis Spinellis

Target audience: developers
Effective Debugging Cover

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?

ISBN-13: 978-0134394794

Book review: The Sketchnote Workbook: Advanced techniques for taking visual notes you can use anywhere by Mike Rhode

Workbook-400Target 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.

ISBN-13: 978-0-13-383171-9

Book review: Code Simplicity by Max Kanat-Alexander

Code SimplicityTarget 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.

ISBN: 978-1-449-31389-0

Book review: Lean Architecture – for Agile Software Development by Jamey O. Coplien & Gertrud Bjornvig

lean architectureTarget 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.

ISBN: 978-0-470-68420-7

Book review: This is Lean – Resolving the efficiency paradox by Niklas Modig & Pär Ahlström

this is leanTarget 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.

ISBN: 978-91-980393-0-6

Book review RavenDB High Performance

RavenDB High Perdormance 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 third chapter introduced an important concept, which is often forgotten. RavenDB only fetches 128 or maximum 1024 data models at a time. When you need to get more data out of RavenDB you have to either use paging or better leverage the capabilities of the new streaming API introduced in RavenDB 2.5. This chapter also introduces the Lazy API. The lazy API allows you to batch several calls to RavenDB in one single HTTP operation. This is extremely powerful and allows you to reduce unnecessary roundtrips to the server. One more little gem I want to mention from this chapter. It is the javascript scripting API. This API is especially useful when you need to migrate a large number of documents in RavenDB. It allows you to send a javascript to the server, which is executed on the server and can modify documents. But wait there is more.

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.

Book review: Learning NServiceBus

Nservice BusMany 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!

http://www.packtpub.com/build-distributed-software-systems-using-dot-net-enterprise-service-bus/book

Book review: Knigge für Softwarearchitekten von Peter Hruschka und Gernot Starke

knigge-fuer-softwarearchitekten

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.

ISBN-13: 978-3-86802-080-9

Book review: Rocket Surgery made easy – The Do-It-Yourself Guide to Finding and Fixing Usability Problems by Steve Krug

Rocket surgery made easy

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.

ISBN-13: 978-0-321-65729-9