Search
Write a publication
Pull to refresh
126
0
Алексей @Sterhel

User

Send message

Fast & Furious: оценка ошибок измерений в футбольной аналитике. Часть 2

Reading time9 min
Views1.6K

Привет! В предыдущей статье про аналитику футбольных матчей я рассказал вам о нашем пайплайне в целом и тонкостях сглаживания, а также о нескольких упражнениях для игроков, которые помогают нам моделировать реальные ситуации.

В этой же части, как и обещал ранее, будет рассказ про упражнение «2*2» (проверяем, сможет ли трекинговая система нормально отслеживать игроков в условиях резких перемещениях в ограниченной локации), синтетические тесты и выводы.

Давайте по порядку.

В качестве вступления, несколько основных моментов из первой части: 

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

Положение футболиста на поле можно определять различными способами. 

Для этого используются:  

Читать далее

Изменения. Инструменты, которые работают

Level of difficultyEasy
Reading time11 min
Views1K

Привет! Меня зовут Сергей Господчиков, и в IT я, страшно подумать, с 1992 года. Именно тогда я начал работать программистом и писать свой первый код, за который мне платили деньги. Примерно в 2001 году я стал руководить людьми и прошел путь от главного инженера до генерального директора, попутно попробовав себя в ролях CIO, CTO, CEO и даже преподавая проектный менеджмент. И все эти годы я постоянно проводил различные изменения.

Сейчас я работаю с командами разработки в качестве методолога продуктового подхода и практикую Канбан-метод. В этой статье поделюсь с вами своим опытом проведения изменений. А именно — практическими инструментами, которые сам использую почти ежедневно.

Жизнь вокруг нас меняется очень динамично, и не все изменения нам нравятся. Точнее, давайте так — не каждое изменение мы принимаем. Так что эта статья для большинства из нас. Для тех, кто восемь часов в день, как минимум, проводит на своей (конечно же, любимой) работе. Инструменты, которые я опишу, также подходят для планирования и проведения изменений в семейном кругу. Однако в этом случае нужно быть очень аккуратным, чтобы не навредить вашим отношениям. Кстати, я в браке уже 28 лет. Ребята, оно реально работает. Но, как говорится, это уже совсем другая история.

Так вот, про изменения. Задумывались ли вы когда-нибудь почему предложенные вами изменения не вызывают восторг у окружающих и остаются лишь мечтами, несмотря на то, что с вашей точки зрения они очень полезны? Но остальные, к вашему удивлению, почему-то так не думают и не спешат делать то, что вы задумали. Бывало? 

Читать далее

Need for speed: оценка ошибок измерений в футбольной аналитике. Часть 1

Level of difficultyMedium
Reading time11 min
Views3.7K

Привет! Меня зовут Артем, и я занимаюсь разработкой систем компьютерного зрения в сервисе Яндекс Спорттех. Среди основных задач нашей команды — футбольная аналитика и работа со статистическими данными.

Яндекс Спорттех обеспечил интеграцию технологических решений в РПЛ — все стадионы участников чемпионата были оборудованы камерами 6К, для клубов организована передача в режиме онлайн фитнес-данных и продвинутых данных на стыке технико-тактических действий. С помощью современных методов компьютерного зрения мы осуществляем детекцию игроков и мяча, ведём их трекинг, а также вычисляем различные ключевые спортивные метрики — пройденные дистанции, максимальные скорости, спринты и рывки, а также экстренные торможения и другие фитнес-показатели, важные как для аналитиков, так и для тренеров и поклонников игры.

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

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

Читать далее

PI BOARD: автоматизированный шахматный робот

Reading time4 min
Views1.9K

Pi Board — это продвинутая автоматизированная шахматная система на основе Raspberry Pi, использующая механизм шагового двигателя оси XY и магниты для перемещения шахматных фигур по доске. Процесс разработки состоял из множества этапов, в том числе из прецизионной калибровки координат шагового двигателя, вычисления веса каждой фигуры для точного перемещения, интеграции сильного шахматного движка, оптимизации стратегий захвата фигур и распознавания движения. Особое внимание было уделено выбору наиболее эффективного алгоритма для снижения энергопотребления шаговых двигателей.

Pi Board позволяет игрокам выбирать цвет фигур и настраивать уровень сложности шахматного движка. Кроме того, на этапе разработки у неё имелась возможность подключения к Интернету, позволявшая пользователям участвовать в дистанционных шахматных матчах по сети.

Читать далее

Работает ли «Нейроэксперт». Проверяем в деле на инструкциях, договорах и телеграм-чатах

Reading time4 min
Views2.4K

Яндекс тут недавно выкатил сервис, в котором обещает адекватный поиск нужной информации в файлах, ссылках, таблицах, презентациях и аудио, суммаризацию и ответы на сложные вопросы. На первый взгляд, смахивает на аналог NotebookLM от Google, который недоступен в РФ. Я решил проверить, как он на самом деле работает с файлами и ссылками.

Что умеет, судя по описанию — пересказывать содержание, сравнивать данные, выводить ключевые мысли и быстро искать цифры из отчетов. Я потестил «Нейроэксперта» (так и называется) в разных ситуациях: от сравнения характеристик блендера до анализа статей с arXiv. В некоторых случаях сервис показал себя полезным, в других — бета-версии явно не хватает точности.

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

Читать далее

Теория поколений. Как взаимодействовать с коллегами разных поколений

Level of difficultyEasy
Reading time7 min
Views3.9K

Привет! Меня зовут Даниил Сальников, я руковожу направлением ЦК ПВСК департамента аналитики в Московском кредитном банке. Может звучать сложно, если короче — занимаюсь подбором, улучшением процессов анализа, слежу за карьерным путем аналитиков и многим другим.

Как вы уже поняли из названия статьи, мы обсудим, как люди разных поколений взаимодействуют друг с другом, и как сделать так, чтобы это взаимодействие приносило пользу в работе и профессиональном развитии.

И обсуждать все это мы будем в рамках теории поколений, которую в свое время придумали Нил Хоув и Уильям Штраус, два американских исследователя. Эта теория поможет понять, как нормально работать, когда у вас в департаменте (или команде) коллеги разных поколений, что мотивирует одних и других, почему они по-разному смотрят на одни и те же вещи и из-за чего один и тот же рабочий инструмент может вызывать у них очень разные эмоции.

Думаю, это может пригодиться не только руководителям, но и вообще лидам и наставникам, которые работают с людьми разных возрастов.

Читать далее

Секунды с начала эпохи Unix

Reading time4 min
Views6.3K

Это не новость, но вопрос всплывает достаточно часто, поэтому я считаю, что проблему нужно объяснить кратко. Люди, и я в том числе, обычно говорят, что время POSIX, также известное как время Unix — это количество of секундпрошедших с эпохи Unix, то есть с 00:00:00 1970-01-01.

Но это не так. Точнее, не так в смысле, подразумеваемом большинством. Например, сейчас у меня на часах 2024-12-25, 18:51:26 UTC. Время POSIX равно 1735152686. Прошло 1735152713 секунд с эпохи POSIX. Число времени POSIX на двадцать семь секунд меньше.

Причина в том, что время POSIX вычисляется в IEEE 1003.1 из Coordinated Universal Time. Стандарт предполагает, что каждый день — это ровно 86400 секунд. Цитата:

Читать далее

История несостоявшегося конкурента USB

Level of difficultyMedium
Reading time9 min
Views13K

Если вы знакомы с историей периферийных устройств, то высока вероятность, что Universal Serial Bus известна вам, как ваши пять пальцев, и не в последнюю очередь потому, что сегодня её поддерживают все устройства. Но, вероятно, вы многое знаете и о множестве других портов. Thunderbolt? Очевидно. FireWire? Разумеется, в те времена у вас была фотокамера. Apple Desktop Bus? Тоже знакома. Но что, если я вам скажу, что в период сражений USB и FireWire за доминирование в мире последовательных шин существовал и совершенно иной стандарт шин, разработчики которого надеялись, что один кабель будет править всеми? Знать о нём вы могли, только если были поклонником узкоспецифического бренда компьютеров.

Сегодня мы поговорим об ACCESS.bus — стандарте, который хотел стать USB, но не выдержал конкуренции.
Читать дальше →

Повышение качества выпускаемого ПО путем работы с инцидентами

Level of difficultyMedium
Reading time7 min
Views1.5K

Всем привет! Меня зовут Даша Мельникова, я ведущий релиз-менеджер в МКБ. В рамках этой статьи буду говорить об инцидентах, которые переходят на третью линию (на команду разработки).

А еще о такой сущности, как инцидент ЗНО. Это сервисный запрос, обращение пользователя, в рамках которого мы лишь консультируем человека, а не правим код, то есть просто даем советы. Но если в рамках консультации возникает необходимость что-то доработать, то это выливается в создание новой фичи.

Читать далее

«Продуйте пыль с разъёма»: хитрости техподдержки

Level of difficultyEasy
Reading time3 min
Views10K

Продуйте пыль с разъёма


Я раскрою вам один из трюков отдела поддержки продукта. Иногда вы общаетесь по телефону или в чате с кем-то, и подозреваете, что проблема может быть лишь в том, что он забыл подключить кабель или засунул его не в тот порт. Раньше такое легко могло произойти с разъёмами PS/2, подходящими и к клавиатуре, и к мыши, а сейчас — с сетевыми кабелями, которые подходят и к upstream-, и к downstream-портам маршрутизатора.

Трюк вот в чём: не спрашивайте «Вы уверены, что подключили всё правильно?» Если вы сделаете это, то собеседник оскорбится и возмущённо бросит: «Разумеется! Я что, похож на идиота?», ничего при этом не проверив.

Вместо этого скажите: «Иногда разъём запыляется и соединение ослабевает. Можете отключить разъём, выдуть из него пыль и снова подключить его?»
Читать дальше →

Пошагово создаём QR-код

Level of difficultyMedium
Reading time4 min
Views2.8K
В этой статье (оригинал представляет собой интерактивное приложение на JavaScript) подробно описывается, как текстовая строка кодируется в символ QR-кода. Она, по сути, объясняет, как устроена внутри моя библиотека генератора QR-кодов.

Пользовательский ввод




Результат генерации QR-кода



Читать дальше →

Обходим BitLocker и вытягиваем из памяти ключи в Windows 11

Level of difficultyMedium
Reading time5 min
Views19K
В этой статье я покажу, как можно обойти шифрование BitLocker в Windows 11 (версия 24H2) и извлечь из памяти ключи шифрования тома (full volume encryption key, FVEK) при помощи моего инструмента Memory-Dump-UEFI.

Краткая справка


Если у нападающего есть физический доступ к устройству, то он потенциально может получить доступ, резко перезапустив компьютер и выполнив дамп ОЗУ из недавно выполнявшихся экземпляров Windows. Дамп памяти можно проанализировать, чтобы найти конфиденциальную информацию, например, ключи FVEK. Эта методика не работает гарантированно, потому что после отключения питания содержимое ОЗУ быстро деградирует.


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

Ещё одна потенциальная проблема заключается в secure boot — стандарте безопасности, который ограничивает то, что может выполняться при запуске системы. Эта защита имеет собственные ограничения, и ещё уже обходили при помощи shim и множества других способов, которые для нашего демо несущественны.
Читать дальше →

Зачем на печатных платах используют медные заливки?

Level of difficultyMedium
Reading time5 min
Views25K
В начале 1980-х типичная печатная плата 8-битного домашнего компьютера выглядела примерно так:


Фрагмент основной платы Amstrad CPC 464.

К началу 2010-х та же технология имела следующий вид компоновки:


Снимок Arduino Uno R3 из рекламных материалов.

Кроме повышенной миниатюризации самым поразительным изменением стало использование медных заливок (copper pour), то есть сгенерированных компьютером зон, занимающих пустое пространство между дорожками печатной платы.

Почему мы начали их создавать?
Читать дальше →

Чем полезен Server Driven UI

Level of difficultyEasy
Reading time4 min
Views3.8K

Привет! Меня зовут Олег Иванов, я руководитель мобильной разработки в Московском кредитном банке. Сегодня поговорим о Server Driven UI вот по такому плану:

что это вообще за технология

из чего она состоит

рассмотрим наши подходы к ее реализации

Начнем с терминологии:

SDUI (Server Driven UI) — это пользовательский интерфейс, управляемый сервером.

Что такое пользовательский интерфейс? Среда, с помощью которой пользователь взаимодействует с программным обеспечением через приложения. Обычно он состоит из множества экранных форм, которые и ведут пользователя по флоу до какого-то определенного результата.

Читать далее

Калькуляторы с четырьмя функциями, или Ад UI

Level of difficultyMedium
Reading time4 min
Views3.5K

Я испытываю слабость к истории калькуляторов; они были одними из первых электронных устройств, они двигали прогресс дисплейных технологий и стали первыми цифровыми вычислительными устройствами, добравшимися до миллионов домов.

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

Давайте начнём с базы: простейшего калькулятора с десятью цифровыми кнопками, точкой десятичного разделителя, четырьмя арифметическими операциями (+, -, ×, ÷), кнопкой результата (=) и кнопкой сброса результата ©. Калькулятор последовательно выполняет арифметические операции без учёта приоритета. Например:

Читать далее

Confluent Kafka: любовь и ненависть в .NET, часть 2

Level of difficultyMedium
Reading time11 min
Views3K

Привет! Как и обещала в первой части — теперь про ребалансировки и не только.

Выделяют безотлагательную и совместную ребалансировки. 

При безотлагательной ребалансировке пользователи прекращают потребление из партиции, которые им назначены, затем отказываются от права владеть этими партициями, после снова присоединяются к consume group, получают совершенно новое назначение партиций и после этого возобновляют потребление. По сути, это короткое окно недоступности для всей consume group. Длина этого окна зависит от количества пользователей и некоторых параметров конфигурации.

Совместная ребалансировка - это инкрементная ребалансировка, при которой переназначается лишь некоторое подмножество партиций, и пользователи продолжают потребление из тех партиций, которые не были переназначены. Координатор уведомляет пользователей, что они должны будут отказаться от права владения некоторым подмножеством партиций, они прекращают потребление и отказываются от права владения. Затем эти партиции назначаются новым владельцам. Подход может включать несколько итераций, пока не будет достигнуто равномерное распределение. В отличие от безотлагательного подхода, мы не получаем полной недоступности. Это важно для больших consume groups, где балансировка может занять значительное количество времени.

Читать далее

Confluent Kafka: любовь и ненависть в .NET, часть 1

Reading time7 min
Views4.7K

Всем привет! Сегодня расскажу про Confluent Kafka. Ее любят, ненавидят, но мало кто остается равнодушным.

О себе

Меня зовут Алена, я ведущий разработчик, занимаюсь развитием референсной архитектуры в компании билайн. К основным областям профессиональных интересов можно отнести проблемы распределенных систем, event sourcing и DDD.

В двух словах о Kafka

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

Читать далее

Кодирование UTF-8 без ветвления

Level of difficultyMedium
Reading time6 min
Views2.4K

Можно ли кодировать UTF-8 без ветвлений?

Да.

Вопрос


Натан Голдбаум задал в чате Recurse вопрос:

Я знаю, как декодировать UTF-8 с помощью битовой математики и таблиц поиска (см. https://github.com/skeeto/branchless-utf8), но если я хочу преобразовать кодовую точку UTF-8, то можно ли сделать это без ветвлений?

Для начала, можно ли как-то написать эту функцию на C, которая возвращает количество байтов, необходимых для хранения байтов UTF-8 кодовой точки, без использования ветвления? Или для этого потребуется огромная таблица поиска?
Читать дальше →

Как мы делаем Кинопоиск доступнее. SDH и тифлокомментирование

Level of difficultyEasy
Reading time6 min
Views838

Вы когда-нибудь задумывались, как незрячий человек смотрит фильмы, а глухой зритель — понимает атмосферу сцены без звуков? В Кинопоиске теперь это не просто возможно — это удобно и доступно. Меня зовут Настя, я отвечаю за продуктовое направление Инклюзии в Яндексе. Вместе с командой мы работаем над тем, чтобы каждый, независимо от особенностей здоровья, мог наслаждаться фильмами и сериалами. В этом посте я расскажу, как мы делаем Кинопоиск местом, где кино доступно для всех.

Последний год мы активно ведем работу над доступностью Кинопоиска.  Он стал тринадцатым сервисом Яндекса, адаптированным для незрячих и слабовидящих людей — это случилось в начале 2024 года. Это означает, что сервис доступен для использования с помощью специальных программ экранного доступа (другими словами — скринридеров), которыми пользуются незрячие пользователи. 

А ещё контент Кинопоиска начал пополняться субтитрами для глухих и слабослышащих людей и тифлокомментариями. 

Вот как выглядит видео с SDH и тифлокомментариями.

Читать далее

MLOps: как не потеряться в 10 тысячах фич, часть 2

Reading time6 min
Views8.6K

Первая часть — здесь.

Data lineage

Этот подход обеспечивает прослеживание связей в данных и клиентов, которые используют данные, от источника, включая промежуточные стадии, до момента потребления этих данных. Данные может потреблять сервисы, какие-то BI-системы, на которых построены дашборды, эксплуатировать данные могут люди, дата аналитики, которым это необходимо в рабочих процессах. Data lineage позволяет прозрачно взглянуть на эти вещи и отследить момент получения предагрегатов до момента эксплуатации этих данных клиентами.

Нам важен разрез, когда клиентами или целевыми заказчиками данных являются ML-модели. 

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity