Doing this too many times is really not a great idea. My machine started grinding to a halt _after_ I had killed the bash that was pumping out all the bangs. Reboot didn't fix it. Deleting my 2 gig ~/.bash_history did :)
haha .. that is so funny :P I did warn, though about not running it for the 7th iteration unless you want 125 million bang bangs in your history file :)
I'm too busy to check but I'd bet money that it's a Mersenne prime. The series looks exponential (like 2^n) and it's not hard to imagine that fenceposting (±1) led to each member in the series being (2^n)-1 - which is the form for Mersenne primes.
The script actually calculates strings, then counts the bangbangs. The 7th iteration took about 4 GiB RAM (temporarily, and 2 GiB in the end). Using this approach, I don't think there's enough RAM for the 8th iteration on this planet.
The algorithm would have to be optimized quite a lot before it could calculate the exact 8th value.
I am still skeptical for this . . the basic approximation formula gives a ballpark .. and when I put 159 million in the formula it gives me 12640500079500000 which is 12 quadrillion ... http://www.tools4noobs.com/online_tools/number_spell_words/
Reason I say this is - let's assume all 159 million bangs are expanded then 159*159 millions = 25 quadrillion
Not confused .. I had initially only had the image and not XKCD link until someone asked me to credit them .. I added the link without noticing the text. .removed the link now :)
I used to use a password that ended in !! before I knew about the command, before I even seriously used Linux. It caused problems setting up MySQL and even caused issues for a domain host while transferring a domain of mine. I don't use that password anymore :)
But using things that break other things from time to time is probably still a good idea to find software defects. I used to have a user on my machine whose name (and thus profile folder) contained a non-Latin-1 letter and a space.