Archive: #scripting

2025-11-05

▩︎ Ping me: using ntfy to stay updated

I'm often finding myself being afk for a few minutes, while some process is running. Got to stretch those legs, you know?

I've started using nfty to send me a notification on my phone as soon as a process has completed, so I can actually go ahead and step away without having to check in. And it really couldn't be easier.

First: set up your ntfy account and a topic.

Second: add something like the function below to your .{bash,zsh}rc. Or turn it into a script.

function ping_me () {
    local default="FYI: that thing you triggered just stopped."
    local message="${1:-$default}"
    # $ntfy_topic_url is something like 
    # https://ntfy.sh/yoursecretishtopicname
    curl -sf \
        -H "Title: laptop" \
        -d "${message}" \
        ${ntfy_topic_url} \
        > /dev/null || echo "Ping failed"
}

Third: use it!

Now running just docker-build docker-push && ping_me means Docker can have some fun while I go grab a coffee, check on the laundry, or walk around aimlessly trying to figure out what I was planning on doing.

2025-11-03

💡︎ Streaming radio

One of the extremely useful snippets I discovered in Evan Hahn's Scripts I wrote that I use all the time is radio.

I cannot work in silence. I need to have something going in the background, preferably classics and not encumbered with too much chit-chat.

Instead of having a browser tab or app sitting there in the background, I adapted Evan's script. It uses mpv, so now I've got a Ghostty tab running in the background instead.

#!/usr/bin/env bash
# Check https://mytuner-radio.com/nl/radio/vrt-radio-2-limburg-402485/
set -e
set -u
set -o pipefail

if [ "$1" == joeeasy ]; then
  url='https://icecast-qmusicbe-cdp.triple-it.nl/joe_easy.aac'
elif [ "$1" == radio2 ]; then
  url='http://vrt.streamabc.net/vrt-radio2limburg-mp3-128-2845863?sABC=68s94r20#0#r7p08610r6n19o27sn00016q8n8877qs#&aw_0_1st.playerid=&amsparams=playerid:;skey:1761168928'
else
  echo "don't know $1" 1>&2
  exit 1
fi

exec mpv --really-quiet "$url"