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.
Continue reading →
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 →
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.
Continue reading →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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:
Continue reading →
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 →