Система → Письма от algoprog

 
1
 

Привет, друзья!

Пытаюсь разобраться с одной проблемой. Надеюсь вместе разберемся.

На алгопроге всегда были(и есть, но уже меньше) какие-то проблемы с рассылкой писем. В преддверии SDU OPEN 2012 еще раз поменял рассылочный сервер и метод рассылки. На этот раз я воспользовался сервисом Amazon SES, и при рассылке объявления выяснилось, что целая куча пользователей по каким-то причинам не может получить письмо. У Amazon SES есть такая специфика, что если письмо не было доставлено, то адресат попадает в черный список.

Ниже указан список пользователей, которые в черном списке Amazon SES.

При том, все эти пользователи активные, они как-то подтвердили свою регистрацию ...

Система → Глюки

 
5
 

Всем привет!

Я тут шаманю по крупному, а точнее делаю серъезные изменения связанные с рейтингом, отправками и т.д. Вижу кто-то уже пишет о проблемах.

Пишите о глюках в комментарии.. буду исправлять

Только что пересчитал рейтинг. Дела с рейтингом вроде исправлены? 14:40 11/04/2011

Система → Как сообщить о копировании на контесте

 
8
 

После всего этого хаоса на КАТЕВке, было решено сделать функцию, чтобы сообщать о копировании на контесте. Теперь, в странице кода посылки, появилась кнопка "Report cheating". При нажатии, выходять две формы:
алт. текст...

  1. Report this run as copy & paste" - сообщить, что этот код одинаковый или похож с другим кодом по этой же задачи.
  2. "Report this run as taken solution" - сообщить, что этот код взять с какого-то сайта.

При заполнении первой формы (Report this run as copy & paste), необходимо указать номер посылки, по этой же задачи, другим участником. Выйдет страница с двумя кодами.

алт. текст...

Если вы уверены, что коды похожи или одинаковы, нажмите кнопку "Report ...

Система → Presentation Error

 
8
 

Около года не мог сдать одну задачу... Сегодня сдал. Ошибка была в названии файла вывода и ввода! У меня было iterets.in и iterets.out а надо было lterets.in и lterets.out! Можете сделать чтобы в такие моменты выводило Presentation Error, а не Wrong Answer #1. Что только не перепробовал, столько времени убил только из-за невнимательности, обидно... Можете добавить вердикт Presentation Error.

Система → Рейтинги

 
13
 

Сегодня попробовал исправить ошибку в подсчете рейтинга. Нашел пару ошибок в алгоритме и пересчитал рейтинги.

Еще добавил в таблицу решенных задач два поля: количество неудачных посылок, и штраф накладываемый на эту задачу. Так каждый сможет посмотреть сколько у него штраф на задачу. Смотрите тут, кто пропустил пост с описанием подсчета рейтинга.

Решенный задачи

Однако это не значит, что все исправлено на сто. Возможно найдется еще пару недочетов, всякое бывает.

Если заметите проблемы или есть предложения как улучшить, сделать обзор рейтинга более прозрачным и т.д; - пишите в комментариях.

Система → Новая рейтинговка

 
6
 

img

В последнее время стараемся как-то улучшить и оптимизировать работу системы. Своей очереди дождались "метод подсчета сложности задачи" и "метод подсчета рейтинга кодера".

На данный момент идея такая: у каждой задачи будет какая-то начальная сложность. Каждая посылка (на задачу) будет влиять на ее сложность. Если Accepted, то отнимаем от сложности задачи коэффициент OK_PENALITY, а если Wrong Answer, Time Limit, Memory Limit и т.д; то добавляем к сложности задачи FAIL_PENALITY.

Пока мы взяли:

  • DEFAULT_PROBLEM_DIFFICULTY = 2.5
  • OK_PENALITY = 0.01
  • FAIL_PENALITY = 0.003

А рейтинг кодера, конечно же, будет высчитываться в зависимости от решенных им задач, то есть сумма сложностей решенных задач ...

Система → Отправки

 
2
 

Спешу поделиться, что в меню контестов появился новый раздел "Runs experemental". в новых отправках результат обнавляется гораздо быстрее.

Раньше были проблемы с обнавлением посылок. Ejudge не использовал Mysql и на фоне работал скрипт который обновлял и запихивал посылки в базу. И если по каким-то причинам этот скрипт не работает (а причин было не мало :) ), то у всех стоит waiting пока я не заставлю его работать снова.

Пока монитор и рейтинг выщитывается по старым. Но скоро окончательно перейдем на новые. воот. если что не так в новых то пишите в комментарии.

Система → Обновление eJudge

 
1
 

Сегодня обновил версию eJudge до 2.3.16. Вроде все встало ровно! Если что пишите в комментарии о побочных эффектах.

За счет упрощения работы с БД в новой версии ejudge, в скором времени будет сделана оптимизация общения между algoprog и eJudge, что должно ускорить обновление статуса посылок, регистрации на контесте и т.д.

Система → Уронил алгопрог

 
14
 

Сегодня во время WARMUP контеста из-за большого наплыва пользователей алгопрог стал подвисать. По этому я решил увеличить количество процессов которые будут обрабатовать запросы. Каким-то магическим образом вместо того чтобы указать 5 процессов обработчиков я указал 5555. И таким образом окончательно убил сервер.


После чего долго и мучительно играл наперегонки с аpache. Кто быстрее apache съест весь RAM или я успею залогиниться и убить его.


Воот, простите значит за испорченный праздник. :'(
Зато в панике увеличил RAM на сервере в два раза, теперь по шустрее будет.

Система → API doc

 
3
 

Algoprog API

http://micrograd.kz/ предложили предоставлять им сервис для проведения соревнований на их сайте. В результате недолгого брейнсторминга появился такой вот API.

Краткое описание

Пользователь API(далее клиент) может проводить соревнования у себя на сайте.
Как?
ну опишем примерный порядок действий.

  1. клиент регистрируется на сайте и связывается с нами(пока так germanilyin@gmail.com)
  2. мы создаем для них API акаунт
  3. после этого клиент может зайти на к.панель API
  4. клиент заказывает контест указывая детали.
  5. мы подготавливаем контест и отмечам, что контест готов.
  6. после этого клиент имеет доступ к описанию контеста, условиям задач, разборам и т.д.
  7. после того как клиент запустил контест ...

Система → Текущая формула сложности задачи

 
3
 

В данный момент сложность задачи на сайте вычисляется вот такой простой формулой (предложил azonium).

$\frac{Ts \times Pa}{Ta \times Ps}$

  1. Ts - кол.во посылок в системе
  2. Ps - кол.во посылок на задачу
  3. Ta - кол.во принятых посылок в системе
  4. Pa - кол.во принятых посылок на задачу

Если у вас есть идеи как улучшить или альтернативная формула, милости просим, пишите в комменты.