From d83a172950d90861d63b3891b14d5106e710502d Mon Sep 17 00:00:00 2001
From: xero <x@xero.nu>
Date: Sun, 1 Nov 2015 15:40:55 -0500
Subject: use ~/bin like a civilized nixer

---
 fun/bin/2spooky.lua |  79 +++++++++++++++++++++
 fun/bin/colors      |  13 ++++
 fun/bin/colorscheme |  27 ++++++++
 fun/bin/dna         |  46 +++++++++++++
 fun/bin/ghosts      |  31 +++++++++
 fun/bin/invaders    |  54 +++++++++++++++
 fun/bin/metroid     |  27 ++++++++
 fun/bin/pacman      |  37 ++++++++++
 fun/bin/pipes       | 122 +++++++++++++++++++++++++++++++++
 fun/bin/pipesx      | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 fun/bin/rain        | 100 +++++++++++++++++++++++++++
 fun/bin/ryu         | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++
 fun/bin/slendy      |  35 ++++++++++
 13 files changed, 952 insertions(+)
 create mode 100755 fun/bin/2spooky.lua
 create mode 100755 fun/bin/colors
 create mode 100755 fun/bin/colorscheme
 create mode 100755 fun/bin/dna
 create mode 100755 fun/bin/ghosts
 create mode 100755 fun/bin/invaders
 create mode 100755 fun/bin/metroid
 create mode 100755 fun/bin/pacman
 create mode 100755 fun/bin/pipes
 create mode 100755 fun/bin/pipesx
 create mode 100755 fun/bin/rain
 create mode 100755 fun/bin/ryu
 create mode 100755 fun/bin/slendy

(limited to 'fun/bin')

diff --git a/fun/bin/2spooky.lua b/fun/bin/2spooky.lua
new file mode 100755
index 0000000..a0ebc5d
--- /dev/null
+++ b/fun/bin/2spooky.lua
@@ -0,0 +1,79 @@
+    --Definitely not my best work, first script I've done in Lua 5.2
+    function draw()
+            nissue = {
+                    "\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[1;33m",
+                    ",~~~~~~~~~~~~~,                  \027[0;31m..:::::::::.. \027[1;33m                  ,~~~~~~~~~~~~~,\027[1;33m",
+                    "\027[1;33m:\027[1;32m .-======-,\027[1;33m  : \027[0;31m            ..:::\027[1;37maad8888888baa\027[0;31m:::..              \027[1;33m:\027[1;34mExploit-the \027[1;33m :\027[1;32m",
+                    "\027[1;33m:\027[1;32m ||\027[0;31mH4CK3R\027[1;32m|# \027[1;33m :       \027[0;31m   .::::\027[1;37md:?88888888888?::8b\027[0;31m::::.          \027[1;33m :\027[0;31m.-------,./|\027[1;33m :\027[1;32m",
+                    "\027[1;33m:\027[1;32m ||______|| \027[1;33m :\027[1;34m&&&&    \027[0;31m.:::\027[1;37md8888:?88888888??a888888b\027[0;31m:::.    \027[1;34m &&&&\027[1;33m:\027[0;31m{ \027[1;33m VIRUS \027[0;31m  /\027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;32m |   ___  | \027[1;33m : \027[1;34m  +  \027[0;31m.:::\027[1;37md8888888a8888888aa8888888888b\027[0;31m:::.  \027[1;34m + \027[1;33m  :\027[0;31m \\\027[1;33m DROPPER\027[0;31m 7\027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;32m |  |\027[1;35m[]\027[1;32m | | \027[1;33m : \027[1;34m   &\027[0;31m::::\027[1;37mdP\027[0;31m\023\022\021\020\019\018\017\016\027[1;37m88888888888\027[0;31m\023\022\021\020\019\018\017\016\027[1;37mYb\027[0;31m::::\027[1;34m&&\027[1;33m    :\027[0;31m  ~.  ,--.( \027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;32m  `-------' \027[1;33m :    \027[0;31m::::\027[1;37mdP\027[0;31m\024:::::::\015\027[1;37mY888888888P\027[0;31m\024:::::::\015\027[1;37mYb\027[0;31m::::\027[1;33m     : \027[0;31m   '~    `;\027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[0;31mReverse-    \027[1;33m :   \027[0;31m::::\027[1;37md8\027[0;31m\001:::::::::\014\027[1;37mY8888888P\027[0;31m\001:::::::::\014\027[1;37m8b\027[0;31m::::\027[1;33m    :\027[1;34mNation's-\027[0;31mData\027[1;33m:\027[1;33m",
+                    "\027[1;33m:\027[0;31mEngineering  \027[1;33m:  \027[0;31m.::::\027[1;37m88\027[0;31m\002\003\004\005\006\007\008\009\010\011\012\013\027[1;37mY88888P\027[0;31m\002\003\004\005\006\007\008\009\010\011\012\013\027[1;37m88\027[0;31m::::.\027[1;33m    `~~~~~~~~~~~~'\027[1;33m",
+                    "\027[1;33m `~~~~~~~~~~~~'  \027[0;31m:::::\027[1;37mY8baaaaaaaaaa88P\027[0;31m:\027[1;37mT\027[0;31m:\027[1;37mY88aaaaaaaaaad8P\027[0;31m:::::                  \027[0;31m",
+                    "\027[0;31m                 :::::::\027[1;37mY88888888888P\027[0;31m::\027[1;37m|\027[0;31m::\027[1;37mY88888888888P\027[0;31m:::::::                  \027[0;31m",
+                    "\027[1;33m,~~~~~~~~~~~~~,  \027[0;31m::::::::::::::::\027[1;37m888\027[0;31m:::\027[1;37m|\027[0;31m:::\027[1;37m888\027[0;31m::::::::::::::::\027[1;33m   ,~~~~~~~~~~~~~,\027[1;33m",
+                    "\027[1;33m:\027[1;34m R00T-KITS  \027[1;33m :  \027[0;31m`:::::::::::::::\027[1;37m8888888888888b\027[0;31m::::::::::::::'  \027[1;33m :\027[0;31mHoM3-$w33t\027[1;33m   :\027[1;37m",
+                    "\027[1;33m:\027[0;31m  ____ \027[1;37m  __ \027[1;33m :   \027[0;31m:::::::::::::::\027[1;37m88888888888888\027[0;31m::::::::::::::   \027[1;33m :\027[1;34m    (I\027[1;33m       :\027[1;33m",
+                    "\027[1;33m: \027[0;31m|    |\027[1;37m |\027[0;31m-_\027[1;37m| \027[1;33m:\027[0;31m    :::::::::::::\027[1;37md88888888888888\027[0;31m:::::::::::::    \027[1;33m :\027[1;36m^^^\027[1;34m  |\027[1;36m    ^^^\027[1;33m:\027[1;33m",
+                    "\027[1;33m:\027[0;31m |____|\027[1;33m_\027[1;37m|\027[0;31m=_\027[1;37m|\027[1;33m :\027[0;31m     ::::::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::\027[1;37m88\027[0;31m::::::::::::\027[1;33m      :\027[1;34m|u|_\027[1;36m^^^^^\027[1;34m_|u|\027[1;33m:\027[1;33m",
+                    "\027[1;33m:\027[1;37m  ____\027[1;33m)\027[1;37m_\027[1;37m.\027[1;37m___\027[1;33m :      \027[0;31m`::::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::\027[1;37m88\027[0;31m::::::::::'      \027[1;33m :\027[1;34m|_  u _ u  _|\027[1;33m:\027[1;33m",
+                    "\027[1;33m: \027[1;37m/\027[1;34m:::::;\027[1;37m|\027[1;34m  _\027[1;37m)\027[1;33m:\027[1;34m      &\027[0;31m`:::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37mP\027[0;31m::::\027[1;37m88\027[0;31m:::::::::'\027[1;34m&       \027[1;33m:\027[1;34m  |__|\027[1;37m;\027[1;34m|__| \027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;37m `======'\027[1;34m |_|\027[1;33m:      \027[1;34m+ \027[0;31m `:::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::::::\027[1;37m88\027[0;31m:::::::' \027[1;34m  +     \027[1;33m :\027[1;34m    /_/     \027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;34mUr-Computer-\027[1;33m :\027[1;34m&&&&&&& \027[0;31m   ``:::::::::::::::::::::::''\027[1;34m     &&&&&&&\027[1;33m:\027[0;31mH4x0r-HoM3- \027[1;33m :\027[1;33m",
+                    "\027[1;33m:\027[1;34mis-MY-\027[0;31mSlave \027[1;33m : \027[0;31m               ``::::::::::::::''\027[1;33m                :\027[0;31m *\027[1;37m127\027[0;31m.\027[1;37m0\027[0;31m.\027[1;37m0\027[0;31m.\027[1;37m1\027[0;31m* \027[1;33m:\027[1;33m",
+                    "\027[1;33m `~~~~~~~~~~~~'                                                   `~~~~~~~~~~~~'\027[1;33m",
+                    "\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[1;37m",
+                    "\027[0;31m -======-   \027[1;37m  +\027[0;31mWARNING\027[1;37m+\027[1;33m\"\027[0;31mIllegal\027[1;37m_\027[0;31mNetwork\027[1;37m_\027[0;31mConnections\027[1;37m_\027[0;31mBeyond\027[1;37m_\027[0;31mLogin\027[1;33m\"   \027[0;31m    -======-\027[0;31m",
+                    "\027[0;31m |\027[1;32mH\027[1;34m4\027[1;33mC\027[1;35mK\027[1;36m3\027[1;37mR\027[0;31m|        \027[1;34m -== \027[1;37m You are at the point of \027[0;31mNO RETURN \027[1;34m ==-          \027[0;31m |\027[1;32mH\027[1;34m4\027[1;33mC\027[1;35mK\027[1;36m3\027[1;37mR\027[0;31m|\027[0;31m",
+                    "\027[0;31m |______|\027[0;31mYour Activities\027[1;37m:\027[1;33mWill\027[1;37m_\027[1;33mbe\027[1;37m_\027[1;33mKeylogged\027[1;37m_\027[1;33mand\027[1;37m_\027[1;33mTimestamped \027[1;34m\"\027[0;31mUSER_BEWARE\027[1;34m\"\027[0;31m|______|\027[0;31m",
+                    "\027[0;31mHacking Sites\027[1;37m:\027[0;31m https\027[1;37m:\027[1;33m//\027[0;31msites\027[1;37m.\027[0;31mgoogle\027[1;37m.\027[0;31mcom\027[1;33m/\027[0;31msite\027[1;33m/\027[0;31mlazyboxx \027[1;35m*\027[0;31m http\027[1;37m:\027[1;33m//\027[0;31mwww\027[1;37m.\027[0;31mfreebsd\027[1;37m.\027[0;31morg \027[1;33m"
+            }
+            io.write("\027[1;1H") --reset cursor
+            for a = 7,11 do
+                    for b = 1,24 do
+                            if b == position then
+                                    nissue[a] = string.gsub(nissue[a],string.char(b),"\027[1;31m@\027[0;31m")
+                            else
+                                    nissue[a] = string.gsub(nissue[a],string.char(b),":")
+                            end
+                    end
+            end
+            for a = 5,21 do
+                    if bool then
+                            nissue[a] = string.gsub(nissue[a],"&","\027[31;1m=\027[37;1m")
+                            nissue[a] = string.gsub(nissue[a],"+","\027[31;1m|\027[37;1m")
+                    else
+                            nissue[a] = string.gsub(nissue[a],"&","=")
+                            nissue[a] = string.gsub(nissue[a],"+","|")
+                    end
+            end
+            for i = 1,28 do
+                    print(nissue[i])
+            end
+            bool = not bool
+    end
+    function changepos(num)
+            if position == 24 and num == 1 then
+                    position = 1
+            elseif position == 1 and num == -1 then
+                    position = 24
+            else
+                    position = position + num
+            end
+    end
+    position = 14
+    bool = true
+    dirs = {1,-1}
+    draw()
+    while true do
+            move = math.random(1,6)
+            dir = dirs[math.random(1,2)]
+            draw()
+            for m = 1,move do
+                    changepos(dir)
+                    draw()
+                    os.execute("sleep 0.1") --Replace it with some other way to wait one tenth of a second if you're using Windows or don't have "sleep"
+            end                                                     --On the subject of Windows compatibility, Ansicon is a perfect way to make the Ansi escape codes work.
+    end
diff --git a/fun/bin/colors b/fun/bin/colors
new file mode 100755
index 0000000..c8d527b
--- /dev/null
+++ b/fun/bin/colors
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+xdef="$HOME/.Xdefaults"
+
+colors=( $( sed -re '/^!/d; /^$/d; /^#/d; s/(\*color)([0-9]):/\10\2:/g;' $xdef | grep 'color[01][0-9]:' | sort | sed  's/^.*: *//g' ) )
+
+echo -e "\e[1;37m 
+ Black    Red      Green    Yellow   Blue     Magenta   Cyan    White   
+──────────────────────────────────────────────────────────────────────\e[0m"
+for i in {0..7}; do echo -en "\e[$((30+$i))m ${colors[i]} \e[0m"; done
+echo
+for i in {8..15}; do echo -en "\e[1;$((22+$i))m ${colors[i]} \e[0m"; done
+echo -e "\n"
diff --git a/fun/bin/colorscheme b/fun/bin/colorscheme
new file mode 100755
index 0000000..f2aa179
--- /dev/null
+++ b/fun/bin/colorscheme
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+#   This file echoes a bunch of color codes to the 
+#   terminal to demonstrate what's available.  Each 
+#   line is the color code of one forground color,
+#   out of 17 (default + 16 escapes), followed by a 
+#   test use of that color on all nine background 
+#   colors (default + 8 escapes).
+#
+
+T='niX'   # The test text
+
+echo -e "\n                 40m     41m     42m     43m\
+     44m     45m     46m     47m";
+
+for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
+           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
+           '  36m' '1;36m' '  37m' '1;37m';
+  do FG=${FGs// /}
+  echo -en " $FGs \033[$FG  $T  "
+  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
+    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
+  done
+  echo;
+done
+echo
+
diff --git a/fun/bin/dna b/fun/bin/dna
new file mode 100755
index 0000000..a049e0b
--- /dev/null
+++ b/fun/bin/dna
@@ -0,0 +1,46 @@
+#!/bin/bash
+#
+# ANSI color scheme script by pfh
+#
+# Initializing mod by lolilolicon from Archlinux
+#
+
+f=3 b=4
+for j in f b; do
+  for i in {0..7}; do
+    printf -v $j$i %b "\e[${!j}${i}m"
+  done
+done
+bld=$'\e[1m'
+rst=$'\e[0m'
+inv=$'\e[7m'
+
+cat << EOF
+
+ ${f1} █-----${bld}█  ${rst}${f2} █-----${bld}█${rst}  ${f3} █-----${bld}█${rst}  ${f4} █-----${bld}█${rst}  ${f5} █-----${bld}█${rst}  ${f6} █-----${bld}█${rst}
+  ${f1} █---${bld}█${rst}    ${f2} █---${bld}█${rst}    ${f3} █---${bld}█${rst}    ${f4} █---${bld}█${rst}    ${f5} █---${bld}█${rst}    ${f6} █---${bld}█${rst}
+  ${f1}  █-${bld}█${rst}     ${f2}  █-${bld}█${rst}     ${f3}  █-${bld}█${rst}     ${f4}  █-${bld}█${rst}     ${f5}  █-${bld}█${rst}     ${f6}  █-${bld}█${rst}
+    ${f1} █${rst}        ${f2} █${rst}        ${f3} █${rst}        ${f4} █${rst}        ${f5} █${rst}        ${f6} █${rst}
+   ${f1}${bld} █-${rst}${f1}█${rst}      ${f2}${bld} █_${rst}${f2}█${rst}      ${f3}${bld} █-${rst}${f3}█${rst}      ${f4}${bld} █-${rst}${f4}█${rst}      ${f5}${bld} █-${rst}${f5}█${rst}      ${f6}${bld} █-${rst}${f6}█${rst}
+  ${f1}${bld} █---${rst}${f1}█${rst}    ${f2}${bld} █---${rst}${f2}█${rst}    ${f3}${bld} █---${rst}${f3}█${rst}    ${f4}${bld} █---${rst}${f4}█${rst}    ${f5}${bld} █---${rst}${f5}█${rst}    ${f6}${bld} █---${rst}${f6}█${rst} 
+ ${f1}${bld} █-----${rst}${f1}█${rst}  ${f2}${bld} █-----${rst}${f2}█${rst}  ${f3}${bld} █-----${rst}${f3}█${rst}  ${f4}${bld} █-----${rst}${f4}█${rst}  ${f5}${bld} █-----${rst}${f5}█${rst}  ${f6}${bld} █-----${rst}${f6}█${rst}
+  ${f1}${bld} █---${rst}${f1}█${rst}    ${f2}${bld} █---${rst}${f2}█${rst}    ${f3}${bld} █---${rst}${f3}█${rst}    ${f4}${bld} █---${rst}${f4}█${rst}    ${f5}${bld} █---${rst}${f5}█${rst}    ${f6}${bld} █---${rst}${f6}█${rst}
+   ${f1}${bld} █-${rst}${f1}█${rst}      ${f2}${bld} █-${rst}${f2}█${rst}      ${f3}${bld} █-${rst}${f3}█${rst}      ${f4}${bld} █-${rst}${f4}█${rst}      ${f5}${bld} █-${rst}${f5}█${rst}      ${f6}${bld} █-${rst}${f6}█${rst}
+    ${f1}${bld} █${rst}        ${f2}${bld} █${rst}         ${f3}${bld}█${rst}        ${f4}${bld} █${rst}        ${f5}${bld} █${rst}        ${f6}${bld} █${rst}
+   ${f1} █-${bld}█${rst}      ${f2} █-${bld}█${rst}      ${f3} █-${bld}█${rst}      ${f4} █-${bld}█${rst}      ${f5} █-${bld}█${rst}      ${f6} █-${bld}█${rst}
+  ${f1} █---${bld}█${rst}    ${f2} █---${bld}█${rst}    ${f3} █---${bld}█${rst}    ${f4} █---${bld}█${rst}    ${f5} █---${bld}█${rst}    ${f6} █---${bld}█${rst}
+ ${f1} █-----${bld}█  ${rst}${f2} █-----${bld}█${rst}  ${f3} █-----${bld}█${rst}  ${f4} █-----${bld}█${rst}  ${f5} █-----${bld}█${rst}  ${f6} █-----${bld}█${rst}
+  ${f1} █---${bld}█${rst}    ${f2} █---${bld}█${rst}    ${f3} █---${bld}█${rst}    ${f4} █---${bld}█${rst}    ${f5} █---${bld}█${rst}    ${f6} █---${bld}█${rst}
+  ${f1}  █-${bld}█${rst}     ${f2}  █-${bld}█${rst}     ${f3}  █-${bld}█${rst}     ${f4}  █-${bld}█${rst}     ${f5}  █-${bld}█${rst}     ${f6}  █-${bld}█${rst}
+    ${f1} █${rst}         ${f2}█${rst}        ${f3} █${rst}        ${f4} █${rst}        ${f5} █${rst}        ${f6} █${rst}
+   ${f1}${bld} █-${rst}${f1}█${rst}      ${f2}${bld} █_${rst}${f2}█${rst}      ${f3}${bld} █-${rst}${f3}█${rst}      ${f4}${bld} █-${rst}${f4}█${rst}      ${f5}${bld} █-${rst}${f5}█${rst}      ${f6}${bld} █-${rst}${f6}█${rst}
+  ${f1}${bld} █---${rst}${f1}█${rst}    ${f2}${bld} █---${rst}${f2}█${rst}    ${f3}${bld} █---${rst}${f3}█${rst}    ${f4}${bld} █---${rst}${f4}█${rst}    ${f5}${bld} █---${rst}${f5}█${rst}    ${f6}${bld} █---${rst}${f6}█${rst} 
+ ${f1}${bld} █-----${rst}${f1}█${rst}  ${f2}${bld} █-----${rst}${f2}█${rst}  ${f3}${bld} █-----${rst}${f3}█${rst}  ${f4}${bld} █-----${rst}${f4}█${rst}  ${f5}${bld} █-----${rst}${f5}█${rst}  ${f6}${bld} █-----${rst}${f6}█${rst}
+  ${f1}${bld} █---${rst}${f1}█${rst}    ${f2}${bld} █---${rst}${f2}█${rst}    ${f3}${bld} █---${rst}${f3}█${rst}    ${f4}${bld} █---${rst}${f4}█${rst}    ${f5}${bld} █---${rst}${f5}█${rst}    ${f6}${bld} █---${rst}${f6}█${rst}
+   ${f1}${bld} █-${rst}${f1}█${rst}      ${f2}${bld} █-${rst}${f2}█${rst}      ${f3}${bld} █-${rst}${f3}█${rst}      ${f4}${bld} █-${rst}${f4}█${rst}      ${f5}${bld} █-${rst}${f5}█${rst}      ${f6}${bld} █-${rst}${f6}█${rst}
+    ${f1}${bld} █${rst}        ${f2}${bld} █${rst}        ${f3}${bld} █${rst}        ${f4}${bld} █${rst}        ${f5}${bld} █${rst}        ${f6}${bld} █${rst}
+   ${f1} █-${bld}█${rst}      ${f2} █-${bld}█${rst}      ${f3} █-${bld}█${rst}      ${f4} █-${bld}█${rst}      ${f5} █-${bld}█${rst}      ${f6} █-${bld}█${rst}
+  ${f1} █---${bld}█${rst}    ${f2} █---${bld}█${rst}    ${f3} █---${bld}█${rst}    ${f4} █---${bld}█${rst}    ${f5} █---${bld}█${rst}    ${f6} █---${bld}█${rst}
+ ${f1} █-----${bld}█  ${rst}${f2} █-----${bld}█${rst}  ${f3} █-----${bld}█${rst}  ${f4} █-----${bld}█${rst}  ${f5} █-----${bld}█${rst}  ${f6} █-----${bld}█${rst}
+
+EOF
\ No newline at end of file
diff --git a/fun/bin/ghosts b/fun/bin/ghosts
new file mode 100755
index 0000000..2cf1727
--- /dev/null
+++ b/fun/bin/ghosts
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# ANSI color scheme script by pfh
+#
+# Initializing mod by lolilolicon from Archlinux
+#
+
+f=3 b=4
+for j in f b; do
+  for i in {0..7}; do
+    printf -v $j$i %b "\e[${!j}${i}m"
+  done
+done
+bld=$'\e[1m'
+rst=$'\e[0m'
+inv=$'\e[7m'
+cat << EOF
+
+$f1    ▄▄▄      $f2    ▄▄▄      $f3    ▄▄▄      $f4    ▄▄▄      $f5    ▄▄▄      $f6    ▄▄▄     
+$f1   ▀█▀██  ▄  $f2   ▀█▀██  ▄  $f3   ▀█▀██  ▄  $f4   ▀█▀██  ▄  $f5   ▀█▀██  ▄  $f6   ▀█▀██  ▄ 
+$f1 ▀▄██████▀   $f2 ▀▄██████▀   $f3 ▀▄██████▀   $f4 ▀▄██████▀   $f5 ▀▄██████▀   $f6 ▀▄██████▀  
+$f1    ▀█████   $f2    ▀█████   $f3    ▀█████   $f4    ▀█████   $f5    ▀█████   $f6    ▀█████  
+$f1       ▀▀▀▀▄ $f2       ▀▀▀▀▄ $f3       ▀▀▀▀▄ $f4       ▀▀▀▀▄ $f5       ▀▀▀▀▄ $f6       ▀▀▀▀▄
+$bld
+$f1    ▄▄▄      $f2    ▄▄▄      $f3    ▄▄▄      $f4    ▄▄▄      $f5    ▄▄▄      $f6    ▄▄▄     
+$f1   ▀█▀██  ▄  $f2   ▀█▀██  ▄  $f3   ▀█▀██  ▄  $f4   ▀█▀██  ▄  $f5   ▀█▀██  ▄  $f6   ▀█▀██  ▄ 
+$f1 ▀▄██████▀   $f2 ▀▄██████▀   $f3 ▀▄██████▀   $f4 ▀▄██████▀   $f5 ▀▄██████▀   $f6 ▀▄██████▀  
+$f1    ▀█████   $f2    ▀█████   $f3    ▀█████   $f4    ▀█████   $f5    ▀█████   $f6    ▀█████  
+$f1       ▀▀▀▀▄ $f2       ▀▀▀▀▄ $f3       ▀▀▀▀▄ $f4       ▀▀▀▀▄ $f5       ▀▀▀▀▄ $f6       ▀▀▀▀▄
+$rst
+EOF
\ No newline at end of file
diff --git a/fun/bin/invaders b/fun/bin/invaders
new file mode 100755
index 0000000..0ca2036
--- /dev/null
+++ b/fun/bin/invaders
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# ANSI Color -- use these variables to easily have different color
+#    and format output. Make sure to output the reset sequence after 
+#    colors (f = foreground, b = background), and use the 'off'
+#    feature for anything you turn on.
+
+initializeANSI()
+{
+  esc=""
+
+  blackf="${esc}[30m";   redf="${esc}[31m";    greenf="${esc}[32m"
+  yellowf="${esc}[33m"   bluef="${esc}[34m";   purplef="${esc}[35m"
+  cyanf="${esc}[36m";    whitef="${esc}[37m"
+  
+  blackb="${esc}[40m";   redb="${esc}[41m";    greenb="${esc}[42m"
+  yellowb="${esc}[43m"   blueb="${esc}[44m";   purpleb="${esc}[45m"
+  cyanb="${esc}[46m";    whiteb="${esc}[47m"
+
+  boldon="${esc}[1m";    boldoff="${esc}[22m"
+  italicson="${esc}[3m"; italicsoff="${esc}[23m"
+  ulon="${esc}[4m";      uloff="${esc}[24m"
+  invon="${esc}[7m";     invoff="${esc}[27m"
+
+  reset="${esc}[0m"
+}
+
+# note in this first use that switching colors doesn't require a reset
+# first - the new color overrides the old one.
+
+initializeANSI
+
+cat << EOF
+
+   ${boldon}${redf}▀▄   ▄▀  ${reset}    ${boldon}${greenf}▄▄▄████▄▄▄ ${reset}   ${boldon}${yellowf}  ▄██▄  ${reset}     ${boldon}${bluef}▀▄   ▄▀  ${reset}    ${boldon}${purplef}▄▄▄████▄▄▄ ${reset}   ${boldon}${cyanf}  ▄██▄  ${reset}
+  ${boldon}${redf}▄█▀███▀█▄ ${reset}   ${boldon}${greenf}███▀▀██▀▀███${reset}   ${boldon}${yellowf}▄█▀██▀█▄${reset}    ${boldon}${bluef}▄█▀███▀█▄ ${reset}   ${boldon}${purplef}███▀▀██▀▀███${reset}   ${boldon}${cyanf}▄█▀██▀█▄${reset}
+ ${boldon}${redf}█▀███████▀█${reset}   ${boldon}${greenf}▀▀▀██▀▀██▀▀▀${reset}   ${boldon}${yellowf}▀▀█▀▀█▀▀${reset}   ${boldon}${bluef}█▀███████▀█${reset}   ${boldon}${purplef}▀▀▀██▀▀██▀▀▀${reset}   ${boldon}${cyanf}▀▀█▀▀█▀▀${reset}
+ ${boldon}${redf}▀ ▀▄▄ ▄▄▀ ▀${reset}   ${boldon}${greenf}▄▄▀▀ ▀▀ ▀▀▄▄${reset}   ${boldon}${yellowf}▄▀▄▀▀▄▀▄${reset}   ${boldon}${bluef}▀ ▀▄▄ ▄▄▀ ▀${reset}   ${boldon}${purplef}▄▄▀▀ ▀▀ ▀▀▄▄${reset}   ${boldon}${cyanf}▄▀▄▀▀▄▀▄${reset}
+ 
+   ${redf}▀▄   ▄▀  ${reset}    ${greenf}▄▄▄████▄▄▄ ${reset}   ${yellowf}  ▄██▄  ${reset}     ${bluef}▀▄   ▄▀  ${reset}    ${purplef}▄▄▄████▄▄▄ ${reset}   ${cyanf}  ▄██▄  ${reset}
+  ${redf}▄█▀███▀█▄ ${reset}   ${greenf}███▀▀██▀▀███${reset}   ${yellowf}▄█▀██▀█▄${reset}    ${bluef}▄█▀███▀█▄ ${reset}   ${purplef}███▀▀██▀▀███${reset}   ${cyanf}▄█▀██▀█▄${reset}
+ ${redf}█▀███████▀█${reset}   ${greenf}▀▀▀██▀▀██▀▀▀${reset}   ${yellowf}▀▀█▀▀█▀▀${reset}   ${bluef}█▀███████▀█${reset}   ${purplef}▀▀▀██▀▀██▀▀▀${reset}   ${cyanf}▀▀█▀▀█▀▀${reset}
+ ${redf}▀ ▀▄▄ ▄▄▀ ▀${reset}   ${greenf}▄▄▀▀ ▀▀ ▀▀▄▄${reset}   ${yellowf}▄▀▄▀▀▄▀▄${reset}   ${bluef}▀ ▀▄▄ ▄▄▀ ▀${reset}   ${purplef}▄▄▀▀ ▀▀ ▀▀▄▄${reset}   ${cyanf}▄▀▄▀▀▄▀▄${reset}
+ 
+
+                                     ${whitef}▌${reset}
+ 
+                                   ${whitef}▌${reset}
+                                   ${whitef}${reset}
+                                  ${whitef}▄█▄${reset}
+                              ${whitef}▄█████████▄${reset}
+                              ${whitef}▀▀▀▀▀▀▀▀▀▀▀${reset}
+
+EOF
\ No newline at end of file
diff --git a/fun/bin/metroid b/fun/bin/metroid
new file mode 100755
index 0000000..5bb5c72
--- /dev/null
+++ b/fun/bin/metroid
@@ -0,0 +1,27 @@
+#!/bin/sh
+cat << EOF
+
+                                  
+                                     
+                                       
+                                         
+                                           
+                                             
+                                             
+                                               
+                                               
+                                               
+                                                 
+                                                 
+                                                 
+                                                 
+                                                 
+                                                 
+                                                 
+                                               
+                                             
+                                             
+                                           
+                                         
+                                 
+EOF
diff --git a/fun/bin/pacman b/fun/bin/pacman
new file mode 100755
index 0000000..51697cc
--- /dev/null
+++ b/fun/bin/pacman
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# ANSI color scheme script featuring PACMAN
+# by pfh
+#
+# Initializing procedure by lolilolicon
+#
+
+f=3 b=4
+for j in f b; do
+  for i in {0..7}; do
+    printf -v $j$i %b "\e[${!j}${i}m"
+  done
+done
+bld=$'\e[1m'
+rst=$'\e[0m'
+inv=$'\e[7m'
+
+
+cat << EOF
+
+$rst
+ $f3  ▄███████▄                $f1  ▄██████▄    $f2  ▄██████▄    $f4  ▄██████▄    $f5  ▄██████▄    $f6  ▄██████▄    
+ $f3▄█████████▀▀               $f1▄$f7█▀█$f1██$f7█▀█$f1██▄  $f2▄█$f7███$f2██$f7███$f2█▄  $f4▄█$f7███$f4██$f7███$f4█▄  $f5▄█$f7███$f5██$f7███$f5█▄  $f6▄██$f7█▀█$f6██$f7█▀█$f6▄
+ $f3███████▀      $f7▄▄  ▄▄  ▄▄   $f1█$f7▄▄█$f1██$f7▄▄█$f1███  $f2██$f7█ █$f2██$f7█ █$f2██  $f4██$f7█ █$f4██$f7█ █$f4██  $f5██$f7█ █$f5██$f7█ █$f5██  $f6███$f7█▄▄$f6██$f7█▄▄$f6█
+ $f3███████▄      $f7▀▀  ▀▀  ▀▀   $f1████████████  $f2████████████  $f4████████████  $f5████████████  $f6████████████  
+ $f3▀█████████▄▄               $f1██▀██▀▀██▀██  $f2██▀██▀▀██▀██  $f4██▀██▀▀██▀██  $f5██▀██▀▀██▀██  $f6██▀██▀▀██▀██
+ $f3  ▀███████▀                $f1▀   ▀  ▀   ▀  $f2▀   ▀  ▀   ▀  $f4▀   ▀  ▀   ▀  $f5▀   ▀  ▀   ▀  $f6▀   ▀  ▀   ▀ 
+$bld
+ $f3  ▄███████▄                $f1  ▄██████▄    $f2  ▄██████▄    $f4  ▄██████▄    $f5  ▄██████▄    $f6  ▄██████▄    
+ $f3▄█████████▀▀               $f1▄$f7█▀█$f1██$f7█▀█$f1██▄  $f2▄█$f7█ █$f2██$f7█ █$f2█▄  $f4▄█$f7█ █$f4██$f7█ █$f4█▄  $f5▄█$f7█ █$f5██$f7█ █$f5█▄  $f6▄██$f7█▀█$f6██$f7█▀█$f6▄
+ $f3███████▀      $f7▄▄  ▄▄  ▄▄   $f1█$f7▄▄█$f1██$f7▄▄█$f1███  $f2██$f7███$f2██$f7███$f2██  $f4██$f7███$f4██$f7███$f4██  $f5██$f7███$f5██$f7███$f5██  $f6███$f7█▄▄$f6██$f7█▄▄$f6█
+ $f3███████▄      $f7▀▀  ▀▀  ▀▀   $f1████████████  $f2████████████  $f4████████████  $f5████████████  $f6████████████  
+ $f3▀█████████▄▄               $f1██▀██▀▀██▀██  $f2██▀██▀▀██▀██  $f4██▀██▀▀██▀██  $f5██▀██▀▀██▀██  $f6██▀██▀▀██▀██
+ $f3  ▀███████▀                $f1▀   ▀  ▀   ▀  $f2▀   ▀  ▀   ▀  $f4▀   ▀  ▀   ▀  $f5▀   ▀  ▀   ▀  $f6▀   ▀  ▀   ▀ 
+$rst
+EOF
diff --git a/fun/bin/pipes b/fun/bin/pipes
new file mode 100755
index 0000000..43e7046
--- /dev/null
+++ b/fun/bin/pipes
@@ -0,0 +1,122 @@
+#!/usr/bin/env bash
+# pipes.sh: Animated pipes terminal screensaver.
+#
+# This modified version is maintained at:
+#
+#   https://github.com/livibetter/pipes.sh
+
+# options:
+# s = straight [5-15]
+# f = rate [20-100]
+# t = style [0-5]
+# r = ttl
+
+VERSION=0.1.0
+
+M=32768
+p=1
+f=75 s=13 r=2000 t=0
+w=$(tput cols) h=$(tput lines)
+# ab -> idx = a*4 + b
+# 0: up, 1: right, 2: down, 3: left
+# 00 means going up   , then going up   -> ┃
+# 12 means going right, then going down -> ┓
+sets=(
+    "┃┏ ┓┛━┓  ┗┃┛┗ ┏━"
+    "│╭ ╮╯─╮  ╰│╯╰ ╭─"
+    "│┌ ┐┘─┐  └│┘└ ┌─"
+    "║╔ ╗╝═╗  ╚║╝╚ ╔═"
+    "|+ ++-+  +|++ +-"
+    "|/ \/-\  \|/\ /-"
+)
+v=()
+RNDSTART=0
+NOCOLOR=0
+
+OPTIND=1
+while getopts "p:t:f:s:r:RChv" arg; do
+case $arg in
+    p) ((p=(OPTARG>0)?OPTARG:p));;
+    t) ((OPTARG>=0 && OPTARG<${#sets[@]})) && V+=($OPTARG);;
+    f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));;
+    s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));;
+    r) ((r=(OPTARG>=0)?OPTARG:r));;
+    R) RNDSTART=1;;
+    C) NOCOLOR=1;;
+    h) echo -e "Usage: $(basename $0) [OPTION]..."
+        echo -e "Animated pipes terminal screensaver.\n"
+        echo -e " -p [1-]\tnumber of pipes (D=1)."
+        echo -e " -t [0-$((${#sets[@]} - 1))]\ttype of pipes, can be used more than once (D=0)."
+        echo -e " -f [20-100]\tframerate (D=75)."
+        echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
+        echo -e " -r LIMIT\treset after x characters, 0 if no limit (D=2000)."
+        echo -e " -R \t\trandom starting point."
+        echo -e " -C \t\tno color."
+        echo -e " -h\t\thelp (this screen)."
+        echo -e " -v\t\tprint version number.\n"
+        exit 0;;
+    v) echo "$(basename -- "$0") $VERSION"
+        exit 0
+    esac
+done
+
+# set default values if not by options
+((${#V[@]})) || V=(0)
+
+# Attempt to workaround for Bash versions < 4, such as 3.2 on Mac:
+#   https://gist.github.com/livibetter/4689307/#comment-892368
+# Untested--in conduction of using shebang `env bash`--should fall back to
+# `sleep`
+printf -v SLEEP "read -t0.0$((1000/f)) -n 1"
+if $SLEEP &>/dev/null; (($? != 142)); then
+  printf -v SLEEP "sleep 0.0$((1000/f))"
+fi
+
+cleanup() {
+    # clear up standard input
+    read -t 0 && cat </dev/stdin>/dev/null
+
+    tput rmcup
+    tput cnorm
+    stty echo
+    exit 0
+}
+trap cleanup SIGHUP SIGINT SIGTERM
+
+for (( i=1; i<=p; i++ )); do
+    c[i]=$((i%8)) n[i]=0 l[i]=0
+    ((x[i]=RNDSTART==1?RANDOM*w/32768:w/2))
+    ((y[i]=RNDSTART==1?RANDOM*h/32768:h/2))
+    v[i]=${V[${#V[@]} * RANDOM / M]}
+done
+
+stty -echo
+tput smcup
+tput reset
+tput civis
+# any key press exits the loop and this script
+while $SLEEP; (($? > 128)) || [[ $SLEEP = sleep* ]] && (($? == 0)); do
+    for (( i=1; i<=p; i++ )); do
+        # New position:
+        ((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1))
+
+        # Loop on edges (change color on loop):
+        ((${x[i]}>w||${x[i]}<0||${y[i]}>h||${y[i]}<0)) && ((c[i]=RANDOM%8, v[i]=V[${#V[@]}*RANDOM/M]))
+        ((x[i]=(x[i]+w)%w))
+        ((y[i]=(y[i]+h)%h))
+
+        # New random direction:
+        ((n[i]=RANDOM%s-1))
+        ((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]}))
+        ((n[i]=(${n[i]}<0)?3:${n[i]}%4))
+
+        # Print:
+        tput cup ${y[i]} ${x[i]}
+        [[ $NOCOLOR == 0 ]] && echo -ne "\033[1;3${c[i]}m"
+        echo -n "${sets[v[i]]:l[i]*4+n[i]:1}"
+        l[i]=${n[i]}
+    done
+    ((r>0 && t*p>=r)) && tput reset && tput civis && t=0 || ((t++))
+done
+
+cleanup
\ No newline at end of file
diff --git a/fun/bin/pipesx b/fun/bin/pipesx
new file mode 100755
index 0000000..a937bf8
--- /dev/null
+++ b/fun/bin/pipesx
@@ -0,0 +1,193 @@
+#!/bin/bash
+# Animated pipes.sh terminal screensaver at an angle.
+# Copyright (C) 2013, 2014 by Yu-Jie Lin
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Website: https://github.com/livibetter/pipesX.sh
+
+VERSION=0.1.0
+
+W=$(tput cols) H=$(tput lines)
+# maximal random value + 1
+M=32768
+
+SETS=('╱╲' '/\')
+COLORS=(31 32 33 34 35 36 37)
+
+# default values
+N=1
+T=()
+I=0.05
+P=25
+R=$((W * H / 4))
+
+HELP="Usage: $(basename $0) [OPTIONS]
+Animated pipes.sh terminal screensaver at an angle.
+
+Options:
+
+  -n [1-]     number of pipes. (Default: $N)
+  -t [0-$((${#SETS[@]} - 1))]    types of pipes, can be used more than once. (Default: $T)
+  -i [float]  piping interval or maze generation interval. (Default: $I)
+  -P [0-100]  probability of a turning pipe or of \\ in maze generation. (Default: $P)
+  -r [LIMIT]  reset after x characters, 0 if no limit. (Default: $R)
+  -R          random starting point.
+  -C          no color.
+  -X          maze generation.
+  -h          this help message.
+  -v          print version number.
+"
+
+while getopts "n:t:i:P:r:RCXhv" arg; do
+  case $arg in
+    n)
+      ((N = OPTARG > 0 ? OPTARG : N))
+      ;;
+    t)
+      T+=($(((OPTARG >= 0 && OPTARG < ${#SETS[@]}) ? OPTARG : T)))
+      ;;
+    i)
+      I=$OPTARG
+      ;;
+    P)
+      ((P = (OPTARG >= 0 && OPTARG <= 100) ? OPTARG : P))
+      ;;
+    r)
+      ((R = OPTARG >= 0 ? OPTARG : R))
+      ;;
+    R)
+      RNDSTART=1
+      ;;
+    C)
+      NOCOLOR=1
+      ;;
+    X)
+      MAZE=1
+      ;;
+    h)
+      echo -e "$HELP"
+      exit 0
+      ;;
+    v)
+      echo "$(basename -- "$0") $VERSION"
+      exit 0
+  esac
+done
+
+# set to default values if not by options
+((${#T[@]})) || T=(0)
+
+do_exit() {
+  # Show cursor and echo stdin
+  echo -ne "\e[?25h"
+  stty echo
+  clear
+  exit 0
+  }
+trap do_exit INT TERM
+
+# No echo stdin and hide the cursor
+stty -echo
+echo -ne "\e[?25l"
+
+# maze geneartion
+while [[ $MAZE ]] && clear; do
+  [[ $NOCOLOR ]] || echo -ne "\e[1;${COLORS[${#COLORS[@]} * RANDOM / M]}m"
+  for ((i = 0; i < W * H; i++ )); do
+    echo -ne ${SETS[T]:100 * RANDOM / M < P:1}
+  done
+  read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit
+done
+
+# initialze values
+for ((n = 0; n < N; n++)); do
+  ((X[n] = RNDSTART ? (W + 2) * RANDOM / M : W / 2))
+  ((Y[n] = RNDSTART ? (H + 2) * RANDOM / M : H / 2))
+  D[n]=$((4 * RANDOM / M))
+  C[n]=${COLORS[${#COLORS[@]} * RANDOM / M]}
+  t[n]=${T[${#T[@]} * RANDOM / M]}
+done
+
+clear
+while :; do
+  for ((n = 0; n < N; n++, CC = 0)); do
+    x=${X[n]} y=${Y[n]}
+    d=${D[n]} c=${C[n]}
+
+    # calculate new direction `d`
+    # 1  0
+    #  \/  4 directions 0 to 3
+    #  /\
+    # 2  3
+    # valid directions: d: dd', d' is the new direction
+    # d
+    # 0:  / 00 \  01          03
+    #    /     /           /\
+    # 1:  / 10 \  11    12
+    #     \     \    /\
+    # 2:       \/ 21  / 22  / 23
+    #                /      \
+    # 3: \/ 30       \  32 \  33
+    #                /      \
+    ((d = (100 * RANDOM / M) < P ? ((d + 1) + 2 * (RANDOM % 2)) % 4 : d))
+    ((e = (d + 1) % 4))
+
+    # calculate new position
+    # d'  x'  y'
+    # 0: x+1 y-1
+    # 1: x-1 y-1
+    # 2: x-1 y+1
+    # 3: x+1 y+1
+    ((xn = e < 2 ? x + 1 : x - 1))
+    ((yn = d < 2 ? y - 1 : y + 1))
+    
+    # adjust position and change color?
+    ((d < 2 && y == 0)) && ((yn--, CC=1))
+    ((e > 1 && x == 0)) && ((xn--, CC=1))
+    ((d > 1 && y == H)) && ((yn++, CC=1))
+    ((e < 2 && x == W)) && ((xn++, CC=1))
+    ((CC)) && c=${COLORS[${#COLORS[@]} * RANDOM / M]}
+    ((CC)) && t[n]=${T[${#T[@]} * RANDOM / M]}
+
+    # warp pipe
+    ((xn = (xn + W + 1) % (W + 1)))
+    ((yn = (yn + H + 1) % (H + 1)))
+
+    # calculate position in terminal
+    # d'  xt   yt
+    # 0: x'   y'+1
+    # 1: x'+1 y'+1
+    # 2: x'+1 y'
+    # 3: x'   y'
+    ((xt = e < 2 ? xn : xn + 1))
+    ((yt = d < 2 ? yn + 1 : yn))
+
+    echo -ne "\e[${yt};${xt}H"
+    [[ $NOCOLOR ]] || echo -ne "\e[1;${c}m"
+    echo -n "${SETS[t[n]]:d%2:1}"
+
+    X[n]=$xn Y[n]=$yn
+    D[n]=$d C[n]=$c
+  done
+  read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit
+  ((R)) && ((r += N, r >= R)) && r=0 && clear
+done
+
+do_exit
\ No newline at end of file
diff --git a/fun/bin/rain b/fun/bin/rain
new file mode 100755
index 0000000..8a8d8f6
--- /dev/null
+++ b/fun/bin/rain
@@ -0,0 +1,100 @@
+#!/bin/bash
+RAINS=("|" "│" "┃" "┆" "┇" "┊" "┋" "╽" "╿")
+COLORS=("\e[37m" "\e[37;1m")
+# More from 256 color mode
+for i in {244..255}; do
+  COLORS=("${COLORS[@]}" "\e[38;5;${i}m")
+done
+NRAINS=${#RAINS[@]}
+NCOLORS=${#COLORS[@]}
+NUM_RAIN_METADATA=5
+
+
+sigwinch() {
+  TERM_WIDTH=$(tput cols)
+  TERM_HEIGHT=$(tput lines)
+  STEP_DURATION=0.025
+  ((MAX_RAINS = TERM_WIDTH * TERM_HEIGHT / 4))
+  ((MAX_RAIN_LENGTH = TERM_HEIGHT < 10 ? 1 : TERM_HEIGHT / 10))
+  # In percentage
+  ((NEW_RAIN_ODD = TERM_HEIGHT > 50 ? 100 : TERM_HEIGHT * 2))
+  ((NEW_RAIN_ODD = NEW_RAIN_ODD * 75 / 100))
+  ((FALLING_ODD = TERM_HEIGHT > 25 ? 100 : TERM_HEIGHT * 4))
+  ((FALLING_ODD = FALLING_ODD * 90 / 100))
+  }
+
+do_exit() {
+  echo -ne "\e[${TERM_HEIGHT};1H\e[0K"
+
+  # Show cursor and echo stdin
+  echo -ne "\e[?25h"
+  stty echo
+  exit 0
+  }
+
+do_render() {
+  # Clean screen first
+  for ((idx = 0; idx < num_rains * NUM_RAIN_METADATA; idx += NUM_RAIN_METADATA)); do
+    X=${rains[idx]}
+    Y=${rains[idx + 1]}
+    LENGTH=${rains[idx + 4]}
+    for ((y = Y; y < Y + LENGTH; y++)); do
+      (( y < 1 || y > TERM_HEIGHT )) && continue
+      echo -ne "\e[${y};${X}H "
+    done
+  done
+
+  for ((idx = 0; idx < num_rains * NUM_RAIN_METADATA; idx += NUM_RAIN_METADATA)); do
+    if ((100 * RANDOM / 32768 < FALLING_ODD)); then
+      # Falling
+      if ((++rains[idx + 1] > TERM_HEIGHT)); then
+        # Out of screen, bye sweet <3
+        rains=("${rains[@]:0:idx}"
+               "${rains[@]:idx+NUM_RAIN_METADATA:num_rains*NUM_RAIN_METADATA}")
+        ((num_rains--))
+        continue
+      fi
+    fi
+    X=${rains[idx]}
+    Y=${rains[idx + 1]}
+    RAIN=${rains[idx + 2]}
+    COLOR=${rains[idx + 3]}
+    LENGTH=${rains[idx + 4]}
+    for ((y = Y; y < Y + LENGTH; y++)); do
+      (( y < 1 || y > TERM_HEIGHT )) && continue
+      echo -ne "\e[${y};${X}H${COLOR}${RAIN}"
+    done
+  done
+  }
+
+trap do_exit TERM INT
+trap sigwinch WINCH
+# No echo stdin and hide the cursor
+stty -echo
+echo -ne "\e[?25l"
+
+echo -ne "\e[2J"
+rains=()
+sigwinch
+while :; do
+  read -n 1 -t $STEP_DURATION ch
+  case "$ch" in
+    q|Q)
+      do_exit
+      ;;
+  esac
+
+  if ((num_rains < MAX_RAINS)) && ((100 * RANDOM / 32768 < NEW_RAIN_ODD)); then
+    # Need new |, 1-based
+    RAIN="${RAINS[NRAINS * RANDOM / 32768]}"
+    COLOR="${COLORS[NCOLORS * RANDOM / 32768]}"
+    LENGTH=$((MAX_RAIN_LENGTH * RANDOM / 32768 + 1))
+    X=$((TERM_WIDTH * RANDOM / 32768 + 1))
+    Y=$((1 - LENGTH))
+    rains=("${rains[@]}" "$X" "$Y" "$RAIN" "$COLOR" "$LENGTH")
+    ((num_rains++))
+  fi
+
+  # Let rain fall!
+  do_render
+done
\ No newline at end of file
diff --git a/fun/bin/ryu b/fun/bin/ryu
new file mode 100755
index 0000000..070f8bb
--- /dev/null
+++ b/fun/bin/ryu
@@ -0,0 +1,188 @@
+#!/bin/bash
+#      s y n t a x . s a m u r a i
+#            p r e s e n t s
+#
+#      ███████   ██    ██ ██     ██
+#     ░██░░░░██ ░░██  ██ ░██    ░██
+#     ░██   ░██  ░░████  ░██    ░██
+#     ░███████    ░░██   ░██    ░██
+#     ░██░░░██     ░██   ░██    ░██
+#     ░██  ░░██    ░██   ░██    ░██
+#     ░██   ░░██   ░██   ░░███████
+#     ░░     ░░    ░░     ░░░░░░░
+#
+# ansi art of ryu hayabusa from ninja gaiden
+# 
+#  ▓▓▓▓▓▓▓▓▓▓
+# ░▓ author ▓ xero <x@xero.nu>
+# ░▓ code   ▓ http://code.xero.nu/ryu
+# ░▓ mirror ▓ http://git.io/ryu
+# ░▓▓▓▓▓▓▓▓▓▓
+# ░░░░░░░░░░
+
+cols=`tput cols`
+pad () {
+	count=$1
+	until [[ $count -eq 1 ]]; do
+		let count-=1
+		echo -ne "."
+	done;
+	if [[ $2 ]]; then
+		echo "."
+	fi
+}
+let half=($cols-100)/2
+half=${half/.*}
+
+if [[ -z $1 || $1 == "--grey" || $1 == "-g" || $1 == "grey" ]]; then
+	pad $half; echo -en "..░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒                         ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒                         ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░░░▒▒▒▒          ▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒                             ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░░▒▒▒▒               ▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░░▒▒▒                    ▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                    ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░░▒                            ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░░      ░░░░░░░░░░░░░                                      ░░░░░░░░░░░░       ▒          ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░ ▒    ░░░▓▓▓▓▓▓▓▓▓▓▓▓░░                                 ░░░░░░░░░░░░░░░ ░               ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░░     ░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░                          ░░░░░░░░░░░░░░░░░░░                ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░ ▒  ░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░             ░░▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░  ░   ▒         ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░ ░  ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░ ░  ▒         ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░ ░  ░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░  ░    ▒        ."; pad $half true
+	pad $half; echo -en ".░░░░░░░░░▒  ░ ░               ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓░                 ░            ."; pad $half true
+	pad $half; echo -en "░░░░░░░░░░   ░░░  ░                 ▓▓▓▓▓▓▓▓░▓▓▓▓░░░▓░░░░░░▓▓▓▓▓                    ░ ░   ▒         "; pad $half true
+	pad $half; echo -en "░░░░░░░░▒▒   ░░░░░ ░                  ▓▓▓▓▓▓░▓▓▓▓░░▓▓▓░░░░░░▓▓                    ░  ░ ░  ▒         "; pad $half true
+	pad $half; echo -en "░░░░░░░░▒    ░░░░░░░░░ ░                 ░▓░░▓▓▓▓▓░▓▓▓░░░░░                   ░ ░░ ░░ ░   ▒         "; pad $half true
+	pad $half; echo -en "░░░░░░░▒▒    ░░░░░░░   ░░                    ▓▓▓▓▓▓▓▓▓░░                   ░░    ░ ░░ ░    ▒        "; pad $half true
+	pad $half; echo -en "░░░░░░░▒▒    ░░░░░░░░░░                      ░▓▓▓▓▓▓▓░░░                     ░░░  ░  ░ ░   ▒        "; pad $half true
+	pad $half; echo -en "░░░░░░░ ▒    ░░░░░░                         ░░░▓▓▓░▓░░░░      ░                  ░ ░░ ░    ▒        "; pad $half true
+	pad $half; echo -en "░░░░░░░ ▒    ░░░░░░░     ▓▓        ▓  ░░ ░░░░░░░░░░░░░  ░   ░░  ▓        █▓       ░  ░ ░   ▒▒       "; pad $half true
+	pad $half; echo -en ".░░░░░▒ ▒    ░░░░░░░░  ▓▓██  ▓  ██ ██▓  ▓ ░░░▓░  ░ ░ ░░░░  ▓   ██ ▓█  ▓  ██▓▓  ░░░░  ░ ░    ▒      ."; pad $half true
+	pad $half; echo -en ".░░░░░▒ ▒▒   ░░░░░░░░░  ▓██  ▓▓  ▓ ██▓  ▓░░░░▓▓░  ░░░░░░░░ ▓  ▓██ ▓   ▓  ██▓▓ ░░░░░░░ ░     ▒      ."; pad $half true
+	pad $half; echo -en ".░░░░░  ▒░   ░░░░░░░▓░░ ▓███  ▓▓▓▓ ███░  ░░░░▓▓░░░░░░░░░░    ░▓██  ▓▓▓  ███▓ ░░▓▓░░  ░    ▒ ▒      ."; pad $half true
+	pad $half; echo -en "..░░░░  ▒░    ░░░░▓▓▓▓▓▓░  ███    ██      ░░░░░▓▓▓▓▓░░░░░░░     ███   ████ ░░▓▓▓▓░░  ░    ▒ ▒      ."; pad $half true
+	pad $half; echo -en "..░░░░ ▒ ░▒    ░░▓▓▓▓▓▓▓▓▓▓ ██████  ▓▓▓░░ ░░░░▓▓▓▓▓▓░░░░░░░░░▓▓▓   █████  ▓▓▓▓▓▓▓░░░░    ▒▒ ▒      ."; pad $half true
+	pad $half; echo -en "..░░░░ ░ ░░     ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█░░░░░░░▓▓▓▓▓▓▓░░░░ ░░   ░░▓░▓▓░░░░░░░▓▓▓▓▓▓░░      ▒▒ ▒      ."; pad $half true
+	pad $half; echo -en "..░░░░ ░ ░░      ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██  ░░░░░░░▓▓▓▓▓▓▓░░░░  ░░░░░   ░░░░░░░░░▓▓▓▓▓░░ ░    ▒▒  ▒      ."; pad $half true
+	pad $half; echo -en "..░░░░▒░░▒░░      ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓▓▓▓▓▓▓░░░  ░░░░░░░░░░░░░░░░░░▓▓░░░░      ▒▒  ▒     .."; pad $half true
+	pad $half; echo -en "..░░░░▒░░ ░░       ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓░░░░  ░░░░░░░░░░░░░░░░░░░░░        ▒▒  ▒     .."; pad $half true
+	pad $half; echo -en "..░░░░░░░ ▒░▒       ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▓▓▓░░   ░░░░░  ░░░░░░░░░░░░░░░░░░░░         ▒   ▒     .."; pad $half true
+	pad $half; echo -en "..░░░░░░░░░░░           ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓              ░    ░░░░░░░░░░░░░░░            ▒   ▒     .."; pad $half true
+	pad $half; echo -en "...░░░░░░░░░░░▒  ▒▒        ▓▓▓▓▓▓▓▓▓▓▓▓▓  ░░░░░░░░░░▒▒                         ▒▒▒▒▒   ▒    ▒    ..."; pad $half true
+	pad $half; echo -en "...░░░░░░░░░░ ░▒ ▒▒▒░░░        ▓▓▓▓▓▓   ░░░░░░░░░░░░░▒▒▒      ▒▒▒▒▒░░░░▒▒    ▒▒▒▒▒▒▒  ▒▒    ▒    ..."; pad $half true
+	pad $half; echo -en "...░░░░░░░░░░ ░░░ ▒▒▒░░░░░░          ░░░░░ ░░░░░░░░░░▒░▒     ▒▒▒▒▒▒░░░░░░▒▒▒▒▒░▒▒▒▒   ▒▒         ..."; pad $half true
+	pad $half; echo -en "....░░░░░░░░░░ ░░░░░  ▒▒░░░░░░░░░░░░░░    ░░░░░░░░░  ▒░▒▒    ▒▒▒▒▒░░░░▒▒▒▒▒▒░░▒▒▒   ▒▒▒         ...."; pad $half true
+	pad $half; echo -en "....░░░░░░░░░░░░░░░░░░  ▒░░░░░░░░░░░   ░░░░░░░░░░░░░░   ▒   ▒▒▒▒▒▒▒░▒▒▒▒▒▒░░░░▒▒▒   ▒▒          ...."; pad $half true
+	pad $half; echo -en "....░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░      ▒▒▒▒▒▒▒    ▒  ░░░▒▒▒▒  ▒▒▒          ...."; pad $half true
+	pad $half; echo -en ".....░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ▒░▒▒▒ ▒▒▒    ▒░░░░░░░░░░▒   ▒▒▒▒      ▒   ....."; pad $half true
+	pad $half; echo -en ".....░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒  ░░▒▒▒▒▒▒░░░░░░░░░░░░░▒  ░▒▒▒▒       ▒   ....."; pad $half true
+	pad $half; echo -en ".....░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒ ▒▒░▒▒▒▒▒▒▒░░░░░░░░░░  ░░▒▒▒▒▒       ▒   ....."; pad $half true
+	pad $half; echo -en ".....░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒ ░▒▒▒▒▒▒▒▒▒░░▒░░░░░░ ░░▒▒▒▒▒▒      ▒    ....."; pad $half true
+	pad $half; echo -en "......░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░▒░▒▒▒ ▒▒▒▒▒░░░░░░░░░▒▒▒▒▒        ▒    ....."; pad $half true
+	pad $half; echo -en "......░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░▒▒▒▒▒     ░░░░░░░░▒▒▒▒▒▒        ▒    ....."; pad $half true
+	pad $half; echo -en "......░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒░░▒░▒▒▒▒▒▒  ▒░░░░░░░▒▒▒▒▒▒        ▒     ....."; pad $half true
+else
+	if [[ $1 == "--color" || $1 == "-c" || $1 == "color" ]]; then
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒\e[0;36m░░░░░░░░\e[0;34m▒▒▒▒▒▒                         \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▒▒▒▒▒▒\e[0;36m░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒\e[0;36m░░░░░░░░\e[0;34m▒▒▒▒▒▒▒                         \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒          ▒▒▒▒▒▒▒▒\e[0;36m░░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒\e[0;36m░░░░\e[0;34m▒▒▒▒▒▒▒▒▒                             \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░░\e[0;34m▒▒▒▒               ▒▒▒▒▒\e[0;36m░░░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░░\e[0;34m▒▒▒                    ▒▒▒▒\e[0;36m░░\e[0;34m▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                    \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░░\e[0;34m▒                            ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒                                        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░░      \e[0;33m░░░░░░░░░░░░░                                      ░░░░░░░░░░░░       \e[0;34m▒          \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░ \e[0;34m▒    \e[0;33m░░░▓▓▓▓▓▓▓▓▓▓▓▓░░                                 ░░░░░░░░░░░░░░░ ░               \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░░     \e[0;33m░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░                          ░░░░░░░░░░░░░░░░░░░                \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░ \e[0;34m▒  \e[0;33m░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░             ░░▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░  ░    \e[0;34m▒        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░ ░  \e[0;33m░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░ ░  \e[0;34m▒         \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░ ░  \e[0;33m░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░  ░    \e[0;34m▒        \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░░░░░\e[0;34m▒  \e[0;33m░ ░               ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓░                 ░            \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░░░░   \e[0;33m░░░  ░                 ▓▓▓▓▓▓▓▓░▓▓▓▓░░░▓░░░░░░▓▓▓▓▓                    ░ ░   \e[0;34m▒         \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░░\e[0;34m▒▒   \e[0;33m░░░░░ ░                  ▓▓▓▓▓▓░▓▓▓▓░░▓▓▓░░░░░░▓▓                    ░  ░ ░  \e[0;34m▒         \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░░\e[0;34m▒    \e[0;33m░░░░░░░░░ ░                 ░▓░░▓▓▓▓▓░▓▓▓░░░░░                   ░ ░░ ░░ ░   \e[0;34m▒         \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░\e[0;34m▒▒    \e[0;33m░░░░░░░   ░░                    ▓▓▓▓▓▓▓▓▓░░                   ░░    ░ ░░ ░    \e[0;34m▒        \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░\e[0;34m▒▒    \e[0;33m░░░░░░░░░░                      ░▓▓▓▓▓▓▓░░░                     ░░░  ░  ░ ░   \e[0;34m▒        \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░ \e[0;34m▒    \e[0;33m░░░░░░                         ░░░▓▓▓░▓░░░░      ░                  ░ ░░ ░    \e[0;34m▒        \e[0;37m."; pad $half true
+		pad $half; echo -en "\e[0;37m\e[0;36m░░░░░░░ \e[0;34m▒    \e[0;33m░░░░░░░     \e[0;39m▓▓        ▓  \e[0;33m░░ ░░░░░░░░░░░░░  ░   ░░  \e[0;39m▓        █▓       \e[0;33m░  ░ ░   \e[0;34m▒▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░\e[0;34m▒ ▒    \e[0;33m░░░░░░░░  \e[0;39m▓▓██  \e[0;36m▓  ██ \e[0;39m██▓  \e[0;33m▓ ░░░▓░  ░ ░ ░░░░  ▓   \e[0;39m██ \e[0;36m▓█  ▓\e[0;39m  ██▓▓  \e[0;33m░░░░  ░ ░    \e[0;34m▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░\e[0;34m▒ ▒▒   \e[0;33m░░░░░░░░░  \e[0;39m▓██  \e[0;36m▓▓  ▓ \e[0;39m██▓  \e[0;33m▓░░░░▓▓░  ░░░░░░░░ ▓  \e[0;39m▓██ \e[0;36m▓   ▓\e[0;39m  ██▓▓ \e[0;33m░░░░░░░ ░     \e[0;34m▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m.\e[0;36m░░░░░  \e[0;34m▒\e[0;36m░   \e[0;33m░░░░░░░▓░░ \e[0;39m▓███  \e[0;36m▓▓▓▓ \e[0;39m███░  \e[0;33m░░░░▓▓░░░░░░░░░░    \e[0;39m░▓██  \e[0;36m▓▓▓  \e[0;39m███▓ \e[0;33m░░▓▓░░  ░    \e[0;34m▒ ▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░  \e[0;34m▒\e[0;36m░    \e[0;33m░░░░▓▓▓▓▓▓░  \e[0;39m███    ██      \e[0;33m░░░░░▓▓▓▓▓░░░░░░░     \e[0;39m███   ████ \e[0;33m░░▓▓▓▓░░  ░    \e[0;34m▒ ▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░ \e[0;34m▒ \e[0;36m░\e[0;34m▒    \e[0;33m░░▓▓▓▓▓▓▓▓▓▓ \e[0;39m██████  \e[0;33m▓▓▓░░ ░░░░▓▓▓▓▓▓░░░░░░░░░▓▓▓   \e[0;39m█████  \e[0;33m▓▓▓▓▓▓▓░░░░    \e[0;34m▒▒ ▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░ ░ ░░     \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█░░░░░░░▓▓▓▓▓▓▓░░░░ ░░   ░░▓░▓▓░░░░░░░▓▓▓▓▓▓░░      \e[0;34m▒▒ ▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░ ░ ░░      \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██  ░░░░░░░▓▓▓▓▓▓▓░░░░  ░░░░░   ░░░░░░░░░▓▓▓▓▓░░ ░    \e[0;34m▒▒  ▒      \e[0;37m.."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░\e[0;34m▒\e[0;36m░░\e[0;34m▒\e[0;36m░░      \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓▓▓▓▓▓▓░░░  ░░░░░░░░░░░░░░░░░░▓▓░░░░      \e[0;34m▒▒  ▒     \e[0;37m..."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░\e[0;34m▒\e[0;36m░░ ░░       \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓░░░░  ░░░░░░░░░░░░░░░░░░░░░        \e[0;34m▒▒  ▒     \e[0;37m..."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░░░░ \e[0;34m▒\e[0;36m░\e[0;34m▒       \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▓▓▓░░   ░░░░░  ░░░░░░░░░░░░░░░░░░░░         \e[0;34m▒   ▒     \e[0;37m..."; pad $half true
+		pad $half; echo -en "\e[0;37m..\e[0;36m░░░░░░░░░░░           \e[0;33m░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓              ░    ░░░░░░░░░░░░░░░            \e[0;34m▒   ▒     \e[0;37m..."; pad $half true
+		pad $half; echo -en "\e[0;37m...\e[0;36m░░░░░░░░░░░\e[0;34m▒  ▒▒        \e[0;33m▓▓▓▓▓▓▓▓▓▓▓▓▓  \e[0;36m░░░░░░░░░░\e[0;34m▒▒                         ▒▒▒▒▒   \e[0;34m▒    ▒    \e[0;37m...."; pad $half true
+		pad $half; echo -en "\e[0;37m...\e[0;36m░░░░░░░░░░ ░\e[0;34m▒ ▒▒▒\e[0;36m░░░        \e[0;33m▓▓▓▓▓▓   \e[0;36m░░░░░░░░░░░░░\e[0;34m▒▒▒      ▒▒▒▒▒\e[0;36m░░░░\e[0;34m▒▒    ▒▒▒▒▒▒▒  ▒▒    ▒    \e[0;37m...."; pad $half true
+		pad $half; echo -en "\e[0;37m...\e[0;36m░░░░░░░░░░ ░░░ \e[0;34m▒▒▒\e[0;36m░░░░░░          ░░░░░ ░░░░░░░░░░\e[0;34m▒\e[0;36m░\e[0;34m▒     ▒▒▒▒▒▒\e[0;36m░░░░░░\e[0;34m▒▒▒▒▒\e[0;36m░\e[0;34m▒▒▒▒   ▒▒         \e[0;37m...."; pad $half true
+		pad $half; echo -en "\e[0;37m....\e[0;36m░░░░░░░░░░ ░░░░░  \e[0;34m▒▒\e[0;36m░░░░░░░░░░░░░░    ░░░░░░░░░  \e[0;34m▒\e[0;36m░\e[0;34m▒▒    ▒▒▒▒▒\e[0;36m░░░░\e[0;34m▒▒▒▒▒▒\e[0;36m░░\e[0;34m▒▒▒   ▒▒▒         \e[0;37m....."; pad $half true
+		pad $half; echo -en "\e[0;37m....\e[0;36m░░░░░░░░░░░░░░░░░░  \e[0;34m▒\e[0;36m░░░░░░░░░░░   ░░░░░░░░░░░░░░   \e[0;34m▒   ▒▒▒▒▒▒▒\e[0;36m░\e[0;34m▒▒▒▒▒▒\e[0;36m░░░░\e[0;34m▒▒▒   ▒▒          \e[0;37m....."; pad $half true
+		pad $half; echo -en "\e[0;37m....\e[0;36m░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░      \e[0;34m▒▒▒▒▒▒▒    \e[0;34m▒  \e[0;36m░░░\e[0;34m▒▒▒▒  ▒▒▒          \e[0;37m....."; pad $half true
+		pad $half; echo -en "\e[0;37m.....\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ \e[0;34m▒\e[0;36m░\e[0;34m▒▒▒ ▒▒▒    ▒\e[0;36m░░░░░░░░░░\e[0;34m▒   ▒▒▒▒      ▒   \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m.....\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒  \e[0;36m░░\e[0;34m▒▒▒▒▒▒\e[0;36m░░░░░░░░░░░░░\e[0;34m▒  \e[0;36m░\e[0;34m▒▒▒▒       ▒   \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m.....\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒ ▒▒\e[0;36m░\e[0;34m▒▒▒▒▒▒▒\e[0;36m░░░░░░░░░░  ░░\e[0;34m▒▒▒▒▒       \e[0;34m▒   \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m.....\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒ \e[0;36m░\e[0;34m▒▒▒▒▒▒▒▒▒\e[0;36m░░\e[0;34m▒\e[0;36m░░░░░░ ░░\e[0;34m▒▒▒▒▒▒      ▒    \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m......\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒\e[0;36m░░\e[0;34m▒\e[0;36m░\e[0;34m▒▒▒ ▒▒▒▒▒\e[0;36m░░░░░░░░░\e[0;34m▒▒▒▒▒        ▒    \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m......\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒▒\e[0;36m░\e[0;34m▒▒▒▒▒     \e[0;36m░░░░░░░░\e[0;34m▒▒▒▒▒▒        ▒    \e[0;37m......"; pad $half true
+		pad $half; echo -en "\e[0;37m......\e[0;36m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\e[0;34m▒▒▒\e[0;36m░░\e[0;34m▒\e[0;36m░\e[0;34m▒▒▒▒▒▒  ▒\e[0;36m░░░░░░░\e[0;34m▒▒▒▒▒▒        ▒     \e[0;37m......"; pad $half true
+	elif [[ $1 = '--version' || $1 = '-v' || $1 == "version" ]]; then
+		echo "ryu version 1.0.0"
+		echo "xero / syntax-samurai <http://git.io/ryu>"
+		echo "        ▟▙"
+		echo "▟▒░░░░░░░▜▙▜████████████████████████████████▛"
+		echo "▜▒░░░░░░░▟▛▟▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▛"
+		echo "        ▜▛"
+		echo "this program is free software, and distributed under the Creative Commons "
+		echo "Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0)"
+		echo "http://creativecommons.org/licenses/by-sa/3.0/"
+		exit
+	elif [[ $1 = '--help' || $1 = '-h' || $1 == "help" ]]; then
+		echo ""
+		echo "    s y n t a x . s a m u r a i"
+		echo "          p r e s e n t s"
+		echo ""
+		echo "    ███████   ██    ██ ██     ██"
+		echo "   ░██░░░░██ ░░██  ██ ░██    ░██"
+		echo "   ░██   ░██  ░░████  ░██    ░██"
+		echo "   ░███████    ░░██   ░██    ░██"
+		echo "   ░██░░░██     ░██   ░██    ░██"
+		echo "   ░██  ░░██    ░██   ░██    ░██"
+		echo "   ░██   ░░██   ░██   ░░███████"
+		echo "   ░░     ░░    ░░     ░░░░░░░"
+		echo ""
+		echo "       usage: ryu [option]"
+		echo ""
+		echo " ansi art of ryu hayabusa from ninja gaiden"
+		echo ""
+		echo " --help,    -h : display this message"
+		echo " --version, -v : display version and license"
+		echo " --grey,    -g : display the art [default]"
+		echo " --color,   -c : display the art in color"
+		echo ""
+		echo "        ▟▙"
+		echo "▟▒░░░░░░░▜▙▜████████████████████████████████▛"
+		echo "▜▒░░░░░░░▟▛▟▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▛"
+		echo "        ▜▛"
+		echo ""
+		echo "  author:  xero harrison > http://xero.nu"
+		echo "        homepage: http://git.io/ryu"
+		echo "  crew: http://github.com/syntax-samurai"
+		echo ""
+		exit
+	else
+		echo "unknown option"
+		echo "call 'ryu --help' for more info"
+		exit
+	fi
+fi
+exit
\ No newline at end of file
diff --git a/fun/bin/slendy b/fun/bin/slendy
new file mode 100755
index 0000000..766e06c
--- /dev/null
+++ b/fun/bin/slendy
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+initializeANSI()
+{
+  esc=""
+
+  blackf="${esc}[30m";   redf="${esc}[31m";    greenf="${esc}[32m"
+  yellowf="${esc}[33m"   bluef="${esc}[34m";   purplef="${esc}[35m"
+  cyanf="${esc}[36m";    whitef="${esc}[37m"
+  
+  blackb="${esc}[40m";   redb="${esc}[41m";    greenb="${esc}[42m"
+  yellowb="${esc}[43m"   blueb="${esc}[44m";   purpleb="${esc}[45m"
+  cyanb="${esc}[46m";    whiteb="${esc}[47m"
+
+  boldon="${esc}[1m";    boldoff="${esc}[22m"
+  italicson="${esc}[3m"; italicsoff="${esc}[23m"
+  ulon="${esc}[4m";      uloff="${esc}[24m"
+  invon="${esc}[7m";     invoff="${esc}[27m"
+
+  reset="${esc}[0m"
+}
+
+initializeANSI
+
+cat << EOF
+
+              ${reset}${blackf}|               |               |               |               |${reset}
+   ${redf}█     █${reset}    ${blackf}|${reset}    ${greenf}█     █${reset}    ${blackf}|${reset}    ${yellowf}█     █${reset}    ${blackf}|${reset}    ${bluef}█     █${reset}    ${blackf}|${reset}    ${purplef}█     █${reset}    ${blackf}|${reset}    ${cyanf}█     █${reset}
+   ${redf}███████${reset}    ${blackf}|${reset}    ${greenf}███████${reset}    ${blackf}|${reset}    ${yellowf}███████${reset}    ${blackf}|${reset}    ${bluef}███████${reset}    ${blackf}|${reset}    ${purplef}███████${reset}    ${blackf}|${reset}    ${cyanf}███████${reset}
+ ${redf}███${boldon}${redb}██${reset}${redf}█${boldon}${redb}██${reset}${redf}███${reset}  ${blackf}|${reset}  ${greenf}███${boldon}${greenb}██${reset}${greenf}█${boldon}${greenb}██${reset}${greenf}███${reset}  ${blackf}|${reset}  ${yellowf}███${boldon}${yellowb}██${reset}${yellowf}█${boldon}${yellowb}██${reset}${yellowf}███${reset}  ${blackf}|${reset}  ${bluef}███${boldon}${blueb}██${reset}${bluef}█${boldon}${blueb}██${reset}${bluef}███${reset}  ${blackf}|${reset}  ${purplef}███${boldon}${purpleb}██${reset}${purplef}█${boldon}${purpleb}██${reset}${purplef}███${reset}  ${blackf}|${reset}  ${cyanf}███${boldon}${cyanb}██${reset}${cyanf}█${boldon}${cyanb}██${reset}${cyanf}███${reset}
+  ${redf}████${boldon}${redb}█${reset}${redf}████${reset}   ${blackf}|${reset}   ${greenf}████${boldon}${greenb}█${reset}${greenf}████${reset}   ${blackf}|${reset}   ${yellowf}████${boldon}${yellowb}█${reset}${yellowf}████${reset}   ${blackf}|${reset}   ${bluef}████${boldon}${blueb}█${reset}${bluef}████${reset}   ${blackf}|${reset}   ${purplef}████${boldon}${purpleb}█${reset}${purplef}████${reset}   ${blackf}|${reset}   ${cyanf}████${boldon}${cyanb}█${reset}${cyanf}████${reset}
+  ${redf}█ █ ${boldon}█${reset} ${redf}█ █${reset}   ${blackf}|${reset}   ${greenf}█ █ ${boldon}█${reset} ${greenf}█ █${reset}   ${blackf}|${reset}   ${yellowf}█ █ ${boldon}█${reset} ${yellowf}█ █${reset}   ${blackf}|${reset}   ${bluef}█ █ ${boldon}█${reset} ${bluef}█ █${reset}   ${blackf}|${reset}   ${purplef}█ █ ${boldon}█${reset} ${purplef}█ █${reset}   ${blackf}|${reset}   ${cyanf}█ █ ${boldon}█${reset} ${cyanf}█ █${reset}
+    ${redf}█   █${reset}     ${blackf}|${reset}     ${greenf}█   █${reset}     ${blackf}|${reset}     ${yellowf}█   █${reset}     ${blackf}|${reset}     ${bluef}█   █${reset}     ${blackf}|${reset}     ${purplef}█   █${reset}     ${blackf}|${reset}     ${cyanf}█   █${reset}
+              ${blackf}|               |               |               |               |${reset}
+EOF
\ No newline at end of file
-- 
cgit v1.2.1