08/31/2020 | Reading time: 1 minute


passt is a CLI tool and library that can be used to generate random strings, e.g. for use as passwords. It is very “weak” in that it doesn’t use any “real” cryptography and should therefor not be used as an actual password generator. You can use passt to generate random test input when testing software tho. Up to date information can be found on GitHub https://github.com/kevingimbel/passt. Usage: CLI Install $ cargo install passt Arguments

View full post
08/6/2020 | Reading time: 5 minutes

Shipping Rust CLIs with Docker

I recently found a nice and clean way of building and distributing Rust CLI apps using docker. For my work I created a Rust app that wraps some AWS SDK functions to make my day-to-day work with AWS easier. This CLI is very focused on the way we work at Synoa and therefore unfortunately not open source. The tech does not matter much, as we can just create a tiny example “app” for this blog post.

View full post
05/29/2020 | Reading time: 2 minutes


license is a CLI tool for generation open source license files. It’s written in TypeScript and executed with Deno, a secure runtime for JavaScript. license is the successor of a Golang project of the same name I started years ago and contains more function that I never came around to implement. All features and command can be found on GitHub at kevingimbel/license-cli. Highlights Search for a license by keywords The example below shows all licenses matching the keyword “public-use”

View full post
04/24/2020 | Reading time: 2 minutes


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
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
01/9/2017 | Reading time: 4 minutes

Writing NodeJS cli tools

Over 2015 and 2016 I got more and more interested in automating my daily workflows with scripts. For this purpose I learned Bash Scripting (or Shell Scripting) and started writing my first scripts to automate repeating tasks, creating apache vhosts files for example. Recently I started exploring how to implement command line tools in NodeJS and this post should give an overview. Shebang If you already know what a Shebang is skip to the next section

View full post