Обратите внимание, что новости можно получать по RSS.
X
-

События, Информационные технологии, LiveJournal cr_it - архив

6 марта 2010, 06:25 (3208 дней назад, №8785)Организация Chaos Constructions: Как мы считали голоса
Скриншот системы распознавания анкет на СС'2004Когда мы начали готовить Chaos Constructions'2004 (а это был первый CC, где объединились две команды организаторов - ENLIGHT'a и предыдущих CC), было уже ясно, что при таком количестве конкурсов и предсказуемо большом числе посетителей, надо решать проблему с быстрым подсчетом голосов.

Голосование с компьютеров не рассматривалось по многим причинам - их просто не могло тогда появиться в достаточном количестве. Голосовали проверенным (с 1995 года) методом - выставляя в анкете желаемое количество баллов каждой из работ. Вопрос был в том, как оперативно подсчитать эти баллы по окончанию конкурсов, чтобы не задерживать церемонию награждения (в воскресенье вечером почти все иногородние стремились успеть на поезд домой).

Появилась высокотехнологичная идея сделать автоматическое распознавание и подсчёт. Я взял на себя аппаратную часть (вебкамера в корпусе с прозрачной стенкой и лампой), Лёник Теренин (SkyWalker) - программную (он как раз по работе занимался сходными вещами).
Естественно, распознавать произвольные рукописные цифры было нереальным, так что дизайн анкет мы адаптировали под машинную обработку - голосующие должны были ставить галочки в пустые квадратики, а каждая страничка анкеты, соответствующая конкурсу, имела специальную область с двоичным кодом конкурса и метками по краям. Чтобы повысить качество распознавания, пришлось отказаться от размножения анкет на ризографе и печатать их на офсете (это значительно дороже).
Требования к ПО также были довольно жёсткие - анкета могла быть мятой, лежать под углом, вместо галочек могли стоять любые знаки, прочерки, точки и т.д.

Alien вбивает голоса в программу Aamonster'aВсего предусмотреть не удалось. Распознавание работало, но выявились проблемы с неравномерным освещением и сырым софтом. Это всё было бы поправимо (если не в 2004, то в 2005-м), однако выявился смешной ньюанс, который мы не приняли во внимание. А именно - даже при идеальном и мгновенном распознавании обработка такого количества анкет одним устройством происходила намного медленнее, чем ручной подсчёт усилиями 5-10 человек :-)
Когда мы осознали этот факт,   срочно написал на Delphi программу, с интерфейсом, похожим на анкету, где квадратикам соответствовали чекбоксы. Был объявлен призыв всех, кто мог держать в руках клавиатуру. В результате удалось в очень сжатые сроки всё посчитать.

Решаем проблему со скриптом неправильно считающим голоса. CC'2004С тех пор, вплоть до 2008 года, менялся лишь внешний вид анкет, и программы. Принцип ручного подсчета оказался очень живучим - при отлаженной технологии хватало буквально трёх человек (считать конечно начинали не в авральном порядке после всех конкурсов, а спокойно - по мере сдачи анкет).

Движок, упомянутый в предыдущем посте, был доработан  'ом для импорта голосов и вывода результатов в соответствии с данными по конкурсным работам и их авторам. Кстати, принцип подсчёта баллов был неочевидным и пару-тройку раз менялся, пока не была выбрана подходящая для наших условий формула.

В 2009 году число личных компьютеров посетителей позволило отказаться от анкет и перейти к полностью электронному голосованию. Первый блин, впрочем, был в значительной степени комом (сервер не выдержал нагрузку, когда все рванули голосовать, к тому же логика в ПО была не вполне продуманной). Впрочем, это уже другая история.

Опубликовано: Пётр Соболев

Случайная заметка

7090 дней назад, 19:0920 июля 1999 Вышел PHP 4.0 beta 1. - The Zend Engine (new language features, such as reference counting, enhanced objects support, a new boolean type and extendibility) - Server Abstraction Layer (PHP 4.0 has no server-specific code in any of its parts...) - HTTP Sessions support - Generalized Build Process, under UNIX (..future betas will allow you to easily build PHP modules dynamically) - Easier and more powerful configuration (directives available in php.ini (formerly php3.ini) can now be controlled at runtime, through Apache configuration/win registry). Раздают в исходниках и ...далее

Избранное

591 день назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

103 дня назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее