it would be trivial to write a generator of simple s-exps to evaluate... (define (generate-challenge) (let* ((op (random 4)) (pl (random 2)) (x1 (+ 1 (random 10))) (x2 (+ 1 (random 10))) (c ((case op ((0) +) ((1) -) (else *)) x1 x2)) (an (if (= 3 op) n1 c))) (cons (sprintf "Result of evaluating ((lambda (x) (~A ~A ~A)) ~A)?" (case op ((0) "+") ((1) "-") ((2) "*") ((3) "/")) (if (= 0 pl) "x" (if (= op 3) c n1)) (if (= 0 pl) n2 "x") (if (= 0 pl) (if (= op 3) c n1) n2)a) an)))
would be a simple arithmetic generator. (apologies for any errors and for the formatting, i didnt want it to take a whole page properly formatted, and i just wrote this on the fly, so there may be a few bugs) -elf On Tue, 7 Nov 2006, Alejandro Forero Cuervo wrote: > > Perhaps as an anti-spam measure we could require answers to some > > simple Scheme questions; for instance, in order to create/edit a page, > > one would need to correctly input the answer to a question such as: > > > > What is the result of evaluating ((lambda (x) (/ 42 x)) 7) ? > > > > While very quick and simple for any schemer to answer, I'd say a > > spammer who is able to answer that (almost) deserves his edit > > privileges ;-) > > I am not sure this is that worth implementing, but I guess we can > experiment. :-) > > I guess we want the questions to be as simple as possible (so, for > example, they won't keep people to make small contributions here and > there) while still keeping the spammers from defacing our wiki. I > will begin with easy questions (such as "What's 12 + 3?" or "What's > character #3 in the word 'random'?") and see if they are good enough > to stopping spam. I suspect not but it could be that this spam is > comming from an automated bot that attacks all sorts of wikis and that > this simple questions turn out to be good enough to keep it from > altering our wiki. (I suspect the spamming of our wiki is being done > manually, not programmatically, but I really don't know.) > > I will, of course, also make it so at the Nth (3rd?) wrong answer, an > IP is banned for a while. > > Something else we need to look at is how to use svnlook to alter the > commit log for one change directly in the svn repos (since the spammer > could put the spam in the descriptions for the changes). > > Alejo. > http://azul.freaks-unidos.net/ > > > _______________________________________________ > Chicken-users mailing list > Chicken-users@nongnu.org > http://lists.nongnu.org/mailman/listinfo/chicken-users > > ----- Humans always do the most intelligent thing after every stupid alternative has failed. -- R. Buckminster Fuller A year spent in artificial intelligence is enough to make one believe in G-d. -- Alan Perlis _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users