From mb at bese.it Fri Apr 28 18:58:23 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 28 Apr 2006 20:58:23 +0200 Subject: [quiz] test Message-ID: ignore. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mb at bese.it Fri Apr 28 19:14:47 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 28 Apr 2006 21:14:47 +0200 Subject: [quiz] test2 Message-ID: ignore. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mb at bese.it Fri Apr 28 19:15:40 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 28 Apr 2006 21:15:40 +0200 Subject: [quiz] [QUIZ #1] A Text-based CAPTCHA Message-ID: A Text-based CAPTCHA -------------------- Overview ======== A CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is something designed to make it easy to distinguish between a computer and person, they are most often used in blog and web forum systems to fight spamming. A CAPTCHA can be viewed as a challenge/response system meeting the following criteria: 1) It must be easy for a computer to generate question/answer pairs. 1b) It must also be easy to verify that some textual input is equal to the answer. 2) It must be easy for a person to generate the answer given the question. 3) It must be hard for a computer to generate the answer given the question. The most common kind of CAPTCHA is an image containing a set of numbers which have been somehow distorted, it is (supposedly) easy for a person to figure what numbers are in the image and very difficult for a computer to do the same. Images do work great as CAPTCHAs, but they have a major drawback: it's basically impossible for people with sight problems to answer the CAPTCHA. Goal ==== The goal of this quiz is to write a function which produces textual CAPTCHAs and therefore works well with screen readers and text browsers. To do this we're going to rely on two observations: 1) computers can be taught to generate natural-language text but they're notoriously bad at understanding it and 2) humans are pretty good at simple arithmetic. Write a function named cl-user::generate-captach with the following interface: (cl-user::generate-captcha) ==> question, answer question - a string answer - a string QUESTION should be a string of English text asking to perform some simple arithmetic. It is not essential that QUESTION be perfect English, only that a person, after reading QUESTION can easily deduce, and type, ANSWER. Here are same (completely made up) examples: (cl-user::generate-captcha) ==> "what is one times 2?", "2" (cl-user::generate-captcha) ==> "start with three apples, eat 2 of them, how mny r lft?", "1" (cl-user::generate-captcha) ==> "go buy 3 apples, sell them all, how many are left?", "0" Bonus Questions =============== 1) Write a generator which produces Latin output. 2) Write a captcha-cracker for one of the solutions to this quiz. 3) Write a completly different text based captcha. Useful Links ============= http://www.captcha.net/ http://en.wikipedia.org/wiki/Captcha http://www.w3.org/TR/turingtest/ p.s. - this is the first cl-quiz, comments/suggestions welcome. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From erik.enge at gmail.com Fri Apr 28 18:44:29 2006 From: erik.enge at gmail.com (Erik Enge) Date: Fri, 28 Apr 2006 14:44:29 -0400 Subject: [quiz] test - ignore Message-ID: <58f839b70604281144i7314e6e7q505b73d6f4a6af26@mail.gmail.com> test - ignore From mb at bese.it Fri Apr 28 12:43:02 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 28 Apr 2006 14:43:02 +0200 Subject: [quiz] [QUIZ #1] A Text-based CAPTCHA Message-ID: A Text-based CAPTCHA -------------------- Overview ======== A CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is something designed to make it easy to distinguish between a computer and person, they are most often used in blog and web forum systems to fight spamming. A CAPTCHA can be viewed as a challenge/response system meeting the following criteria: 1) It must be easy for a computer to generate question/answer pairs. 1b) It must also be easy to verify that some textual input is equal to the answer. 2) It must be easy for a person to generate the answer given the question. 3) It must be hard for a computer to generate the answer given the question. The most common kind of CAPTCHA is an image containing a set of numbers which have been somehow distorted, it is (supposedly) easy for a person to figure what numbers are in the image and very difficult for a computer to do the same. Images do work great as CAPTCHAs, but they have a major drawback: it's basically impossible for people with sight problems to answer the CAPTCHA. Goal ==== The goal of this quiz is to write a function which produces textual CAPTCHAs and therefore works well with screen readers and text browsers. To do this we're going to rely on two observations: 1) computers can be taught to generate natural-language text but they're notoriously bad at understanding it and 2) humans are pretty good at simple arithmetic. Write a function named cl-user::generate-captach with the following interface: (cl-user::generate-captcha) ==> question, answer question - a string answer - a string QUESTION should be a string of English text asking to perform some simple arithmetic. It is not essential that QUESTION be perfect English, only that a person, after reading QUESTION can easily deduce, and type, ANSWER. Here are same (completely made up) examples: (cl-user::generate-captcha) ==> "what is one times 2?", "2" (cl-user::generate-captcha) ==> "start with three apples, eat 2 of them, how mny r lft?", "1" (cl-user::generate-captcha) ==> "go buy 3 apples, sell them all, how many are left?", "0" Bonus Questions =============== 1) Write a generator which produces Latin output. 2) Write a captcha-cracker for one of the solutions to this quiz. 3) Write a completly different text based captcha. Useful Links ============= http://www.captcha.net/ http://en.wikipedia.org/wiki/Captcha http://www.w3.org/TR/turingtest/ p.s. - this is the first cl-quiz, comments/suggestions welcome. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mb at bese.it Sat Apr 29 11:43:59 2006 From: mb at bese.it (Marco Baringer) Date: Sat, 29 Apr 2006 13:43:59 +0200 Subject: [quiz] Re: A Text-based CAPTCHA In-Reply-To: (Marco Baringer's message of "Fri, 28 Apr 2006 21:15:40 +0200") References: Message-ID: Marco Baringer writes: > Write a function named cl-user::generate-captach with the following ^^^^^^^ this is, obviously, a typo. the function name should be cl-user::generate-captcha. however since i don't have (nor do i plan on creating) a test-suite for this quiz the name of the function doesn't matter much at all. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From rnewman at tellme.com Sun Apr 30 19:41:57 2006 From: rnewman at tellme.com (Richard Newman) Date: Sun, 30 Apr 2006 12:41:57 -0700 Subject: [quiz] [QUIZ #1] A Text-based CAPTCHA In-Reply-To: References: Message-ID: <390C525A-FB1F-4A5F-A209-1E7729839DF7@tellme.com> I'm assuming that the list itself is the right place to deliver solutions! Here is mine, for what it's worth. * (generate-captcha) "what is 7 minus 3?" "4" * (generate-captcha :elements 4 :depth 1) "what is 8 times 7 times 1 times 6?" "336" It's a bit kludgy -- disrespecting as it does infix operator precedence, so (> depth 1) is unlikely to calculate correctly -- but it was fun to write! A good Sunday morning's finger exercise. -R From mb at bese.it Sun Apr 30 20:21:54 2006 From: mb at bese.it (Marco Baringer) Date: Sun, 30 Apr 2006 22:21:54 +0200 Subject: [quiz] [QUIZ #1] A Text-based CAPTCHA In-Reply-To: <390C525A-FB1F-4A5F-A209-1E7729839DF7@tellme.com> (Richard Newman's message of "Sun, 30 Apr 2006 12:41:57 -0700") References: <390C525A-FB1F-4A5F-A209-1E7729839DF7@tellme.com> Message-ID: Richard Newman writes: > I'm assuming that the list itself is the right place to deliver > solutions! i forget to say so explictly: this list is the right place to send solutions. -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen