The definitive guide

Run your legacy Windows apps in the cloud with Wine, Mono, and Docker

Image for post
Image for post
by Jens Meder on EyeEm

I have been struggling with this for quite some time. Days. Nights. Weekends. We have several Windows legacy applications that we need to run headless on our Kubernetes cluster — without access to the source code or the original developers.

To make things worse:

Initially, I thought I could reverse-engineer the applications and implement the functionality in Kotlin. I was able to extract the .NET …


A three-step process to code smell hell.

Image for post
Image for post

You are about to quit your job and want to leave a lasting impression? The following rules will demonstrate just how much you care about what you do (or did). It’s this subtle way of signing pieces of source code that keeps people talking about you.

Just have a look at this piece of code. It just screams, “refactor me”.

Rule #1: Delete All Secondary Constructors

Secondary constructors, or convenience constructors (as the Swift folks call them), provide alternative ways to obtain new objects. They provide default values for parameters that are not part of their parameter list when calling either:

Jens Meder

Head of Development @ Apoplex Medical Technologies | Certified Kubernetes Application Developer | Writer | Photographer | Chef

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