habr лучшее за день
Маркетинг
Улучшаем карму: раскручиваем гайки на Хабре
Карма была одним из первых механизмов, появившихся на Хабре. И сколько она существовала, столько же времени были посты о том, что она работает не так, как ожидает конкретный автор. И что если срочно не принять меры, то Хабр вот-вот загнётся.
Большинство предложений разбивались о какие-то специфические особенности Хабра и ситуации, которые изначально не брались в расчёт. Иногда присутствовало здоровое зерно логики. Встречались и чрезмерно сложные фантазии. Мы читали каждый такой пост и комментарии к нему, мотали на ус, делали какие-то расчёты, но всё же не спешили вносить изменения. В функцию, которая может и не идеально, но всё же 15 лет проработала основой пользовательской регуляции.
Но сегодня мы анонсируем два изменения в механизме кармы.
Новости
Дорогой Хабр, формат GIF устарел, включи пожалуйста H.264
Анимированная GIF. Файл весит 4МБ
Эта анимированная гифка весит 4МБ, хотя может весить В ДЕСЯТЬ РАЗ МЕНЬШЕ — 380кб! Это ужасно, потому что нагружает интернет-каналы в десятки раз больше, чем должно.
Почему GIF должен умереть
Как я монетизировал гнездо аистов
Аисты жили в нашей деревне давно. Пока работал, было не до них, но всегда хотелось посмотреть на их жизнь сверху.
Только выйдя на пенсию я смог наладить круглосуточные трансляции из гнезда и за месяц полностью окупил расходы и даже начал зарабатывать вместе с аистами.
Как Unix-way убивает десктопный Linux
Нет, конечно же, не убивает.
То, что мертво, умереть не может: доля линукса на десктопах колеблется около 2% уже много лет, и не имеет тенденций ни к росту, ни к падению, изменяясь на уровне статистической погрешности.
Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.
Так в чем же дело? Почему несмотря на все старания, Linux, который стал стандартом де-факто на встраиваемых устройствах, работает на подавляющем большинстве серверов, целиком захватил рынок суперкомпьютеров, Linux, над которым работают сотни компаний и десятки тысяч людей. практически не используется на обычных компьютерах и ноутбуках?
Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, «Философия Unix»: «Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)».
Хабру 15 лет. Экскурсия по коллегам
Зимой этого года исполнилось 10 лет как я работаю в Хабре. Пришёл, когда он был пятилетним ребёнком, которому свойственно баловаться и наступать на грабли.
А сегодня Хабру исполняется аж 15 лет! Много это или мало? У всех разные линейки, но если усреднить, то большинство людей за такой отрезок времени успевают довольно много всего. Например, закончить школу или получить одно-два-три высших. Параллельно этому — прочитать сотни книг, освоить на высоком уровне любую технологию, сменить несколько автомобилей, завести семью, поставить на ноги детей, выплатить ипотеку. Что-то из перечисленного было и у меня — некоторое уже даже подзабыл. Зато отчётливо помню, как 10 лет назад я «зашёл в гости»… а дальше всё как в тумане.
Вот уже больше года мы работаем удалённо. В целом привык и даже нравится, но как только закрываю глаза, сразу флешбеки (нет) — наш уютный офис и любимые коллеги. В честь юбилея решил мысленно «пройтись по офису» и попросил коллег сказать пару слов по этому поводу.
Как рассылки Умного голосования попали в спам mail.ru?
Почему письма Умного голосования попали в спам пользователей Mail.ru. Mail.ru против Умного голосования?
Кто только не боролся с Умным голосованием во время выборов в Госдуму. Роскомнадзор блокировал сайт, Apple и Google удаляли приложение, YouTube — ролики со списками кандидатов, а Павел Дуров даже остановил телеграм-бота Умного голосования. Про все эти случаи много и громко говорили. Но мало кто заметил еще одну блокировку, которую, судя по нашим данным, по-тихому провел Mail.ru. Речь о рассылках.
Коротко о том, что произошло:
Mail.ru отправлял в спам письма, связанные с Умным голосованием. Письма с кандидатами и письма об итогах УмГ. В дни выборов и не во время выборов. На всех основных доменах команды Навального: rus.vote, navalny.com и fbk.info. Есть небольшие шансы на то, что это какая-то наша ошибка, но, скорее всего, дело в сознательной пессимизации писем об Умном голосовании. Одновременно с этим Google вообще никак не изменил отношение к нашим рассылкам, что указывает на инициативу Mail.ru.
А теперь немного подробностей.
Рассказываем о трудностях, с которыми столкнулись рассылки Умного голосования, и о небольшом расследовании их причин.
Научпоп
Жизнь в Европе вне столиц: цены порой даже выше, а развлечений меньше
Обычно релокейт — это переезд в столицу другой страны: разработчики перебираются в Берлин, Лондон, Хельсинки или Прагу, потому что IT-вакансий там больше. Но среди героев наших историй есть те, кто переехал в маленькие европейские города. Расскажем об их опыте и посмотрим, так ли сильно «провинции» отличаются от европейских столиц.
Новости
Raspberry Pi Zero 2 W: обзор возможностей новой «малинки»
Несколько дней назад Raspberry Pi Foundation запустила продажи новой модели, которой ждали многие — Raspberry Pi Zero 2 W. Эта плата является логическим продолжением «малинового эволюционного древа» и предлагает расширенные, по сравнению с предыдущей версией, возможности.
В общем-то, и Raspberry Pi Zero W является неплохой системой, которую можно использовать для широкого спектра проектов. Но вторая версия еще лучше, так что и проектов может быть больше. О том, на что способна новинка — под катом.
Субботник в эдеме — история ботаники. Часть I
История ботаники, как и история зоологии, не украшена возвышенными героическими поступками и гениальными прозрениями. Зародившись как сугубо прикладная наука, со временем она превратилась в широкую отрасль естественнонаучных знаний. Ботаника берёт своё начало в древней Греции. Её основателем является ученик Аристотеля Теофраст. Однако обо всём по порядку.
Оба плохи: сравнение UX консолей Playstation 5 и Xbox Series X
Существует проблема, над которой я размышляю уже несколько лет: удобство пользования видеоигровыми консолями гораздо ниже, чем работа со стандартными потребительскими приложениями, но об этом редко говорят.
В 2020 году и Microsoft, и Sony выпустили консоли «нового поколения», которые объективно обладают значительно худшими интерфейсами, чем ежедневно используемые вами программы.
Изначально я думал, что это связано со сложностью использования контроллера, у которого вместо курсора кнопки и джойстиков.
Я потратил несколько месяцев на тестирование Xbox Series X и Playstation 5, мучаясь при этом от мелких недоработок. И хотя я по-прежнему считаю контроллер ограничивающим фактором, причиной этой проблемы он не является.
Вам необязательно быть фанатом какой-то из этих консолей, чтобы получить удовольствие от статьи — я составил её таким образом, чтобы уроки, связанные с UX, относились к и общему дизайну ПО.
Википедия изнутри
Википедией пользуются все. Даже те, кто никогда в этом не сознается.
Но меня каждый раз поражает, насколько фантастические представления о Википедии у людей, которые её не пишут. (Надо сказать, у людей, которые её пишут, — тоже.)
Википедия кажется очень странным созданием, с надуманными, неестественными правилами, сложной организацией и высоким порогом вхождения.
А я вам скажу, что правила как раз очень даже естественные, и Википедия — весьма устойчивый организм, переживший войны, кризисы, блокировки Роскомнадзором и существующий уже более 20 лет.
Открыть тайны нашей секты?
Итак, меня зовут Lesless, и я админ.
Архитектура PlayStation 3, часть 3: Три «ОС»
Теперь, когда PlayStation 3 стала мощным мультимедийным центром, то ей требуется более сложная операционная система (ОС), чтобы предоставить пользователям больше различных сервисов и игр.
Для новой консоли также требуется сохранить безопасность и производительность на должном уровне, и, может быть, добавить обратную совместимость для игр с консоли предыдущего поколения.
PVS-Studio ищет баги в проекте DuckStation
Мы часто проверяем ретро-игры. Многие наши разработчики находят интересные для себя проекты и ностальгируют при их изучении. Однако, ретро-игры нужно на чём-то запускать. В этот раз мы проверили проект, помогающий запускать старые игры на современном железе.
Как использовать Fiverr для озвучки игры
Введение
Эта статья будет в первую очередь полезна инди-разработчикам, которые подумывают об озвучке своей игры. Все написанное ниже – исключительно мой личный опыт. Надеюсь, он поможет вам сэкономить время и силы.
Многие инди-разработчики делают игры в соло или небольшими командами. И зачастую, по причине ограниченных ресурсов, приходится расставлять приоритеты.
Так было и в нашем случае. На первое место мы поставили гейм-дизайн, визуальное оформление и написание кода.
Мы довольно быстро сделали прототип и после первых тестов решили, что хотим продолжать разработку.
Спустя какое-то время, когда все основные задачи были выполнены, мы начали задумываться о саунд дизайне.
Отдельного саунд дизайнера у нас в команде нет. За неимением добровольцев, эту увлекательную часть работы я взял на себя в довесок к другим своим обязанностям. Я условно разделил саунд дизайн в нашей игре на звуковые эффекты, музыку и озвучку персонажей. О последней составляющей я бы и хотел рассказать.
Многоликий: обзор IBM ThinkPad серии R40
Постоянные читатели моих обзоров уже привыкли, что каждая статья посвящена одному девайсу, реже участвуют отличающиеся комплектацией устройства одной модели. Сегодня я нарушу эту традицию и расскажу о ноутбуках серии IBM ThinkPad R40. В нее входили ноутбуки на трех разных аппаратных платформах, а для моделей с диагональю экрана 13”/14”и 15” использовались разные шасси. Таким образом, число комбинаций только по этим показателям равно пяти, а всего в официальном каталоге, не учитывающем особых вариантов для региональных рынков, числится 82 комплектации!
Серия R40 — это прочные, но довольно простые в сравнении с топовыми моделями рабочие лошадки. Они пришли на смену не получившим большого распространения R32, в которые впервые среди бюджетных моделей ThinkPad поместили NetBurst-процессор. Модель была представлена в январе 2003 года — за три месяца до того, как ThinkPad T30 был «смещен с трона» революционным Т40 на базе Pentium M.
Рисуем вместе с CLIP Guided Diffusion HQ
UPD: эта статья была написана до выхода интереснейшего материала о нейросети ruDALL-E. Мы решили всё равно её опубликовать — таким образом у читателей будет возможность сравнить изображения, сгенерированные отечественной и зарубежной сетями. Дальнейший текст публикуется без изменений.
kok:
Подскажите какой прогой перегонять книги из txt в mp3
Izzzum:
^^^^^ No Comment а почему сразу не в 3gp или XviD?
kok:
А в каком по твоему формате аудиокниги?
kok:
Или ты думаешь, что какойто дурень сидит и начитывает перед микрофоном?
Что ж, если не предъявлять слишком высоких требований к реалистичности результата, можно сказать, что сегодня у нас такие «проги» есть. Речь, конечно же, о нейросетях, которые умеют генерировать практически любые виды контента.
Бегущий в лабиринте: роботы, нейроны и резервуарные вычисления
Как бы сильно писатели или сценаристы не старались создать образ сверхумных и сверхсильных роботов, в реальности же до глобального доминирования им еще очень и очень далеко. В чем их проблема? А в том, что мыслят они совершенно не так, как люди. Можно даже сказать, что современные роботы не мыслят, а выполняют вычислительные процессы. Мозг человека также выполняет эту задачу, но на гораздо более высоком и сложном уровне. Еще одним важным отличием является наше умение обучаться чему-то новому посредством периодического повторения выполняемой задачи. Другими словами, практика и еще раз практика. В отличие от роботов, никто не вкладывает в наше сознание навыки, как это происходит в повести «Профессия» Айзека Азимова. Получается, чтобы сделать роботов умнее (если это хорошая идея), необходимо научить их учиться. Группа ученых из Американского института физики (США) придумали, как обучить маленького робота преодолевать лабиринт, используя при этом самые настоящие нервные клетки мозга человека. Какие принципы лежат в основе разработки, насколько быстро обучался робот и удалось ли ему в итоге преодолеть лабиринт? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Применение алгоритма Гровера для поиска гамильтоновых циклов в графе
Вариант применения квантового алгоритма Гровера для решения задачи поиска гамильтоновых циклов в графе. Вариант является учебным, он не даст так называемого «квантового превосходства», но возможно вдохновит кого-либо на поиск более оптимального решения задачи.
Старый добрый бесполезный интернет
Коллеги, давайте уже после праздников. А то ещё нужно сегодня посмотреть на симулятор хакера, шашки, которые играют сами в себя, и стометровку на чекбоксах.
Трискутеры, джетпаки, левитирующие лифты, подвесные кресла или движущиеся тротуары?
Трискутеры, джетпаки, левитирующие лифты, подвесные кресла или движущиеся тротуары? По какому пути будет развиваться городская транспортная инфраструктура
Осмысленный сон удаленщика
Продолжаем разговор про осмысленную жизнь на удаленке. В прошлом месяце мы поговорили про ходьбу, которая при правильном применении дает плюс к карме, выносливости и физической форме. А сегодня обсудим сон. В условиях периодических локдаунов эта тема стала всплывать довольно часто.
Айтишный пицца-квест. Итоги
Привет! На связи Cloud4Y.
На прошлой неделе мы славно разогрелись, проходя ИТ-квест. Надеемся, что вам понравилось. Сегодня мы хотим подвести итоги, разобрать каждую головоломку и назвать победителей. Под катом – всё самое интересное.
Волны, которые появляются из ниоткуда и исчезают бесследно
Это было утро 12 апреля 1966 года. Элегантный лайнер «Микеланджело» направлялся через Атлантику в Нью-Йорк. 275-метровый красавец водоизмещением 46 тысяч тонн некоторое время был флагманом флота Италии и являлся одним из крупнейших судов в стране. Он принадлежал семейству суперлайнеров, воплощавших в себе как отработанные технологии, так и прогрессивные решения: для безопасности пассажиров часть палуб и кают лишена иллюминаторов, дизайн и устройство дымовых труб не позволяли окуривать верхние прогулочные палубы, а также судно было оборудовано стабилизаторами качки, чтобы богатые пассажиры не пролили ни капли мартини.
Пять альтернатив Scale AI
Выбор подходящего инструмента для аннотирования данных — непростая задача, поэтому чтобы принять верное решение, необходимо знать все возможные варианты. В этой статье мы расскажем о лучших, по нашему мнению, альтернативах Scale AI.
Проекты машинного обучения и глубокого обучения стали сегодня мейнстримом.
Однако несмотря на огромные трудозатраты, только некоторым компаниям удалось превратить свои модели в продукты.
Согласно данным Gartner, для более чем 85% ИИ-проектов есть риск обеспечения плохих результатов из-за погрешностей в данных, алгоритмах или заблуждений разработчиков.
В частности, слабым звеном в ML/DL является качество данных, поскольку успех проектов сильно зависит от объёмов высококачественных размеченных данных, которые способна регулярно создавать команда.
Scale AI одним из первых воспользовался возможностью совершенствования и автоматизации управления, аннотирования и интегрирования данных.
Но Scale — не единственный мощный инструмент в области разметки данных для обучения ИИ.
Поход выходного дня, митапы в баре и 30 тысяч на блины. Истории городских PHP-сообществ
В крупных городах можно найти десятки ИТ-сообществ. Ребята собираются на митапы, делают трансляции, запускают чаты. А кто-то занимается этим много лет. Но зачем? Спросила у организаторов PHP-сообществ из 9 городов. Заодно узнала истории комьюнити, фейлы и советы — с чего начать, если хочешь запустить ИТ-сообщество, и как поддерживать во времена онлайна.
Неудобная правда: как Tesla стала триллионной компанией
Упомянутые в статье факты я начал бережно собирать в черновике ещё весной. А тут появился повод собрать их все воедино. Я вам гарантирую, что вы будете изумлены изысканностью происходящего.
Информация
Кодекс авторов Хабра
Это не документ, которого нужно строго придерживаться. Это вообще не документ. Это правила, которые соблюдают некоторые авторы на ресурсе.
Я создаю авторские материалы и не перепечатываю с других сайтов.
Публикуя материалы других авторов, я всегда привожу ссылки на источники.
Я не создаю глупых комментариев типа «+1», «ф топку», «афтар жжот».
Я не матерюсь и не оскорбляю других на страницах Хабра.
Я стараюсь, чтобы в моих текстах не было ошибок.
Я уважаю администрацию и пользователей ресурса, не унижаю и не оскорбляю их — я здесь не для этого.
В споре я стараюсь не раздувать конфликт, а решить проблему в личной переписке.
Если мне не удалось разрешить конфликт, я не призываю других к активному противодействию.
Я лично решаю: публиковать контент на Хабре или нет, и не требую за это денег.
Если нужно, я помогаю новичкам.
Я пользуюсь поиском, чтобы уточнить, нет ли уже на сайте похожего материала. Если так вышло, я дополню его в комментариях.
Каждым своим действием на ресурсе я стремлюсь добавить порядка, а не внести хаоса.
Своими действиями я не хочу разрушить или дискредитировать сообщество.
Я не клянчу карму и отношусь к изменениям рейтинга спокойно.
Я стараюсь учесть конструктивную критику и пожелания.
Я на позитиве. Из самой сложной ситуации всегда есть выход.
Я понимаю, что Хабр — это сообщество людей с разными интересами. Если какая-то тема мне не интересна, я не мешаю другим ее обсуждать.
Habr лучшее за день
Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть интересна тестировщикам в проектах на C/C++ или пользователям Tarantool, которые хотят узнать, сколько мы усилий прикладываем к тому, чтобы снизить вероятность появления проблем в новых версиях.
Популярной статьей такого рода является описание тестирования библиотеки SQLite за авторством Ричарда Хиппа. Но у SQLite есть специфика: их инструменты тяжело переиспользовать в других проектах. Это следствие того, что у команды разработчиков SQLite есть обязательства поддерживать библиотеку как минимум до 2050 года, и для сокращения внешних зависимостей они все инструменты пишут сами с нуля (например, тест-раннер, инструмент для мутационного тестирования, Fossil SCM). У нас таких требований нет, поэтому в выборе инструментов мы не ограничены и пользуемся всем, что приносит пользу. И если вас что-то заинтересует, то вы достаточно легко сможете это принести в свой проект на C/C++. Если я вас заинтересовал — велкам под кат.
Запись звука и отображение громкости на Android
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:
Видео в звонках ВКонтакте: 4К-скриншеринг и Quality on-demand для тысяч участников
Что нужно от картинки в видеозвонке? Базово — чтобы не пикселила, не замирала и не вешала весь звонок. Это основы real-time видео, и добиться этого не так трудно.
Всё самое интересное начинается, когда вы хотите, чтобы в одном звонке могли участвовать сколько угодно человек. И при этом все могли включать видео, а не просто смотреть; разрешение скриншеринга было бы 4К; шеринг оставался суперчётким при любом интернете и т. д. И чтобы звонки работали на любых платформах и устройствах на мобильном нестабильном интернете.
Как мы добиваемся всего этого в звонках ВКонтакте, какие хаки в настройках используем, как экономим трафик и CPU, как боремся за latency и где нам пришлось идти в обход WebRTC, читайте под катом.
Делаем на Android анимацию как в Doom. Приложение-огонь
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Расскажу про отрисовку в Android на примере анимации огня из игры Doom. Эту игру за многие годы на чём только не запускали, от компьютеров до домофонов. Один программист однажды разобрал весь исходный код Doom и обратил внимание на алгоритм, генерирующий изображение огня. Он используется, к примеру, в официальной заставке одной из частей игры.
Адаптивный layout — как переверстать весь проект, не перевёрстывая его
Вёрстка — это первое, чему обычно учатся начинающие фронтендеры. Но когда вёрстки в вашем проекте становится очень много, поменять что-то — особенно везде и сразу — становится непросто. Переверстать большой проект, как правило, почти нереально. И если начинает казаться, что в какой-то задаче это нужно, вероятно, пришло время для более нестандартных методов.
Всем привет! Меня зовут Юрий Голубев, я разрабатываю frontend в Почте Mail.ru. Сегодня я хочу поделиться опытом того, как мы добавили адаптивности и возможности кастомизации в интерфейс, а заодно — открыли новый для себя способ написания адаптивных компонентов.
Читать не надо слушать: как работает распознавание речи ВКонтакте
Прочитать текстовое сообщение — быстрее, чем прослушать голосовое. Ещё по тексту удобнее искать и уточнять детали. Воспринимать числа, адреса, номера телефонов и подобную информацию тоже проще в написанном виде. С другой стороны, записать голосовое зачастую удобнее, чем напечатать сообщение — ведь это можно делать параллельно с другими занятиями, на ходу или за рулём.
Автоматическое распознавание речи помогает преодолеть этот разрыв. Технология переводит устную речь в текст, а дальше с ним можно делать что вздумается: хоть выводить расшифровку, хоть передавать в поиск, хоть преобразовывать в команды для техники. Или, как в нашем случае, помогать пользователям общаться.
Меня зовут Надя Зуева, я занимаюсь голосовыми технологиями ВКонтакте. В этой статье расскажу, как работает наше распознавание голосовых сообщений: какие модели мы используем, на каких данных их обучаем и какие оптимизации применили для быстрой работы в проде.
У нас был небольшой бюджет и большие проблемы с рутинным тестированием в match3-игре, у которой накопилось более 1500 уровней. А вот чего у нас не было, так это идеально подходящего коробочного решения, работающего на лету и без пересборок. Поэтому мы нагородили собственную ферму с высаженной грядкой из десятка Xiaomi, отправкой статистики, отчетами в Slack, блекджеком и коровой.
Я Павел Щеваев, CTO студии BIT.GAMES, которая является частью международного игрового бренда MY.GAMES. Вы можете знать нас по RPG «Гильдия Героев», а ваши мамы — по «Домовятам» в Одноклассниках. Да, это были мы. 🙂 Но сегодня речь пойдет о нашем новом проекте Storyngton Hall. Это головоломка «три в ряд» с сюжетом, по которому красивые леди разгадывают загадки, декорируют комнаты, примеряют платья, устраивают балы, и, в конце концов, выходят замуж.
Core Web Vitals: с чего начать?
Согласно web.dev, улучшение качества взаимодействия с пользователем — ключ к долгосрочному успеху любого сайта. Понимая, насколько важен для развития интернета качественный пользовательский опыт, компания Google в 2020 году представила инициативу Web Vitals. Это единое руководство по метрикам качества, которые необходимы для обеспечения удобного взаимодействия с пользователем. Хотя за прошедшие годы Google создала ряд инструментов для измерения эффективности взаимодействия и составления отчетов (Lighthouse, PageSpeed Insights и Measure), Web Vitals должна упростить измерение производительности и помогает разработчикам сайтов сосредоточиться на самых важных показателях — Core Web Vitals.
Grafana as code, или как я перестал кликать мышкой в UI и полюбил grafonnet
Когда мы в Tarantool столкнулись с задачей настройки мониторинга для сдачи проекта заказчику, мы решили её с помощью grafonnet. Это библиотека для написания дашбордов Grafana с помощью кода на языке jsonnet, которая заметно облегчила нам жизнь.
Рассказ поделён на две части. В первой я делюсь нашей историей знакомства с grafonnet, причинами, по которым мы выбрали этот инструмент, и задачами, которые мы решили с его помощью. Вторая представляет собой пошаговое обучение написанию простого дашборда для Prometheus. Так что если ситуации, описанные мной в первой половине статьи, покажутся вам знакомыми, вторая позволит вам совершить первый шаг на пути к их разрешению.
Как работать с Tarantool на Golang вместо Lua
Ядро Tarantool-а написано на C, а вся бизнес-логика создаётся на Lua. Это не самый сложный язык, но и не самый популярный. Поэтому сегодня я расскажу, как начать работать с Tarantool, написав всего три строчки кода на Lua. А всё остальное приложение написано на Golang. Чтобы было еще интереснее, я даю альтернативный вариант на Python. Что за проект? Делаем приложение, которое позволяет ставить метки на карте: дом, работа, первое свидание, первый Hello World, первый «too long wal write» Tarantool.
Звонки без ограничений на количество участников, или Аудиопайплайн звонка ВКонтакте
Чтобы снять лимиты на число участников в одном звонке, мы реализовали принципиально новую схему работы с видео- и аудиопотоками: построили уникальную архитектуру, которая горизонтально масштабирует звонок на любое количество серверов и потребляет минимум ресурсов — как серверных, так и клиентских.
В этой статье разберёмся, что влияет на качество звука, как и какие из этапов передачи аудиоданных можно потюнить, чтобы обеспечить минимальную задержку и лучшее восприятие качества звонка. А также посмотрим на результаты внедрения нового аудиопайплайна в групповых звонках ВКонтакте.
Разбор алгоритмов генерации псевдослучайных чисел
Я работаю программистом в игровой студии IT Territory, а с недавних пор перешел на направление экспериментальных проектов, где мы проверяем на прототипах различные геймплейные гипотезы. И работая над одним из прототипов мы столкнулись с задачей генерации случайных чисел. Я хотел бы поделиться с вами полученным опытом: расскажу о псевдогенераторах случайных чисел, об альтернативе в виде хеш-функции, покажу, как её можно оптимизировать, и опишу комбинированные подходы, которые мы применяли в проекте.
Заметки KPHP: тестирование и бенчмарки
Перед вами первая статья из серии «Как использовать KPHP в open source?».
В этих статьях мы будем разбирать разные аспекты работы с KPHP, расширяя информацию, которую вы можете найти в официальной документации.
В сегодняшнем выпуске обсудим:
NLP At Scale: вся правда о предобученных моделях в Почте Mail.ru (часть 1)
Антиспам Почты Mail.ru — это симбиоз продуктовой логики и инфраструктурных технологий, про который мы решили более подробно рассказать. В основе конечно же лежит инфраструктура, с помощью которой мы получаем возможности для развития моделей машинного обучения, а также платформа ядра, которая обеспечивает работу антиспама в онлайне. Продуктовая логика представлена в виде большого количества эвристик (куда без них) и ручных правил. На вершине продуктовой пирамиды пребывает стек моделей машинного обучения, хотя положение на вершине в данном случае достаточно условно.
В этой статье мы заберемся на эту вершину, где в последнее время часто вбивают новые колышки текстовые модели. Мы спроецируем мир текстовых ML-моделей на наш сервис, поговорим про эволюцию и решение задач Почты, связанных с текстами. Запасайтесь кислородом и свободным временем.
Нейросети против пылесоса, или Как мы убрали лишний шум в звонках ВКонтакте
Как-как, с помощью магии нейронок, конечно. А если серьёзно, то в этой статье расскажем, как эволюционировали технологии шумоподавления и улучшения речи, какие есть варианты, чтобы собрать своё решение, и какой сетап получился у нас.
Архитектура распределенной очереди в Mail.ru Cloud Solutions
Вряд ли сейчас можно встретить разработчика, который ничего не слышал об очередях сообщений. Самые известные брокеры сообщений это: Apache Kafka, RabbitMQ и IBM MQ. Все также наверняка знают об облачных решениях, предлагаемых Amazon. Есть у них и стандартизованные API для работы с очередями.
Одно из них, Simple Queue Service, мы взяли за основу и разработали распределенную очередь для запуска в облаке Mail.ru. SQS это стандартный API для облаков, его широко используют многие компании, от BMW до NASA.
В статье описано, что такое распределенные очереди и зачем они могут понадобиться, какие в них есть особенности, и о том, какое у нас получилось распределенное решение на базе Tarantool.
Особенности прототипирования игр
Думаю, во многих компаниях есть свои R&D-команды, которые ищут новые продукты. Такую решили организовать и в нашей студии, и меня туда пригласили. Конечно же, поначалу мы все были окрылены идеей, что сейчас мы в команде экспериментальных проектов и будем писать ПРОТОТИПЫ. Звучит-то как! Мы будем экспериментировать с новыми библиотеками, так сказать «щупать» новые технологии и вообще делать что-то новое почти каждый месяц! Значит, нам не только не надоест какой-то проект, но и можно не заботиться о долгосрочной поддержке кода. Ведь это начальство разрешает забить на качество написания кода в угоду скорости разработки, ведь всё потом полетит в мусорку и будет переписываться с нуля. Но так ли всё радужно?
Меня зовут Андрей, я программист в студии IT Territory/My.Games, работаю в команде экспериментальных проектов. И хочу рассказать вам об особенностях нашего прототипирования игр.
Наш опыт использования Jira: cоздание подзадач по шаблонам
В предыдущей статье «Несколько примеров успешного изобретения велосипеда» мы поделились рядом решений, полученных путем комбинирования наших плагинов для Atlassian, таких как MyGroovy, JSIncluder и MyCalendar. На этот раз мы рассмотрим еще один плагин из нашей коллекции — Custom Select List.
Нагрузочное тестирование игровых серверов
Меня зовут Дмитрий, я специалист по тестированию в студии IT Territory. За 17 лет мы выпустили более 15 успешных игровых проектов с общей аудиторией около 100 млн игроков по всему миру. Вы можете быть знакомы с нами по таким проектам, как Аллоды Онлайн, Hawk, Space Justice, World Above, Rush Royale. И в этом посте я расскажу о том, как мы проводим нагрузочное тестирование игровых серверов.