Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Cable? (Score 3, Insightful) 313

I have one of these already. It's called "cable." You pay a monthly fee and you get to watch a bunch of different channels with lots of different content. The only difference I can tell between a paid Hulu and cable is that Hulu is only "on demand," has less content, and wants to be PC-only. So, basically, Hulu will be the crappy version of cable.

Comment Re:Specification does not dictate implementation (Score 1) 94

Any "forking" I've had to do is, e.g.:

if(window.addEventListener) {
window.addEventListener('load', init, false);
} else if(window.attachEvent) {
window.attachEvent('onload', init);

It's unfortunate, but not a huge bother. It's rare in my day-to-day JS programming that I run into major compatibility issues beyond whether or not a particular feature is implemented in various JS engines.

Comment Re:That wooshing sound.... (Score 1) 522

I don't want to be another "Me, Too" but here are some things I've done that work that don't require annoying, hard to read CAPTHCA images:

  1. Check the HTTP_REFERER for the correct post page. This used to work really well several years ago, but bots have started sending the correct referer. You may filter some this way, still, though.
  2. Put a text field hidden with CSS with name="phone". Bots will automatically try to fill in the information. Before you add the post to the database, make sure the "phone" field is empty. You could also do the same with name="email". If you actually do collect e-mail addresses or phone numbers, you name those fields something else. If they do figure out to leave it empty, you can easily change your code from (example in PHP) if($_POST['phone'] !== '') to if(isset($_POST['phone'])) and pull the field out of the form.
  3. A simple "type 'code' in the following field." Out-of-the-box bots aren't smart enough to figure this out, and if they do figure it out, it's trivial to change the code.
  4. Random challenge / response questions. Make a list of 10 questions with obvious answers (e.g. Q: Fire is what? A: Hot, Q:TV is short for what? A: Television). On the form, display one random question, and 4 random answers and one correct answer.
  5. Send a confirm e-mail if the user is not a registered user. Ban any registered users that spam.
  6. Monitor your spam and have an index of spammy keywords. Often you just need to put the site they link to's domain as one of the keywords. Other times, it'll be some pill.

There are probably more advanced methods (e.g. checking headers, cookies, etc) to detect common bot attributes, but I haven't spent a lot of time researching my spam for that.

Most of the off-the-shelf bots are made to perform well on typical forms. If you do something atypical or actively respond to new spam techniques, you can very, very easily defeat a spam bot while investing minimal time without annoying the shit out of your users with CAPTCHAs they can't read.

CAPTCHAs are the worst usability anti-pattern and they need to go away.

Comment Silly For Both (Score 3, Insightful) 200

Google would be silly not to renew.
1. Firefox users make up a huge market of potential revenue.
2. Chrome users + Firefox users make up an even bigger market.
3. Chrome users make up a much smaller market than Firefox users.
4. It may put hurt on the Mozilla foundation, which may effectively kill a great standards based browser. That doesn't mesh well with what I understand to be the goals of Google.

If they do, I can't imagine the majority of Firefox users leaving the default search in place. Rather, they would set it to Google anyway. So, unless the new default is really compelling, Mozilla won't benefit much, anyway (unless they get paid JUST for having it as default, not based on how many queries are run).

Slashdot Top Deals

Technological progress has merely provided us with more efficient means for going backwards. -- Aldous Huxley