This was one of my first ideas when I saw the contest, but I think it will not work unless you have a very large site you can open a more or less background popup, a lot of javascripts engines running at the same time are needed in order to compete even with just a single GPU of a good nvidia card...
Imagine the compute power a large site like Google or Yahoo could harness just by including some JavaScript that performs some computation in the background.
Might be interesting to port something like Folding@home to JavaScript and offer a simple <script> tag sites can include, a la Google Analytics or Disqus. The first time the visitor encounters a site with this script it would prompt them with a brief explanation and options to opt in or out of the program on this site or all sites.
I'm not really what he means either. If he was talking about kernel launches, there'd be no way he was getting 200k/sec since there's a bit of a launch latency (tens of milliseconds); the EngineYard program that one of the members posted on the CUDA forum can do over 200 million SHA hashes on a good card. One member said that he was getting over a billion hashes/sec on his multi-GPU setup.
By iteration, I mean one loop of my algorithm. I'm not brute forcing. There are a few other calculations I'm doing in addition to the hamming distance and the hash. I'm relying heavily on the random characters you get to append.
Hamming distance? Lowest looks like 31, and I've seen a bunch around there, but to save on iterations it's only dumping out every 1 million comparison, or ones less than 20.
What's notable is that my average is in the mid 30s. Seems like these JS based computers higher. Not sure why this is.
Well, since I have no intention of participating, let me share my idea: I'd ignore the words entirely and just choose some random ones. Then, I'd work the SHA1 hash up to the very last letter, then save the internals of the SHA1 data. From there, work all of the possible last letters. When that fails, back up one step (which I saved earlier), advance with the next letter, then keep going again with just hashing the last letter/number. This ought to get you another order of magnitude over naive brute forcing. Probably as clever as it is possible to get.
It's those last five characters that are the most interesting. If you have the time to get through all of a given set of words, then you can try a new word.
Essentially the same idea: http://pluraprocessing.com/. I reached out to Ray to see if they'd be interested in using us, but if anyone else would like to as well, just drop us a line.
I have to give this site some props for that sweet little graph they have of throughput. I want to use it to profile various browsers and operating systems, which has the nice side effect of helping them out.
apparently not "that" different, just started seeing a few pop up, I guess I am going to have to be careful about what tabs I leave open over the next 30 hours.
We also have some C and Java implementations helping out. C = 500,000 a sec per core and Java just under that.
Also, we will be tweeting out what our analytics say about how many computations took place in the browser sometime soon after the competition is over.
Best pure Mac solution seems to be http://www.stainlessapp.com/ in my own uneducated tests I can 100% load my MacBook Pro with 4 tabs each chugging at 2000/sec permutations
Lately, I've been thinking about the applications of a distributed system like this.
What you really need is an incentive for users to stay on your site. Porn is a good way to get people to do silly things like letting their browser eat up all their CPU. There used to be a virus that would popup a picture of a girl who would take off her clothes as you solved captchas for spammers (http://www.pcmag.com/article2/0,2704,2210674,00.asp)
Maybe something like: "the lower the hamming distance, the lower my top!"
I'm sure it'd be a lot faster if they made a Java Applet or JavaFX version. Is there a reason they didn't? They could always fall back to Javascript if Java wasn't installed.
copying from my faulty comment on silentmac implementation: Sorry for dual post:
This idea is a really well thought and implemented. This may be a new way of cloud sourcing. Have you considered making a facebook app? It would definitely attract many more people than this. Of course you should offer some carrots for users that do not have any idea what's going on.