Image for post
Image for post
Cloud for reference. Source: https://unsplash.com/photos/MHNjEBeLTgw

At Datacake, we provide our customers with the option to white-label their IoT platform. To do this, they set their DNS to point to a Load Balancer on our Kubernetes cluster, which is running on Digital Ocean.

In an ideal world, all customers would use a CNAME on a subdomain or an ALIAS on a top-level domain. In the real world, not all domain providers support the introduced-in-2011 ALIAS record type, so most customers with a top-level domain resort to using a classic A-record.

Recently, we upgraded our Kubernetes to a new cluster (for various reasons we couldn’t use the old one anymore). Unfortunately, Load Balancers on Digital Ocean still don’t support floating IPs in 2021 and so we somehow had to move the existing Load Balancer to prevent our customers from having to update their DNS. Turns out, according to their support, there’s no way to do this.


Image for post
Image for post

Some time ago, I fell in love with GraphQL because it makes the interface between the front-end and back-end so much easier. You don’t have to spec out all API use-cases upfront anymore, which benefits especially a quick start of the project in general and the development of new features in particular.

For a recent project, one of the tasks was to implement PayPal Standard IPN payments. Since most of the back-end was implemented in Django, the way forward was to use django-paypal. …


Since I’m a big fan of home automation, the Loxone Miniserver is an essential part of my home. Last year, I installed some Ubiquiti Unifi Cameras in my home together with the Unifi NVR. This is a great system if you need cost-efficient video surveillance.

I use the Loxone Door Controller to control my Nuki smart lock already, and since the Loxone Door Controller supports IP cameras the next logical step was to somehow merge Loxone and Unifi Video together. Unfortunately, the Unifi system only supports RTSP streams out of the box while Loxone expects an MJPEG stream. …


Image for post
Image for post
Not the usual spam mail

There are times when you need a disposable email address (e.g. when signing up for a newsletter to get that discount code). Even though there are many existing services out there already, most of them are blacklisted on many websites. For this reason and since I like digging into new technology, I set out to build my own: Muellpost.de (“Müll” is German for trash).

The requirements were clear: I didn’t want to have to maintain a huge backend service that potentially breaks at some point and runs into scaling issues. Sounds like the perfect reason to give the revamped Firebase a try. I worked with Firebase in the past, back when it was just a realtime database and before they got acquired by Google. Since then, much has changed. They offer not only the realtime database anymore, but also many other services like a “real” datastore, Cloud Functions (everyone’s talking serverless nowadays, right?) …

About

Lukas Klein

All things IoT / Python / Django / React. Founder @datacake.

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