some random code bits kept in: https://github.com/dayne/dazzler/tree/main

List of tools to help dazzle up the CLI experience:

Silly Thoughts

cowsay

watch -t -n 10 \
      'cowsay -f /usr/share/cowsay/cows/moose.cow `date`'

Use with a queue pulling from an MQTT server.

pingraf

The DIY pingraf tool wraps around ping + asciigraph:

ping -i.4 $SITE | grep -oP '(?<=time=).*(?=ms)' --line-buffered | asciigraph -r -h 30 -w 120 -c "$SITE ping in ms"

bpytop

Like HTOP on steroids

flabert

Runs a series of commands with optional timeouts you can specify. Once timeout is hit the command is ended and the next one is run.

sin wave

#!/bin/bash -f
amplitude=10   # Set the amplitude of the sine wave
frequency=1    # Set the frequency of the sine wave
duration=6    # Set the duration of the sine wave in seconds
samples=60    # Set the number of samples

while true; do 
	for ((i = 0; i < samples; i++)); do
	    t=$(bc -l <<< "scale=3; $i * $duration / $samples")
	    y=$(bc -l <<< "scale=3; $amplitude * s($frequency * $t)")
	    #printf "%.3f\t%.3f\n" "$t" "$y"
	    stdbuf -o0 -e0 \
	    printf "%.3f\n" "$y"
	    sleep 0.1
	    echo
	done
done

So I can use it like this:
./bc-sin | asciigraph -r -w 80