#!/usr/bin/env bash
|
|
|
|
if ! command -v bc > /dev/null 2>&1; then
|
|
printf "%s\n" "You must have the 'bc' package installed to run this program"
|
|
fi
|
|
|
|
snowflakes=(❄ ❅ ❆)
|
|
width=$(tput cols)
|
|
platform=$(uname -s)
|
|
|
|
if [ $platform = 'Linux' ]; then
|
|
cpu_count=$(grep -ic ^processor /proc/cpuinfo);
|
|
elif [ $platform = 'Darwin' ]; then
|
|
cpu_count=$(sysctl -n hw.ncpu)
|
|
fi
|
|
|
|
|
|
while true; do
|
|
if [ $platform = 'Linux' ]; then
|
|
load=$(cut -d ' ' -f 1 /proc/loadavg)
|
|
elif [ $platform = 'Darwin' ]; then
|
|
load=$(sysctl -n vm.loadavg | cut -d ' ' -f 2)
|
|
fi
|
|
heaviness=$(echo "scale=10;$load/$cpu_count" | bc)
|
|
rand_col=$(( (RANDOM % width) + 1 ))
|
|
printf "%${rand_col}s\n" "${snowflakes[$(( (RANDOM % ${#snowflakes[*]}) ))]}"
|
|
|
|
if [ "$(echo "$heaviness > 1" | bc -l)" -eq 1 ]; then
|
|
sleep "$(echo "scale=10;1/$heaviness" | bc)"
|
|
else
|
|
sleep .75
|
|
fi
|
|
done
|