Posts

Automatic deployment updates with Flux

11 minute read Published:

Learn how to install Flux, deploy an application with it, and configure automatic updates whenever a new version is published.
Flux, from installation to automatically updating deployment in 30 minutes What are we doing? In this article, we set up Flux on a Kubernetes cluster, deploy an application via Flux, and then configure it to automatically update the used container image whenever there is a new version available. We deploy this sample hello world website: https://github.com/mstruebing/static-sample which is set up to automatically build and push a new docker image tagged as the current timestamp to DockerHub whenever there is a new commit.

The Underestimated Value of Open-Source

5 minute read Published:

Open-source software is everywhere and it's hard to imagine a world completely without. In this article, I will describe what Open Source is, why we should use it and how it can help us to be better engineers.
What is open source Open-source software means that the source code of a software is publicly available. Everyone can read, copy or change the source code which makes the software more trustworthy and long-living than closed source software. Famous and big examples of open-source software projects are the Linux kernel, Firefox, LibreOffice or Android but there are also many many small open-source software projects out there. Benefits If you can read code, you are actually able to understand and evaluate what is happening when you execute that software.

The Power of the XDG Base Directory Specification

3 minute read Modified:

This article is about the XDG Base Directory Specification and why it is useful
XDG Base Directory Specification I’m writing this article because I have the feeling that not many people knows about this convention even if it exists for years and can lead to a very clear directory structure and file paths instead of a cluttered home directory with thousands of files. The issue? Everyone knows that feeling, you type an ls -la in your home directory, or something similar which lists also hidden files and you get back a huge list of files where you have no idea what it is, where it came from and what it does.

Using Elm inside create-react-app or: How to properly patch your `node_modules`

6 minute read Modified:

This article describes how you could use Elm inside a create-react-app and how you could patch your `node_modules` in a proper, reusable way.
Introduction In this Blog-post we will use create-react-app to demonstrate how you could use Elm inside and while doing that how to patch your node_modules in a reusable way by using patch-package. Create Application We will create a react-app with npx create-react-app elm-react-app This gives us a basic react-app with everything out of the box. Note that we are using react-scripts at version 3.1.1 here, future versions might have different line numbers we are using later on.

Rewriting functions with fold and reduce

11 minute read Published:

How to use fold and reduce to rewrite any function that operates on lists
Introduction In this post, I will explain how it is possible to use fold(in Haskell) or reduce(in JavaScript) to rewrite some common array functions to get a basic understanding of how they work and how much you can do with it. So, if you want to learn how fold/reduce work and what a powerful function it is, this post is for you. How does fold/reduce work? fold/reduce iterates over a list and operates on the current element and the already processed ones.

Go: A Comprehensive Introduction

28 minute read Published:

A comprehensive introduction to the go programming language
Introduction At first: Go is a fascinating language. The language addresses many issues other languages are having and as you may have noticed there got a bunch of new programming languages released in the last years like Rust(2010), Elm(2012) or Crystal(2014) for example, which all try to do something better than the ancient ones. So it’s important to keep track of actual language benefits to pick the right tool for the job.

Dont Fear the Makefile

7 minute read Published:

A simple Makefile tutorial describing the basics and todays possible usage
Introduction I’m writing this because I have the feeling that many developers underestimate the power of Makefiles and they are simply not aware of this nice and handy tool which is installed on nearly every Unix-like machine. To be honest, who have never executed a make install or something similar? Most tutorials I’ve found out there are bloated with stuff, more complex than they would have to and you have to read pages after pages to get the basics.

Raspberry Pi as a Music Server

8 minute read Published:

How I set up my Raspberry Pi as a simple music server
Introduction I’ve finally managed to get a Raspberry Pi. I’ve already thought a long time of buying one, but because of missing ideas what to do with it I didn’t buy one. A school project came by which served the perfect reason to finally buy one (hint: self made monitoring camera) and now I’m lucky to have one. Mopidy and stuff So what is running on my RPI now?

Why I like wc

3 minute read Published:

Wc is a small handy tool which I use often. I’m calling it word-count in my head.(Today I learned by looking wc up on Wikipedia: it is actually called word count) It is part of the GNU coreutils it should be on nearly any system. What can you do with wc? With wc you can simply count lines, words or characters of a file or string, and thats it. Nothing more or less.

You might not need scripty

2 minute read Published:

Because no one should be shell-scripting inside a JSON file. That’s cool, but why should I use scripty? I could do this well without. What is the advantage of another dependency in my project? Recently I had to work on a project and the build were broken because of an update of scripty. That wouldn’t be a problem if our version constraints were more strict or we would had a shrinkwrap.