Blog

Alacritty — a fast, minimal, and portable terminal emulator

  • 14 min read

In my neverending quest for the perfect development set-up, I’ve recently tried a couple of improvements for my hitherto standard command line tooling (ZSH + iTerm2) over the holidays. While ZSH has—for me—stood the test of time (and I don’t feel the need to try out another shell yet), there is, in my opinion, always room for improvement on the terminal emulator side. So, here’s a quick guide on how to use my new weapon of choice, Alacritty.

Read More

Progressive web application installation with Brave

  • 8 min read

Brave is a free, open-source, Chromium-based web browser that has a strong focus on privacy. Brave also has the option to run progressive web apps (PWA) as standalone applications. This may be useful if you prefer to run some apps in the browser, but still want to have the benefit of launching and switching to the app like a fully native app. Some websites unfortunately don’t declare themselves properly as progressive web applications or simply are not PWA-enabled yet. Brave has the nice feature that in spite of this, you can install websites like these as a PWA. The workflow to do this is a bit hidden in plain sight, however, so here’s a quick tutorial on how to do it.

Read More

Getting temporary admin rights from the command line with SAP Privileges

  • 4 min read

If you work in a corporate environment and have a Mac as your work machine, chances are that your IT department installed SAP’s clever Privileges app to limit the use of admin rights. Privileges essentially adds your current user to the admin group for a limited amount of time so that you can obtain elevated privileges whenever needed but do not overuse them. Convenient as Privileges may be, however, I sometimes get annoyed by having to use the GUI over and over to get admin privileges multiple times a day. Thankfully, the installation of the GUI app also comes with the PrivilegesCLI command line application.

Read More

Excluding false positives with Prowler

  • 11 min read

Prowler is a security auditing tool for AWS that helps us catch security defects such as credentials stored in plain text or S3 buckets that are publically accessible by accident. While Prowler is generally a very useful technology it sometimes also reports false positives. Thankfully, Prowler also comes with a whitelisting functionality that allows us to ignore certain resources.

Read More

Keeping environment-specific Helm configuration DRY

  • 14 min read

Helm is a great tool for defining and deploying Kubernetes-native application packages. If we deploy to multiple environments, we typically have to write multiple values.yaml files containing duplicate values. Keeping our values files DRY is possible, however, either natively via multiple value files options or, using YQ.

Read More

GitLab CI/CD runner clean-up with pre-build scripts

  • 23 min read

GitLab CI/CD has a powerful but somewhat underdocumented pre-build script feature that allows us to execute custom logic before builds are run on a GitLab runner. We’ll have a look at how to utilize the pre-build script to automate Docker system clean-up on GitLab runners in this one

Read More

Using Pandoc as Markdown rendering engine in Jekyll

  • 8 min read

Jekyll’s out-of-the-box support for custom Markdown engines allows us to use Pandoc and it’s ecosystem of filters to include extensions like diagrams or mathematics. In this post, we write a minimal Jekyll based blog with support for Mermaid diagrams and Mathjax via Pandoc filters.

Read More

Remote pair programming with mob.sh

  • 24 min read

Pair and group programming already has a lot of potential benefits. One way to improve it further is by automating hand-over workflows. Mob.sh is a great command line tool which streamlines this process.

Read More

Jekyll Lightbox

  • 10 min read

Integrating pictures into Jekyll blog posts is simple and easy but what if we want to highlight a single image or a gallery in a modal? The Lightbox2 JavaScript library can help. Here’s how to use it in Jekyll.

Read More

Website Update

  • 5 min read

The holidays gave me some time to update my website to a new Jekyll theme and make a few changes here and there. Find out what changed here.

Read More

Some Quick Notes On Telepresence

  • 5 min read

Telepresence is a clever tool for local development on a remote cluster. Here are my notes from having installed and worked with Telepresence on my current work project.

Read More

Tfsec Ignore Multiple Errors

  • 7 min read

TFsec may be configured to ignore multiple error codes using the -e flag. Documentation is a bit silent on this topic, but here’s how to do it.

Read More

Haskell Shell

  • 5 min read

Haskell and GHCi can be used as a quasi shell using the Turtle library. Obviously some of the features of a full-fledged shell such as auto-completion are missing in this set-up, but it’s still an interesting experiment particularly due to strict typing and portable semantics.

Read More

Mermaid Export

  • 1 min read

Exporting Mermaid diagrams directly to image files such as PNG is possible using the CLI.

Read More

Zsh Compaudit

  • 1 min read

There is an annoying interaction between Brew and ZSH which results in compinit warnings about insecure directories. Here’s one way to fix this problem.

Read More

Brew Multiuser

  • 1 min read

Running one Brew installation with multiple users can be tricky. A dedicated Brew user group can help.

Read More

Manjaro Boot Drive Macos

  • 1 min read

Manjaro is a popular Arch Linux based distribution. If we want to test it out on a Mac, we can create a boot drive and run the OS directly from it.

Read More

Protobuf Python Imports

  • 3 min read

The Python Protobuf code generator doesn’t properly generate module import statements. Here’s how to fix it.

Read More