Back when I was in university, Android and iOS were still rather new platforms and everybody was excited about them. When there was some kind of coding workshop you almost certainly ended up building a small Android app. That is how I took my first steps in the Android ecosystem and probably also the reason why I became a Mobile Developer right after.

In this article, I want to share the frustrating experiences I’ve had with the Android SDK and Flutter. Some of the points that I address also apply to the iOS SDK. I stopped working as a Mobile…

Getting ready” by @johnyvino

If you are trying to install software, that relies on certain Windows C++ redistributable dependencies on your machine but only receive cryptic error messages, this guide is for you.

Generally, to troubleshoot these kind of issues, you are advised to uninstall every C++ runtime from your system, reboot, manually execute the Windows Updater and finally install the “Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019” package.

This is good advice, but while trying to install the “vc_redist.x64.exe” or “vc_redist.x86.exe” package I experienced error messages like the one below after a Windows update:

The feature you are trying…

Update (2021/01/21): The rumor mill strongly suggests that the next MacBook Pro generation will no longer have a Touch Bar 🎉

Photo by Aaron Yoo (Flickr)

I’ve used several MacBook Pros in the past years which all had one major flaw in common: the Touch Bar. Sure, the butterfly keyboard caused its fair share of frustration, but at least it got better over the years and a broken keyboard can be repaired. The issues of the Touch Bar, however, are more fundamental and can only be fixed by going back to proper keys.

Unintentional triggering

I bet it’s happened to all of us: one careless movement of…

Graal is currently on everyone’s lips and for good reason: as developers that deploy their software on top of the JVM, we are used to long startup times and high memory requirements. Graal’s native-image promises to solve both of these problems, enabling a new and exciting use case: real time serverless instances on platforms such as “Google Cloud Run”.


In this tutorial we will take a simple http4s server application and walk through the Graal native-image configuration and build process. Start by checking out the sample code from the GitHub project taig/scala-graal.

Building the Scala app

At first we have to generate a far…

Als ich noch studierte, waren Android und iOS recht neue Plattformen, und die Begeisterung und Erwartungen waren groß. Wenn es in der Universität einen Programmier-Workshops gab, wurden fast immer kleine Android-Apps entwickelt. So habe ich meine ersten Schritte im Android-Ökosystem gemacht und das war wahrscheinlich auch der Grund, warum ich direkt nach dem Studium als Mobil Developer tätig wurde.

In diesem Artikel möchte ich über die frustrierenden Erfahrungen berichten, die ich mit dem Android SDK und Flutter gemacht habe. Einige der Punkte, die ich anspreche, gelten jedoch auch für das iOS SDK. Ich habe vor einigen Jahren aufgehört, als Mobile…

For a side project of mine, I initially leveraged headless Chrome to take care of rendering huge images as print templates. My application generated an HTML file with included stylesheets and passed it on to Chrome to take care of the rest. This was a great workflow in the beginning, but unfortunately became more and more of a burden as the project progressed.

In this article I will share my experiences working with headless Chrome and why I ultimately had to ditch it in favor of a more involved canvas drawing solution (java.awt.* in my case).


  • Easy to set up

In this article we are taking a look at the release behavior of open source projects. The underlying data is coming from the 1000 most popular GitHub projects (by stars). Only projects which are using the GitHub release feature are considered, because git tags do not necessarily indicate a release.

Furthermore, GitHub releases are only considered when they were published before the 1st of January 2020 and the projects issued at least 5 releases before that time.

After applying these constraints, only 529 projects out of the 1000 most popular GitHub projects made it into the data sources for this…

Using your local development machine as GitLab CI runner instead of the shared runners provided on comes with some compelling advantages:

  • Own runners don’t count towards the usage quota
    GitLab has the generous offer of 2000 free CI minutes per month for every group (not project). However, this limit is reached quickly during active development. So instead of purchasing additional CI minutes you might as well execute the CI jobs yourself.
  • Shared runners have very limited resources
    In the past, shared runners had 4GB of memory available, nowadays they are unfortunately limited to only 2GB. …

Our goal is to provide a value from 0% to 100% and have the element perfectly positioned, e.g. sticking to the top for 0%, sticking to the bottom for 100%, or being perfectly centered for 50%. At first glance this might seem trivial: position: absolute & top: 50% and we’re good to go. However, that leaves us with a few problems:

  • top: 100% pushes the element completely out of the viewport
  • top: 50% does not perfectly center the element, it just aligns it to the center

Transform to the rescue

You might already know the CSS transform: translate trick to center arbitrary elements horizontally…

This tutorial explains how to create a bootable Windows USB in macOS without any additional tools. The instructions are absolutely foolproof, no terminal is required and the resulting USB drive can be used to install Windows on any machine and is not limited to “Boot Camp”.


You need a USB stick with a capacity of 8 GB or more. All the data on the USB drive will be lost in the process, so make sure to save the data elsewhere before you continue.

Download Windows 10

In this step you have to download a rather old version of Windows 10. If you want…

Niklas Klein


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store