About Justus

Hi, my name is Justus Brugman. I have a great passion for technology and gadgets. I also like to read, run (trail-running), sail, watch movies and spend time with my family.

Posts by Justus

From Java to Kotlin – Part VI: Higher-Order Functions Without Fear

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 6: Passing functions around sounds scary.

Until you try it.

Continue reading →

From Java to Kotlin – Part V: Switch vs When

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 5: Java has switch. Kotlin has when.

Continue reading →

From Java to Kotlin – Part IV: Copying objects

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 4: Copying objects should be easy.

And safe. And boring.

Continue reading →

From Java to Kotlin – Part III: Default Values and Named Arguments

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 3: Constructors are supposed to be simple.

Java sometimes seems to disagree.

Continue reading →

From Java to Kotlin – Part II: Boring Data Classes

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 2: You need a simple object.

Just data. No behavior. No clever tricks.

And yet, Java somehow turns this into a small project.

Continue reading →

From Java to Kotlin – Part I: String extensions without the boilerplate

Posted on by  
Justus Brugman

Considering a move to Kotlin? Coming from a Java background? In this short series of blog posts, I’ll take a look at familiar, straightforward Java concepts and demonstrate how you can approach them in Kotlin. While many of these points have already been discussed in earlier posts by colleagues, my focus is simple: how you used to do it in Java, and how you do it in Kotlin.

Case 1: You are working on an application in Java and you need a reusable way to modify a String.

Nothing fancy. No frameworks. Just a small helper.

Continue reading →

OWASP DependencyCheck Plugin Central Cache

Posted on by  
Justus Brugman

Since this month, anyone using the OWASP dependency check plugin from Jeremy Long(*1) needs to upgrade to version 9. The older versions are no longer supported and could fail to work.

It is also recommended to get an NVD api key(*2), else the NVD update can take a very long time. The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP) (*3). Since most of us are using a build environment, we don’t want to create a key for every project, but if we do not, we might get rate-limit errors.

Continue reading →

Working From Abroad

Posted on by  
Justus Brugman

Those who come here know that the blogs here mainly have a technical angle. This time it’s a little bit different for me. Why? Because I started following my dream: Working from abroad.

Continue reading →

Another Git Oopsie

Posted on by  
Justus Brugman

Don’t you just hate it when you’re getting that weird git error that prevents you from pulling to your local branch. For example:

fatal: Need to specify how to reconcile branches.

Well, you could delete your local folder and do a re-checkout. There are however other ways git can help you, even without falling back to the git reset --hard origin/master method.

Continue reading →

Fault Tolerance in Quarkus

Posted on by  
Justus Brugman

Yet another short post using Quarkus. Quarkus is a full-stack, Kubernetes-native Java framework, but for this short post I’m using Kotlin for a change. The goal of this post is to show you how easy it is to use the circuit-breaker pattern to build fault tolerant services. For this we use the smallrye-fault-tolerance library, an implementation of the Eclipse MicroProfile Fault Tolerance.

Continue reading →

Integration testing in Quarkus

Posted on by  
Justus Brugman

For one of our clients we use the Quarkus framework. Quarkus is a full-stack, Kubernetes-native Java framework, designed to work with popular Java standards, frameworks and libraries. It is possible to get into details about Quarkus, but that’s not what this post is about! This blog will tell you how to set up a simple database driven application with a full end-to-end test, using Quarkus and testcontainers.

To be able to follow this how-to you’ll need the following:

  • An IDE (like IntelliJ IDEA)

  • JDK 11+

  • Maven 3.8.1+

  • Gradle 7.2

  • Have Docker installed on your machine

Continue reading →

Create a Docker image running Robot Framework

Posted on by  
Justus Brugman

Robot Framework is easy enough to set up. When you have Python installed on your system, it can be as easy as running pip install robotframework && pip install robotframework-appiumlibrary. This is not how I want to do it. For this intro, I want to run the Robot Framework in a Docker image.

Robot Framework is a generic open source automation framework. It can be used for robotic process automation (RPA), and also for acceptance level testing and acceptance test-driven development (ATDD). In this blog I want to focus on the first steps to start working with it.

Continue reading →

shadow-left