tag:blogger.com,1999:blog-6909367658433794196.post4583411617616071805..comments2013-03-20T12:43:59.649-07:00Comments on Dave Troy: Fueled By Randomness: Hacking Freerice.com: A Program to Feed the WorldDave Troyhttp://www.blogger.com/profile/09594731243753943289noreply@blogger.comBlogger38125tag:blogger.com,1999:blog-6909367658433794196.post-46986840568325520082010-01-14T10:00:50.209-08:002010-01-14T10:00:50.209-08:00Please understand - while this is a masterful way ...Please understand - while this is a masterful way to promote your knowledge and skill - your efforts might eventually cause the end to the freerice.com website if they are unable to stop you. In the end you could be potentially hurting the starving people of the world. Now what's more important? You growing the number of people running this script to prove that the website is flawed? Or is it more important to feed the hungry through growth of legitimite users of the site? Do the right thing - destroy any bots or scripts and be honest. The makers of Freerice.com should be wasting their money to try to stop this kind of thing. If you want to help the hungry, then do so. But don't risk the loss of a website that actually works to help the hungry.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-46334360996029304992008-10-24T18:29:00.000-07:002008-10-24T18:29:00.000-07:00I found the math section of Freerice to be ridicul...I found the math section of Freerice to be ridiculously easy to automate, no learning required since computers are good at math. I'm not sure if I should run my program too much though. If the advertisements don't load, does freerice still get money to buy rice with? (I'm getting about 10,000 grains per minute)nobodyhttps://www.blogger.com/profile/15208043441657022425noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-12215011657247067842008-05-31T11:52:00.000-07:002008-05-31T11:52:00.000-07:00Hmm... Good script. just one thing after running i...Hmm... Good script. just one thing after running it for a few minuets and getting quite a bit of rice I get a error. The error is /usr/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill': execution expired (Timeout:Error)<BR/> from freerice.rb:167:in `join'<BR/> from freerice.rb:167Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-76492442260674146532008-05-30T15:52:00.000-07:002008-05-30T15:52:00.000-07:00Hey Dave, wanted to drop you a quick note and than...Hey Dave, wanted to drop you a quick note and thank you for stimulating an interesting discussion. I have been wondering about the possibility of 'gaming' the freerice site to feed more people and appears you have created a definitive answer. Also, it seems you have approached the challenge with curiosity, respect for the overall vision of freerice and not a malicious desire to harm the site. Cheers and kudos, XanderXhttps://www.blogger.com/profile/07460158345925972557noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-68708239634295631592008-05-08T09:27:00.000-07:002008-05-08T09:27:00.000-07:00It should be possible to make work on Windows with...It should be possible to make work on Windows with a Ruby + RubyGems implementation for Windows. I don't use Windows so I am not sure, but if you figure it out, feel free to post that info here!Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-39972980859510434942008-05-06T19:31:00.000-07:002008-05-06T19:31:00.000-07:00What do you need to make this work on windows?What do you need to make this work on windows?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-57128034332662597582008-05-02T04:24:00.000-07:002008-05-02T04:24:00.000-07:00Hi -- to the two most recent posters.1) When the p...Hi -- to the two most recent posters.<BR/><BR/>1) When the program was created the number of grains per correct answer was 10; if it's 20 now that's a simple change. <BR/><BR/>2) AGENT_ALIASES is a list of potential user agents that WWW::Mechanize can use. My usage of it is to simply create a new array from which a random choice can be made; I remove the 'mechanize' user agent to that the browsers that are launched appear as multiple different types of browser.<BR/><BR/>I don't know if the python implementation has a comparable structure, but if not exactly the same, it should be possible to set the user agent to any arbitrary value.Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-55752903699969348382008-05-01T18:45:00.000-07:002008-05-01T18:45:00.000-07:00Hi Dave,I've been poring over your code (and the S...Hi Dave,<BR/>I've been poring over your code (and the SmokyFlavor Python ricemaker, incidentally) as a case study in www::mechanize use. Are you familiar with the differences between the Ruby implementation, www::mechanize, and Python mechanize.py? For instance, I can't find an equivalent Agent_Aliases attribute in the mechanize.py code.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-14931290679145216162008-04-29T19:47:00.000-07:002008-04-29T19:47:00.000-07:00On freerice.com it says that every time you get a ...On freerice.com it says that every time you get a word right, it donates 20 grains of rice. On the program, it goes up by 10. Why is this? Should this actually be doubled?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-32534564936050961992008-04-28T11:16:00.000-07:002008-04-28T11:16:00.000-07:00Please re-read my previous post. You need to use ...Please re-read my previous post. You need to use "sudo gem install mechanize" and then "ruby freerice.rb".Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-33992364925882103552008-04-27T17:14:00.000-07:002008-04-27T17:14:00.000-07:00When I type in sudo /Users/Ryan/Desktop/freerice.r...When I type in sudo /Users/Ryan/Desktop/freerice.rb<BR/><BR/>I get:<BR/><BR/>sudo: /Users/Ryan/Desktop/freerice.rb: command not found<BR/><BR/>It did not say that one time, but nothing else ever came up.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-46116124287579047752008-04-26T09:46:00.000-07:002008-04-26T09:46:00.000-07:00Uh, not sure what environment you're running this ...Uh, not sure what environment you're running this in. Open Terminal, cd to the directory where the program is, and be sure you have already run "sudo gem install mechanize". Once you're sure you've done that you can just type "ruby freerice.rb" and it will launch.<BR/><BR/>You may wish to google for some basics on programming (and possibly on writing ruby programs) so you have some of the fundamentals covered.Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-28474968337629200522008-04-26T09:28:00.000-07:002008-04-26T09:28:00.000-07:00Now it opens up, but it won't "start". The go opti...Now it opens up, but it won't "start". The go option under the run menu is greyed out. I am not really sure what to do now.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-34321189555558848982008-04-25T09:56:00.000-07:002008-04-25T09:56:00.000-07:00All you need is ruby (comes with OS X) and the mec...All you need is ruby (comes with OS X) and the mechanize gem (and its dependencies). Just say "sudo gem install mechanize" and it will install everything you need.<BR/><BR/>My Mac Pro consistently feeds 28-35 people per hour!<BR/><BR/>DaveDave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-21282400796333887942008-04-24T19:11:00.000-07:002008-04-24T19:11:00.000-07:00Can anyone explain to me how to install this and s...Can anyone explain to me how to install this and set it up to work? I know the main page said what you need, but I can't seem to do anything right. I have Mac os X leopard. I am running this on a 2ghz Macbook Intel core 2 duo processor. I would greatly appreciate this, it seems like a great program. :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-42463128636398818822008-04-13T20:43:00.000-07:002008-04-13T20:43:00.000-07:00Great program! Only problem it, and ALL programs n...Great program! Only problem it, and ALL programs now crash because after a while, Freerice kills the connection and you need to reconnect.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-48214090163648214362008-02-10T02:26:00.000-08:002008-02-10T02:26:00.000-08:00dark -- I've not seen this behavior. Perhaps the ...dark -- I've not seen this behavior. Perhaps the remote end is getting stuck? Can you be more specific ? Maybe do some network sniffing (ngrep port 80)?<BR/><BR/>There's nothing inherent in the design that would make it at risk for deadlock unless the remote end stops responding.Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-42093161406838634582008-02-09T19:22:00.000-08:002008-02-09T19:22:00.000-08:00Great program...Only problem, every once in a whil...Great program...<BR/>Only problem, every once in a while it just... Dies.<BR/>So, maybe you can fix that.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-13029099450957992742007-12-22T17:57:00.000-08:002007-12-22T17:57:00.000-08:00I wrote something similar, though I only used a si...I wrote something similar, though I only used a single thread since I assumed my ip would be banned if I didn't appear somewhat like a human user. <BR/><BR/>Anyways, I decided to dump out a file that contained all of the advertising hrefs and their into a single file. Once every so often I open it in my browser (I've run across 39 unique advertisements) and I look at them all and read them completely. While I'm still not interested in the products, I've read them, digested them, and, truth be told, paid more attention to them then if they had just been at the bottom of the screen since I think we all just tune out advertisements anymore. <BR/><BR/>I'm sure there isn't a 1:1 correlation of the grains accrued on the site and how much money is actually donated, but if my clicks help at all or if the higher numbers increases the marketability of the site and brings more users I feel it was worth the time. <BR/><BR/>Lastly, those interested in click based charity should check out care2.com or google for others for a bit. I've got a script that goes to about 15 difference sites once a day and does 'my part'.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-31028982308756557342007-12-17T07:25:00.000-08:002007-12-17T07:25:00.000-08:00Yes Dinah, it's pretty simple.The program simply v...Yes Dinah, it's pretty simple.<BR/><BR/>The program simply visits the site and "reads" it just like a human would. It looks at the choices for the word meanings and then makes a guess. If it is a right guess, it remembers the answer and stores it in a list of right answers. So if it encounters that question again in the future, it will get the answer right the first time, always.<BR/><BR/>In my program, the program launches 50 simultaneous "players" of the game, but all 50 players use the same list of answers. So it learns right answers 50 at a time and thus is very fast and efficient.<BR/><BR/>The program also comes with a list of nearly all the answers, so no "learning" is now needed. The virtual players can just play. Not rocket science, just an application of the tools that are out there.<BR/><BR/>Hope this answers your question!Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-87301574874268062242007-12-16T18:39:00.000-08:002007-12-16T18:39:00.000-08:00I am not a computer genius, so could you please ex...I am not a computer genius, so could you please explain how this works simply?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-64815441723607918142007-12-06T09:14:00.000-08:002007-12-06T09:14:00.000-08:00I wrote something myself and I linked you on my li...I wrote something myself and I linked you on my livejournal:<BR/><A HREF="http://darrenism.livejournal.com/44632.html" REL="nofollow">http://darrenism.livejournal.com/44632.html</A>Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-67074971712974424442007-11-26T08:21:00.000-08:002007-11-26T08:21:00.000-08:00It's an interesting intellectual exercise to creat...It's an interesting intellectual exercise to create this kind of code. It should also serve to remind people that there is very little that can be created on the web that cannot also be gamed.<BR/><BR/>Therefore, this script creates an impetus for site designers to think carefully about how they can generate the kind of usage they say they desire.<BR/><BR/>This code is nothing more than a glorified bug report that in the best case might generate rice to feed people. What's wrong with that?Dave Troyhttps://www.blogger.com/profile/09594731243753943289noreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-66556257738525784662007-11-24T19:16:00.000-08:002007-11-24T19:16:00.000-08:00They make something nice, and give it away for fre...They make something nice, and give it away for free. (I also doubt the economics, but it was fun to play, and presumably educational.)<BR/><BR/>Then you break it, to prove how clever you are. What have you done that's useful?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6909367658433794196.post-14618025809867105022007-11-23T12:06:00.000-08:002007-11-23T12:06:00.000-08:00quangntenemy: since your script doesn't "eventuall...quangntenemy: since your script doesn't "eventually buy products", i am not sure i see how it is any better in the long run than a script that doesn't click ads.<BR/><BR/>if the ads are pay per product-buy, then clearly impact is 0, even in short term.<BR/><BR/>if the ads are pay per click, eventually the advertisers will see that given the number of clicks, there are awful few buys, and realize that something is amiss, and either drop the rates, or pull the ads, so in the long term no positive impact from auto-click.<BR/><BR/>if the ads are pay per view, then clicking doesn't do anything either, and short term 0 impact again.<BR/><BR/>so no matter what the ad structure is, auto-clicking doesn't seem like a helpful or useful thing to do...<BR/><BR/>-sfAnonymousnoreply@blogger.com