(the demo has been updated too)

NAME

   flatulent : CAPTCHA for FIGLET.

SYNOPSIS

   the flatulent gem provides brain dead simple to use, but  
internally cunning,
   ascii art (figlet) captcha for ruby.

URI

   http://codeforpeople.com/lib/ruby
   http://rubyforge.org/projects/codeforpeople

HOW DO I GET FLATULENT?

   gem install flatulent

HISTORY
   0.0.3:
     - following are now all equivalent when posting (thanks botp)

         0==o==O==Q (zero, oh's, and queue)
         l==l       (one and el)
         2==z==Z    (two and z's)
         5==s==S    (5 and s's)

     - random horizontal and vertical displacement of each char

     - vastly improved background noise based on figlet char shapes

     - inputs are case sensitive (thanks john joyce, chris carter)

     - expanded rails examples

   0.0.2

     - ajax gets stinky: Flatulent.ajax!  the result of this new  
addition is
       that the captcha itself doesn't appear in the source file at all

     - blowfish encoding for timebomb and captcha fields

     - auto server key configuration using hostname and mac address

     - improved noise algorithm

     - improved character placement (chars shared edges to make  
ocr'ing harder)

   0.0.1

     - initial version

RAILS EXAMPLES

   REGULAR METHOD (LESS SECURE):

     def controller_action
       if params.has_key? 'flatulent'
         Flatulent.validate! params
       end

       render :inline => <<-html
         <html><body>
           #{ Flatulent.form }
         </body></html>
       html
     end

   AJAX METHOD (MORE SECURE):

     def controller_action
       if params.has_key? 'flatulent'
         Flatulent.validate! params
       end

       render :inline => <<-html
         <html>
           <head> <%= javascript_include_tag 'prototype' %> </head>
           <body>
             <form action='./' method='post'>
               <%= Flatulent.ajax %>
               <input type='submit' name='submit' value='submit' />
             </form>
           </body>
         </html>
       html
     end

DOCS

   see source in ./lib/*
   see the example rails project in ./rails

ONLINE SAMPLES

   http://drawohara.tumblr.com/post/4791838
   http://drawohara.tumblr.com/post/4944987
   http://drawohara.tumblr.com/post/4968766

ONLINE DEMO OF AJAX METHOD

   http://fortytwo.merseine.nu:3000/flatulent/ajax  -- try to break it!



enjoy.

-a
--
we can deny everything, except that we have the possibility of being  
better. simply reflect on that.
h.h. the 14th dalai lama