Labs

reCaptcha reTheme – UPDATED

Posted on: July 6th, 2009 by Daniel 7 Comments

UPDATE - Hi Everybody, thanks for the great feedback on this post. It seems that the supplied CSS was lacking support to force the display of your newly created icons, this should now be fixed and is available for download.

Please feel free to post any comments and question you may have.

ORIGINAL POST

recaptch1

If you need highly effictive spam protection and want to help digitze old books and manuscripts, reCaptcha is great, there is no better choice. If you are looking for a tool that allows you to configure it to match your website… thats a different story. Currently reCaptcha only offers 4 themes (red, blackglass, clean and white) which is better than nothing but can be an eyesore if none of these themes fits your site.  So to counteract this limitation we have compiled all the resources you need to create a custom reCaptcha for your website.

(more…)

Polycom Napkin Hack

Posted on: April 4th, 2009 by Jordan Ho 1 Comment

Those who have visited our office know that we’ve got a very interesting loft space. A drawback to that is that our conference room is especially ‘live’ due to the high ceilings and wood floors. Our pricey Polycom phone is clear for anyone in the conference room, but if you’re on the other side of the line, it’s unbearable. Our temporary solution was to put napkins over the mics to reduce how much noise they pick up. It definitely made an improvement, but there’s still too much echo-i-ness.

We’ve got a new phone we’re trying and are going to carpet the floor of the conference room as a first step. Otherwise we may need to put in some acoustic sound tiles and make the conference room into a part time recording studio. Updates forthcoming…

Constant Contact RESTful API and Perl

Posted on: March 24th, 2009 by admin 4 Comments

constant-contact-logo

Constant Contact can be a pretty powerful tool that you can use to spam maintain contact lists for newsletter mailings.  They’ve just released a RESTful API for manipulating lists and contacts, which is a step up from their old form-driven site vistor API.  It’s still pretty tough to use, though, and there is not nearly enough documentation for utilizing it with Perl (although they offer code that implements it with PHP and Java).

After some digging, Matt and I found out there’s a known bug with Perl’s LWP::Authen::Digest module, which is required since the Constant Contact’s RESTful API requires Digest authentication. We circumvented the bug by correcting it in our own version of the module.

Although the RESTful API provides more functionality, all we needed was some plain-Jane adding to different contact lists for people requesting to be on a newsletter. With their old API, all the developer had to do was make a POST request to a certain URL, setting several key variables such as username, password, and requested list. The RESTful API mucks up things a bit, though. The biggest difference is that instead of POSTing several variables, the developer has to not only send a whole ATOM entry object, but must either make a POST, GET, or PUT request, depending on the nature of the operation. Oy. In our case, we ran up against the case when an email address had once been in user’s Constant Contact lists, but had been removed. The email address doesn’t get truly removed; rather it remains in that system with the status set to ‘Removed’. This matters, since when adding a new Contact, the request must be a POST, but for an existing user, the request must be a PUT. Constant Contact outlines the gory details on their developer site.

In a word, implementing the RESTful Constant Contact API was a pain, owing to shortcomings of our own technology (Perl) and the convoluted nature of Constant Contact’s new API. If anything, it’s a lesson in how design deficiencies can turn developers away from your technology if you haven’t accounted for their platform.