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.
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.
Posted on Saturday, June the 18, 2022
7 min read
Article
[dev.to] GitLab CI/CD Runner Clean-up with Pre-build Scripts
gitlab-ci-cd runner clean-up pre-build-script
GitLab CI/CD has a powerful but somewhat under-documented pre-build script feature that allows us to execute custom logic before builds are run on a GitLab runner. This post explores how to utilize the pre-build script to automate Docker system clean-up on GitLab runners.
Posted on Monday, May the 23rd, 2022
0 min read
Article
[Weeklyjs.io] Writing CLI tools with TypeScript
typescript cli
TypeScript is a good choice for writing CLI tools for a couple of reasons including developer-friendliness, static checks, as well as the broad choice of tooling options. As with every TypeScript project, there is, however, an initial setup hurdle. This post shows how to set up a TypeScript CLI project with linting, formatting, testing, and packaging to a standalone binary.
Posted on Friday, May the 06, 2022
0 min read
Article
Using Pandoc as Markdown rendering engine in Jekyll
jekyll pandoc markdown-rendering
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.
Posted on Sunday, January the 16, 2022
5 min read
Article
Remote pair programming with mob.sh
pair-programming 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.
Posted on Saturday, January the 15, 2022
13 min read
Article
Lightboxes in Jekyll Posts
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.
Posted on Friday, December the 31st, 2021
6 min read
Article
Custom Starship.rs Prompt Components
shell-prompt starship-rs custom-component
Starship.rs is a nice framework for configuring shell prompts. This post shows how to define custom prompt components with Starship.rs and provides an example terminal prompt configuration using a custom prompt component.
Posted on Saturday, November the 06, 2021
2 min read
Article
A Clean, fast, and Interactive Terminal Experience with ZSH, Oh My ZSH, and Starship.rs
shell zsh oh-my-zsh starship-rs
As programmers we typically spend a lot of time interacting with some kind of shell through a terminal (emulator) application. For obvious reasons a good terminal setup improves productivity and reduces stress. Typically, installing and configuring terminal and shell is one of the first things I do when setting up a new computer. Here is how to create a terminal experience that is clean, fast, and interactive with ZSH, Oh My ZSH, and Starship.rs.
Posted on Saturday, August the 28, 2021
7 min read
Article
A Couple of Notes on Telepresence
telepresence kubernetes hybrid-development
Telepresence is a pretty clever tool for local development on a remote Kubernetes or OpenShift cluster. Here are some notes from a recent evaluation.