calculator challenges

Series: blog

While I had my fair experience with IEEE754 floating point arithmetic, I lack experience with exact calculation (aside some bignum). In theory one can calculate symbolic, but this is often resource intensive and an overkill. I liked Chad Nauseams calculator app write-up about Hans-J. Boehms approach for a calculator which is (numerical) correct and provides feedback if there is an exact or approximate result, most of the time.

phishing and countermeasure

Series: blog

Watching the phishing and phishing panels talk of Karl Lovink shows a few interesting aspects: behaviour patterns are trained: If there is a process where a second verification is required (but will usually find nothing suspicious), then attention will suffer and “obvious” mistakes are passed on. Negotiating with Violent Criminal Groups (2021) provided me with a more holistic overview about the “why”. (For the “how” there is other literature.) Especial the different roles and how they interact with each other.
As a follow up to resources for learning git : I totally missed, that oh my git has its own second level domain and a talk at FosDem 2021. For the more seasoned user Oh Shit, Git!?! lists some quite common mishaps. A bit similar to this for GoLang.

on reliability of services

Series: blog

In order to be able to handle certain SLO, the architecture needs to support this. I quite liked Addy Osmanis short write up about the Service Reliability Mathematics. Also the obvious highlight: reliability engineering requires observability. Don’t forget to check out Nyquist–Shannon.
While a lot of internet infrastructure is build on HTTP, things change occasional even a 301 leads to an 404. If there is at least some DNS entry and a server answering. A few NXDOMAIN later this led me to the rabbit hole of systematic approaches about abandoned infrastructure. While domain sniping is so common there is even a Wikipedia entry and is (as far as I observed) often used to farm the traffic for advertisements.

connect remotely to a Linux machine

Series: blog

While connecting remotely to a Linux machine is not much of an issue in general, some notes from setups in the past: ssh obvious for CLI ✅ for X11 there is this nice stackexchange - but notice the dates! Also xpra for Wayland wprs via RDP (Remote Desktop Protocol) don’t forget to install xrdp on the machine you wish to login to (if X11) if you have an compatible network setup, you can use this even to access local VMs (👋 Hyper-V) (This post might be updated in the future.
I usually enjoy ArgoCD and deployments via Helm charts. Just sometimes an unexpected behaviour pops up. In my case the ingress deployed via a helm run by ArgoCD were stuck in status progressing. Meanwhile the ingress where there, from k8s perspective (kubectl get ing was all fine). Ingress in progressing causes the ArgoCD application to stay in status progressing. This tends to mask other errors. Let’s deep dive into the issue…

common mistakes in Go

Series: blog

Thanks to Julia Evans post about Go features you might or might not be aware of, I found 100 Go Mistakes and How to Avoid Them. I am far from having them internalized all - but now I have another reference to check if my mental model an the reality of Golang match.

minimal perfect hashing

Series: blog

As a follow up to probabilistic database lookup hashes: minimal perfect hashing from Vaibhav Sagar.

Kubernetes stalk

Series: [blog k8s]

Today I learned about stalk, a CLI tool to watch a set of Kubernetes resources. Was quite handy to figure out a race condition where two operators overwrote the same resource. (This should never have happened, but this is another story.) stalk GitHub link