… in a nutshell
In 2019 I was working for tribe29 GmbH. The company develops a well-known IT monitoring tool called CheckMK. The software uses Python plugins called checks to implement monitoring functionality. I already knew about functional programming and it’s benefits of potentially improving performance and memory consumption significantly. However Python does not support the functional programming paradigm natively. Python focusses on supporting the imperative and object-oriented programming paradigm. Nevertheless I wanter to learn more about how one can apply functional programming concepts in Python and read the book Functional Python Programming by Steven F. Lott.
This book is a must read for every Pythonista! If I had to choose one single book to recommend for people dealing with Python I’d choose Python Tricks: The book — A Buffet of Awesome Python Features by Dan Bader. I highly recommend to read this book as early as possible. In 300 pages one learns about essential functionality in an higly interesting, pedagogically impeccably prepared easy to read book with a lot of real-life examples and easy to look up key takeaways.
I’ve met Dan Bader in person at the PyCon Munich 2016. He is a very smart and…
In 2019 I had to decide wether to choose TypeScript or JavaScript for the frontend development of a web interface for a MVP in the industrial domain. In the backend I was sure not to go with TypeScript nor with JavaScript. In the frontend I was not quite sure wether to go with TypeScript or with JavaScript. I already implemented some JavaScript in personal website projects but I wouldn’t have not called myself a professional frontend developer. I knew however that the lack of typing can become a problem. However as long as little, easy logic would have to be…
MQTT v5.0 introduces some new features and introduces foundational changes in comparison with MQTT v3.1.1.
In summary:
In 2017/2018 I worked for Roboception GmbH, a company providing 3D vision hardware and software solutions for the robotics domain.
I was heavily involved in DevOps, the improvement of the software architecture, the improvement of the software development process and test automation. Besides other tasks I had one task was to implemented an update mechanisms for an embedded single board computer running U-Boot and Ubuntu included in probably the world’s first 3D sensor for robotic applications, called rc_vizard.
According to the official website …
MQTT (Message Queuing Telemetry Transport) is an OASIS standard messaging protocol for the Internet of Things (IoT).
OASIS standard means, that the specification of the protocol has been created and is evolving involving individuals, organizations and governments in an open, non-prioritary manner.
MQTT is the de-facto standard for inter-device communication in a lot of domains like
In 2018/2019 I worked for the company creating a well known open source IT infrastructure monitoring software called CheckMK. The company Matthias Kettern GmbH was founded by Matthias Kettner and renamed into tribe29 during this time.
Most of my time I’ve spend maintaining network switch and server monitoring components, called checks. A check extends the systems core functionality with beeing able to monitor additional hardware and/or software. In case of a network switch this is e.g. a switch device and the associated firmware running on it. However I’ve written some software-only checks as well. Each check is a collection of…
In most StartUps I’ve worked so far there was need for ad-hoc, internal communication. Walking from one side of a building into another on was considered unnecessary overhead :) Communication included pper-to-peer text messages as well as voice calls. However in the (post) Covid-19 age video calls are getting more and more important as well.
In software development you’ll have to communicate sensitive data from time to time as well. But development is not the only domain affected. In management it might happen that some potentially sensitive contact data of business parterns land in the app. Beeing in fire-fighter mode…
The foundation of Kubernetes based cloud-native applications
Microservice architecture “arranges an application as a collection of loosely coupled services.” Microservice based applications can be run using lightweight container runtimes but usually they are cloud-native as well. Cloud-native means that the applications “(are scalable and run) in modern, dynamic environments such as public, private, and hybrid clouds.” The majority of cloud-native applications are developed to run on cloud provider infrastrcuture (e.g. compute resources) and using cloud provider specific technologies (e.g. blob storage, messaging brokers, etc.). The most common platforms are Amazon AWS, Google Cloud Platform (GCP) and Microsoft Azure.
Often service need to be run in different environments. The most obvious example w.r.t. the service development lifecycle which implies different environments development, testing and production. But in case services are deployed on-premise for different customers there is a need for individually configured services. This implies the need for environment specific configuration, e.g. secret keys, database credentials, etc. Having to change the service for every environment has a lot of disadvantages. How to enable a service to run in multiple environments without modification?
The Externalized configuration pattern solves the problem. “Externalize all application configuration including the database credentials and network…
Software Developer for rapid prototype or high quality software with interest in distributed systems and high performance on premise server applications.