Software
Blog: Software & computing
Modern. Practical. With code.
A silent checksum that broke every S3-compatible upload
A silent checksum that broke every S3-compatible upload Problem We had a small Go service writing generated files to an S3-compatible object store backed by a self-hosted, Ceph-based gateway. It used …
Read moreMore posts
Replace content in files with ripgrep
Spoiler: ripgrep cannot do this standalone. But you can combine it with other tools to achieve this.
The problem I use Obsidian with frontmatter (YAML) to track …
Read more →
Connecting via RDP from Linux to Windows
The problem I have a Windows machine in my local network and I want to connect to it via RDP from my Linux machine. For this I use remmina which is a nice RDP …
Read more →
Running tclip on a Zimaboard
Why? Because private gists are fantastic and along with tailscale and Zimaboard it is easy to host.
How? I recently got my hands on a Zimaboard. It is powerful …
Read more →
Change your keyboard switches
Why? Just because you can. And because it is fun. And because you can learn something new. And because you can. Or you just bought another expensive board and …
Read more →
Welcome RedHat to the game of ... well, business going crazy
RedHat is forcing clones to rework their operational model (and maybe breaking their promise) .
The community is not liking the decision. Take this for example: …
Read more →
About fonts
About fonts I like having a good visuals on my screen. I like enough information (some would say too much) displayed at once. That means I like not too big of a …
Read more →
Software Engineering vs Software Development
Software development and software engineering are two related yet distinct fields within the realm of computer science. Software development refers to the …
Read more →
Getting the titan security key USB C to work on a Linux system
I got myself a titan security key from Google as a second key in case my main one gets broken. I do use Linux and Yubico’s 5 NFC series worked fine out of …
Read more →
A not so obvious reason for an auth error with SSH
Problem You try to stay to secure. Say what? Yes, too secure. If you work for different customers and you are like me you might not want to use the same key for …
Read more →
Contributing to Mattermost
What is Mattermost? From their site:
Mattermost is a flexible, open source messaging platform that enables secure team collaboration So think of Mattermost as …
Read more →
Running brave on Linux
Running the brave browser on Linux On some Linux systems the brave browser starts with an error stating Unsupported command-line flag: –no-sandbox. The browser …
Read more →
PyCharm an i3
i3 and PyCharm: the uglyness that is the splash screen I am running i3 on my machine. It makes me (maybe subjectively) more productive than something like KDE …
Read more →
Using dash as /usr/bin/sh? - think twice
You will find some advices to use another shell than bash as /usr/bin/sh (or /bin/sh). One of the major reasons why this is proposes is speed. While bash is a …
Read more →
Go modules - an introduction
Origin This was initially planned as content for a talk on the local Gophers meetup in Frankfurt. Unfortunately I had to cancel my attendance and Arne (another …
Read more →
User Stories
My take on explaining user stories … … shortly
A user story has the following structure:
As <role> I want to <do> because the benefit …
Read more →
Locking and unlocking your desktop with an USB device
Goal I recently ordered a Yubikey to secure some of my accounts. When it arrived and the key was linked to the desired accounts I started to look into using the …
Read more →
A docker firewalld with CoreDNS story
I started to use firewalld to secure my system. When I fired up a container and wanted to access the internet I got name resolution errors. You could go for …
Read more →
Open a port for an IP range
Using firewalld this is a so called rich rule. To open the ssh port for 192.168.1.0/24 you have to do like this:
firewall-cmd --permanent --zone=home …
Read more →
Install Go Versioned
This script extends the previous one by installing GO into a version directory and having the environment variables point to a current link
#! /usr/bin/env bash …
Read more →
Build Git Overhaul
I wrote a post about [building git]({{ ref “build-git.md” }}) a while back. Since then I have added some additional features such as installing …
Read more →
tmpfiles.d - or why are my temp files in /tmp gone?
In later Ubuntu versions tmpfile.d is used to keep /tmp clean. That is, after a reboot, your files you placed in there are vanished. Kind of a bummer when you …
Read more →
How to repair your multi file VMWare disk
Recently I deleted a snapshort from my virtual machine and I got a message that the virtual disk needs repair. The site Repairing a virtual disk in Workstation …
Read more →
How to change your SSH key password
From time to time you should change your password. Everyone knows. For your SSH key this is as simple as changing your Linux login password:
ssh-keygen -p -f …
Read more →
Arch Keyring
Problem When I wanted to upgrade my ArchLinux installation I got an error about a failed lookup for a key:
error: key "<KEY ID>" could not be …
Read more →
Install Personal Golang
Problem I wanted to set up a Golang environment on a Linux machine and do it repeatedly
Solution I created a bash script that downloads Golang and creates a …
Read more →
Compile Mutt
I am using mutt as my mail reader and I like to have a rather new version than the one included in LTS linux releases.
Therefore I am compiling my mutt version. …
Read more →
Hugo Page Bundles
… or updating from versions pre 0.32 With version 0.32 the page bundle feature was added to hugo. This feature makes page exchange/review cycles much …
Read more →
Arch Linux: zita-resampler 1.6.0-2 update
The problem On update pacman errors about existing file /usr/lib/libzita-resampler.so.1. ldconfig created a symlink that should have been installed with 1.6.0-1 …
Read more →
First class functions
What are first class functions? If you stumble upon first class functions what usually mean is, that functions are part of the type system of your language. So …
Read more →
Build Git
My problem I want to have an up to date git on my Linux system ( currently KDE neon )
My solution I wrote a little script installing the prerequisites, …
Read more →
Your friendly support technician
Preface Once in a while you might get a call from a support technician telling you’re at risk. Or at least your PC is. But fear not, he is there to help …
Read more →
Map of Computer Science
Really nice video on the field of computer science. A nice introduction.
Read more →
Installing elixir - a quickie
This is a short script to install elixir (done this on a Ubuntu 16.04 based distribution) with a fish shell:
wget …
Read more →
Virtualbox
I recently installed a new Linux machine for a colleague. He used Virtualbox and I wanted to install it for him on his new machine, too.
The obvious way would …
Read more →
No network time protocol
My problem My machine was off by two hours after a restart even though /etc/timezone pointed to the correct timezone.
A temporary solution was to execute the …
Read more →
Using nativefier to run web pages as app
What is nativefier? Nativefier is a small tool to wrap web pages into an Electron app to run locally.
How do I get it? Nativefier is a node.js application and …
Read more →
Contagion R.A.T.7 mouse on Linux
I like using the Contagion R.A.T.7 mouse and to use it with Linux you must configure the mouse correctly in terms of buttons.
Essentially there are buttons (the …
Read more →
chntpw to the rescue
My problem I got a Windows 8.1 PC and wanted to reset the password for local administrator account. A reset was not successful so I switched to using a Linux …
Read more →
gRPC message size
What is gRPC? A high performance, open-source universal RPC framework - https://grpc.io
RPC stands for Remote Procedure Call. gRPC is a framework that allows …
Read more →
Protocol buffer talk @Frankfurt Rhein-Main Gophers Meetup
A short overview of protocol buffers This post is a slightly modified version of slides for a gophers meetup in Frankfurt. They served primarily as a way to …
Read more →