Parameterized Tests with JUnit 5 Jupiter

This post has originally been published on the codecentric blog. It was translated to english and slightly edited for this blog. A month back the JUnit team published the offical version of JUnit 5. There’s plenty of resources for high level overviews and if you want to catch up I can recommend this (german) article …

Using Lombok's @Builder annotation with default values

When writing Java, I’m a big fan of Lombok, a library that helps reduce boilerplate code through code-generation. I’ve written about it in the past, if you’re not familiar with it, checkout my previous posts here and here. Recently I’ve been confronted with the problem of providing defaults for generated Builder-classes generated by the @Builder …

Retrofit: My new HTTP client of choice

There’s no shortage of options for Java developers when dealing with HTTP connections client-side. Java itself brings facilities to work with HTTP, but they are very low level and inconvenient as is Apache’s HttpClient. I’ve been using some more high-level implementations in the past, Spring’s RestTemplate is often a good fit, the same goes for …

Lombok’s @Builder annotation and inheritance

I’ve written about Project Lombok’s @Builder annotation before (see here and here). We’ve started using it in our project some time ago in favour of the code generation library PojoBuilder. One thing has bugged me though during that time: Lombok’s @Builder annotation won’t generate code for inherited fields. It turns out, there is a solution to …

Protecting your privacy by blocking online trackers

You don’t need to be particularly interested in technology or privacy to know that a lot of companies are following you around as you browse the web. There’s a huge market for personal information which is mostly used to serve targeted ads. Lots of information is available online that goes into great detail on how …

Project Lombok’s @Builder annotation and generics

Some time ago I’ve written about Project Lombok’s @Builder annotation. When used, it will automatically create a builder for your Java POJOs. Lately, I’ve had some trouble using it on generic classes. Initially I thought that Lombok might need some improvements in this area, but it turned out that I was just using it wrong. …

Importing calendar data to an Owncloud calendar

After reinstalling Owncloud using Chef (see this post) I had to spend some time figuring out how to import existing calendar data into an Owncloud calendar. Initially I wanted to subscribe to a remote calendar (bank holiday data) in the Owncloud web interface, but I didn’t find a way to do this. Instead, I created …

Reinstalling and configuring a server with Chef

For the last few years, all the projects I’ve been working on have made extensive use of a configuration management tool called Chef. It helps you define the configuration of the servers that you manage and enables you to rebuild a server easily. If you’re using Chef, you don’t change server configuration manually, everything gets …