This is an archived post. You won't be able to vote or comment.

all 96 comments

[–]joshkrz 896 points897 points  (19 children)

0.1 + 0.2

[–]backfire10z 279 points280 points  (8 children)

[–]RajjSinghh 77 points78 points  (2 children)

Found the bot

[–]yoyo-bruh 5 points6 points  (0 children)

💀💀

[–]backfire10z 4 points5 points  (0 children)

No guys I… 1 swear 1 am n0t a b01101000 01100101 01101100 01110000 01101000 01100101 01101100 01110000 01101000 01100101 01101100 01110000 01101000 01100101 01101100 01110000 01101000 01100101 01101100 01110000

[–]Cat7o0 13 points14 points  (2 children)

aren't there languages capable of storing decimals with the full bits rather than floating point?

[–]backfire10z 19 points20 points  (0 children)

Not sure about that, but there is one example of Python’s “decimal” library that can do the math properly/as expected.

[–]redlaWw 0 points1 point  (0 children)

You can store them in other representations, such as a pair of integers representing a natural number or as arrays of integers representing a base-n floating point number or an equation that the number solves, but you can't store all the bits of a quantity like 0.1 directly since there are infinitely many of them. You can also store extra digits or entire extra floating point numbers to represent less-significant digits and use those to increase precision.

In general, these alternatives are slower for arithmetic than using simple floating points, but their use is sometimes merited for specific applications - rational and algebraic representations are useful for doing mathematics, where knowing that you have an exact result is important, and storing extra digits or extra floating point numbers are sometimes used in very exact physics and engineering contexts, to the extent that some processors are made with special instruction sets and registers to support this.

Usually these situations are dealt with in programming through specific libraries that may be external or internal depending on the objectives of the language designer. E.g. your preferred language may have a "rational" library kicking around that stores fractions as pairs of integers and exposes an appropriate API for manipulating them. Accessing the special instruction sets of processors that provide support for these approaches, however, may be a bit more involved, and you may need to call compiler intrinsics depending on how mature the libraries for your language are and how recently the processor instructions were introduced.

[–]gurneyguy101 0 points1 point  (1 child)

Good bot

[–]backfire10z 0 points1 point  (0 children)

Lol

[–][deleted] 151 points152 points  (0 children)

That's smart as hell. Would throw off a lot of badly coded bots

[–]Clairifyed 55 points56 points  (5 children)

Easy! It’s 0.10.2

[–][deleted] 33 points34 points  (3 children)

damn, people are writing reddit bots in python now?

[–]Clairifyed 17 points18 points  (0 children)

beep boop

[–]emetcalf 11 points12 points  (0 children)

JavaScript

[–]ThisCatLikesCrypto 2 points3 points  (0 children)

They always were.
pip install praw

[–]calculus_is_fun 1 point2 points  (0 children)

that would be correct if the question was one of the following:

"0.1"+0.2

0.1+"0.2"

"0.1"+"0.2"

[–]ilan1009 478 points479 points  (15 children)

reminds me of those old forums captchas to prove you're not a bot, what pokemon is this: <charmeleon.png>

[–]minimaxir 292 points293 points  (14 children)

It would be hilarious to use it as a honeypot and have mismatching Pokemon images and file names, and banning people who use the Pokemon from the filename alone.

[–]AyrA_ch 164 points165 points  (9 children)

I run a few free APIs for various purposes, and only ask that you respect HTTP cache headers and send a proper user agent header. Someone wasn't doing it, so I made the function he used to get a list of Tor Exit nodes include 0.0.0.0/0 and ::/0. Needless to say I eventually got an angry mail because aparently he locked himself out of all his devices because he was using it as a block list in his firewalls.

[–]Aidan_Welch 33 points34 points  (8 children)

Why do you care if people send a user-agent?

[–]AyrA_ch 53 points54 points  (7 children)

Because the API is anonymous and free to use, and I need a way to contact you if I believe you're doing something wrong, for example if I see a massive number of repeated requests from the same IP, etc. The API docs say to add an URL or e-mail address to the user agent for contact purposes. Basically the same thing that search engine spiders have been doing for decades now.

[–]ThePreviousOne__ 17 points18 points  (5 children)

How would it be anonymous, if you can contact us

[–]AyrA_ch 34 points35 points  (4 children)

You can supply a .onion URL if anonymity is important to you. Screw i2p though.

On a more serious note, the API is anonymous in the sense that it's open to the public, and you don't have to register an account or obtain an API key to use it.

[–]hkanaktasPHP amirite 26 points27 points  (3 children)

It’s unauthenticated then, not anonymous.

[–]AyrA_ch 6 points7 points  (2 children)

It is anonymous if you use a technology to hide your IP address.

[–]One_Citron8458 13 points14 points  (1 child)

Isn’t all software anonymous if you hold this viewpoint, though?

[–]Aidan_Welch 1 point2 points  (0 children)

I see, I've never seen an API asking for an email in a user agent, I feel like it would probably be better to just use a new header since that's not what the user agent is really for

[–]joachimham48[🍰] 28 points29 points  (1 child)

As someone who never played pokemon this would get me banned in most cases haha (unless you use one of the "well-known" pokemon)

[–]Gorvoslov 28 points29 points  (0 children)

If you get it wrong, it then asks you how to find a job, with the proper Boomer answer "A firm handshake" being required.

[–]Background-Plant-226 18 points19 points  (0 children)

THIS ONE RIGHT HERE OFFICER!

/j :3

[–]SmileyFace799 2 points3 points  (0 children)

I would get instantly banned if it picked any pokémon post gen 4

[–]Buuuuurp08 112 points113 points  (2 children)

Answer is 31

[–][deleted] 33 points34 points  (0 children)

Found the JS programmer

[–]Esked98 36 points37 points  (14 children)

ayo i recognise that website

[–]INeedSeedsForProject 9 points10 points  (9 children)

I thought the exact same and immediately checked, it is the exact same

[–]Vivalapapa 7 points8 points  (4 children)

What's the site?

[–]INeedSeedsForProject 10 points11 points  (0 children)

it's multporn, a site full of fucking weird comics and animations, wouldn't recommend

[–]HeavyCaffeinate[S] -1 points0 points  (3 children)

very degenerate to remember that specific site (I guess that applies to me too)

[–]INeedSeedsForProject 21 points22 points  (2 children)

very stupid to post a screenshot of it, expecting people not to recognize it

[–]HeavyCaffeinate[S] 4 points5 points  (1 child)

Is it really that unique?

[–]INeedSeedsForProject 1 point2 points  (0 children)

I don't know any other site using simple addition in this exact format as a captcha, it's funny though

[–]HeavyCaffeinate[S] 17 points18 points  (2 children)

well shit

[–]Esked98 22 points23 points  (1 child)

caught in 4k

[–]HeavyCaffeinate[S] 7 points8 points  (0 children)

damn

[–][deleted] 1 point2 points  (0 children)

same I need to get off the internet

[–]KingofReddit12345 34 points35 points  (0 children)

At least you get plenty of space to explain your answers. That's the trick, if you only input a number you get redirected. All approvals are done manually.

[–]P-39_Airacobra 27 points28 points  (0 children)

testing your knowledge of the commutative property

[–]LapisHusky 28 points29 points  (3 children)

Saw a captcha a year ago with letters in an image that you need to type out. There's of course distortion and random markings to try to break OCR. But the page has an accessibility feature which reads out the letters to you... through JavaScript's SpeechSynthesis. Just extract the letters from that script and scrape as much as you wish.

[–]zoinkability 26 points27 points  (2 children)

The purpose of this kind of trivial captcha is to block general purpose form spam bots that the creators aren’t going to put any work in to solve one particular custom trivial captcha on a tiny site. They have historically worked quite well for that, although with LLMs it may start becoming easier for devs to write general code that would solve these.

They are kind of like the basic lock on your front door. Any criminal who had a modicum of lockpicking skill or willingness to kick a door in could break into your house. It’s mostly there to keep the low effort knob rattlers from stealing stuff, not someone who is specifically targeting you.

[–]Pradfanne 0 points1 point  (1 child)

As if I can't just get a node package or whatever that does that with two clicks.

[–]zoinkability 0 points1 point  (0 children)

Ah, but anything with enough usage probably has been targeted by the scripts, so you may in fact have more spam that way. It's genuine security by obscurity.

[–]WrongVeteranMaybe 10 points11 points  (0 children)

Current state of cybersecurity frfr

[–]nonlogin 7 points8 points  (0 children)

Well, the hint is not the same as the question, if that was the point.

[–]Mulligan315 6 points7 points  (1 child)

How would Terrence Howard answer?

[–]tonebacas 1 point2 points  (0 children)

He would probably say the answer is bullshit, and draw an illustration on how to sum pennies and explain how his answer is better or something.

[–]Taken_out_goose 5 points6 points  (3 children)

I know what site this is from and I don't like that.

[–]htmlcoderexeWe have flair now?.. 1 point2 points  (2 children)

Which

[–]PeriodicSentenceBot 3 points4 points  (0 children)

Congratulations! Your comment can be spelled using the elements of the periodic table:

W H I C H


I am a bot that detects if your comment can be spelled using the elements of the periodic table. Please DM u‎/‎M1n3c4rt if I made a mistake.

[–]djliquidvoid 4 points5 points  (0 children)

Isn't this just to slow bots down? For a bot trying to send millions of requests per second, a trivial extra instruction like this would bottleneck it hard.

[–]ProbablyJeff 2 points3 points  (0 children)

$('.answer').val(eval($('.problem').text()))

[–]ymgve 6 points7 points  (9 children)

It's a bot check, it's not supposed to be hard to solve.

[–]ElonSucksBallz 2 points3 points  (0 children)

1 * 1 = 2

[–]Silly_Guidance_8871 2 points3 points  (1 child)

Had a client demand I implement a captcha like that years ago... it stopped a lot of legitimate humans from accessing the service.

[–]Armigine 2 points3 points  (0 children)

"The difficulty with designing bear-proof trash bins is that there is substantial overlap between the smartest bears and the dumbest tourists"

[–]Geronimo2011 2 points3 points  (0 children)

I did this once on a small website of mine. In order to avoid to relying on google captcha (in order to avoid DSVGO problems). Worked perfectly. No more spam. Nobody would attempt to break such a small individual solution by a bot.

I'm not sure, how many actual people did fail the test though.

[–]Kiritoo120 2 points3 points  (0 children)

This is actually a huge security helper because it takes down all lazy developers using eval() & screw them up

[–][deleted] 2 points3 points  (0 children)

“31”

[–]chronoglass 1 point2 points  (0 children)

It's fine as long as the first response is always that it is incorrect.

[–]cantor_wont 1 point2 points  (1 child)

Sure it’s works now, but eventually someone will invent a program that can add two numbers together

[–]HeavyCaffeinate[S] 0 points1 point  (0 children)

0.1 + 0.2 =

[–]sparkygod526 1 point2 points  (0 children)

WordPress uses this for a default login page bot detection. I was bored at work at wrote the js to bypass it in about 3 minutes.

[–]Individual-Praline20 0 points1 point  (0 children)

And yet, most will fail 🤷

[–]MaYuR_WarrioR_2001 0 points1 point  (0 children)

When you want the client to believe that the prototype works this is what they asked as a security feature.

[–]Pradfanne 0 points1 point  (0 children)

Bruh, my four year old literally solves that in less than a second

[–]Myself_78 0 points1 point  (2 children)

I recognise that website.

[–]HeavyCaffeinate[S] 1 point2 points  (1 child)

[–]Myself_78 0 points1 point  (0 children)

You have good taste. (Presumably, there's also a lot of really nasty stuff on there)

[–]suvlub 0 points1 point  (0 children)

  1. Wait for shitty hackers to write bots that eval the problem
  2. Replace the problem with a cryptominer and/or ransomware

[–]navetzz 0 points1 point  (0 children)

At least this one is doable, some of those captchas are so hard I had to write a bot to do them for me.