В выходные прошли SDC и Armenian Cup.
Похвастаюсь достижениями 😎
1. Первая проба электронного судейства через сайт на рейтинговом турнире. И даже ничего не сломалось 😅 собрал фидбек, спасибо смелым судьям!
2. Первый турнир, проведенный через устройства Apple (у счетной на Armenian Cup был Мак 👨💻). На обычных турнирах используют эксель с очень навороченными макросами - даже на винде эксель периодически крашится, а на других устройствах не может обработать файлы совсем. Сайт снимает такие ограничения.
3. Первый турнир проведённый счётной, с которой я не виделся в реале и даже не созванивался. Просто написал инструкцию, а считающий специалист сам прошел по ней и всё попробовал заранее в тестовом турнире. Судьям тоже вживую/по видео не нужно было рассказывать, как пользоваться бегунками. Судьям и счетной - респект! 😊
Дополнительно договорились на проведение через perf.events ближайших конкурсов АСХ в Москве) Bring The Action, Jack-n-Jill Only и DanceVision.
А там
- Dance Tour от организаторов Armenian Cup
- Динамиада и HD Cup от организаторов JnJ Only
- MusicUp Competition от организатора SDC
Схема проведения этих турниров пока не согласована, но, кажется, есть перспективы выполнить цель "10 турниров за год" с опережением графика ☺
А пока до ближайшего турнира надо учесть фидбек по электронным бегункам (добавить 100500 настроек, т.к. у судей иногда взаимоисключающие хотелки) и добавить интерфейсы для ведущего и построителей заходов. 🤓
Похвастаюсь достижениями 😎
1. Первая проба электронного судейства через сайт на рейтинговом турнире. И даже ничего не сломалось 😅 собрал фидбек, спасибо смелым судьям!
2. Первый турнир, проведенный через устройства Apple (у счетной на Armenian Cup был Мак 👨💻). На обычных турнирах используют эксель с очень навороченными макросами - даже на винде эксель периодически крашится, а на других устройствах не может обработать файлы совсем. Сайт снимает такие ограничения.
3. Первый турнир проведённый счётной, с которой я не виделся в реале и даже не созванивался. Просто написал инструкцию, а считающий специалист сам прошел по ней и всё попробовал заранее в тестовом турнире. Судьям тоже вживую/по видео не нужно было рассказывать, как пользоваться бегунками. Судьям и счетной - респект! 😊
Дополнительно договорились на проведение через perf.events ближайших конкурсов АСХ в Москве) Bring The Action, Jack-n-Jill Only и DanceVision.
А там
- Dance Tour от организаторов Armenian Cup
- Динамиада и HD Cup от организаторов JnJ Only
- MusicUp Competition от организатора SDC
Схема проведения этих турниров пока не согласована, но, кажется, есть перспективы выполнить цель "10 турниров за год" с опережением графика ☺
А пока до ближайшего турнира надо учесть фидбек по электронным бегункам (добавить 100500 настроек, т.к. у судей иногда взаимоисключающие хотелки) и добавить интерфейсы для ведущего и построителей заходов. 🤓
А вот инструкция для счетной: https://shorturl.at/hzBRY если вдруг кому-то захочется оценить функционал/UI 😅
Google Docs
Проведение рейтинговых турниров АСХ через систему PerfEvents
Проведение рейтинговых турниров АСХ через систему Perf.Events Введение Это инструкция для счетной комиссии. Инструкция содержит полное описание необходимых действий для проведения рейтингового турнира АСХ (проведение нерейтинговых номинаций тоже описано).…
Нравится мне аналитика 🧮
На сайте стоят счётчики посещений (когда пользователь открывает страницу, счетчик загружается вместе с ней и отправляет запрос на сервер Яндекса/Гугла, мол, меня загрузили и серверы считают такие запросы).
Этот месяц оказался рекордным по числу уникальных пользователей - 1600 😎
А в неделю, когда на выходных было два конкурса, число уников за неделю перешагнуло 1000 человек (картинка в посте - график уников по неделям)
Не сказать, что эти цифры на что-то влияют (влияли бы, если бы на сайте была реклама с оплатой за показы 🤑), но приятно :)
Это с одной стороны, а с другой - в крупнейших хастловых ТГ-каналах, известных мне (куда идёт рассылка результатов ЧР, например), не более 2000 подписчиков, значит и для сайта с хастлоивентами потолок будет того же порядка (не десятки тысяч посетителей точно).
Хотя... Если проведение турниров упростится и хастл расширит географию, почему нет)
Кстати, тут возник вопрос/идея. Как вам возможность выбирать заранее себе номер на турнире?
На сайте стоят счётчики посещений (когда пользователь открывает страницу, счетчик загружается вместе с ней и отправляет запрос на сервер Яндекса/Гугла, мол, меня загрузили и серверы считают такие запросы).
Этот месяц оказался рекордным по числу уникальных пользователей - 1600 😎
А в неделю, когда на выходных было два конкурса, число уников за неделю перешагнуло 1000 человек (картинка в посте - график уников по неделям)
Не сказать, что эти цифры на что-то влияют (влияли бы, если бы на сайте была реклама с оплатой за показы 🤑), но приятно :)
Это с одной стороны, а с другой - в крупнейших хастловых ТГ-каналах, известных мне (куда идёт рассылка результатов ЧР, например), не более 2000 подписчиков, значит и для сайта с хастлоивентами потолок будет того же порядка (не десятки тысяч посетителей точно).
Хотя... Если проведение турниров упростится и хастл расширит географию, почему нет)
Кстати, тут возник вопрос/идея. Как вам возможность выбирать заранее себе номер на турнире?
Как вам идея выбирать номер на турнире заранее?
Anonymous Poll
14%
Отлично, за красивый номер можно даже доплатить!
43%
Выбрать номер заранее - здорово, но лучше без доплат - кто раньше занял номер, тот и молодец
31%
Мне не важно, какой у меня номер на турнире
12%
Посмотреть результаты
Полгода назад начал замечать пользователей, которые регистрируются на почту написанную с заглавной буквы.
Вроде Vitaly@mail.ru, а не vitaly@mail.ru
Странно, но мало ли кто как почту заводит/указывает. Но вот в последний месяц периодически стали приходить сообщения от людей, что они не могут залогиниться и сброс пароля не помогает.
Полез разбираться и оказалось, что Vitaly@mail.ru и vitaly@mail.ru это вообще говоря разные логины (ещё с первой беты, когда логин был не почтой). А ещё оказалось, что услужливый браузер на мобилках сам при вводе первую букву делает заглавной 🤖
В итоге человек со смартфона регится как Vitaly@mail.ru, логинится как Vitaly@mail.ru (браузер снова делает букву заглавной), а на компе вводит vitaly@mail.ru и система его не пускает... 😾
Что с этим делать? Поправить поле ввода логина, чтобы убрать простор для самодеятельности мобильного браузера) Это сделал.
А вот что делать с существующими пользователями пока не ясно - хз, кто намеренно использовал заглавные буквы, а кто - нет. Кроме того нельзя сделать скрытую замену вводимых символов на нижний регистр (что бы пользователь ни вводил, мы на сервере всё переводим в нижний регистр и так храним), т.к. есть какое-то соглашение почтовых сервисов о том, что если у пользователя почта Vitaly@mail.ru, а мы шлём что-то на vitaly@mail.ru, то можно такие письма блокировать.
Самым правильным было бы сделать рассылку по таким email от лица сервиса с рассказом о проблеме и кнопкой "перевести логин в нижний регистр", но это отдельная разработка, так что руки не уверен, что быстро дойдут.
А пока я:
- Сделал 100500 настроек для электронного судейства (чтобы каждый судья мог выбрать удобный интерфейс). Вчера добавлял ещё настроек 🤓 Особо интересно будет посмотреть настройки судей посли пары турниров - какие интерфейсы и фичи нужны (включены в настройках), а какие - нет.
- Почти доделал интерфейс построителей заходов и списки заходов для ведущего и зрителей. К JnJ-Only будет готово 😊
Следующим на очереди будет вывод заходов/инфы о следующей номинации на экраны телевизоров/проектора. Тут появилась классная доп.идея - выводить QR-коды со ссылкой на ТГ-канал с результатами и с заходами на сайте. Буду разбираться с генерацией QR-кодов 👨💻
И где-то потом возможность брони номеров на турнире (в прошлом посте большинство высказалось за то, что это будет здорово)
А вот судейство ТТД при анализе оказалось слишком многогранным - иногда в отборах ставят баллы, иногда места, иногда "места, но можно поставить несколько одинаковых мест"; иногда партнерам надо выходить повторно, получается, что им надо два электронных бегунка, а ещё финалы, в которых судятся танцоры отдельно, да ещё и разные судьи для партнеров и партнерш... В общем, пока отложил 😌
Вроде Vitaly@mail.ru, а не vitaly@mail.ru
Странно, но мало ли кто как почту заводит/указывает. Но вот в последний месяц периодически стали приходить сообщения от людей, что они не могут залогиниться и сброс пароля не помогает.
Полез разбираться и оказалось, что Vitaly@mail.ru и vitaly@mail.ru это вообще говоря разные логины (ещё с первой беты, когда логин был не почтой). А ещё оказалось, что услужливый браузер на мобилках сам при вводе первую букву делает заглавной 🤖
В итоге человек со смартфона регится как Vitaly@mail.ru, логинится как Vitaly@mail.ru (браузер снова делает букву заглавной), а на компе вводит vitaly@mail.ru и система его не пускает... 😾
Что с этим делать? Поправить поле ввода логина, чтобы убрать простор для самодеятельности мобильного браузера) Это сделал.
А вот что делать с существующими пользователями пока не ясно - хз, кто намеренно использовал заглавные буквы, а кто - нет. Кроме того нельзя сделать скрытую замену вводимых символов на нижний регистр (что бы пользователь ни вводил, мы на сервере всё переводим в нижний регистр и так храним), т.к. есть какое-то соглашение почтовых сервисов о том, что если у пользователя почта Vitaly@mail.ru, а мы шлём что-то на vitaly@mail.ru, то можно такие письма блокировать.
Самым правильным было бы сделать рассылку по таким email от лица сервиса с рассказом о проблеме и кнопкой "перевести логин в нижний регистр", но это отдельная разработка, так что руки не уверен, что быстро дойдут.
А пока я:
- Сделал 100500 настроек для электронного судейства (чтобы каждый судья мог выбрать удобный интерфейс). Вчера добавлял ещё настроек 🤓 Особо интересно будет посмотреть настройки судей посли пары турниров - какие интерфейсы и фичи нужны (включены в настройках), а какие - нет.
- Почти доделал интерфейс построителей заходов и списки заходов для ведущего и зрителей. К JnJ-Only будет готово 😊
Следующим на очереди будет вывод заходов/инфы о следующей номинации на экраны телевизоров/проектора. Тут появилась классная доп.идея - выводить QR-коды со ссылкой на ТГ-канал с результатами и с заходами на сайте. Буду разбираться с генерацией QR-кодов 👨💻
И где-то потом возможность брони номеров на турнире (в прошлом посте большинство высказалось за то, что это будет здорово)
А вот судейство ТТД при анализе оказалось слишком многогранным - иногда в отборах ставят баллы, иногда места, иногда "места, но можно поставить несколько одинаковых мест"; иногда партнерам надо выходить повторно, получается, что им надо два электронных бегунка, а ещё финалы, в которых судятся танцоры отдельно, да ещё и разные судьи для партнеров и партнерш... В общем, пока отложил 😌
На выходных прошел JnJ-Only, первый московский турнир со 100% новым электронным судейством 😎
На деле получилось 98%, но не суть)
Ещё на JnJ-Only попробовали связь между построителями заходов и ведущим через телеграм. Для построителя оказалось супер-удобно, а ведущему приходится переключаться между браузером и телеграмом. В общем, кажется надо будет делать какие-то пуш-уведомления и систему связи прямо на сайте. Но пока это не первый приоритет.
Про бронь турнирных номеров - подготовил MVP (минимальный полезный прототип) для бронирования. Будет тестовый запуск на Dance Tour 😇 Участники могут выбирать номера заранее - это прямо очень прикольно получилось, аж самому захотелось выбрать)
Ещё есть планы сделать такую бронь на один из ближайших московских турниров, но поглядим.
Пока в реализации всё суперпросто - участник выбирает номер при предварительной регистрации и получает его (счетная видит выбранный номер).
Ну а впереди много веселья на стороне разработки начиная от ограниченного времени брони номера - чтобы номер закреплялся за участником на сутки/двое и, если участник не внёс оплату за участие, номер освобождался; и заканчивая возможностью устанавливать цены на номера. Чтобы, например, 7 или 1 или 13 стоили каких-то денег, 100 или 666 стоили других, а иные номера были бесплатными.
А на всё это ещё накладывается требование к возможности замены номеров (и пересчету оплаты), резервирования/назначения отдельных номеров со стороны организаторов (чтобы 69 не любому мог достаться 😅 М-м...
В общем, пока надо доделать бронь номерков и её настройку для оргов, а ещё сделать вывод на экраны ТВ/проекторов всякой полезной инфы от расписания заходов до мест в финале 🤓
На деле получилось 98%, но не суть)
Ещё на JnJ-Only попробовали связь между построителями заходов и ведущим через телеграм. Для построителя оказалось супер-удобно, а ведущему приходится переключаться между браузером и телеграмом. В общем, кажется надо будет делать какие-то пуш-уведомления и систему связи прямо на сайте. Но пока это не первый приоритет.
Про бронь турнирных номеров - подготовил MVP (минимальный полезный прототип) для бронирования. Будет тестовый запуск на Dance Tour 😇 Участники могут выбирать номера заранее - это прямо очень прикольно получилось, аж самому захотелось выбрать)
Ещё есть планы сделать такую бронь на один из ближайших московских турниров, но поглядим.
Пока в реализации всё суперпросто - участник выбирает номер при предварительной регистрации и получает его (счетная видит выбранный номер).
Ну а впереди много веселья на стороне разработки начиная от ограниченного времени брони номера - чтобы номер закреплялся за участником на сутки/двое и, если участник не внёс оплату за участие, номер освобождался; и заканчивая возможностью устанавливать цены на номера. Чтобы, например, 7 или 1 или 13 стоили каких-то денег, 100 или 666 стоили других, а иные номера были бесплатными.
А на всё это ещё накладывается требование к возможности замены номеров (и пересчету оплаты), резервирования/назначения отдельных номеров со стороны организаторов (чтобы 69 не любому мог достаться 😅 М-м...
В общем, пока надо доделать бронь номерков и её настройку для оргов, а ещё сделать вывод на экраны ТВ/проекторов всякой полезной инфы от расписания заходов до мест в финале 🤓
Новый рекорд) регистрация идёт на пять ивентов/турниров одновременно 😎
Расширилась как география, так и диапазон масштабов 🤩
Так скоро и фильтры по географии понадобятся)
А последние недели плотно работал над функционалом счетов (инвойсов). Чтобы участник регистрировался, орги проверяли выбранные пассы/проясняли прочие вопросы и выставляли счёт. А участник затем счёт оплачивал. Стандартная схема для большинства ивентов с пассами, пришло время её автоматизировать 🤖
Кто хочет посмотреть, как это выглядит со стороны участников, гоу региться на HD Fest 😄
А сейчас последние часы регистрации на DANCEVISION, это субботний конкурс, где будет первая проба показа инфы на экране и возможность выбрать себе номер при регистрации.
Из забавно-неочевидного - казалось бы, есть форма, в которой счётная проверяет/назначает номинации и номерки. Для турниров с предбронью номера я добавил, чтобы поле номера заполнялось согласно выбору участника; ну и на всякий случай сделал проверку того, что номер, который хотят назначить не забронирован другим участником. Вроде бы всё? Ан-нет, оказалось, что такой интерфейс создаёт для счётной весёлую (не очень) игру-угадайку 😈
Когда к тебе пришел участник без регистрации, перед тобой сотня номерков на столе и ты начинаешь вводить их по одному и спрашивать систему, не забукан ли номер 😓
В общем, хорошо, что Аля задала правильный вопрос и было время дополнить интерфейс показом свободных номерков 😊 надеюсь, эта тема с выбором номерков и зайдёт участникам, и не перегрузит счётную 😇
Расширилась как география, так и диапазон масштабов 🤩
Так скоро и фильтры по географии понадобятся)
А последние недели плотно работал над функционалом счетов (инвойсов). Чтобы участник регистрировался, орги проверяли выбранные пассы/проясняли прочие вопросы и выставляли счёт. А участник затем счёт оплачивал. Стандартная схема для большинства ивентов с пассами, пришло время её автоматизировать 🤖
Кто хочет посмотреть, как это выглядит со стороны участников, гоу региться на HD Fest 😄
А сейчас последние часы регистрации на DANCEVISION, это субботний конкурс, где будет первая проба показа инфы на экране и возможность выбрать себе номер при регистрации.
Из забавно-неочевидного - казалось бы, есть форма, в которой счётная проверяет/назначает номинации и номерки. Для турниров с предбронью номера я добавил, чтобы поле номера заполнялось согласно выбору участника; ну и на всякий случай сделал проверку того, что номер, который хотят назначить не забронирован другим участником. Вроде бы всё? Ан-нет, оказалось, что такой интерфейс создаёт для счётной весёлую (не очень) игру-угадайку 😈
Когда к тебе пришел участник без регистрации, перед тобой сотня номерков на столе и ты начинаешь вводить их по одному и спрашивать систему, не забукан ли номер 😓
В общем, хорошо, что Аля задала правильный вопрос и было время дополнить интерфейс показом свободных номерков 😊 надеюсь, эта тема с выбором номерков и зайдёт участникам, и не перегрузит счётную 😇
Прошел почти месяц с предыдущего поста 🗓
За это время успешно прошли и DanceVision, и DanceTour - два конкурса с бронью номерков. По впечатлениям счётной и оргов, искать/выдавать заброненые номерки в массовых количествах непросто... Впечатления участников же самые положительные 😇
Надо всё же будет собраться и сделать возможность платной брони (платность/цены/диапазон номерков будет на усмотрение оргов, конечно).
Если это получится, выйдет интересный эффект - само использование системы PerfEvents сможет очевидно/явно повышать выручку организаторов. Прям отдельная строка будет - выручка с номерrов 🤑 Ещё один аргумент к использованию 🥸
А ещё я тут писал про число уникальных посетителей за июнь в 1600 человек... Так вот, писал я это 22 июня и за остаток месяца число уников дошло до 2100. И в июле было 2100. И в августе уже 2000 - скрин метрики вверху сообщения. Приятное такое летнее плато 😎
За прошедший месяц я добавил возможность проводить финалы с неравным числом партнеров и партнерш (кто-то станцует больше одного раза в разных парах). Это может пригодиться для нерейтинга/инвитейшенл.
И как-то на волне большей гибкости в проведении нерейтинга пришла идея зрительского голосования. Идея не моя, но в хастле такого не было (и в вкс не видел).
Заключается в том, что финалистов оценивают зрители. Ну а что, электронные бегунки для финалов уже готовы, надо только электрнно раздать их всем присутствующим 🔥🔥🔥
А потом собрать и обработать оценки, конечно... Подсчет скейтинга по местам, пришедшим от сотни судей. Как тебе такое, Илон Маск? 🤖
И это может как заменить, так и дополнить места от аттестованных судей (приз зрительских симпатий, например) 🏆
И это же будет некоторый шаг в сторону проведения ТДД через систему ☺️
P.S. за неделю до Пурги голосование не успеть сделать, хотя там бы оно точно зашло, но к MusicUp - реальная цель🤞
За это время успешно прошли и DanceVision, и DanceTour - два конкурса с бронью номерков. По впечатлениям счётной и оргов, искать/выдавать заброненые номерки в массовых количествах непросто... Впечатления участников же самые положительные 😇
Надо всё же будет собраться и сделать возможность платной брони (платность/цены/диапазон номерков будет на усмотрение оргов, конечно).
Если это получится, выйдет интересный эффект - само использование системы PerfEvents сможет очевидно/явно повышать выручку организаторов. Прям отдельная строка будет - выручка с номерrов 🤑 Ещё один аргумент к использованию 🥸
А ещё я тут писал про число уникальных посетителей за июнь в 1600 человек... Так вот, писал я это 22 июня и за остаток месяца число уников дошло до 2100. И в июле было 2100. И в августе уже 2000 - скрин метрики вверху сообщения. Приятное такое летнее плато 😎
За прошедший месяц я добавил возможность проводить финалы с неравным числом партнеров и партнерш (кто-то станцует больше одного раза в разных парах). Это может пригодиться для нерейтинга/инвитейшенл.
И как-то на волне большей гибкости в проведении нерейтинга пришла идея зрительского голосования. Идея не моя, но в хастле такого не было (и в вкс не видел).
Заключается в том, что финалистов оценивают зрители. Ну а что, электронные бегунки для финалов уже готовы, надо только электрнно раздать их всем присутствующим 🔥🔥🔥
А потом собрать и обработать оценки, конечно... Подсчет скейтинга по местам, пришедшим от сотни судей. Как тебе такое, Илон Маск? 🤖
И это может как заменить, так и дополнить места от аттестованных судей (приз зрительских симпатий, например) 🏆
И это же будет некоторый шаг в сторону проведения ТДД через систему ☺️
P.S. за неделю до Пурги голосование не успеть сделать, хотя там бы оно точно зашло, но к MusicUp - реальная цель🤞
Тээкс, прошел месяц 🗓
Но вообще-то я обленился и надо посты раз в неделю хотябы писать 😓
Достижения сайта:
- новый рекорд посещаемости - 2700 "уникальных" человек за сентябрь, а вчера было 600 за день (последний день регистрации сразу на 3 конкурса), тоже рекорд 😎
- турнир в новой стране - "Бульбакубок" догадайтесь где)) Уже завтра
- ну и по городам РФ продолжаем расширяться) +Калининград 🌟
Развитие и фичи:
- сделал зрительское "голосование". А на самом деле судейство) Т.е. зрители выбирают не одну лучшую пару финала, а расставляют пары по местам - скейтинг более устойчив к "накруткам", чем обычное голосование большинством. Будет интересно проследить за динамикой/востребованностью этой фичи. Но я могу легко представить фановые номинации, где финал вообще судьи не судят, а всё отдано на откуп зрителям.
- апгрейднул интерфейс ведущего - теперь построитель захода отмечает присутствие/отсутствие людей и ведущий у себя это сразу видит (раньше у построителя была кнопка, которая слала список отсутствующих в ТГ ведущему и тому приходилось переключаться из браузера в тг, а затем обратно). Должно стать удобнее.
- сделал печать инфы на конвертах, как на НордКапе и автоматическое назначение номеров участникам (чтобы было что раскладывать по конвертам). Ожидаю первое использование уже на HD в октябре (осталось только с оргами согласовать 😃).
- добавил платную бронь номерков! Надеюсь, это повысит популярность бронирования среди оргов)
Что дальше?
Уровни мастерклассов выкатить и инструкции надо бы обновить/написать) А то функционала всё больше и сообщения оргам с описанием того, что система может - всё длиннее)
Но вообще-то я обленился и надо посты раз в неделю хотябы писать 😓
Достижения сайта:
- новый рекорд посещаемости - 2700 "уникальных" человек за сентябрь, а вчера было 600 за день (последний день регистрации сразу на 3 конкурса), тоже рекорд 😎
- турнир в новой стране - "Бульбакубок" догадайтесь где)) Уже завтра
- ну и по городам РФ продолжаем расширяться) +Калининград 🌟
Развитие и фичи:
- сделал зрительское "голосование". А на самом деле судейство) Т.е. зрители выбирают не одну лучшую пару финала, а расставляют пары по местам - скейтинг более устойчив к "накруткам", чем обычное голосование большинством. Будет интересно проследить за динамикой/востребованностью этой фичи. Но я могу легко представить фановые номинации, где финал вообще судьи не судят, а всё отдано на откуп зрителям.
- апгрейднул интерфейс ведущего - теперь построитель захода отмечает присутствие/отсутствие людей и ведущий у себя это сразу видит (раньше у построителя была кнопка, которая слала список отсутствующих в ТГ ведущему и тому приходилось переключаться из браузера в тг, а затем обратно). Должно стать удобнее.
- сделал печать инфы на конвертах, как на НордКапе и автоматическое назначение номеров участникам (чтобы было что раскладывать по конвертам). Ожидаю первое использование уже на HD в октябре (осталось только с оргами согласовать 😃).
- добавил платную бронь номерков! Надеюсь, это повысит популярность бронирования среди оргов)
Что дальше?
Уровни мастерклассов выкатить и инструкции надо бы обновить/написать) А то функционала всё больше и сообщения оргам с описанием того, что система может - всё длиннее)
Уф... Это был длинный день ☀️
4 конкурса по хастлу (и немного по ВКС 🫣) в один день, из них 3 через сайт (Москва, Новосибирск и Минск) и ещё один только рассылка результатов в ТГ (Екатеринбург). Хех, а я весной ставил цель 10 турниров за год через сайт провести 😎
День начался с сообщений в 5:30 утра в вк (в Новосибе +5 часов и началась регистрация на месте), а затем звонком в 7) Но я морально был готов и ложился спать пораньше - очень много нововведений с последнего конкурса и что-то могло сломаться... Но первая проблема была - не отправлялись заходы в ТГ.
Оказалось, что орги забыли в системе указать, в какой канал слать заходы (но сайт тоже молодец - весело сообщал, что всё в порядке и заходы отправляются). Починил и причину, и проверку. Но спустя полчаса не отправились уже результаты и тут это следствие моих ноухау 🙈
На самом деле помимо крупных изменений, которые я описал во вчерашнем посте, случается и много мелких доделок. Например, я сделал, чтобы всякое для жеребьёвки можно было печатать не только в финалах, но и в отборочных (для всяких Джекпотов/ДнД Классик) или чтобы можно было отправлять состав финала в телеграм в фиксированном порядке (без сортировки по номерам) и писать, что это порядок выступлений, а не просто состав.
Это второе небольшое изменение оказалось внезапно несовместимым с рассылкой результатов... Ну т.е. я забыл совместить) Но быстро починил.
Потом по ходу дня ещё поправил интерфейс ведущего - ему ведь надо вызывать не только тех, кого не хватает на построении, но и других людей (по просьбе главного судьи, например). Так что удобно, чтобы ведущий у себя в списке мог делать пометки... В общем, добавил функционал заметок - можно кликнуть по участнику и ввести текст; текст отобразится рядом с ФИО участника и позволит не забыть что-то важное.
Я немного боялся, что от оргов и счетных 4х турниров может быть очень большой поток вопросов/запросов, но они молодцы и со всем разбирались самостоятельно (иногда с инструкцией). В Минске вообще это первый турнир для организаторов, счётной и большинства судей 🔥
В общем, я доволен 😇, можно готовиться к HD через две недели. Ух, полноценный фест, полноценно через perf.events!
4 конкурса по хастлу (и немного по ВКС 🫣) в один день, из них 3 через сайт (Москва, Новосибирск и Минск) и ещё один только рассылка результатов в ТГ (Екатеринбург). Хех, а я весной ставил цель 10 турниров за год через сайт провести 😎
День начался с сообщений в 5:30 утра в вк (в Новосибе +5 часов и началась регистрация на месте), а затем звонком в 7) Но я морально был готов и ложился спать пораньше - очень много нововведений с последнего конкурса и что-то могло сломаться... Но первая проблема была - не отправлялись заходы в ТГ.
Оказалось, что орги забыли в системе указать, в какой канал слать заходы (но сайт тоже молодец - весело сообщал, что всё в порядке и заходы отправляются). Починил и причину, и проверку. Но спустя полчаса не отправились уже результаты и тут это следствие моих ноухау 🙈
На самом деле помимо крупных изменений, которые я описал во вчерашнем посте, случается и много мелких доделок. Например, я сделал, чтобы всякое для жеребьёвки можно было печатать не только в финалах, но и в отборочных (для всяких Джекпотов/ДнД Классик) или чтобы можно было отправлять состав финала в телеграм в фиксированном порядке (без сортировки по номерам) и писать, что это порядок выступлений, а не просто состав.
Это второе небольшое изменение оказалось внезапно несовместимым с рассылкой результатов... Ну т.е. я забыл совместить) Но быстро починил.
Потом по ходу дня ещё поправил интерфейс ведущего - ему ведь надо вызывать не только тех, кого не хватает на построении, но и других людей (по просьбе главного судьи, например). Так что удобно, чтобы ведущий у себя в списке мог делать пометки... В общем, добавил функционал заметок - можно кликнуть по участнику и ввести текст; текст отобразится рядом с ФИО участника и позволит не забыть что-то важное.
Я немного боялся, что от оргов и счетных 4х турниров может быть очень большой поток вопросов/запросов, но они молодцы и со всем разбирались самостоятельно (иногда с инструкцией). В Минске вообще это первый турнир для организаторов, счётной и большинства судей 🔥
В общем, я доволен 😇, можно готовиться к HD через две недели. Ух, полноценный фест, полноценно через perf.events!
Написал в прошлом посте, что надо бы писать чаще, чем раз в месяц и пропал почти на два)) Белиссимо 🤌 В психологии наверняка должен быть термин для такого))
На самом деле в эти два месяца шла работа по подготовке всякого для крупных ивентов 🧑💻
В частности добавил функционал промокодов. Теперь организаторы могут заводить автоматические скидки на пассы и какие-то ещё услуги. Участник вводит промокод и цена для него меняется. Да здравствуют скидки! 🎉🎉
Сразу, правда, возник вопрос - а что если участник заплатил, а потом узнал, что мог использовать скидку? Или наоборот - использовал промокод, к которому не должен был иметь доступа (скидка регионам, например)? 🧐
И пошли фундаментальные изменения) В общем, у участника появился "баланс" и возможность иметь долг/переплату. Собственно, пользователи на странице своей регистрации теперь могут видеть на какую сумму они нарегистрировались и сколько заплатили.
Приятным бонусом к этому стала возможность для участников переносить оплату с одной номинации на другую. Например в декабре участник зарегился в БГ на Нордкапе, оплатил участие, а затем набрал баллов и перешел в Райзы. Участник может сам, без помощи оргов дорегистрироваться в Райзы и перенести оплату номинации с Бг на Рс. Организаторам останется только выразить благодарность такому сознательному участнику 😇)
Дополнительно сделал возможность в парных номинация брать оплату за пару целиком с партнера (или целиком с партнерши для каких-нить рутин ПроАм). Вкупе с возможностью переносить оплату с одной номинации на другую, это добавит гибкости и в номинации типа Джекпота и Стриктли. Если вдруг с текущим партнером/партнершей выступить не получается, то для партнерши вообще ничего в регистрации менять не надо - новый партнер сам зарегит и оплатит; для партнера тоже все решается без привлечения оргов - регишься в новой паре и переносишь оплату со старой пары на новую. 💃🕺
Осталось только дать оргам возможность изменять настройки номинаций, а то настроек всё больше, а меняю их только я вручную...
Last, but not least - в эти выходные пройдёт первый нехастловый ивент через PE! Кубок Ивары по Бачате) расширяем горизонты!
Ну а мне предстоит подправить рассылку результатов в ТГ - классы и номера АСХ танцорам Бачаты видеть ни к чему)
На самом деле в эти два месяца шла работа по подготовке всякого для крупных ивентов 🧑💻
В частности добавил функционал промокодов. Теперь организаторы могут заводить автоматические скидки на пассы и какие-то ещё услуги. Участник вводит промокод и цена для него меняется. Да здравствуют скидки! 🎉🎉
Сразу, правда, возник вопрос - а что если участник заплатил, а потом узнал, что мог использовать скидку? Или наоборот - использовал промокод, к которому не должен был иметь доступа (скидка регионам, например)? 🧐
И пошли фундаментальные изменения) В общем, у участника появился "баланс" и возможность иметь долг/переплату. Собственно, пользователи на странице своей регистрации теперь могут видеть на какую сумму они нарегистрировались и сколько заплатили.
Приятным бонусом к этому стала возможность для участников переносить оплату с одной номинации на другую. Например в декабре участник зарегился в БГ на Нордкапе, оплатил участие, а затем набрал баллов и перешел в Райзы. Участник может сам, без помощи оргов дорегистрироваться в Райзы и перенести оплату номинации с Бг на Рс. Организаторам останется только выразить благодарность такому сознательному участнику 😇)
Дополнительно сделал возможность в парных номинация брать оплату за пару целиком с партнера (или целиком с партнерши для каких-нить рутин ПроАм). Вкупе с возможностью переносить оплату с одной номинации на другую, это добавит гибкости и в номинации типа Джекпота и Стриктли. Если вдруг с текущим партнером/партнершей выступить не получается, то для партнерши вообще ничего в регистрации менять не надо - новый партнер сам зарегит и оплатит; для партнера тоже все решается без привлечения оргов - регишься в новой паре и переносишь оплату со старой пары на новую. 💃🕺
Осталось только дать оргам возможность изменять настройки номинаций, а то настроек всё больше, а меняю их только я вручную...
Last, but not least - в эти выходные пройдёт первый нехастловый ивент через PE! Кубок Ивары по Бачате) расширяем горизонты!
Ну а мне предстоит подправить рассылку результатов в ТГ - классы и номера АСХ танцорам Бачаты видеть ни к чему)
Последний день перед двумя конкурсами. Почему бы не выкатить обновление чего-то важного? 🥸
Изменил всякое с судейством и заходами и вроде бы протестил)
Добавил для счетной опцию распределять людей по заходам равномерно согласно крестам предыдущего тура (это в дополнение к существующим вариантам: равномерно по уровням ⚖️, подряд по номерам и случайно 🎲)
Судьям дал возможность изменять отправленный бегунок до того, как счётная его выгрузила к себе. Может быть полезно для судей, которые после первой мелодии последнего захода уже всё поставили и отправили, а затем вдруг кто-то упал/совсем уж накосячил 🫣. Ну или наоборот блеснул музыкальностью 😁
А ещё из интересно-неочевидного - заходы принято делить так, чтобы число пар от захода к заходу отличалось не больше, чем на 1. Например, если есть 10 пар и 3 захода, то распределяют 4-3-3, а не 4-4-2.
В результате в ДнД бывает часто, что в первом заходе пар 7, т.е. судье надо оценить 14 танцоров за две мелодии, а к последним заходам и пар становится 6, и партнёров вызывают второй раз, так что оценить по сути надо только 6 партнерш 💃. Получается дисбаланс, который я поправил) Теперь счётная может помещать побольше людей в последние заходы, а в первые - наоборот меньше. Если встретите такое на турнире, это не баг, а фича - чтобы судьям было чуть проще судить 😇
Изменил всякое с судейством и заходами и вроде бы протестил)
Добавил для счетной опцию распределять людей по заходам равномерно согласно крестам предыдущего тура (это в дополнение к существующим вариантам: равномерно по уровням ⚖️, подряд по номерам и случайно 🎲)
Судьям дал возможность изменять отправленный бегунок до того, как счётная его выгрузила к себе. Может быть полезно для судей, которые после первой мелодии последнего захода уже всё поставили и отправили, а затем вдруг кто-то упал/совсем уж накосячил 🫣. Ну или наоборот блеснул музыкальностью 😁
А ещё из интересно-неочевидного - заходы принято делить так, чтобы число пар от захода к заходу отличалось не больше, чем на 1. Например, если есть 10 пар и 3 захода, то распределяют 4-3-3, а не 4-4-2.
В результате в ДнД бывает часто, что в первом заходе пар 7, т.е. судье надо оценить 14 танцоров за две мелодии, а к последним заходам и пар становится 6, и партнёров вызывают второй раз, так что оценить по сути надо только 6 партнерш 💃. Получается дисбаланс, который я поправил) Теперь счётная может помещать побольше людей в последние заходы, а в первые - наоборот меньше. Если встретите такое на турнире, это не баг, а фича - чтобы судьям было чуть проще судить 😇
А пока все на ЧРе совершенно 🔥 огненно 🔥 танцуют 🔥, я улучшаю аналитику PerfEvents 🥸
После турнира по бачате долго не сводился баланс (или "долго сводился"? 😄) и приоритет улучшений, чтобы можно было видеть списком, кто за что и сколько заплатил, вырос.
Раньше орги видели графики оплат/регистраций по дням (как на скрине), статистику рег.в номинации и оплат всякого. А вот, например, кто участвовал в Bg01 и сколько заплатил - только в отдельных карточках участников.
Сейчас можно будет видеть и это, и:
1. Статистику регистраций оплат товаров/услуг. Например, чтобы заморозить покупку пассов для партнеров/партнерш определенного уровня, если ожидается слишком уж большой дисбаланс на классах 🙈. Теперь видеть дисбаланс уже можно, замораживать - в планах)
2. Использовавших промокоды участников (надеюсь, скоро пригодится)
3. "Бесплатных" участников (волонтёры / люди, выигравшие пасс)
И многое-многое другое)
В общем, добавляю фишек для полноценного проведения ивентов 😇
После турнира по бачате долго не сводился баланс (или "долго сводился"? 😄) и приоритет улучшений, чтобы можно было видеть списком, кто за что и сколько заплатил, вырос.
Раньше орги видели графики оплат/регистраций по дням (как на скрине), статистику рег.в номинации и оплат всякого. А вот, например, кто участвовал в Bg01 и сколько заплатил - только в отдельных карточках участников.
Сейчас можно будет видеть и это, и:
1. Статистику регистраций оплат товаров/услуг. Например, чтобы заморозить покупку пассов для партнеров/партнерш определенного уровня, если ожидается слишком уж большой дисбаланс на классах 🙈. Теперь видеть дисбаланс уже можно, замораживать - в планах)
2. Использовавших промокоды участников (надеюсь, скоро пригодится)
3. "Бесплатных" участников (волонтёры / люди, выигравшие пасс)
И многое-многое другое)
В общем, добавляю фишек для полноценного проведения ивентов 😇
Вчера закончился ЧР, а сегодня открылась регистрация на НордКап ☺️
Даа, на perf.events! 😎
Тут бы пуститься в воспоминания, как я 10 лет назад смотрел трансляцию с НК и думал: "вот бы туда съездить", потом ездил и это были нереальные впечатления, а теперь вот... Делаю систему, через которую будет проходить айтишная часть НордКапа 🥹 чтобы у других впечатления были ещё лучше 😇
Подготовка сервиса к тому, чтобы через него можно было провести НК, началась ещё в марте и ооочень много в системе было изменено и допилено под самый большой хастл-ивент.
Как достижение - за первый, "ажиотажный" день регистрации (можно выбрать красивый номер, некоторое время можно было успеть в основной состав Джекпота) особо ничего не сломалось 🤩
По отзывам, у сервиса, принимающего платежи, было больше ошибок/проблем, чем у perf.events за это время 🥸
Но не меньше ещё предстоит доделать... Ближайшие 3 месяца скучно не будет точно 😆
Даа, на perf.events! 😎
Тут бы пуститься в воспоминания, как я 10 лет назад смотрел трансляцию с НК и думал: "вот бы туда съездить", потом ездил и это были нереальные впечатления, а теперь вот... Делаю систему, через которую будет проходить айтишная часть НордКапа 🥹 чтобы у других впечатления были ещё лучше 😇
Подготовка сервиса к тому, чтобы через него можно было провести НК, началась ещё в марте и ооочень много в системе было изменено и допилено под самый большой хастл-ивент.
Как достижение - за первый, "ажиотажный" день регистрации (можно выбрать красивый номер, некоторое время можно было успеть в основной состав Джекпота) особо ничего не сломалось 🤩
По отзывам, у сервиса, принимающего платежи, было больше ошибок/проблем, чем у perf.events за это время 🥸
Но не меньше ещё предстоит доделать... Ближайшие 3 месяца скучно не будет точно 😆
Давно ничего не постил, а обновлений на сайте за последнее время вышло прилично. Из существенных:
- Добавил возможность разным судьям оценивать партнеров и партнерш в одной номинации. Это больше для бачаты/WCS, хотя и для стилл-н-джилл в Хастле может зайти. Надо ещё раздельное судейство в финале сделать.
- Сделал адаптивными результаты в ТГ. Раньше все картинки были одной ширины и часть информации о танцорах могла не поместиться (если у партнера много клубов, даже ФИО партнерши могло не влезть). Теперь ширина подстраивается под информацию об участниках и будь ваш клуб хоть из Петропавловска-Камчатского, всё поместится)
- Сиильно расширил аналитику - статистика по тем, кто вносил оплаты, долги, стата по городам и клубам, все цифры стали ссылками на соответствующие списки - орги теперь в один клик могут увидеть, кого ожидать на 4й уровень мастерклассов в субботу)
- ну и много-много всего ещё, но поменьше (почтовая рассылка, доп.удобство построителей заходов, доп.логирование, комменты оргов, удаление элементов из пассов)...
Upd. а на картинке для привлечения внимания труд нейросети, над которой я работаю на основной работе, по запросу "Коала с Капибарой на конкурсе по социальным танцам") Если зайдёт, буду сопровождать посты подобными картинками, а не скринами с сайта)
- Добавил возможность разным судьям оценивать партнеров и партнерш в одной номинации. Это больше для бачаты/WCS, хотя и для стилл-н-джилл в Хастле может зайти. Надо ещё раздельное судейство в финале сделать.
- Сделал адаптивными результаты в ТГ. Раньше все картинки были одной ширины и часть информации о танцорах могла не поместиться (если у партнера много клубов, даже ФИО партнерши могло не влезть). Теперь ширина подстраивается под информацию об участниках и будь ваш клуб хоть из Петропавловска-Камчатского, всё поместится)
- Сиильно расширил аналитику - статистика по тем, кто вносил оплаты, долги, стата по городам и клубам, все цифры стали ссылками на соответствующие списки - орги теперь в один клик могут увидеть, кого ожидать на 4й уровень мастерклассов в субботу)
- ну и много-много всего ещё, но поменьше (почтовая рассылка, доп.удобство построителей заходов, доп.логирование, комменты оргов, удаление элементов из пассов)...
Upd. а на картинке для привлечения внимания труд нейросети, над которой я работаю на основной работе, по запросу "Коала с Капибарой на конкурсе по социальным танцам") Если зайдёт, буду сопровождать посты подобными картинками, а не скринами с сайта)
Давно тут не было постов... 😴
Как и крупных обновлений на PE.
Но время пришло 🥳
Танец для двоих. 💃🕺
Одна из самых популярных номинаций. Лет 10 назад проводилась только на нерейтинговых турнирах. Потом в хастле появилось электронное судейство, времени у счетной стало больше и ТДД стало заглядывать и на рейтинговые турниры. Но всё равно эта номинация требовала невероятно много времени. И если время на паркете теоретически можно было оптимизировать (выпуская одновременно 3 захода - они всё равно не пересекаются), то работу счетной ускорить вариантов не было - эксель, где считаются результаты, не позволяет параллелить ввод оценок на несколько счётных; в итоге одному человеку нужно было обработать 40-80 "бегунков" 📝 с ошибками/помарками/разным почерком 🥲.
И вот настало время для следующего шага 🚀
Пару недель назад я доделал поддержку ТДД при проведении конкурсов через PerfEvents. Проведение отборочных, финалов и электронное судейство для участников) Должно сииильно упростить жизнь счётной и ускорить проведение номинации ⚡
Первая успешная проба прошла на Школе Чемпионов, а в эту субботу будет Динамиада. И там сразу два ТДД ✌️ Интересно будет услышать впечатления 😇
Электронное судейство доступно только тем, кто под своей учеткой регился на турнир. "Анонимные" регистрации смогут судить, как и раньше, на бумажках.
Заходы и результаты будут публиковаться в ТГ. 📢
В разбивке по заходам будут видны и выходы в качестве саппорта (так что если нашли себя в первом заходе, проверьте, нет ли вас ещё и позже 👀).
В отборочных участники должны будут ставить друг другу баллы (чем больше понравился танец, тем больше баллов поставить). В общем случае от 1 до 5, но счётная может настраивать требования к оценкам довольно свободно. Например, убрать оценки 4 и 5, а участникам предложить после 5 танцев поставить одну единицу, две двойки и две тройки.
В результатах будут видны только абстрактные итоговые баллы каждого участника (по шкале от 0 до 100), где 100 означает, что во всех танцах вам поставили максимальный доступный балл. Т.е. считается средний балл танцора по всем танцам и приводится к шкале от 0 до 100. У кого выше, тот проходит дальше. Оценки отдельных танцоров друг другу в результаты ТГ или на печать не попадут.
В финале расставляются места от первого до последнего. В результатах финала, как и в отборах, оценок отдельных танцоров видно не будет, только итоговое место.
Финал раздельный (вариант с разбивкой на пары и судейством, как в финале Лиги Дубровки пока только в планах).
Вот, как-то так 😎
Как и крупных обновлений на PE.
Но время пришло 🥳
Танец для двоих. 💃🕺
Одна из самых популярных номинаций. Лет 10 назад проводилась только на нерейтинговых турнирах. Потом в хастле появилось электронное судейство, времени у счетной стало больше и ТДД стало заглядывать и на рейтинговые турниры. Но всё равно эта номинация требовала невероятно много времени. И если время на паркете теоретически можно было оптимизировать (выпуская одновременно 3 захода - они всё равно не пересекаются), то работу счетной ускорить вариантов не было - эксель, где считаются результаты, не позволяет параллелить ввод оценок на несколько счётных; в итоге одному человеку нужно было обработать 40-80 "бегунков" 📝 с ошибками/помарками/разным почерком 🥲.
И вот настало время для следующего шага 🚀
Пару недель назад я доделал поддержку ТДД при проведении конкурсов через PerfEvents. Проведение отборочных, финалов и электронное судейство для участников) Должно сииильно упростить жизнь счётной и ускорить проведение номинации ⚡
Первая успешная проба прошла на Школе Чемпионов, а в эту субботу будет Динамиада. И там сразу два ТДД ✌️ Интересно будет услышать впечатления 😇
Электронное судейство доступно только тем, кто под своей учеткой регился на турнир. "Анонимные" регистрации смогут судить, как и раньше, на бумажках.
Заходы и результаты будут публиковаться в ТГ. 📢
В разбивке по заходам будут видны и выходы в качестве саппорта (так что если нашли себя в первом заходе, проверьте, нет ли вас ещё и позже 👀).
В отборочных участники должны будут ставить друг другу баллы (чем больше понравился танец, тем больше баллов поставить). В общем случае от 1 до 5, но счётная может настраивать требования к оценкам довольно свободно. Например, убрать оценки 4 и 5, а участникам предложить после 5 танцев поставить одну единицу, две двойки и две тройки.
В результатах будут видны только абстрактные итоговые баллы каждого участника (по шкале от 0 до 100), где 100 означает, что во всех танцах вам поставили максимальный доступный балл. Т.е. считается средний балл танцора по всем танцам и приводится к шкале от 0 до 100. У кого выше, тот проходит дальше. Оценки отдельных танцоров друг другу в результаты ТГ или на печать не попадут.
В финале расставляются места от первого до последнего. В результатах финала, как и в отборах, оценок отдельных танцоров видно не будет, только итоговое место.
Финал раздельный (вариант с разбивкой на пары и судейством, как в финале Лиги Дубровки пока только в планах).
Вот, как-то так 😎
Сегодня небольшой пост про улучшения для организаторов ивентов 🧐
В последние недели автоматизирую всякое:
✅ Добавил возможность самостоятельно загружать логотип ивента. Картинка автоматически скейлится и обрезается.
✅ Теперь можно удалять номинации) Создавать пока всё еще могу только я - там пока никак не придумаю удобный интерфейс, чтобы все настройки номинаций указывать. Но и это в ближайших планах.
А ещё добавил функционал уведомлений о новых регистрациях (и изменениях старых). Теперь админы ивентов могут создать чатик или канал в тг и получать туда сообщения о новых регистрациях на ивент 🤩
Это должно пригодиться админам ивентов с пассами, где нужно связываться с новыми участниками.
В последние недели автоматизирую всякое:
✅ Добавил возможность самостоятельно загружать логотип ивента. Картинка автоматически скейлится и обрезается.
✅ Теперь можно удалять номинации) Создавать пока всё еще могу только я - там пока никак не придумаю удобный интерфейс, чтобы все настройки номинаций указывать. Но и это в ближайших планах.
А ещё добавил функционал уведомлений о новых регистрациях (и изменениях старых). Теперь админы ивентов могут создать чатик или канал в тг и получать туда сообщения о новых регистрациях на ивент 🤩
Это должно пригодиться админам ивентов с пассами, где нужно связываться с новыми участниками.
За прошлую неделю расширил функционал организаторов)
Больше свободы! (картинка поста сгенерена нейросетью по запросу "счастливый организатор хастлоивента за день до ивента")
Теперь орги ивентов могут и удалять, и добавлять номинации, а так же создавать специальные цены вроде величины залога, доплаты за каждую номинацию при регистрации на турнире и доплаты за первую номинацию.
А ещё в PE есть страница с аналитикой, там инфа о зарегеных и заплативших в разбивке по клубам, городам, номинациям и товарам.
Добавил туда и разбивку оборота по пассам и не пассам.
Маленькими шагами движемся к автономному сервису 🤖
Больше свободы! (картинка поста сгенерена нейросетью по запросу "счастливый организатор хастлоивента за день до ивента")
Теперь орги ивентов могут и удалять, и добавлять номинации, а так же создавать специальные цены вроде величины залога, доплаты за каждую номинацию при регистрации на турнире и доплаты за первую номинацию.
А ещё в PE есть страница с аналитикой, там инфа о зарегеных и заплативших в разбивке по клубам, городам, номинациям и товарам.
Добавил туда и разбивку оборота по пассам и не пассам.
Маленькими шагами движемся к автономному сервису 🤖
💃🕺Давно не писал про улучшения PerfEvents, а тут интересная задача возникла.
Бывает, что номинации идут параллельно (одновременно на паркет выходят заходы двух номинаций). При этом один и тот же танцор может участвовать в обеих.
Такое было на ЧРе, но может стать практикой и на других турнирах - это здорово экономит тайминг (главное, чтобы площадь паркета и количество судей позволяли).
И вот для ПерфИвентс возникла задача - после распределения по заходам одной номинации распределить участников по заходам другой так, чтобы:
1️⃣ у каждого участника была пара заходов на отдых (если в первой номинации он в первом заходе, то во второй должен быть в 4м). Больше тоже лучше не надо, чтобы участник не остыл/замерз.
2️⃣ если это невозможно для всех участников, то кому-то оставить только один заход отдыха, но сделать, чтобы таких участников было как можно меньше.
3️⃣ если и это невозможно, то кому-то не оставить заходов для отдыха и сообщить об этом счётной.
4️⃣ ну и если в любом случае кто-то из участников получает одинаковый номер захода в обеих номинациях, показать большое предупреждение счетной.
Такая вот задача, которую надо бы решить идеально, но если не получается идеально, то как можно лучше)
Простейший подход для, например, Бг и Рс, идущих в параллель - всех, кто участвует в обеих номинациях в Бг отправляем в первые заходы, а в Рс - ставим в последние. И чаще всего никаких пересечений - вы великолепны)
Правда, в итоге пострадает равномерность распределения - в Бг в среднем более сильные (или смелые) танцоры будут в первых заходах, а в Рс - всех претендентов отправят в последние... Такое себе.
Получается, есть ещё одно требование - распределение заходов по уровню участников должно быть +- равномерным. Функция для равномерного распределения по заходам в ПерфИвентс есть, осталось её проапгрейдить.
Где-то слышал, что если у тебя в руках оказывается молоток, то все проблемы кажутся гвоздями 🤠
Вот и я тут прохожу курсы по машинному обучению (на ютубе лекции Стенфорда бесплатно лежат и там же домашки) - там как раз рассказывали про всякие алгоритмы оптимизации, поиска пути... И я такой - О! Да этож оно 🤓
Ща построим искуственный интеллект!)
В общем берём и танцоров номинации Рс распределяем независимо от распределения в Бг, а затем считаем скор (оценку) этого распределения:
- за танцора, у которого в Бг и Рс совпадают заходы даём -1000
- если танцор в Бг и Рс в соседних заходах, то -100
- если заходы с разницей 1, то -50
- если с разницей 2, то +20
- а если 3 или больше, то -10.
Получаем какое-то (видимо, очень отрицательное) число. И смотрим, каких двух танцоров можно в заходах поменять местами, чтобы скор стал повыше (просто перебираем все варианты - при 100 участниках это не больше 10к вариантов, не самый большой перебор).
Меняем.
Смотрим, кого бы ещё поменять.
И снова меняем.
И т.д., пока не перестанем находить подходящие пары, улучшающие скор.
Правда, каждая замена приводит к нарушению "равномерности" по уровню в заходах, так что сделаем плату за перестановку - столько, насколько далеко заменяемые танцоры были в изначальном списке (отсортированному по уровню).
И в итоге это работает и быстро сходится к вполне приличному результату 🧑💻
Он, правда, может быть не оптимальным глобально, но тут помогает на каждом шаге брать не одну самую лучшую замену, а вариантов пять самых лучших.
Очень прикольно, что специфичный алгоритм внезапно нашел применение во вполне практической задаче 😎
Ну и надеюсь, что параллельные номинации приживутся и турниры будут длиться не 12 часов, а хотябы 8 😇
Бывает, что номинации идут параллельно (одновременно на паркет выходят заходы двух номинаций). При этом один и тот же танцор может участвовать в обеих.
Такое было на ЧРе, но может стать практикой и на других турнирах - это здорово экономит тайминг (главное, чтобы площадь паркета и количество судей позволяли).
И вот для ПерфИвентс возникла задача - после распределения по заходам одной номинации распределить участников по заходам другой так, чтобы:
1️⃣ у каждого участника была пара заходов на отдых (если в первой номинации он в первом заходе, то во второй должен быть в 4м). Больше тоже лучше не надо, чтобы участник не остыл/замерз.
2️⃣ если это невозможно для всех участников, то кому-то оставить только один заход отдыха, но сделать, чтобы таких участников было как можно меньше.
3️⃣ если и это невозможно, то кому-то не оставить заходов для отдыха и сообщить об этом счётной.
4️⃣ ну и если в любом случае кто-то из участников получает одинаковый номер захода в обеих номинациях, показать большое предупреждение счетной.
Такая вот задача, которую надо бы решить идеально, но если не получается идеально, то как можно лучше)
Простейший подход для, например, Бг и Рс, идущих в параллель - всех, кто участвует в обеих номинациях в Бг отправляем в первые заходы, а в Рс - ставим в последние. И чаще всего никаких пересечений - вы великолепны)
Правда, в итоге пострадает равномерность распределения - в Бг в среднем более сильные (или смелые) танцоры будут в первых заходах, а в Рс - всех претендентов отправят в последние... Такое себе.
Получается, есть ещё одно требование - распределение заходов по уровню участников должно быть +- равномерным. Функция для равномерного распределения по заходам в ПерфИвентс есть, осталось её проапгрейдить.
Где-то слышал, что если у тебя в руках оказывается молоток, то все проблемы кажутся гвоздями 🤠
Вот и я тут прохожу курсы по машинному обучению (на ютубе лекции Стенфорда бесплатно лежат и там же домашки) - там как раз рассказывали про всякие алгоритмы оптимизации, поиска пути... И я такой - О! Да этож оно 🤓
Ща построим искуственный интеллект!)
В общем берём и танцоров номинации Рс распределяем независимо от распределения в Бг, а затем считаем скор (оценку) этого распределения:
- за танцора, у которого в Бг и Рс совпадают заходы даём -1000
- если танцор в Бг и Рс в соседних заходах, то -100
- если заходы с разницей 1, то -50
- если с разницей 2, то +20
- а если 3 или больше, то -10.
Получаем какое-то (видимо, очень отрицательное) число. И смотрим, каких двух танцоров можно в заходах поменять местами, чтобы скор стал повыше (просто перебираем все варианты - при 100 участниках это не больше 10к вариантов, не самый большой перебор).
Меняем.
Смотрим, кого бы ещё поменять.
И снова меняем.
И т.д., пока не перестанем находить подходящие пары, улучшающие скор.
Правда, каждая замена приводит к нарушению "равномерности" по уровню в заходах, так что сделаем плату за перестановку - столько, насколько далеко заменяемые танцоры были в изначальном списке (отсортированному по уровню).
И в итоге это работает и быстро сходится к вполне приличному результату 🧑💻
Он, правда, может быть не оптимальным глобально, но тут помогает на каждом шаге брать не одну самую лучшую замену, а вариантов пять самых лучших.
Очень прикольно, что специфичный алгоритм внезапно нашел применение во вполне практической задаче 😎
Ну и надеюсь, что параллельные номинации приживутся и турниры будут длиться не 12 часов, а хотябы 8 😇