Latest Posts

Productivity September 8, 2019

Clean Already Merged Branches in Git

Another month, another git alias (But don’t think that this will become a regularity now ;-) ). I had the issue that I lost track of the branches that were already in master a couple of times on one of my projects and after a while I had a lot of unnecessary jobs in Jenkins because we use the Jenkins multibranch plugin . So I sat down and created a git alias that does the cleanup for you with a bit of user-friendly output.

Productivity August 8, 2019

How To Squash All Commits Of Your Feature Branch

Usually you have a lot of “intermediate” commits while developing on a feature branch like WIP, Review changes, Some cleanup, Fix jenkins. These commits are neither atomic nor does it help to read them in the history. They purely serve the purpose to persist the current work, trigger another build on your buildmachine or doing some fixes you discovered while testing. So before I rebase my changes to master I’d like to squash all commits that i’ve done to a single one.

Continuous Integration August 1, 2019

Parallel Integration Tests With Random Ports On Jenkins

A common problem when doing end-to-end tests is colliding ports on you buildmachine with parallel execution. With the technology stack of Docker, Jenkins and Gradle I’ll demonstrate one solution I use in my current project to start the backend with a random port and use it in the test execution afterwards. Our situation is the following: You want to execute a test which starts your backend application and fires against it from the outside.

Productivity July 24, 2019

Useful Git Aliases That Ease Your Life

When you work with git you can define aliases to make your experience even more productive and elegant. In this short post I’d like to present aliases that I use frequently and how they work. And I’ll start with my favorite: git recent-branches. Recent Branches git recent-branches This command gives you the following output: The result of the recent-branches alias. This command shows you all branches you recently worked on. That solves the usual problem of me forgetting the names of the branches I worked on.

Clean Code June 18, 2019

Never Design A Class That Knows How It's Used

When you design a class you should never design it in a way that the class itself knows how it is used from the outside. Breaking this principle will make it difficult for other developers providing other implementations. I recently stumbled upon an implementation of different entities where the implementation had to provide a unique id for itself. Why this is causing problems and how you better design such a situation I’ll explain in this post.