janko ferlic specialdaddy YP3WCRJzPOI unsplash - SPRING AUTOCONFIGURE
Java, Spring Boot

SPRING AUTOCONFIGURE 

Ever wondered how defining a property in Spring applications can automatically configure functionality? We are going to create this ourselves with Spring autoconfigure. We are going to setup a controller with endpoint with only a dependency and a property. For a more in depth discussion…

annie spratt nob5UTb3nGs unsplash - TERMINAL ARRANGEMENT
Command line

TERMINAL ARRANGEMENT 

Do you find yourself opening terminals and first resizing and arranging them before starting your commands? In this article we look at some helpful shortcuts for arranging one or multiple terminal windows with iTerm2. Personalise your terminal arrangement. For the full documentation on iTerm2 take…

edgar chaparro r6mBXuHnxBk unsplash - CHROME SESSIONBOX
DevOps, Freelance

CHROME SESSIONBOX 

Ever found yourself opening incognito browser screens just to test your application with another account? The chrome sessionbox extension lets you create multiple sessions in separate tabs! Installing is easy via the google chrome webstore found here. Creating a new session First navigate to your…

yvette de wit NYrVisodQ2M unsplash - REVEAL.JS
DevOps, Freelance, Scrum

REVEAL.JS 

In this post we look at reveal.js, a presentation framework from code! We discuss the benefits like importing themes and using i-frames inside the presentation. For a complete overview of all the features of reveal take a look at the README.md on github here. Did…

marvin ronsdorf sX9 SHIqH4w unsplash - ANGULAR 8 UPGRADE
Angular

ANGULAR 8 UPGRADE 

It is about time to take on the Angular 8 upgrade. In this post we will see the steps that I needed for this job. In an earlier post we made the Angular 7 upgrade and there are a lot of similarities. Let’s dive into…

bryce evans 8V8 zc0ZsZg unsplash - JAVA TO KOTLIN
Java, Kotlin

JAVA TO KOTLIN 

For Android developers there is a shift going on from Java to Kotlin. Here we are going to look at some Kotlin features that caught my eye. My overall impression is that it’s Java but more concise and more safe. Let’s have a look. For…

integration web
Angular, CI/CD

NPM CI 

As an Angular developer npm install is a well known command. Copying this command to your Continuous Integration pipeline is a bad idea. Use the npm ci command instead. Here is why. We will concentrate on the differences betwee install and ci. For the complete…

sean brown EOQWxAK9aNk unsplash - TREE COMMAND
Command line

TREE COMMAND 

Ever been working your way down directories with alternating ls and cd? Not knowing by heart what the whole directory structure looks like can be a pain. But there is a way out with the tree command! This post is part of a series on…

alex loup aX ljOOyWJY unsplash - HTTPIE
Command line

HTTPIE 

Postman was my go to tool when I considered making a http request. That all changed when I found out httpie gives a very easy and short API precisely for this. In this post I will show why I like httpie. The full documentation can…

alex radelich 2gYsZUmockw unsplash - Z COMMAND
Command line

Z COMMAND 

Working from the command line can be repetitive. Are you sick of typing the same path to a directory over and over again? Are you sometimes opening a finder to see what this path was? Z to the rescue! Now you can jump to this…

jason leung 7rR WSk4HM0 unsplash - FISH SHELL
Command line

FISH SHELL 

As I gain more experience as a software developer I find myself using the command line a lot more. With this growing demand comes a growing need for powerful tools for the command line. In comes fish shell. For a complete documentation and installation guide…

gregory culmer 1330307 unsplash - JACKSON ANNOTATIONS
Java, Spring Boot

JACKSON ANNOTATIONS 

Jackson is a helpful tool when building REST API’s. In this post I will explain what Jackson annotations I use all the time. There are of course many more Jackson annotations for all situations (example tutorials here). Here we focus on the things you want…

matt howard 186811 unsplash - KUBERNETES INGRESS
Cloud, Kubernetes

KUBERNETES INGRESS 

In previous posts on deploying an application to a Kubernetes cluster we used a NodePort to expose the service to the outside world. Kubernetes Ingress is a separate Pod where we can control this exposure via routing, security and rate limiting. In this post we…

cloudvisual 319542 unsplash - RXJS COMBINING
Reactive

RXJS COMBINING 

In this post we show some ways to combine observables. I made a stackblitz example project to give you a working example. The RxJS part of the project will be discussed in this post on RxJS combining. Disabled while loading We start out with 2…

andy hall 492246 unsplash - RXJS MULTICASTING
Reactive

RXJS MULTICASTING 

Most of the time you want to do multiple things with data you have. This post is on how to share this data in multiple observables: RxJS multicasting. For more examples on RxJS multicasting got to this learn-rxjs site. Say we have an api call…

jamie street 368704 unsplash - RXJS ERROR HANDLING
Reactive

RXJS ERROR HANDLING 

Errors are first class citizens in reactive programming. The error flow is adopted as a valid case of all observables. This is an essential and great feature but also one of the less understood parts. In this post we explore some of the most common…

claudia ramirez 1134444 unsplash - MULTIPLE GIT USERS
Freelance, Git

MULTIPLE GIT USERS 

Ever wanted to commit something with a different git user? Maybe your employer provided a user for you? Here are some strategies. For more detailed information of the commands in this post please visit the git config documentation. Switch git user for one repository Suppose…

chase clark 509092 unsplash - MOVE A GIT REPOSITORY
Git

MOVE A GIT REPOSITORY 

This week we moved our git repositories to a new platform used in the company. This operation is simpler than a move from say SVN to git. Still here are some points not to overlook. It is always a good idea to take a closer…

elevate 755033 unsplash - VAT DECLARATION
Freelance

VAT DECLARATION 

As a freelancer you are responsible for your own taxes. Some get an accountant to this but there is not much to it if you break it down. Here we discuss the VAT declaration, BTW in dutch. VAT are the taxes you charge on the…

daiga ellaby 154936 unsplash - ANGULAR VIEWCHILD
Angular

ANGULAR VIEWCHILD 

When you want to control a child component, directive or DOM element from its parent component, you can use the Viewchild decorator in Angular. Viewchild returns the first element that matches a give child component, directive or DOM element and updates it if the reference…

freestocks org 728031 unsplash - GIT CHERRY-PICK
Git

GIT CHERRY-PICK 

Ever been in the situation where you want a change from another branch but not all? I did… and ended up merging everything and reverting all the things I didn’t need. Turns out git has a command for this! Git cherry-pick. The official documentation can…

jordan harrison 1208586 unsplash - RXJS FLATTENING
Reactive

RXJS FLATTENING 

From functional programming we all know map and flatMap. With reactive programming just flattening is not enough information. We have to make a decision about what to do when either the observables emit the next element or complete. We have the following choices: mergeMap — deciding not…

erico marcelino 235177 unsplash - ANGULAR 6 TREE SHAKING
Angular

ANGULAR 6 TREE SHAKING 

Working in reasonably big companies for the last years I’ve come across big Angular projects. As you would expect these projects were modular projects consisting of a bunch of modules. One of the things I never took in consideration was ‘tree shaking’. You can read…

markus spiske 771011 unsplash - NPM PEER DEPENDENCIES
Angular

NPM PEER DEPENDENCIES 

Comming from the java world I realised npm resolves dependencies differently than for example maven. Maven demands one unique version of a dependency amongst who depend on it. This sometimes results in a so called ‘dependency hell’. Here we talk about peer dependencies that come…