My Profile Photo

Sheogorath's Blog


Depending on the time of the day a friend, a colleague, a wise guy. The beauty of the world is its sense of humor to show humans their way by letting them search their own.


  1. GitLab initial default branch

    Today I learned how to adjust the initial default branch in GitLab. It requires version 13.2.0 or higher to have this feature available and it’s available in the Admin section under Settings > Repository > Default initial branch name. There you can rename your branch from master to hans-günther or whatever you prefer your first default branch should be called if it’s created by GitLab. …


  2. Spider milk

    Today I learned that there are spiders that produce “milk”. While “milking spiders” is usually talking about collecting poison to create anti-dotes, this milk from spiders is used to raise their children, “spiderlings”, from offspring to a “mature” age. The little spiders lap up those little “milk” droplets from the underside of the spider mother. There is the theory those milk droplets may have evolved from “unfertilised eggs”. …


  3. Lichen

    Today I learned that the little crusty elements that you can see on trees and stones, aren’t a form of mosses or fungi as I thought, but lichen. Lichen are a symbiotic life form of algae and fungi. The algae takes care of producing carbohydrates using photosynthesis, while the fungi takes care of protecting the algae from drying and stores water. Lichen can grow almost everywhere given that the air quality is good and they can basically live forever. In Antarctica there was a living one found at the age of roughly 8600 years and, according to Wikipedia might be the oldest, still living being on the planet. …


  4. Linux memory management

    Today I learned that memory overcommitment in Linux is a rather complicated topic. The first thing is that there are 3 modes for memory overcommitment (/proc/sys/vm/overcommit_memory) in the kernel which range from 0 which tries to determine how much of the allocated memory an application actually uses and allow overcommitment to 2 which requires the kernel to have enough free memory for each memory allocation that is happening in the system. Important to know is, that while the former option ignores the overcommit ration (/proc/sys/vm/overcommit_ratio), the latter takes it very seriously and use Swap + RAM * (overcommit_memory / 100) as total memory limit. Which means while overcommit_memory mode 0 provides more memory than your system has to offer, mode 2 might leaves multiple gigabyte of memory unused if not adjusted to your needs. …


  5. Dyke building

    Today I learned that a dyke requires a gravel or sand layer on the land side of the dyke to prevent it from breaking due to water that gets through underneath. According to the explanation by the “Sendung mit der Maus” during a flood the water pressure on a dyke is so high that water flows underneath it. In order to prevent this water from taking parts of the dyke with it, a ditch on the land side filled with gravel and sand is in place to make it easy for this water to pass through and being collected for transportation to a pumping station. This way the dyke is much more sustainable than one that is just a massive wall. …


  6. Automated GitLab releases

    Today I learned how to automate GitLab releases properly. To create GitLab releases automatically, GitLab provides a CLI, the releases-cli, which can be used to automate releases with just a few parameters using the .gitlab-ci.yml of your project. With some good rules you can make sure that your releases are either only triggered by schedules or only run after manual interaction. The former is useful when you want to provide own version numbers and use SemVer properly, the latter is useful if you want to make sure that the latest master is properly tagged but only released to production after manual inspection. …


  7. Second person perspective

    Today I learned that while while mainly talk about first-person and third-person, when it comes to camera angles in video games, there is actually something that could be described as “second person” perspective. The concept itself resides around the idea, that you are controlling another person than you are viewing from. …


  8. Firefox: Check alt-svc usage

    Today I learned how to verify if Firefox, or in my case the Tor Browser, is using an advised alt-svc properly. The alt-svc-HTTP-header is used to provide an “alternative service”-address and to transparently upgrade connections to use those. In order to do that you open the about:networking#logging1 page in Firefox and click on “Start logging” before you open the page for the first time. Then search for AltSvcTransaction2 in order to see if Firefox detected the alt-svc-Header properly and for ROUTE-via entries where Firefox actually uses the “alternative service” to connect your page. Additionally, if you are too late and already opened the page, you can still check for AltSvcCache entries, which should provide you with insight about whether or not an alt-svc connection already exists and is used. Note the #logging at the end, if you open about:networking without it, switch to the logging tab. ↩ You can also check for AltSvcMapping which should provide you with the same information ↩ …


  9. Hetzner and Cloudflare

    Today I learned that Hetzner relies on Cloudflare to work. The Hetzner API suddenly stops responding and sends you an HTTP 503, all three of their nameserver 213.133.99.99, 213.133.100.100 and 213.133.98.98, go down, because they are no proper recursive nameservers but just forwarder for Cloudflare’s 1.1.1.1 as it seems. And generally speaking things all over the place fall apart. The good news is, my servers continued running. Sadly my entire CI environment went down as both, Digital ocean and as it now turns out Hetzner heavily rely on the availability of Cloudflare to function. …


  10. Hive: An exhibition about scoring systems and surveillance

    Today I learned about a project called “Hive”. It’s an upcoming exhibition in various museums around Europe that talks about social scoring systems and their influence on democratic systems. It tries to provide a first hand experience what it means to be subject of surveillance in all areas of public life and being scored for each action. …