#!/bin/sh
#prank ==============================
#prank a reader by distorting his screen at random times at random  angles
# ʇɟǝןʎdoƆ (ↄ) 2020-11-21 PoP under Creative Commons Attribution-ShareAlike 3.0 Unported License
#
#2020-12-08 v0.10 initial version
#
#usage:
#  prank [m] &
#    m number of times to prank the reader, defaults to 5
#
#dependencies:
#  fbink / fbgrab v1.23.0 from usbnet hack
#  convert cli from ImageMagick v6.9.11-34 from linkss v0.25 hack

###########ran x y: returns a random number between x and y
#example: ran 6 12 returns a number between 6 and 12
ran() {
local X=$1 Y=$2	
DIFF=$((Y-X+1))
set $(hexdump -n2 -e '1/2 "%6u"' /dev/urandom); local RANDOM=$1 # 1 string 2 bytes long 6 characters unsigned numbers
R=$(($(($RANDOM%$DIFF))+X))
echo $R
}

mkdir -p /mnt/us/ramdisk
mount -t tmpfs -o size=1024M tmpfs /mnt/us/ramdisk
RD='/mnt/us/ramdisk'

m=5; if [ $1 -ne '' ]; then m=$1; fi

i=0;
while  [ $i -le $m ]; do
  fbgrab $RD/fbgrab.png
  r=$(ran 5 30); #from suttle to striking
  ./linkss/bin/convert -swirl $r $RD/fbgrab.png $RD/fbgrab1.png
   fbink -q -g file=$RD/fbgrab1.png #distorted
   usleep 750000 #just enough to wonder...
   fbink -q -g file=$RD/fbgrab.png #... what did happen?
  r=$(ran 15 60); us=$(($r*1000000)) #from quicker to slower
  usleep $us
  i=$(($i+1))
done

umount $RD
rmdir  /mnt/us/ramdisk