-
Горизонтальное видеоОчевидный победитель в соотношениях экрана здесь всё также старичок 16:9, чего не скажешь о вертикальном форматеИ всё-таки давайте окончательно в этом убедимся, и заодно установить пределы отклонений, которые будут считаться нормой далее:Более 50% пользователей имеет соотношение ширина / высота…
-
SMPP в Telegram (Viber)
00 ВступлениеМного лет не писал нечего кроме заметок для себя, но тут получилось интересное решение поэтому решил поделиться со всеми пользователями habr(он много поучаствовал в принятие и поиске решения), не судите строго. Постараюсь разделить все логически правильно, но не обещаю…
-
Теперь наш синтез на 20 языках
В нашей прошлой статье мы ускорили наши модели в 10 раз, добавили новые высококачественные голоса и управление с помощью SSML, возможность генерировать аудио с разной частотой дискретизации и много других фишек. В этот раз мы добавили: 1 высококачественный голос на…
-
multiboot usb-drive. своими руками
Давненько пользуюсь мультизагрузочным внешним жестким диском, набитым различными дистрибутивами Linux. В свете последних событий и очередной волны импортозамещения понадобилось дополнить его и «отечественными» дистрибутивами. Решил сделать для себя небольшое HOWTO, заодно поделиться с сообществом.Не буду тянуть резину за хвост в…
-
А Лёха смог
Статью заказал сам Лёха. Он – отличный парень, но пока немного не уверен в своём умении доходчиво выражать мысли. Однако, мне понравилась цель его заказа, поэтому я решил поучаствовать – написать текст от его имени.Итак, Лёха смог войти в айти.…
-
Создание демки специально для HABR — Часть 2
В предыдущей части мы только начали входить во вкус создания демки, как статья неожиданно закончилась на самом интересном месте. Не буду сильно томить и продолжу описывать свой квест по созданию этой интересной программы. Борьба за размеры памяти, задержки, звук, всё…
-
Прокачиваем kotlin: используем AST лямбд в рантайме
Я слышал, ты любишь компилировать kotlin…На kotlin для работы с базами я использую библиотечку JOOQ. У неё хороший генератор кода и достаточно вменяемый синтаксис для составления запросов. Вот например:dsl.selectFrom(Tables.ANIMALS) .where(Tables.ANIMALS.POPULATION.greaterThan(1000)) .orderBy(Tables.ANIMALS.NAME) .map { «${it.name}: ${it.population}» } .toList()Можно ли лучше? Например,…
-
НСДИ: ещё один взгляд через год
Год назад я написал статью про «Национальную систему доменных имён», в которой были рассмотрены некоторые технические аспекты её организации, в основном то что касается доступности узлов этой системы, а не аспектов работы DNS. Я не следил, но надеялся встретить за…
-
Скачивание любого сайта с помощью Python себе на компьютер
Здравствуйте!Сегодня я Вам расскажу про интересную библиотеку для Python под названием Pywebcopy. PyWebCopy – бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жесткий диск.Модуль обладает такими полезными методами как:save_webpage() — для сохранения одной страницы;save_website() — позволяет…
-
Триггернутые, или Как безболезненно встроить нагрузочное тестирование в ваш пайплайн
В жизни каждого тестировщика наступает момент, когда он больше не успевает тестировать все задачи, которые на него падают. Нагрузочники не являются исключением. Сначала одна пушка, потом вторая, потом их уже десять — и все надо поддерживать и запускать на очередной…