This is absolutely a rant, triggered by an observation on Twitter by Allen Holub, in which he noted, “I should add that the Guide provides an object lesson for any software shop that thinks that […]
Easier Than It Looks

Sometimes difficult to solve problems are obvious in hindsight. I’ve mentioned my need to build an MR JAR for Simplestub, and my dissatisfaction with the existing solutions. So I started playing around with Gunnar Morling’s […]
Looking for MR Good JAR

The JEP-238 Multi-Release JAR feature, introduced with Java 9, allows a single JAR to contain multiple implementations that work with different versions of the JDK. As noted in my last post, This is especially important given […]
Ch- ch- ch- changes!

Java 9 was, in a number of ways, possibly the most disruptive change to the language, largely due to the introduction of the Java Platform Module System (JPMS), which for the first time enforces the […]
Time To Go?

As a longtime Java developer, I had missed the introduction of Google’s Go language. With some recent changes in my work priorities, I am now looking at it, and thought I would share my first […]
Documenting Bug Fixes

When you fix a bug, how do you document it in the code? One option, of course, is simply not to say anything at all, but just make the fix. But there are times when […]
Meeting Misery

A manager once observed to some of us that many people’s goal is to be the second-to-last person to arrive at a meeting. Being the last makes you the person who is holding everybody else […]
Clean Code Matters

In the last post, I mentioned clean code as one of the essential elements of Agile development. So let’s do a little code challenge, shall we? Our context is a system for managing bets at a […]
What’s agile about Agile?

Programmers are all too well aware that fixing one problem is all too likely to create even more, leading to a reluctance to make changes that aren’t actually necessary. This found its way into a […]
Change is Hard

When facing a new situation, we have a very strong tendency to retreat to what we know, and convince ourselves that the approaches we have used in the past will always work in the future. […]