Are you human? Resistor edition

[PT] tipped us off about a new way to screen bots from automatically leaving comments. Resisty is like CAPTCHA but it requires you to decipher color bands on a resistor instead of mangled text. This won’t do much for the cause of digitizing books, but if you can never remember your color codes this is a good way to practice. Resisty comes as a plug-in for WordPress, add it to your blog and for a geek cred +1.

72 thoughts on “Are you human? Resistor edition

  1. that’s probably pretty easy to hack, and it screws over us poor colorblind geeks who have to use multimeters on our resistors. Still pretty cool though.

  2. So the colorblind arent allowed to post? While a novel approach, utilizing the recognition of color as a necessary function of your website is a usability no-no.

  3. @people saying its easily crackable: Yes, it is, but since it’s a custom built solution, it’s not cost effective. If every site had its own captcha system it would be impossible to make money of it.

  4. somone PLEASE think of the chil….COLORBLIND
    oh wont somone PLEASE think of the color blind!

    considering it has the numerical value of it as well as the color, SCREW YOU COLORBLINDIES!
    just remember 4.7 with a multiplier of 1000 regardless of color used to indicate that is STILL 4.7k

  5. Resistance is futile!

    For all those who are complaining about color blind. Just do it in reverse. Give a value and make people give the code. Problem solved!

    Blue Red Red / Gold / Red

    What is the value of that resister?

    Want to trip up the hackers. Change the order, or say don’t give the tolerance.

    Just a cute little hack. Oh and it IS a hack as it IS using the resister color coding for something other than giving you the value of the resister (i.e. granting access to a site).

    Bunch of cry babies! I swear, how did you ever reach adulthood.

  6. The way I remembered my resistor colors is what got me fired from RadioShack for sexual harassment:

    “Bad Boys Rape Only Young Girls But Violet Gives Willingly, Get Some Now”

  7. I unintentionally memorized the resistor color code. I ordered 1500 resistors on eBay and discovered that some were incorrectly labeled. I had to check all of them.

  8. “Great so colorblind guys like me can just forget about posting anywhere now?”

    Yea – pretty much! Hopefully this catches on so I don’t have to listen to all of you whiners…

    I have a colorblind friend – He says he was taught to know what the colors look like that he can’t see. So he knows when a light is green, although he doesn’t really SEE to green.

    This is an awesome idea.

  9. Very cute, but from the comments over there I gather the guy that made it is a bit of an ass.
    But that should not matter really.
    What does matter is that although cute it’s dead easy for the spambot makers to bypass this, so you’ll ruin your site in no time if you don’t watch it.

  10. @B1rdm4n some common types of colorblindness don’t work well with standard monitors, various colors look the exact same, but there are ways to adjust the output of monitors to make it more distinct though.
    Another problem is that a surprisingly large number of people that are colorblind are actually not aware of it (seriously), they were born with an understanding of color as being how they see it and don’t realize people with normal colorvision see it all different, just like we that can see colors normally have a hard time to imagine how colorblind people actually see things.

  11. I’m surprised at how many colorblind electronic engineers there are here…

    I mean…electronics…just about everything is color coded — talk about challenging yourself. This should be cake compared to the accidental grounding of electricity, mis-wired circuit boards, and of course recognizing your resistors…

  12. @ Engineers with colorblindness,
    Is this the reason why I find some projects using nothing but one colored wires?

    Also colorblind network engineers, thanks for wiring up our rack mount switches with all yellow cables.

    joking aside, nifty CAPTCHA

  13. I run a phpBB and I use to have one that was all about the cute and fuzzy kittens called KittenAuth.

    “Which one is the fuzzy kitten?” and it showed reptiles, waterfowl, dogs, etc… along with one cute and cuddly kitten.

    It stopped the spammer bots dead in their tracks, I was getting hundreds per week before that.

  14. @supershwa
    Well an engineer can just enter the values in his computer, and when prototyping (after testing the circuit on the computer in emulation) get them from the right drawer, plus it’s all SMD now and they aren’t colorcoded bur have unreadable tiny text and are placed by robots.
    And when confused you can measure the resistance with a simple meter too.

  15. Colorblind EEs are one thing.

    Colorblind Bomb Technicians are an entirely different breed, often referred to as “hamburger”.

  16. It doesn’t matter that the captcha is simple for a computer to crack, because the spammers have a willing army of thousands from Pakistan, China, and dozens of other 3rd-world countries to crack the “secure” ones…

  17. Neat but you could just use autohotkey to compare the colorband to the colors available on the slider and click the ones that match. Might be more secure on geeky sites by just asking the resistance of the bands with no sliders.

  18. @icebrain

    at first i was thinking that this is cool, but incredibly easy to crack/hack, and worthless. after reading your comment it made me realize that if a large portion of sites made their own captchas, it would lessen the need drive to build captcha crackers programs. it probably would result in small sites receiving minimal to none spam.

  19. I think I worked out how to hack this. I got the meaty bits taken care of, but I’m not motivated to glue it together into a script tonight.

    I used wget 10 times to get a sample of the resistor images.
    I found that the color of the bands were located at the following pixel locations:

    Ran those through ImageMagick like so:
    convert png:resistorImage.php.3[1×1+45+40] txt:
    convert png:resistorImage.php.3[1×1+80+40] txt:
    convert png:resistorImage.php.3[1×1+110+40] txt:
    convert png:resistorImage.php.3[1×1+150+40] txt:

    That spits out the correct RGB codes like so:
    $ convert png:resistorImage.php.3[1×1+45+40] txt:
    # ImageMagick pixel enumeration: 1,1,255,rgba
    0,0: (100, 50, 0,255) #643200 rgba(100,50,0,1)
    $ convert png:resistorImage.php.3[1×1+80+40] txt:
    # ImageMagick pixel enumeration: 1,1,255,rgba
    0,0: ( 0,255, 0,255) #00FF00 lime
    $ convert png:resistorImage.php.3[1×1+110+40] txt:
    # ImageMagick pixel enumeration: 1,1,255,rgba
    0,0: ( 0, 0,255,255) #0000FF blue
    $ convert png:resistorImage.php.3[1×1+150+40] txt:
    # ImageMagick pixel enumeration: 1,1,255,rgba

    So the outputs are nicely machine readable into RGB values.

    From there we have to match the RGB codes to the form, the form values resist1,2,3,4 are set to match the number shown in the slider. These don’t change so we can swipe them once and get the 0-9 values.

    Then we actually have to calculate the resistance and populate the hidden ohms and perc values using the code in the JS function getResistance().
    resist = parseInt(resist1 + resist2) * Math.pow(10, resist3);

    document.getElementById(‘ohms’).value = resist;
    document.getElementById(‘perc’).value = resist4;

    Now that we have resist1-4, ohms, and perc we can then fill in the standard WP form values and submit our post.

    I wonder how it can be made better. Maybe using an actual product image of a resistor, so take a catalouge image of a 47K Ohm resistor and then show that to the user. Rotation of the image and varying the angle or width of the bands.

    Its a neat and educational CAPTCHA. I had fun roughing out a script to get around it.

    Cross posted at the original site, just for my ego.

  20. hiya, phil here – please read the post carefully. the goal is to teach people how to read resistors, that’s why we made it. we have many layers of spam protection on the site – if you take a look around adafruit you won’t see any spam comments in our very active blog (over 1m page views a month now) or the forums (thousands of posts a month). we have humans who read all the comments and posts carefully.

    it’s not a CAPTCHA challenge, if that’s what you’re looking for – this isn’t for you :)

  21. @phil – I saw CAPTCHA and immediately thought “anti-spam” and had to see if I could get around it. I certainly did not intend to show any disrespect to your work. It’s a great tool and it’s well coded, at least what I can see on the client side.

    I still had fun figuring out how to write a script to solve it.

  22. Another note, there are other free apps out there to teach resistors. With no dis-respect intended, I think simply associating this with CAPTCHA is whats bringing out all the negative comments. Yes it can be broke, and maybe thats just as fun for some as learning how to read a resistor for others. Either way, This project seams to have spawned two learning areas instead of one. I’d call it a win-win situation.

  23. @Freiheit – it’s cool you were tinkering with it, that’s part of the fun – no worries :)

    that said, maybe one day we will make an impossible to crack via machine CAPTCHA – and for that one we’ll issue a challenge.

    right now, the bigger challenge is to get more people learning electronics :)

  24. @jeicrash – i think the apps that teach resistors are for the people who are already interested – we’re thinking puzzles, science / engineering formulas and other topics that can be taught CAPTCHA-style might inspire people not only to post comments, but to learn something along the way.

    there are people who just crack CAPTCHAs for a living, we’re not interested in them – and i know they’re not interested in our site. we review each comment, there’s no money to be made trying to spam our site, it’s a dead end for them.

  25. For those interested in the accessibility issue, there are several page filter sites which simulate the various types of color blindness. Google search ‘colorblind web page filter’.

    Here’s the example captcha as viewed with red/green color blindness:

    This would leave the user differentiating values by brightness against the colored resistor body. It’s almost sadistic.

    +1 for cuteness; -1 for web accessibility.

  26. Oh, yeah. This is stupid because colorblind people are left out :( We should revert back to regular captchas so as not to exclude anyone…

    Wait, thats strange, what is that wheelchair doing next to my captcha? You mean some people can’t use regular captchas, and *gasp* theres a workaround!

    The hack itself would never have a practical application and truly I don’t think it was supposed to, but colorblind people give me a break.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s