Как стать автором
Обновить
39.03
Национальная Медиа Группа
Крупнейший в России частный медиахолдинг
Сначала показывать

Они хотят, чтобы мы забыли, как выглядят фильмы

Время на прочтение7 мин
Количество просмотров22K

Самая гротескная категория видео на YouTube — это старые киноплёнки, пропущенные через ИИ-апскейлер. Иногда видео придаётся цвет, иногда их интерполируют до 60 кадров в секунду. Если вы понимаете, как должно выглядеть видео, то все они кажутся одинаково ужасными, размазанными и кричащими. Но, похоже, этого не понимают в том числе и люди, отвечавшие за недавний апскейлинг фильма «Правдивая ложь» (и в меньшей мере «Чужих», «Титаника» и «Бездны»).

Таких фильмов уже миллион, и все они выглядят одинаково отвратительно.

Если вы никогда не смотрели фильм «Правдивая ложь», то вам, скорее всего, меньше тридцати. В нём Арнольд Шварценеггер играет роль агента правительственной контртеррористической организации, сражающегося со злодеями и хранящего этот опасный образ жизни втайне от своей непримечательной жены, которую играет Джейми Ли Кёртис. Это дурашливая крупнобюджетная комедия-экшн (ремейк французского фильма «Тотальная слежка») с фантастическими сценами, невероятным актёрским составом и несколькими прекрасными эпизодами. Сегодня он смотрится именно так, как должен смотреться незамысловатый экшн 1994 года. Вероятно, в карьере Джеймса Кэмерона это самый странный фильм, если не считать «Пиранья 2: Нерест».

Читать далее
Всего голосов 88: ↑77 и ↓11+66
Комментарии97

Единое хранилище данных и плюсы, которые оно несёт. Опыт НМГ

Время на прочтение5 мин
Количество просмотров2.6K

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

Сегодня же обсудим, как именно мы помогаем этим директорам принимать решения. Потому что вопросов в их работе возникает множество — как они видят нашу ЦА, как мы можем её заинтересовать (и почему именно так), что полезного мы несём в нашу ЦА, как дела с нашей социальной ответственностью, что у нас в разрезе разных видов контента, сколько мы можем заработать и многое, многое другое.

В этом (спойлер — и не только в этом) нам сильно помогает единое хранилище данных, далее просто ЕХД.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии1

Я счастлив, что больше не веб-разработчик

Время на прочтение5 мин
Количество просмотров68K

Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний десяток лет своей карьеры занимался мобильными.

Сегодня я смотрю на мир веб-разработки, и меня поражает его безумие. Существует так много фреймворков для веба, и каждый день появляются новые. Для создания веб-приложения (в отличие от веб-сайта, например, моего сайта про искусство, который сгенерирован статически и содержит лишь немного Javascript), часто требуются кучи инструментов и технологий, часто меняющихся с большой частотой и содержащих бесконечные объёмы других технологий, о существовании которых мы и не подозреваем (о, смотрите-ка, в папке пакета две тысячи файлов).

Javascript — ужасный язык, никогда не задумывавшийся для чего-то подобного, но, как ни странно, ставший популярным, потому что он всегда был под рукой. Потрясающе, какой объём инноваций затрачен на построение современной вселенной веб-разработки, несмотря на достаточно шаткий фундамент, на котором она основана.

Читать далее
Всего голосов 105: ↑90 и ↓15+75
Комментарии183

Ужасный огонь: почему даже в самых дорогих фильмах возникают проблемы со съёмкой простого пламени?

Время на прочтение6 мин
Количество просмотров6.7K

В фильме «Без обид» с Дженнифер Лоуренс есть сцена, где её одежда загорается. Она держится на капоте автомобиля, который на скорости въезжает на переполненный пляж и врезается в барбекю, после чего из него вылетают горящие угли. Однако пламя выглядит совершенно непохоже на то, что мы видим в жизни. Оно кажется пластмассовым и неоново-жёлтым, направленным прямо вверх. Даже в подобной халтурной комедии этот эффект выглядит раздражающе неубедительным.

И это не единственный пример. Сгенерированный компьютером огонь можно часто увидеть в фильмах, и повсюду он выглядит ужасно. Пожары в домах из прошлогодних «Банши Инишерина» и «Достать ножи: Стеклянная луковица» выглядят так, как будто их вручную нарисовали поверх кадров фильма. То же самое справедливо для сериала «Медведь» и нескольких пожаров в «Стране пожаров». В «Игре престолов» дыхание драконов было реализовано при помощи настоящих огнемётов на подъёмных кранах; в спинофе этого сериала «Дом Дракона» магические существа извергали цифровой огонь. Из всех очевидных спецэффектов в последних фильмах франшиз «Тор» и «Стражи Галактики» сильнее всего выделялось пламя — плоское, пересыщенное и подвергнутое motion smoothing.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии27

Перелом в судьбе змеи: как Python менял версию с 2 на 3

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.7K

Мы можем только догадываться, что происходило в рождественские выходные 1989 года, когда Гвидо ван Россум приступил к своему хобби-проекту. Что можно сказать о Python, чего ещё не было сказано? Это один из самых популярных языков в мире, первый язык, на котором я учился программировать по-настоящему, и одно из самых громких имён в сфере машинного обучения. Судя по всему, он ни за что не должен был получить всю ту популярность, которой добился. Его на несколько лет опережал Perl: релиз 1.0 вышел в 1987 году и пустил глубокие корни в мире Unix, компьютерной графики и биоинформатики.

Python имел ужасный Global Interpreter Lock (GIL) и был очень медленным по сравнению даже с другими языками с динамической типизацией. К тому же он разделил своё сообщество из-за перехода от версии Python 2 к версии 3. Даже сегодня есть люди, отказывающиеся прикасаться к нему после этого перехода. Но несмотря на все свои недостатки, ему каким-то образом удаётся быть успешным.

Во время перехода с Python 2 на 3 я учился на последнем курсе магистратуры и изучал Python 2, поэтому помню, как оттягивал освоение Python 3. К тому моменту переход длился уже почти десяток лет, поэтому многие библиотеки уже были обновлены. Но окончательный срок Python 2 был ещё далеко. Мне повезло, что мой переход оказался относительно безболезненным, но для многих людей это было не так. Давайте разберёмся, с чего всё началось, но пока совершим небольшое отступление.

Читать далее
Всего голосов 19: ↑16 и ↓3+13
Комментарии4

Чек-лист: Как создать in-house бота

Время на прочтение7 мин
Количество просмотров1.9K

— Боги! Жена же предупреждала меня о том, что в 8:00 понедельника мне понадобится скан справки с места работы!

Перед глазами молодого человека пронеслась неприятная череда мыслей: он явственно увидел разочарованное лицо жены, ее попытки не показать вида, что она жутко расстроена, глаза «на мокром месте». Сам же он, поняв, что совместный визит в банк для получения ипотечного кредита переносится на неопределённое время, похолодел внутри. Начала закрадываться мысль, что его забывчивость может стоить ему спокойной семейной жизни. 

— Надо что-то делать! Попробую поискать знакомых, отдам что угодно, чтобы вытащить в офис в выходной того, кто может сделать такую справку!

Через час судорожного обзвона коллег он всё же дозвонился до того, кто задал ему в ответ правильный вопрос: 

— А тебе кадровик в офисе зачем? Справка с места работы просто нужна? Ну так напиши в бот, делов на пару минут.

Дано:

• Холдинг Национальная Медиа Группа — крупнейший в России частный медиахолдинг, управляющий диверсифицированным портфелем активов в области производства, дистрибуции и монетизации высококачественного медийного контента во всех средах потребления. Если очень коротко — много разной специфики. 

• Целевая аудитория пользователей = Сотрудники — разные уровни должности, сферы деятельности, месторасположения и формат работы (удаленная, гибрид, в офисе). Количество – ~ 4000 чел.

• Единое окно — сервис, вбирающий в себя все услуги, которыми могут пользоваться сотрудники холдинга (кадровые, административно-хозяйственные, юридические, ИТ и пр.),

результат предоставляется исполнителем (человеком),

регламентирован SLA по выполнению каждой услуги, 

В среднем SLA одной услуги составляет 24 рабочих часа (понимаем, что SLA и реальное выполнение могут разниться, как в худшую, так и в лучшую сторону – здесь мы зависим от загрузки исполнителя на том конце провода). 

Вопрос: что нужно сделать, чтобы сотрудник получил ответ на свой вопрос максимально быстро, удобно, не привязываясь к рабочему месту, и при этом не загрузив исполнителей ещё больше?

Ответ: нужно создать сервис самообслуживания 24/7.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Как на самом деле Linux выполняет запись на диск?

Время на прочтение6 мин
Количество просмотров27K

Друзья мои, программисты и операторы, я бы хотел поговорить о том, как в Linux работает запись файлов.

Раньше я думал, что она устроена определённым образом, и как Джон Леннон, «I’m not the only one». Оказалось, операции записи работают совершенно иначе. То, как они работают, интересно и важно знать.

Позвольте начать с того, как я раньше думал о записи файлов.

Читать далее
Всего голосов 82: ↑63 и ↓19+44
Комментарии113

Готовим детей к школе с Кубокотом

Время на прочтение7 мин
Количество просмотров2.8K

Привет! Мы сделали приложение «Кубокот» для детей дошкольного возраста. Главная идея — подготовка ребенка к школе, поэтому образовательный контент у нас разделен на категории в зависимости от возраста. 

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

В приложении работает автозапуск игр в зависимости от прогрессии. То есть мы запустили, допустим, букву «А», и пока ребенок не пройдет все игры на эту букву, его не вернет куда-то обратно в меню. Также между играми есть небольшая развлекательная составляющая — летят шарики, которые можно лопать. Если их лопать, то их будет лететь больше. За каждые десять лопнутых шариков Кубокот будет хвалить ребенка. 

Под катом о том, что ещё умеет приложение.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии3

Чем плохо ООП (иногда)

Время на прочтение6 мин
Количество просмотров14K

ООП используется уже давно, оно применяется в большинстве программ. Но всегда ли ООП является правильным путём? Далеко нет.

Что такое ООП?

ООП — это парадигма, при которой код разделён на множество классов, что приводит к настраиваемому доступу и разъединению компонентов. Основные преимущества использования ООП заключаются в следующем:

1. Сокрытие подробностей реализации

Благодаря использованию слоёв абстракций мы можем обеспечить приватность работы внутреннего устройства ПО. Абстрагирование помогает с безопасностью и удобством использования, так как другие разработчики не знают (и не должны знать) внутреннюю реализацию вашего ПО.

2. Разъединённые компоненты

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

Читать далее
Всего голосов 46: ↑30 и ↓16+14
Комментарии23

Эволюция процессов CI/CD в more.tv

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров3.6K

Про CI/CD написано много разных статей и в них рассказывают о том, как это помогает увеличить TTM (time to market), позволяет автоматизировать рутинные вещи (например автотесты и различные проверки) и как деплоить в продакшен без отказа в обслуживании.

Мы в more.tv — не исключение и тоже стремимся к улучшению этих показателей при организации CI/CD.

Я Дмитрий Зайцев — руководитель отдела DevOps, и в этой статье расскажу вам, по какому пути прошли мы, какие особенности есть в нашей работе, какие задачи решали на каждом этапе и к чему в итоге пришли.   

Сразу отмечу — мы используем Gitlab, поэтому все процессы будут описаны именно в контексте использования Gitlab CI/CD.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии10

Как мы делаем RL в more.tv

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2.6K

Всем привет! Меня зовут Анатолий, я лидирую команду машинного обучения в онлайн-кинотеатре more.tv. В своей работе мы активно прототипируем и внедряем сервисы на основе обучения с подкреплением. Этот раздел машинного обучения всё ещё продолжает стоять особняком в индустрии, однако ситуация начинает постепенно меняться. Два года назад я впервые разработал контекстуальных бандитов для решения задачи ранжирования. По сравнению с мейнстримными listwise, pairwise и pointwise подходами, результат лично меня удивил. Конечно, как и всё, что делается в первый раз, было сделано с не очень большим пониманием дела. 

Однако, уже было понимание того, что RL - парадигмально иной раздел машинного обучения, требующий, в каком-то смысле, перестроения способа мышления. Полученный результат заставил меня более детально разбираться с теоретическими основами обучения с подкреплением и различными постановками задач.

Я более чем уверен, что мой пример не является аномалией или каким-то выдающимся случаем. Умея разрабатывать RL, каждый сможет существенно улучшить качество имеющихся ML/DL моделей, которые уже хорошо зарекомендовали себя в проде, или разработать собственное перспективное sota-решение для нового сервиса. Мне всегда было интересно разобраться в том, какие новаторские способы применяются в ML за пределами мейнстримных библиотек и сервисов. К примеру, в первую очередь я ознакомился не с функциональностью chatGPT, а с её разработкой по исходной статье.

Возможно, я “подсмотрю” интересное решение, которое смогу применить в своём рабочем проекте? А если и не получится, то получу опыт и расширю кругозор. И как же было забавно наблюдать, что RL подходы, описанные в оригинале статьи о разработке chatGPT, я уже применил на практике вместе со своей командой в наших бизнес-задачах.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Рисуем верёвку в формате SVG при помощи JavaScript

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.1K

Сегодня я расскажу о процессе, который я придумал для преобразования SVG‑контура в векторный рисунок верёвки.

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

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

Стоит учесть, что это не туториал по кодингу, а подробный обзор каждого из этапов. Но не беспокойтесь, код полностью доступен.

Замысел

Взглянув на это фото верёвки, вы заметите, что она состоит из множества переплетённых друг с другом прядей. Визуально они делят верёвку на сегменты. 2D‑проекция каждого сегмента напоминает изогнутый многоугольник.

Наша задача будет заключаться в создании этих многоугольников при помощи JavaScript.

Читать далее
Всего голосов 63: ↑62 и ↓1+61
Комментарии2

Look-a-like. Как это работает на стороне площадки и чем полезно бизнесу

Время на прочтение8 мин
Количество просмотров4.4K

Фразе Гиппократа «Ты — то, что ты ешь» уже более тысячи лет. И в 21 веке очевидно, что она относится не только к еде, но и к потребляемому контенту. Это давно доказано различными исследованиями и активно используется бизнесом: анализ историй посещённых веб-сайтов позволяет извлечь как базовые знания о человеке (пол, возраст, уровень зарплаты и т.д.), так и более специфичные вещи, например, интересы человека или факт наличия определённой вещи, будь то кроссовки фирмы Nike или дорогого автомобиля. 

В этой статье мы расскажем, как корпорации используют ваши истории браузеров для объединения людей по интересам, причём здесь таргетированная реклама и как эту задачу решают разработчики компании Amberdata. Если более конкретно — поговорим с вами о задаче Look-A-Like.

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Комментарии0

Учёба — это запоминание

Время на прочтение4 мин
Количество просмотров6.7K

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

Начинаем читать страницу Википедии о квантовой механике

Столкнувшись с непонятной нам концепцией, (назовём её Концепцией 1):Переходим на страницу Википедии о Концепции 1Читаем о Концепции 1, пока мы не поймём её. Затем возвращаемся к статье о квантовой механике и продолжаем с того места, на котором закончили

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

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

Скорее всего, вы интуитивно понимаете, что нет. Большинство из нас спустя пять минут запутается и сдастся. Если вы не уверены в этом, то попробуйте проверить.

Вся информация есть в Википедии, так почему же такое изучение не работает?

Читать далее
Всего голосов 27: ↑20 и ↓7+13
Комментарии13

Автоматизируем рутину при создании рекламных digital-размещений

Время на прочтение3 мин
Количество просмотров846

Привет! В сейлз-хаусе ЭВЕРЕСТ мы создали личный кабинет, который автоматизирует все процессы от расчётов до получения отчётов по рекламным кампаниям.

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

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

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии1

Сага о SEO, часть 3: UX

Время на прочтение12 мин
Количество просмотров2.1K

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

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии6

Стройте карьеру на выполнении грязной работы

Время на прочтение6 мин
Количество просмотров24K

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

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

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

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

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

Читать далее
Всего голосов 48: ↑40 и ↓8+32
Комментарии33

Братство кольца в командировке: как мы обновляли систему для организации деловых поездок в НМГ

Время на прочтение6 мин
Количество просмотров1.8K

Организация деловых поездок (командировок) – сложный процесс, требующий наличия в команде сотрудников со специальными навыками. Как во всем многообразии агрегаторов билетов найти самый оптимальный вариант перелета, доступный с оплатой по безналу? Где наиболее полный перечень гостиниц? В чем разница между тарифами V и K? Сколько держится бронь? Как заселить в одну гостиницу либо разом всех участников командировки, либо никого? Какой лучший сервис такси в городе N?

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Сага о SEO, часть 2: разметка

Время на прочтение8 мин
Количество просмотров4.6K

В предыдущей части статьи мы разбирались, как обеспечить поисковым роботам доступ к HTML-коду страницы. С вами снова Александр Усков, я ведущий разработчик more.tv, и в этом посте мы поговорим о том, что именно представляет из себя этот код и что можно сделать, чтобы сделать его максимально «понятным» и содержательным и для поисковых систем, и для браузеров.

Читать далее
Всего голосов 14: ↑10 и ↓4+6
Комментарии3

Как в more.tv организовали команды разработки

Время на прочтение7 мин
Количество просмотров3.4K

В рамках этой статьи мы бы хотели рассказать про разные способы организации команд разработки, которые онлайн-кинотеатр Национальной Медиа Группы more.tv прошел за три года: цели изменений, их плюсы и минусы и допущенные ошибки. Уверены, что для многих такой формат может быть более полезен, чем изучение теории по учебникам.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии3
1

Информация

Сайт
nmg.ru
Дата регистрации
Дата основания
2008
Численность
1 001–5 000 человек
Местоположение
Россия