The awesome stuff Thoughts, stories and ideas.

Custom Background In Microsoft Teams

Currently at work we use Microsoft Teams and in teams you can set some background. But wouldnt it be nice to use a custom background that you like.

If you have the latest version there should be an option to select a background image. This means custom images can be added.


Save your image in the Uploads folder below:


/users/<username>/Library/Application Support/Microsoft/Teams/Backgrounds/Uploads

Then, in teams while on a call; click the More Actions (Three Dots) at the bottom, select Show Background Effects
The pictures you added should show up on the right hand side of the screen with the default options from Microsoft.

Visualize markdown documents as mindmaps

I'm a big fan of markdown, as a developer it's quick and easy to write documentation. What I also like to do is create Mind Maps. They are very handy for quickly writing things down that are in your head or to give some guidance in topics.

Recently I found this nice tool markmap-libthat brings both worlds together :)

$ npm i markmap-lib -g

Now create a simple file and save it , like :

# FullStack developer

## Programming languages

- [Java](
- [NodeJS](

## Databases

### SQL

- Oracle
- PostgreSQL


### NoSQL

- MongoDB
- Redis

## Deployments

- Kubernetes
- OpenShift

One more thing left to do:

$ markmap

And it will result in to this awesome html page :) niice..

Getting back up to speed with NodeJS, Part1

Part 1: call, apply and bind

Lately I have been doing some more coding again with NodeJS or maybe better to say Javascript :)

I will be adding some short items about things so that I dont forget and maybe also can help others with explaining what specific functions do.

Today we start with call , apply and bind. To explain the differences I have created some small code which should explain it all in a simple way:

var obj = { num:2 };

var functionName = function(arg1, arg2, arg3){
    return obj.num + arg1 + arg2 + arg3;

// call a object with an outside function
console.log('call: ' ,, 1,2,3));

// call a object with an outside function, same but with an array as arguments
console.log('apply: ', functionName.apply(obj, [1,2,3]));

// call a new object with a merged function inside
var bound = functionName.bind(obj);
console.log('bound: ' , bound(1,2,3));

As you can see, call & apply are almost the same. bound clearly has a different use-case.

Terraform provider for SmartOS machines

A couple of weeks ago I see an email on the smartos emailing list mentioning that John had created a terraform smartos provider for terraform.
Installing the provider is pretty easy. I did the following steps in my smartos zone:
My current go version is: go version go1.10 solaris/amd64

Make sure you have setup go correctly:

# mkdir ~/gopath
# export GOPATH=~/gopath
# go get

Lets go to the download directory and compile the source code:

# cd gopath/src/
# make build
# ls gopath/bin/terraform-provider-smartos

Now you can use it as a terraform provider. I copied the binary file into the terraform plugin dir:

# cp ~/gopath/bin/terraform-provider-smartos ~/.terraform.d/plugins

You are now good to go to follow the example in the github repo.
Kudos go to John for creating this awesome plugin!

Building QMK firmware for my dz60rgb

Recently I have build my very first mechanical keyboard. One of my favorite parts is that it supports QMK firmware. Building the firmware is very easy.

Start with cloning the firmware code:

git clone

First install the default compilers:


This will install homebrew and the compilers.

Next steps is to create your own keyboard settings.
In the directory keyboards you can find your hardware and subdirectories for any variantions. For me it is keyboards/dztech/dz60rgb

Lets create your own setup:

mkdir keyboards/dztech/dz60rgb/keymaps/logic855
copy keyboards/dztech/dz60rgb/keymaps/ansi/* keyboards/dztech/dz60rgb/keymaps/logic855

You will have two files now in your personal directory:
config.h for the settings you want to overwrite, like disabling rgb.
keymap.c is for configuring all the keys and layers.

Compiling now is simple:

make dztech/dz60rgb:logic855

Flashing your keyboard works as follows:
For the dz60rgb you need to keep the esc key pressed while connecting the usb.
This will put the keyboard in flash mode, so keys wont work anymore, find a second keyboard or be smart with the timing when pressing enter, tip: do a make clean first, compiling takes time ;)

make dztech/dz60rgb:logic855:dfu-util

Bam, where done :)

Next post, write some things about the keymap.c :D

Newer Posts Older Posts