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. Systemd and OOM

    Today I learned that Systemd will execute the equivalent of systemctl stop <service> when a process of your service runs OOM by default. This will mean that you might experience a downtime, when a OOM situation occurs even though your service might can handle it, when one of the processes is killed completely gracefully. You can adjust the behaviour by setting OOMPolicy in your service definition. …


  2. git blame ignore refs

    Today I learned that since git version 2.23 you can add a file to your repository to exclude large commits for e.g. format changes from your git blame. With the --ignore-rev as additional parameter, you can hide single commits for this specific blame call. More useful is the use of a --ignore-revs-file which can specify a file, that has a list of commits, similar to how .gitignore has a list a files to ignore. The standard name for this file appears to be .git-blame-ignore-revs. …


  3. Kubernetes default scheduler vs HPC

    Today I learned that the default Kubernetes scheduler is unsuitable for High-Performance-Computing (HPC) applications. HPC schedulers provide a variety of features, that easily become a rather complex constructs, including the ability to reclaim resources, reserve and backfill jobs, etc., compared to the simple scheduling algorithm that the Kubernetes scheduler provides. So given you want to deploy your HPC workload on Kubernetes it might be worth to look for a more advanced scheduler for your workload. …


  4. Mirroring to help license enforcement

    Today I learned that mirroring git repositories can help license enforcement. In legal cases a mirrored repository that the original authors have no access to, can help to proof that their git history is unchanged and can be used as evidence in the case, since the mirrored repository attests the authenticity of the original/upstream one. …


  5. Yarn and merge conflicts

    Today I learned that yarn can resolve merge-conflicts on its own. If your yarn.lock has a conflict during a local merge, just run yarn and the package manager will resolve the conflict in the lock-file for you. …


  6. Schroedinger's publish

    Today I learned that GitLab silently drops published NPM packages due to a wrong package prefix, while yarn publish thinks it successfully published a package to GitLab’s integrated NPM package repository. The key to solve it, is to prefix your package with the exact value of $CI_PROJECT_ROOT_NAMESPACE. For example, when your package is hosted under https://git.shivering-isles.com/sheogorath/node-markdown-spellcheck, your package has to use @sheogorath as package prefix, otherwise GitLab will silently drop it. …


  7. Nail violin

    Today I learned one can build a violin with nails instead of strings. The idea is as simple as genius. You take a block of wood, your violin bow, a few nails and a hammer. You take the nails and depending on how deep you drive it in, it’ll make a different sound, when you bow it. If you take a bunch of nails and a lot of time, you can make a well sounding violin which is fully playable. …


  8. Sudoku without numbers

    Today I learned that it’s possible to have a uniquely solvable Sudoku without numbers. Technically speaking one could argue whether it’s still a Sudoku or just a number puzzle, but the puzzle has the general form of a sudoku and just needs 3 additional rules to make it difficult but uniquely solvable. …


  9. Making oxygen with candles

    Today I learned, that one can burn candles to produce oxygen. Of course not your every day candles but so-called chlorate candles, which are made of sodium chlorate and iron powder. The iron powder is then enlightened to burn at around 600°C producing sodium chloride, iron oxide and oxygen. The key is, that the oxidization of the iron powder frees more oxygen from the sodium chlorate than it needs resulting in a positive oxygen output. …


  10. Squirrel buddies

    Today I learned that squirrels can have “friends” among each other that often stay together within a territory for an extended period of time. Squirrels are often territorial, but since those territories often overlap and provide enough food for more than one squirrel, it’s possible that some of their kind get along with each other and even become “friends” or look after each other. …