Even Backlogs Need Grooming

Imagine this common scenario if you will. One of your friends calls you up and says: “Hey, would you mind helping me move on Saturday, I am getting 4 or 5 people together and we are going to move my stuff to my new house?” You of course reply: “Sure I can help, what time do you want me to ...

Read More »

Services, practices & tools that should exist in any software development house, part 2

Here we go again. In the first part we have gone through some basic tools like Code Repository, Issue Tracker and Wiki. We have also listed services like a builder server, ideas tools and practices around testing and after testing practices like code coverage. Let’s move on! Code quality (Practices and tools) Code quality is very similar to testing. Everyone ...

Read More »

How to Get Unstuck

Jeff Wofford singles out “getting stuck” as A Programmer’s Greatest Enemy. Stuck as getting stuck with a problem that you just can’t solve. This situation gets frustrating fast. Jeff even tells a story of a coworker getting stuck so bad that he got himself fired. I agree getting stuck is bad. Although I’d rephrase it: The real successful developers don’t ...

Read More »

Monitoring OpenJDK from the CLI

Currently I do quite a bit of work in and around the Java virtual machine (JVM), most of the time on Linux. When things go awry and I am trying to establish why, I reach for the Java performance analysis tools. These tools come in two forms, the wonderful GUI known as visualvm, which I use when I am working ...

Read More »

How extreme is extreme programming?

The term Extreme Programming (XP) was coined in the nineties. Originally, it described a set of practices that have mostly been widely adopted today. Among these practices were continuous integration, test-driven development, user stories and frequent releases. These practices are hardly radical or extreme today. So what does “extreme programming” mean now? To me, the idea behind Extreme Programming can ...

Read More »

Programming antipatterns

  Did you ever do a code review where you recorded an extremely high amount of WTF/m? And did you ever wonder what the cause of all this bad code is? Most of the time cause number 1 are the use of design and coding antipatterns. If you like definitions, here is one: An AntiPattern is a literary form that ...

Read More »

Sending emails with Java

I start writing this post as a simple “how to send an email” using Java, but later I found I need to briefly explain more things. So, here is this kind of all in one summary about sending emails with Java. Outside the Java SE platform, but included in JavaEE one, the JavaMail package provides a platform to build mail ...

Read More »

DI in Scala: Cake Pattern pros & cons

I’ve been looking at alternatives for java-style DI and DI containers which would use pure Scala; a promising candidate is the Cake Pattern (see my earlier blog post for information on how the Cake Pattern works). FP enthusiast also claim that they don’t need any DI frameworks, as higher-order functions are enough. Recently Debasish Ghosh also blogged on a similar ...

Read More »

Getters and Setters Are Not Evil

Every now and then some OOP purist comes and tells us that getters and setters are evil, because they break encapsulation. And you should never, ever use getters and setters because this is a sign of a bad design and leads to maintainability nightmares. Well, don’t worry, because those people are wrong. Not completely wrong of course, because getters and ...

Read More »