reCAPTCHA interface in Emacs Lisp

Written by fsmunoz on 20 January 2013 Categories: Lisp

recaptcha-el

Fol­low­ing some ideas thrown around in #emacs (and which can also be seen in Nic Ferrier’s blog post regard­ing his plans for the year) I took a quick look at reCAPTCHA. Google acquired reCAPTCHA some time ago and most people are famil­iar with the mech­an­ism: it stops spam by provid­ing a simple way for web­mas­ters to add a CAPTCHA that stops auto­mated har­vest­ing and sub­mis­sions, in this case with the side-effect of help­ing in the tran­scrip­tion effort of old books.

The code itself is still sort of rough — although it now uses the cus­tom­isa­tion infra­struc­ture and is package-ready — but I’ve uploaded it to git­hub: take a look at the reCAPTCHA Emacs Lisp inter­face repos­it­ory.

There are two main func­tion­al­it­ies provided by reCAPTCHA

1) reCAPTCHA “proper”, as described above.

2) reCAPTCHA mail­hide, that uses a sim­ilar mech­an­ism but aimed at redu­cing auto­mated email har­vest­ing: it encrypts email addresses and requires a CAPTCHA to show the plain-text version.

This (or at least a sub­set of it) could be of interest to aidalgol’s elwiki, an ambi­tious pro­ject that aims to cre­ate a Wiki engine on top of elnode (which is abso­lutely bril­liant stuff IMO, I am gen­er­ally averse to web devel­op­ment but elnode is quite fun to work with) — even if only as a gen­eral reference.

For the mail­hide val­id­a­tion it uses Markus Sauermann’s aes.el, without which it wouldn’t work at all without external depend­en­cies. I would like to thank Markus for his help in debug­ging part of the code and even chan­ging aes.el to add sup­port for the pad­ding mech­an­ism that I needed!

 

No Comments

Leave a Reply