December 02, 2014 forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
I'm sure you all are as tired of the occasional spam that hits these lists as I was deleting it. (Mailing list users in particular, I guess, since we can't delete an email once it was sent out.) Most of the spam was coming in through the forum, so I suppose I was responsible for [not] keeping it out. Although forum.dlang.org has had a spam check and used reCAPTCHA since it was announced, it is only somewhat effective against fully-automated bots - it is powerless against humans paid to post spamverts on forums web-wide, which is what the current spam economy seems to be gravitating towards. Enter DCaptcha, a question-answer challenge tailored for D programmers. Its goals are to challenge posters of suspicious-looking content with questions that should be easy to answer to D programmers, and impossible for non-technical people with no incentive to learn or research stuff (i.e. spammers). DCaptcha is already in use on the D wiki (wiki.dlang.org), with great success - DCaptcha's debut cut the short-lived explosion in wiki spam to zero. For an idea of what sort of questions DCaptcha asks, you can demo it on the following page, so you don't have to clutter the forum with test posts: http://wiki.dlang.org/extensions/DCaptcha/demo.php Source code: https://github.com/CyberShadow/dcaptcha Pull requests for more challenges are welcome. You can find some goals for new challenges at the top of dcaptcha.d. Previous discussion (w.r.t. the D wiki): http://forum.dlang.org/post/tpflbvlfutjwyvqmowdx@forum.dlang.org |
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On 12/02/2014 01:41 PM, Vladimir Panteleev wrote: > impossible for non-technical people with no incentive to learn > or research stuff I hope this will not alienate complete beginners. They should be able to talk to us on the D.learn newsgroup. > For an idea of what sort of questions DCaptcha asks, you can demo it on > the following page, so you don't have to clutter the forum with test posts: > > http://wiki.dlang.org/extensions/DCaptcha/demo.php Ouch. I could pass the first question in two tries but I can't pass the second one. :) Ali |
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Tuesday, 2 December 2014 at 21:53:15 UTC, Ali Çehreli wrote: > On 12/02/2014 01:41 PM, Vladimir Panteleev wrote: > > > impossible for non-technical people with no incentive to learn > > or research stuff > > I hope this will not alienate complete beginners. They should be able to talk to us on the D.learn newsgroup. I hope so too! The CAPTCHA only triggers on a spam check fail, which should not occur for normal forum content. > > For an idea of what sort of questions DCaptcha asks, you can > demo it on > > the following page, so you don't have to clutter the forum > with test posts: > > > > http://wiki.dlang.org/extensions/DCaptcha/demo.php > > Ouch. I could pass the first question in two tries but I can't pass the second one. :) They're randomly generated, so I don't know which one that would be. Either way, refresh to get a different one (this works on the forum, too). |
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On 12/02/2014 01:56 PM, Vladimir Panteleev wrote: > The CAPTCHA only triggers on a spam check fail, which should > not occur for normal forum content. Ok, that sounds great. >> Ouch. I could pass the first question in two tries but I can't pass >> the second one. :) > > They're randomly generated, so I don't know which one that would be. It was this one: https://github.com/CyberShadow/dcaptcha/blob/master/dcaptcha.d#L87 I think I figured it out: After two failed attempts, I accepted Firefox's "Prevent this page from creating additional dialogs" offer. The problem is, when I do that, I don't see the "Correct!" dialog either and remain on the page without any indication that I guessed correctly. :p > Either way, refresh to get a different one (this works on the forum, too). That worked. Ali |
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev |
I got stumped on the delimited string question, but I was
able to get the answer by viewing the page source in my web browser.
-Eric
On Tuesday, 2 December 2014 at 21:41:28 UTC, Vladimir Panteleev wrote:
> I'm sure you all are as tired of the occasional spam that hits these lists as I was deleting it. (Mailing list users in particular, I guess, since we can't delete an email once it was sent out.) Most of the spam was coming in through the forum, so I suppose I was responsible for [not] keeping it out.
>
> Although forum.dlang.org has had a spam check and used reCAPTCHA since it was announced, it is only somewhat effective against fully-automated bots - it is powerless against humans paid to post spamverts on forums web-wide, which is what the current spam economy seems to be gravitating towards.
>
> Enter DCaptcha, a question-answer challenge tailored for D programmers. Its goals are to challenge posters of suspicious-looking content with questions that should be easy to answer to D programmers, and impossible for non-technical people with no incentive to learn or research stuff (i.e. spammers). DCaptcha is already in use on the D wiki (wiki.dlang.org), with great success - DCaptcha's debut cut the short-lived explosion in wiki spam to zero.
>
> For an idea of what sort of questions DCaptcha asks, you can demo it on the following page, so you don't have to clutter the forum with test posts:
>
> http://wiki.dlang.org/extensions/DCaptcha/demo.php
>
> Source code:
>
> https://github.com/CyberShadow/dcaptcha
>
> Pull requests for more challenges are welcome. You can find some goals for new challenges at the top of dcaptcha.d.
>
> Previous discussion (w.r.t. the D wiki):
>
> http://forum.dlang.org/post/tpflbvlfutjwyvqmowdx@forum.dlang.org
|
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Eric | I suppose one way to "cheat" is to just compile and run the code. |
December 02, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | Vladimir Panteleev:
> http://wiki.dlang.org/extensions/DCaptcha/demo.php
Very nice, we can help spammers learn some D and become some day valid D developers :-)
Bye,
bearophile
|
December 03, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On Tuesday, 2 December 2014 at 21:56:31 UTC, Vladimir Panteleev wrote:
> [snip]
>
> I hope so too! The CAPTCHA only triggers on a spam check fail, which should not occur for normal forum content.
I get the captcha every single time I post at home. I suspect it's because I'm on IPv6. Everything else about home and work is almost identical (same browser versions, same extensions, same ISP, same OS, almost the same hardware).
It frequently takes me a few attempts on these and I've been following the language for years (mostly because of simple mistake in my math or something like forgetting iota has an open right boundary).
Maybe make the ones on d.learn extremely simple.
---
What does the follow program print?
void main()
{
import std.stdio : writeln;
writeln("foo");
}
---
No algorithms, no math. Just extremely basic stuff. Nobody, not even our weirdly efficient resident furniture spam bot is going to take the time to write a bot to answer a question like that.
|
December 03, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | Asking for feature names is a very bad choice, you're essentially excluding all beginners and it's almost impossible to google the answers (you want to exclude lazy uninterested humans, not all of them, right?). Besides, I thought D was supposed to be the type of language one should be able to successfully program with without the knowledge of formal names. For example, apparently calling the following a "raw string" or "raw string literal" is faux pas in the D language. > What is the name of the D language syntax feature illustrated in the following fragment of D code? > > string A = q"DELIM > `Why with an anxious look at the > door-- Pray, what is the Project (and > any other medium if you please! > "William the Conqueror, whose cause > was favoured by the carrier,' she > thought; `and how funny it'll seem to > see that she let the jury--' > DELIM"; There were others and I don't think they were right either. Sure, I got slices right (oh wait, "slices" wouldn't be a valid answer, actually), but I was sure the "anonymous class" was meant to be "constructor" - it is that, right? This feels a lot like poetry in the high school: "what did the author mean"? As for math/algorithms, this one feels too advanced: > return iota(9).reduce!"a+b"; So you need to know what `iota` and `reduce` do (okay, that can be googled), understand this weird lambda syntax and know that `iota(n)` will not generate an element equal to `n` just to know that it will return sum of numbers from 1 to 8. And then you're required either to calculate it the tedious way or know that sum from 1 to n equals `n*(n+1)/2`. Sure, this will eliminate spammers. But I wonder what the word of mouth will be: <A> Have you tried asking on the D forum? <B> Yeah, but they thought I was a spammer and wouldn't let me post. <A> Oh, well, maybe try to do it in python. tl;dr: waaaaaaaaaaay too difficult |
December 03, 2014 Re: forum.dlang.org is now using DCaptcha | ||||
---|---|---|---|---|
| ||||
Posted in reply to krzaq Attachments: | On Wed, 03 Dec 2014 01:48:55 +0000 krzaq via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote: > Sure, this will eliminate spammers. But I wonder what the word of > mouth will be: > <A> Have you tried asking on the D forum? > <B> Yeah, but they thought I was a spammer and wouldn't let me > post. > <A> Oh, well, maybe try to do it in python. ah, the perfect filter! |
Copyright © 1999-2021 by the D Language Foundation