Dockerize your builds in GitLab CI

GitLab CI is an CI/CD tool integrated directly into GitLab CI uses a distributed approach for running its jobs and offers shared runners running on Digital Ocean. They also have Docker support and even an integrated Docker registry for each project. This short (four source files) tutorial will show how you can deploy your own […]

Read More

Refactoring Legacy – A Google Guice Story

One word that sends shivers down most developers spines is ‘Legacy’. There are many different kinds of legacy-systems and obstacles that they impose. Legacy exists on a scale; on one end there are systems that you don’t want to touch because no matter what you do, they will most likely implode. On the other end there are systems that only have been mistreated code-wise or architecturally but actually have some kind of potential and can be refactored iteratively and improved upon. Some legacy-systems could be at their end of life while other will continue to live for a long time.

Not so long ago, i was a part of a team that got a legacy application assigned to us. This legacy-system was probably somewhere down the middle on the ‘legacy-scale’ and there were no plans to replace it. The perfect victim for some refactoring and improvements! Not only for the sake of the system but for the sake of the developers that are going maintain the application and introduce new features.


Read More


In his talk at JFokus titled “Java Streams: Beyond the Basics“, Simon Ritter introduces us to streams which were added in JDK 8. It was a good introductory talk, aimed at those with little experience in the functional programming paradigm. To start with, let’s take an example of old pre-Java 8 style code as well […]

Read More