Fast Way to Randomize HD?
You can get OpenSSL to encrypt /dev/zero with a randomized password, giving decent pseudorandom data very fast (if your CPU supports accelerating it).
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | dd of=/dev/sda
You could pipe this through pv to get progress/ETA. The command I'm running right now is:
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | pv --progress --eta --rate --bytes --size 8000632782848 | dd of=/dev/md0 bs=2M
I got this idea from http://serverfault.com/a/415962/67295, after having the same problem as irrational John, who commented on Gilles's answer above. This increased my wipe speed to my new raid array from 11MB/s to around 300MB/s, taking what was going to take a week down to 10