User:Nemo
From XKCD Wiki
[edit] #xkcd
a denizen.
[edit] #xkcd-signal
re: #xkcd-signal, and User:Joannac's table of idle times, here is a script.
xkcd-signal.sh
#!/bin/bash
# http://wiki.xkcd.com/wirc/index.php?title=User:Joannac&oldid=14352
# 21600 seconds within a 6 hour block. This start param effectively sets how many seconds into the 6 hour block we start our first ban :)
totaltime=21599
nextbantime=4
[[ -n $1 ]] && rounds=$1 || rounds=15
[[ -n $2 ]] && totaltime=$2 || totaltime=0
printf %5s "Ban #"
printf %20s "Ban time"
printf %20s "Total time"
printf %10s "Halved?"
printf "%20s\n" "Next Ban time"
for i in $(seq 1 $rounds) ; do
trip=""
bantime=$nextbantime
totaltime=$(($totaltime + $bantime))
nextbantime=$(($bantime * 4))
for check in $(seq $(($lasttothours+1)) $(($totaltime/3600))) ; do
[[ $check%6 -eq 0 ]] && nextbantime=$(($nextbantime/2)) && trip=".$trip"
done
printf %5s $i
printf ""%11dh:%2.2dm:%2.2ds"" $(($bantime/3600)) $(($bantime%3600/60)) $(($bantime%60))
printf ""%11dh:%2.2dm:%2.2ds"" $(($totaltime/3600)) $(($totaltime%3600/60)) $(($totaltime%60))
printf %10s $trip
printf ""%11dh:%2.2dm:%2.2ds"\n" $(($nextbantime/3600)) $(($nextbantime%3600/60)) $(($nextbantime%60))
lasttothours=$(($totaltime/3600))
done
Takes up to two arguments, but needs neither.
The mathematics here assume that there is zero time between the end of one ban, and the beginning of another. This is not actually possible within the real world.
Default output:
Ban # Ban time Total time Halved? Next Ban time
1 0h:00m:04s 0h:00m:04s 0h:00m:16s
2 0h:00m:16s 0h:00m:20s 0h:01m:04s
3 0h:01m:04s 0h:01m:24s 0h:04m:16s
4 0h:04m:16s 0h:05m:40s 0h:17m:04s
5 0h:17m:04s 0h:22m:44s 1h:08m:16s
6 1h:08m:16s 1h:31m:00s 4h:33m:04s
7 4h:33m:04s 6h:04m:04s . 9h:06m:08s
8 9h:06m:08s 15h:10m:12s . 18h:12m:16s
9 18h:12m:16s 33h:22m:28s ... 9h:06m:08s
10 9h:06m:08s 42h:28m:36s .. 9h:06m:08s
11 9h:06m:08s 51h:34m:44s . 18h:12m:16s
12 18h:12m:16s 69h:47m:00s ... 9h:06m:08s
13 9h:06m:08s 78h:53m:08s .. 9h:06m:08s
14 9h:06m:08s 87h:59m:16s . 18h:12m:16s
15 18h:12m:16s 106h:11m:32s ... 9h:06m:08s
note that the pattern is more complex than that shown here, as 4h:33m:4s also appears repeatedly in time. (round 7 as shown, then again round 53, then 65, 75, 86... every 11th round till 174, then none till 320, when it occurs every 11 rounds again till 430...
(in fact, in 1000 rounds, the 9hour idle occurs 610 times. the 18hour idle occurs 339 times, and the 4hour idle occurs 46 times... )
[edit] #xkcd-tardis
vworp. vworp!