Benchmark: trimming whitespace in bash

Post #3 in this bash benchmark series, measuring the speed of common bash text manipulations.


Benchmark: lowercase conversion in bash

Post #2 in this bash benchmark series, measuring the speed of common bash text manipulations.


Benchmark: cut characters in bash

Post #1 in this bash benchmark series, measuring the speed of common bash text manipulations.


Bash benchmarks

When writing bash scripts, one needs to find ways to do things that aren’t built in to bash. String manipulation like lowercase conversion, parsing, removing whitespace… all use tools/binaries built-in to the OS, but not in the language itself. I’m talking about tools like cut, awk, tr, sed, sort, …


Fixing Jan-2022 Windows VPN problems

Chances are, if you are using a non-pure-Windows VPN on Windows, you’ve had an interesting few days. In our case, we’re using a Meraki VPN server with the standard Windows VPN client, and after the recent KB5009543 update (fixing the “Windows IKE Extension Denial of Service Vulnerability” ), any attempt to connect to our VPN was met with the following error: Cannot connect to [VPN name]. The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remote computer .


Advanced dotenv config files for bash scripts

A technique commonly used practice in (deployment of) software projects is to put your local configuration, environment variables and secrets in a .env file in the root of your project. This .env file is structured as a one-dimensional lookup table (a list of key=value lines), and saved only on that server, never checked in to the project code.