July 17th, 2008

smoke

Крайне умно. Spread the word

Наверное, многие из вас знают, что такое CAPTCHA.
Это такие картинки с буковками, которые нужно вбить, чтоб доказать, что ты не верблюд компьютер (на регистрациях всяческих).
Как правило, программисты специально пишут код, который придумывает эти буковки и циферки, печатает их, корежит, посыпает шумом и портит сеткой линий.
Совершенно гениальное решение придумали ребята из Carnegie Mellon University, убив большое число длинноухих одновременно.
Всем желающим они предлагают бесплатную симпатичную готовую систему капчи для вашего сайта.
Только словечки к ней они не совсем генерят, а берут из старых книжек (ни и линию какую нарисуют).
То есть в чем прикол? Они сканируют книги и делают первичный OCR. А заодно подсовывают слова из этих книг в свою капчу.
Тыщи людей во всем мире регистрируются на сайтах знакомств и распознают эти слова, а их сервак собирает распознанные слова и выбирает, как я понимаю, самый частый вариант. В итоге мы имеем "автоматически" распознанную книжку с минимумом ошибок

Тут, конечно, вопрос: если слово автоматом не распознано, то каков правильный ответ? То есть откуда его знать системе? Хитрость невелика: вам дают ДВА слова. Про одно из них правильный ответ известен. И по нему происходит сравнение. А вот ваш ответ на второе слово не проверяется, но учитывается. А через некоторое число совпадающих ответов данное слово тоже становится "известным" системе.
 
По-моему, это очень круто, умно и здорово.
Если вам вдруг понадобилась капча на сайт - поддержите толковое начинание.

smoke

Ценный веник

Возможно, кто-то из программистов не знал (я сам случайно наткнулся в последние дни) о проекте PLEAC. Идея проекта подана его создателям повареной книгой Pearl.
В предельно лаконичной форме на 26 языках (более чем на половину завершены пока 5) показывается, как решаются на этих языках стандартные задачки (парсинг чисел, или же печать дат, или конкатенация строк, или итерация по циклу, или чтение из файла, или работа с сокетами и т.п.)
Все "книжки" имеют совершенно одинаковую структуру (20 "глав", разбитых на разделы), в каждом разделе решается какая-то стандартная задачка путем непосредственного приведения куска кода. Никакого текста - только код с минимумом комментариев.
Так что можно, например, сравнить элегантность различных языков, быстро найти решение, если для вас язык нов, или просто выучить язык на примерах (что часто легко удается, когда парадигма и синтаксис знакомы).