#!/usr/bin/ruby # WTFPL licensed # written by yunta83@gmail.com address = "www.google.com" low = (ARGV[0] or 20).to_f high = (ARGV[1] or 150).to_f history = (ARGV[2] or 10).to_i open("|ping #{address}") { |ping| pings = [] lastColor = "" while true ping.readline =~ /time=(\d+(\.\d+)?)/ pings << $1.to_f max = pings.max val = (max - low)*(255/(high-low)) p max val = [255,[0,val].max].min color = "%02X%02X00"%[val,255-val] `./g9led #{color}` if color != lastColor pings.shift if pings.size >=history lastColor = color end }