Cloud Run Button: Deploy Docker Images from Public Repositories to Google Cloud Run with a Single Click

If you have a public repository with a Dockerfile you can have users automatically deploy the container to Google Cloud Run by adding a Cloud Run Button. It’s no more than an image that links to https://deploy.cloud.run, like so: [![Run on Google Cloud](https://deploy.cloud.run/button.svg)](https://deploy.cloud.run) Add that code to your README.md and when a visitor follows that […]

Fixing ab (ApacheBench) Error "apr_socket_connect(): Invalid argument (22)"

Note to self: when running ApacheBench it does not know how to resolve localhost. Instead you’ll have to use 127.0.0.1. I seem to forget this every single time I use it 🤦‍♂️ ~ Won’t work: localhost $ ab -n 5000 -c 50 http://localhost:8080/ This is ApacheBench, Version 2.3 <$Revision: 1843412 $> Copyright 1996 Adam Twiss, […]

Beware when base64-encoding on the CLI using echo

Recently I needed to base64-encode a string. To do this I turned to the CLI and piped the output of echo to base64. # Don’t use! Correct command further down this post. $ echo ‘test’ | base64 dGVzdAo= Although the output looks quite good, things didn’t quite work out when using the string: it failed […]

Google Cloud Build + Google Cloud Run: Fixing “ERROR: (gcloud.run.deploy) PERMISSION_DENIED: The caller does not have permission

Google Cloud Build is cool. Google Cloud Run is awesome. But when configuring Google Cloud Build to automatically deploy your built container to Google Cloud Run you might see this error: ERROR: (gcloud.run.deploy) PERMISSION_DENIED: The caller does not have permission If you’re seeing this error you forgot to set up the required IAM Permissions for […]

Test an IMAP connection with cURL

Today I needed to debug an IMAP problem. I got reports from a user (whose password I recently rotated) that Outlook wouldn’t connect, even though they had updated the password in Outlook’s settings. Checking things on the server I noticed that the connection to the server was made, but the login attempt always failed. As […]

Squash all Git commits with git squash-all

Freek just shared his workflow to squash all git commits into one single commit — Handy for when you’re pushing a first public release of a project. His process involves removing the .git folder and starting off fresh again with a git init. Wondering if there are handier/shorter ways to achieve this I set off […]

Smooth Scrolling Sticky ScrollSpy Navigation

Yesterday evening I was working on some documentation pages. The page layout is quite classic, as it consists of a content pane on the left and a sidebar navigation on the right. Looking for a way to make the page less dull I decided to add a few small things to it: Smooth Scrolling when […]

Chrome vs. WordPress: All Text Showing as Glyphs / Symbols 🤯

Ever since mid december I’ve had a few reports from people that they were seeing my blog – the thing you’re reading now – rendered in unreadable text. Instead of seeing a nice serif font, they got presented with some wingdings-like symbols for all the text when visiting through Chrome on macOS. Hmm, unreadable on […]