DevOps
I'm fascinated by the idea of infrastructure as code, of using declarative specifications for configuration, deployment and maintaining servers and applications. Ansible was my first encounter with this fascinating domain, followed by Kubernetes. Several articles explain the concepts and use of these Infrastructure-as-Code languages. In more recent articles, I covered different Kubernetes distributions, from IOT Edge Device to cloud only, and I covered the Terraform language as well.
In addition to the blog articles, following two GitHub repositories help to kickstart creating a Kubernetes cluster with cloud providers.
- kubernetes-kubeadm-terraform Creates a kubeadm cluster in the Hetzner cloud
- kubernetes-kops-terraform Simplify a Kubernetes Kops installation with Terraform on AWS
IOT & Infrastructure@Home
Closely connected to my interest in DevOps, I started to use the ubiquitous RaspberryPi single-board computer for deploying and hosting applications at home. My earliest interest was to get a complete environment for hosting container-based applications, based in Hashicorp Nomad and a Kubernetes Cluster with K3S.
Further exploring the potential of using a Raspberry Pi as a home server, I became fascinated with IOT Stack, a set of Docker containers that run on a Raspberry Pi and provide the IOT sensor management application ESP Home, the home automation system home assistant, and utilities like an MQTT server, InfluxDB, and Grafana. Their setup, configuration and utilization is an ongoing interest. Based on this stack, I also added various IOT sensors to my home.
Microcontroller
The basic for IOT sensors are Microcontroller, and the Arduino family is the most prominent one. I have been using these microcontrollers with custom C programs as well as integrated them into my IOT system. My blog posts explore different Arduino boards and single board computers, the boards chipset, pin configurations, communication protocols, and explain how to program them with C or Micro Python. I also explore sensors such as the DHT11 temperature sensor or PIR motion sensors
Particularly interesting was using the Raspberry Pico and its unique Pio state machine language. Two public GitHub repositories help with debugging and show a C-based library.
- pico-project-bootstrap Kickstart your RP2040 Pico Projects with VS Code integrated one-click compile/upload, one-click debugging
- rp2040-pico-shift-register-74HC595 C Library for working with the 74HC595 shift register
Robotics
The creation of an autonomously driving robot was the goal of 2021. Approaching it from two directions, I first started to use an Arduino Kit and build a remote controllable robot from scratch, then continued to add a Raspberry Pi for more processing power and a camera. The other direction was to use the Robotic Operating System ROS. Here, I succeed with building a robot model for simulation, and installed ROS to capture images and build a representation of the surroundings. However, I could not make the robot drive autonomously.
Programming & Applications
Exploring other technologies and programming languages is covered in my tech series. Most of my projects are done with Python, YAML, and HTML with JavaScript. For some specific areas, like robotics and web programming, I created specific GitHub repositories to practice using these languages.
I also create a JavaScript based dialog system and published it on GitHub.
- Coline dialog system Provides a slim and reusable framework to define command line applications with a top-level interface and several question-answer dialogs.
Discontinued Projects
Board games are a fast-evolving hobby: In 2019, about 5000 new games were published! And since then, this number only increases. My goal was to create an app that allows to create a personal collection of board games and find users with similar interests. The application's development stopped after an early prototype.
Another prototype-only application was ApiBlaze, a HTML with JavaScript application for quickly searching through Open-API documentations. I learned a lot and even created a small JavaScript framework for it but discontinued to host the application.
My Lighthouse website scanner service was a free-to-use application that enabled scanning any webpage and see how good it is in terms of performance, SEO and best practices. Its build with HTML and PlainJS, is separated into different microservices, and runs on Kubernetes. It was discontinued in May 2024.