Markus Cisler

Markus

Hej! I'm Markus Cisler,
a systems engineer from Hamburg.

Follow me on Mastodon or Twitter and subscribe via RSS.

Just watch

There’s this strange kind of YouTube channel that I really dig. No talking involved, just people doing things.

The first channel I came across that belongs in this category is Primitive Technology. Guy from australia building things without using any modern tools, lighting fires using fire sticks or -stones and so on. And as I like it: no talking involved. It’s interesting to turn on closed captions though.

Another channel is my mechanics. Another guy restoring old and building new mechanical tools in his free time. Lukas has linked the channel earlier this month and I immediately subscribed. As always: no talking involved.

There’s a third channel kind of fitting this category. Its name is 李子柒 which translates to Plum. I am as confused as you are. Still: woman cooking and building stuff, (almost) no talking involved. The food looks amazing.

Switching from Dropbox to Resilio Sync

I’ve been using Dropbox since forever.

Really. I could not even find the date I registered in my mails. My account page on the website says that it must have been at least nine years. Back then I was still using Linux as my main operating system.

My first Dropbox device

Last week Dropbox notified me, that it will stop syncing my stuff on Windows if I don’t move my folder to a supported filesystem. With NTFS being the only supported filesystem I would either have to reformat my HDD or use something else to sync my files between machines.

I decided to look for an alternative, coming across Resilio Sync and Syncthing. The only reason I see to use Syncthing over Resilio is, that it’s open source and the protocol is documented. But Resilio Sync can do encrypted folders and has a mobile app for iOS. So in the end I decided for Resilio Sync.

Hosting it yourself

While Resilio Sync can run just fine with just your two or more devices connected to each other, I decided to run another client on one of my servers as well. That way I have an always online node in my network that can sync files to the devices that are not always connected, my gaming PC at home for example. Also I used an encypted key on my server, it syncs all files but never sees the contents of them.

Currently it is running in Docker which makes deployment super easy. An example docker-compose.yaml could look like this:

version: "3"
services:
  sync:
    container_name: sync
    restart: on-failure
    image: resilio/sync
    volumes:
      - ./sync:/mnt/sync
    ports:
      - "55555:55555"
      - "8888:8888"

To set everything up, open port 8888 on your host in a webbrowser and follow the instructions. That’s it.

If you actually want to run this, please think about securing your webinterface.

This has been happily syncing for more than a month now. I did not feel the need to use Dropbox again.

Take care of spot instances in your AWS ECS cluster

At mytaxi, we’re currently using Amazon ECS to run our production environment. To save money we decided to go all in on spot instances.

For those not familiar with how spot instances work: you tell Amazon what you are willing to pay for a certain instance type on AWS. The cost for that instance type depends on supply and demand and can, in theory, exceed the on-demand price. If the price you set is lower than the current price of the instance type your instance gets terminated.

Since this year you can subscribe to events on AWS telling you about spot instance terminations. You get a notification three minutes in advance. We’re using these to set cluster nodes to DRAINING state which tells them to reschedule their containers to different nodes. A graceful shutdown so to say.


This is implemented as a lambda function written in Python which is getting triggered by Cloudwatch events and can be deployed using Terraform. For more information and the source check out the Github repo at mytaxi/terminationspotter-lambda, for anything else feel free to say hi on Twitter.