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.


Find installation folder for bash scripts

This is the start of a series on some bash tricks and features that I’ve developed for the bashew bash scripting micro-framework.


Generate individual tag/category/author pages for your Jekyll website

I’ve been migrating more and more of my websites to Jekyll static sites, from WordPress. The advantages are clear:

  • version management with git suits me (it’s how I develop software).
  • deployment/hosting with GitHub Pages is very easy and can be automated
  • the security of having a static site (i.e. no visitor/hacker can change it) is a relief
  • sure, WordPress has plugins and comments, but that has become more of a burden than a feature for me.

Detecting excessive SSD wear on Apple Silicon M1 machines

Some more professional users of the new M1 Macbooks are experiencing extremely high drive writes over relatively short time. The most severe cases have “consumed” about 10-13% of the maximum warrantable TBW (Total Bytes Written) value of the SSDs (given their capacity & using values for equivalent market-available NVMe drives).

• Feb 17, 2021 linustechtips.com


Every country in the world in 1 (Unsplash) photo

I wanted to demonstrate the power of my splashmark image markup script and did the following experiment:


Creating image reveal videos with ffmpeg and primitive (bash)

One of the projects I started during the lockdown is @squaredforwork which is now named “Guess the movie?” . It is based on years of experimenting with image manipulation and information reduction. Basically: how much visual information do you need to recognise a (familiar) image? I mostly worked with movie posters, since those are often universally recognisable images. Some examples of earlier tests might give you an idea (working with large square pixels here: Pixel Movie Quiz):


Running a CPU benchmark on Apple Silicon M1 (bash)

When I started working with my Mac Mini M1, I felt it was faster, but I couldn’t really compare with a proper benchmark. I work a lot with video so I created an Apple (M1 and older) benchmark that is focused on CPU-heavy video programs: ffmpeg and primitive.