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. Skipping the first line

    Today I learned how to skip the first line in a shell output using tail. It’s as simple as tail -n '+<line to start>'. For example tail -n '+2' for skipping the first line. …


  2. Ranking your container registries

    Today I learned how to rank container registries used in a Kubernetes cluster using Prometheus. Using the query below, Prometheus can provide you with a list of all container registries your Kubernetes cluster currently depends on, based on all existing containers running on your cluster. This can help to assess how reliant your cluster is on third-parties and which third-parties these are. By extending the by-clause to by (image, namespace), you can even check which namespaces depend on what external registries. …


  3. A first impression on Endless OS

    Today I learned about the defaults in Endless OS. The Endless Foundation, the organisation behind Endless OS, states that their mission is to “help all people and communities connect with technology” and their OS is targeted at schools and children. When starting the OS, Endless OS provides children with Facebook, WhatsApp, YouTube and Google Search by default, as some of the few pre-installed “applications”. And not just “having them installed”, but have them sitting in the center of the app grid that shows up. Further it runs Chromium as default browser (this is where Google Search in the app-grid comes from), with AdBlockPlus installed. Additionally there is a “folder” called “Social” in the app-grid further listing “Twitter” and “Gmail” as applications. There are further applications installed like Evolution, an email client, hack, a software for students to learn programming, a parental control application, and, of course, the LibreOffice suite. …


  4. Hetzner Fedora Cloud image with bad SELinux defaults

    Today I learned that Hetzner’s Fedora cloud image, which allows to deploy a machine with Fedora on Hetzner cloud out of the box, is starting with SELinux in permissive mode, instead of enforcing. As a result SELinux doesn’t protect the system, just writes logs about this. From a provider perspective it might makes sense to disable SELinux so your own tooling to e.g. reset passwords or alike doesn’t break a user’s machine, but it defeats the purpose of SELinux. The good news is, it’s at least running in permissive mode, which means the system will be at least labelled correctly. …


  5. Firefox WebRTC pop-up

    Today I learned that one can disable the rather annoying WebRTC pop-up. In Firefox in about:config using the privacy.webrtc.legacyGlobalIndicator and setting it to false. …


  6. openshift-installer is not openshift-installer

    Today I learned that there is a significant difference between the openshift-installer binary that is provided by Red Hat for their OCP version of OpenShift and the openshift-installer from OKD, that provides the free software version of OpenShift. The most noticeable difference is, that the OCP version of openshift-installer is not functional with Fedora CoreOS and will fail to bootstrap the cluster with wonderful error messages like kubelet.service: Failed to locate executable /usr/bin/hyperkube: No such file or directory and sed: can't read /etc/crio/crio.conf: No such file or directory. While there exist various issues to these topics on GitHub, no one bothered to point out, that the origin of this issue could be that one uses the wrong version of openshift-installer. …


  7. Installing system f-droid manually

    Today I learned how to how get the f-droid privileged extension working on my LineageOS 17.1. The steps are quite simple and I will shamelessly copy them from the upstream article to preserve them outside of the forum: …


  8. Self-documenting Makefiles

    Today I learned how to write self-documenting Makefiles which allow to write an own CLI tool using make as part of a repository. This is done, by keeping a small selection of make targets around, which get a special annotation that describes the targets purpose and will be exported as “target description” when calling a special help target that filters for this annotation. …


  9. Autostash

    Today I learned that I can permanently enable the autostash feature in git. Autostash a parameter for git rebase, git merge or git pull, where git will automatically stash your local changes und unstash them after it finished the action. Usually you would use an option like git pull --autostash to instruct git to do this, however when using git config --global rebase.autostash true, git will be setup to simply automatically assume --autostash for all rebase actions without requiring any further specification. Same works for merges by specifying git config --global merge.autostash true. …


  10. Completeness, Consistency, Decidability

    Today I learned quite a lot about the people who invented and broke our, these days, commonly used mathematical system. From Hilbert and Conway, Turning and Gödel, and many more. The basic idea behind today’s mathematical system was that based on the right set of axioms, one could proof every mathematical equation and that this way, the system itself would be complete, consistent and decidable. Means it contains all possible true statements (completeness), it is free of contradiction (consistent) and that it’s all deterministic, means there is a way to fully calculate an equation (decidable). Turns out, that within a few years, mathematicians have ripped that idea apart and have proven that our mathematical system is neither complete nor decidable, and just maybe consistent. …