Alacritty — a fast, minimal, and portable terminal emulator
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.
Progressive web application installation with Brave
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.
Getting temporary admin rights from the command line with SAP Privileges
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.
Excluding false positives with Prowler
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.
Keeping environment-specific Helm configuration DRY
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.
GitLab CI/CD runner clean-up with pre-build scripts
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
Using Pandoc as Markdown rendering engine in Jekyll
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.
Remote pair programming with mob.sh
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.
Jekyll Lightbox
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.
Website Update
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.
Starship Custom Prompt Components
We learn how to get custom components to work in Starship.rs and see an updated terminal prompt configuration using it.
A Clean Fast And Interactive Shell With Zsh Oh My Zsh And Starship
We’ll learn how to configure a clean, fast and interactive shell using ZSH, Oh My ZSH, and Starship.
Writing Cli Tools With Typescript
TypeScript is a popular language choice for backend and frontend projects but how good is it for writing CLI tools. We’ll find out in this post.
Some Quick Notes On Telepresence
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.
Tfsec Ignore Multiple Errors
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.
Haskell Shell
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.
Mermaid Export
Exporting Mermaid diagrams directly to image files such as PNG is possible using the CLI.
Zsh Compaudit
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.
Brew Multiuser
Running one Brew installation with multiple users can be tricky. A dedicated Brew user group can help.
Manjaro Boot Drive Macos
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.
Protobuf Python Imports
The Python Protobuf code generator doesn’t properly generate module import statements. Here’s how to fix it.
Promql Create Instant Vector With Arbitrary Labels
A relatively unknown feature of PromQL is that we can create arbitrary vector labels. This can be useful if we need to for example provide a default value for a time series with given labels.
Serializing protobuf objects using protoc
Protobuf is awesome but what if we need to quickly debug or test a client? In this post, we learn how to generate serialized data using the protoc CLI command.
Downgrade Brew Package
We explore how to downgrade a package using the Brew package manager.