04/24/2020 | Reading time: 2 minutes

Terrasave

I just released a tiny tool function I’ve been using for some time called terrasave. It’s a Bash / Fish function that prevents you from running terraform without the -target option. Why does this exist? In terraform it is incredibly easy to destroy things with terraform apply. If you run apply terraform shows a huge output and sometimes you may overlook a thing being “replaced” instead of updated. Once upon a time I destroyed a MongoDB Atlas Cluster this way and lost all its data, because the “must be replaced” was hidden in a lot of terraform output and I simply didn’t see it.

View full post
04/18/2018 | Reading time: 2 minutes

TIL: Bash select

I was recently researching different bash prompts and stumbled upon an StackExchange answer which explains the different prompt types (PS1, PS2, PS3, and PS4). The answer explains how the PS3 prompt is used for commands like select. I did not know about select before, so that’s the real TIL here! […] PS3 is shown when the select command is waiting for input […] So the PS3 prompt is shown when a bash program is waiting for user input, and it turns out that the select bash command is used for creating a “choice” UI in bash.

View full post
01/17/2017 | Reading time: 8 minutes

Deploy a static site with git

If you follow my blog you might recall that I switched from Jekyll hosted on GitHub to Hugo hosted on Uberspace. Beside the fact I had to create a custom Hugo theme for myself and learn how to run a Hugo blog/website I also had to think about how I am going to deploy my website. Hugo is a static site generator and when executed ($ hugo) it compiles the site from Markdown and HTML templates into a public directory with lots of folders and HTML files.

View full post
01/12/2017 | Reading time: 3 minutes

Bash script: ws

For the past year or so I had a little function in my .bash_profile file which made my interaction with the terminal roughly 9001% better - yeah, over 9000! This little function is called ws and makes switching between projects inside my workspace a lot easier. Both my private and work projects are inside the ~/Development directory. If I want to get to a project I would normally navigate like cd ~/Development/private/github/kevingimbel/kevingimbel.

View full post