Book Review

Book Review: Java by Comparison

Posted on

Full disclaimer up front: I received a free copy of the book from one of the authors in exchange for this review. This book is an interesting take on Clean Code or software craftsmanship. It’s well written and full of useful content, but it’s not for everyone. Keep reading to find out if the book […]

Book Review

Book Review: Clean Architecture

Posted on

You probably already know that I am a fan of Clean Code – all the way to the point of giving training courses. So I couldn’t miss Robert Martin’s (aka Uncle Bob’s) third book Clean Architecture, which promises to extend the reach of the first two books into the realm of software architecture. Content The […]

Process

Continuous Technology Radar

Posted on

Recently, I had the opportunity to create a prototype for an in-house technology radar, based on the build-your-own-radar (BYOR) open-source implementation from Thoughtworks. I thought I’d write a post explaining the infrastructural side of the implementation, as I found it quite interesting – and I’ll end it with an open question. We wanted various people […]

Book Review

Book Review: Building Evolutionary Architectures

Posted on

Recently, I finished the new and popular book Building Evolutionary Architectures by the three (former) Thoughtworkers Neil Ford, Rebecca Parsons and Patrick Kua. Overall I was underwhelmed by the book, but continue reading for the full review and my reasons. Content The first chapter introduces software architecture “-ilities” as the basis for decisions made by software […]

Book Review

Book Review: Writing Great Specifications

Posted on

Today I’ll give you my insights about an interesting little book called Writing Great Specifications by Kamil Nicieja available from MEAP or Amazon. Content The book is all about writing executable specifications. Some relevant keywords here are specification by example, behaviour-driven development or acceptance test-driven development. The author starts it easy with an introduction to […]

Programming

The compiler is your friend

Posted on

During my recent coaching sessions I realized that different developers consider compilers in entirely different ways. In this post I’ll describe three dominant views I’ve encountered. View 1: Dynamically typed aka what’s a compiler? Type systems are complicated. It’s a good thing that we have dynamically typed languages, in which the type system is very […]

Book Review

Book Review: 99 Bottles of OOP

Posted on
Book cover 99 bottles of OOP

This time around, I decided to give you my comments on a book I recently read – or at least partially read since it is not finished yet. 99 Bottles of OOP is an amazing work from well-known Sandi Metz in cooperation with Katrina Owens (creator of exercism.io). Currently, the book consists of 5 of […]

Programming

Property Test-Driven Development

Posted on

It’s been some time since my last post. A lot happened in my life, but I’ll try my best to get back to writing more posts again. Let’s start off by looking at a variation of test-driven development: property test-driven development. Basically, it’s TDD with property tests. If you don’t know about property tests (QuickCheck […]

Programming

Quick Tip: Degenerating HashSets

Posted on

Recently, a colleague of mine found a problem deep down in the rabbit hole. What we could see from the outside was a major performance issue – the fix was simple, yet I found the root cause of the problem interesting enough to warrant this post. Consider it a follow-up on contracts and how deep […]

Programming

Further Deprecating the Decorator Pattern

Posted on
Design Patterns Book

In the last post, we saw ways to replace the decorator pattern for static use cases. If you want to decorate functional interfaces though, there is another whole class of use cases, in which the decorator pattern may not be the most suitable solution. Scenarios Let us consider a few typical scenarios, where dynamic decorations […]