Pull to refresh
25
0
Максим @mkrentovskiy

КМС по игре на скрипке в борделе

Send message

Как получить субтитрированный поток в RTMP из SDI

Reading time4 min
Views2.2K

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments5

Борьба за качество решений на Erlang/Elixir

Reading time9 min
Views6.2K


@jcutrer


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


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


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

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments9

Лазерная маркировка пластика

Reading time9 min
Views10K

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

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

Пластик (пластмасса)...

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments7

Захват видео с сетевых камер, часть 2

Reading time19 min
Views256K

В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.

Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.

Приступим
Total votes 64: ↑63 and ↓1+62
Comments39

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Reading time42 min
Views270K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

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

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

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


Лопатить пиксели
Total votes 190: ↑185 and ↓5+180
Comments86

PKI для IOT, архитектура защищенной сети ESP32 + Mosquitto SSL и Flash Encryption для хранения сертификатов

Level of difficultyHard
Reading time16 min
Views3.2K

Цель статьи - показать вариант построения защищенной Iot-инфраструктуры для сети устройств на базе ESP32 и обменяться опытом. 

Общую идею и весь проект разделил на темы:

развертывание mosquitto SSL/TLS из docker-контейнера

создание сертификатов для брокера Mosquitto SSL и клиентов ESP32

архитектура хранилища сертификата для ESP32 и практические способы защиты

подготовка защищенной прошивки устройства с применение встроенных средств безопасности и шифрования ESP32.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments20

Универсальная плата для E-Ink экранов. Ч1. Разработка системы питания

Level of difficultyMedium
Reading time13 min
Views7.8K

Однажды мне попался один весьма интересный проект платы, поддерживающей большое количество разнообразных E-Ink экранов. Проект довольно быстро заинтересовал, появилось желание несколько переработать плату, внести улучшения, узнать и попробовать что-нибудь новое. Больше всего изменений претерпела система питания: она была разработана практически с нуля. Процесс оказался очень познавательным и увлекательным, а отладка прототипа преподнесла много поучительных и забавных сюрпризов. Это жизненный рассказ о разработке как есть.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments30

Как устроены функции Мультирум и Стереопара на устройствах Sber

Level of difficultyMedium
Reading time14 min
Views3.2K

В феврале 2023 года на части устройств SberDevices мы анонсировали поддержку двух новых режимов работы — Мультирум и Стереопара.

Мультирум позволяет прослушивать музыку на нескольких устройствах различного типа одновременно. Например, колонка SberBoom может находиться в спальне, а SberPortal — в гостиной, и в таком режиме музыка на этих устройствах будет играть синхронно. Стереопара отличается от Мультирума тем, что в Cтереопаре могут участвовать только две одинаковые колонки, при этом устройства, воспроизводя звук так же синхронно, делят его на каналы — левый и правый (каждое устройство проигрывает свой канал), в зависимости от выбранных пользователем настроек.

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

В этой статье мы с коллегами @kpvf2dи @Alergenхотим поделиться и, возможно, обсудить некоторые проблемы и их решения.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments3

Отопление в ИЖС с помощью сплит-кондиционера «на тепло». Так ли это выгодно на самом деле?

Reading time30 min
Views17K

Отопление тепловыми насосами

Продолжим обсуждение способов экономичного отопления в ИЖС без использования трубного газа.

Ранее были рассмотрены варианты отопления электричеством и отопления с применением СУГ.

Экономика загородного дома. Как утеплить дом и не разориться?

По желанию читателей решил рассмотреть и вариант отопления с помощью «кондиционеров на тепло».

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

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

Идея сама по себе увлекательная, но содержит в себе ряд подводных камней, не очень афишируемых в рекламных проспектах.

Рассмотрением этих незаметных или преднамеренно скрываемых препятствий мы и займёмся в этой статье.

Читать далее
Total votes 48: ↑45 and ↓3+47
Comments139

Структура драйвера Linux для одноплатного компьютера

Level of difficultyEasy
Reading time7 min
Views14K

Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с учетом архитектуры Device Tree, которую использует современное ядро. В этой статье я опишу как я это сделал.

Читать далее
Total votes 34: ↑33 and ↓1+35
Comments5

Как я сделал синтез своего голоса

Level of difficultyEasy
Reading time12 min
Views32K

Всем привет! Меня зовут Гриша Стерлинг, я занимаюсь синтезом речи в SberDevices. Недавно прошла конференция AI Journey, где я рассказал, как сделал синтез своего голоса. За 15 минут выступления я не успел рассказать все, поэтому решил написать большой пост с деталями. Он будет интересен датасаентистам, людям из бизнеса и ai‑энтузиастам. Приглашаю всех под кат.

Читать дальше
Total votes 24: ↑22 and ↓2+25
Comments8

Миссия выполнима: УКВ ЧМ супергетеродин на дискретных компонентах

Level of difficultyMedium
Reading time11 min
Views9.7K


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

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

Такой УКВ супергетеродин я сегодня соберу. Без микросхем, на 12 транзисторах, 6 из которых задействованы в радиотракте, и ещё 6 в усилителе звуковой частоты. А ещё поговорим о структуре сигнала ЧМ радиостанции и способах его детектирования.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments18

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Level of difficultyMedium
Reading time16 min
Views8.8K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

image
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments10

Мы вложились в создание ненужного клиентам девайса и случайно повысили эффективность промышленных производств

Level of difficultyMedium
Reading time12 min
Views6.5K

Здравствуйте! Я Владимир Зайцев, основатель и генеральный директор компании Encost (Энкост). С 2013 г. мы помогаем клиентам-производственникам экономить на электроэнергии, но это отдельная история: мы пытались заработать, создав онлайн-калькулятор цен на электричество, а по факту стали сами корпеть над расчётами и переводить клиентов на более выгодные тарифы. В 2021 г. мы опять хотели заработать, помогая клиентам экономить электроэнергию, но сокрушительно промахнулись с запросом и чуть было не остались с любовно созданным и никому не нужным девайсом на руках. Но в итоге, после сбора обратной связи и допилов, мы превратили этот ненужный девайс в систему мониторинга для промышленных производств – Энкост Мониторинг. Вот эту историю с неожиданным поворотом я и хочу сегодня рассказать.

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

«Заработаем на онлайн-калькуляторе расчета электроэнергии! Что может пойти не так?»

 В начале этого пути мы толком ничего о производствах не знали и узнавать не планировали – просто с 2013 г. помогали юрлицам снижать затраты на электроэнергию. Сначала сделали онлайн-сервис – калькулятор, который показывал, из чего складывается ценообразование (для юрлиц это довольно замороченный процесс, у многих компаний был запрос плана: «Хотим убедиться, что не переплачиваем за электричество»). Собственник брал информацию со счетчика электроэнергии (это массив значений о почасовом потреблении за месяц), загружал эти данные на сайт, указывал параметры: регион, поставщик электроэнергии и прочее. Система на выходе выдавала все возможные варианты тарифа, доступные потребителю, и собственник мог понять: использует он сейчас самый выгодный для себя тариф или переплачивает.

Читать далее
Total votes 28: ↑27 and ↓1+34
Comments9

Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada

Reading time10 min
Views20K

Однажды на новогодних каникулах, лениво листая интернет, бракоделы в нашем* R&D офисе заметили видео с испытаний прототипа роботакси. Комментатор отзывался восторженным тоном – революция, как-никак. Но тренированное ухо расслышало в шуме с испытательной площадки еще кое-что. Контроллер скорости (штука для управления тягой винтов) сыграл мелодию при старте, как это любят делать пилоты дронов, которые часто используют полётный контроллер Betaflight. Неужели там бета-флайт? Ну, или какая-то из ее немногих разновидностей.

Перед глазами побежали флешбеки, где-то из глубин подсознания всплыла забытая уже информация о прошивках для Тойоты на миллионы тысяч строк Си и 2 тысячи глобальных переменных (Toyota: 81564 ошибки в коде).

После просмотра исходного кода Betaflight на гитхабе стало еще страшнее, и чем дальше, тем хуже. Это – управляющая программа для тяжелого устройства с острыми винтами, которое летает высоко, быстро. Становится страшно: игрушки это одно, но я бы не хотел летать, на таком такси. Но ведь можно иначе? Можно, решили мы! И решили это доказать. На Avito был куплен акробатический FPV-“квадрик” на базе STM32F405, для отладки – Discovery-платы для этого же контроллера, а дальше все как в тумане..

Читать далее
Total votes 70: ↑68 and ↓2+88
Comments58

SQL миграции в Postgres. Часть 2

Level of difficultyMedium
Reading time17 min
Views12K

В первой части мы рассмотрели базовые операции, такие как добавление новых атрибутов, создание индексов и ограничений и т.д.

Эта статья посвящена двум более сложным миграциям:

- обновление большой таблицы
- разделение таблицы на две

Рассмотрим подходы, которые позволяют провести миграции с минимальным простоем для приложения.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments2

SQL миграции в Postgres. Часть 1

Level of difficultyMedium
Reading time15 min
Views34K

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments18

Как одним движением сжечь 10000$ и получить удар током

Reading time14 min
Views107K

Представим себе в сущности довольно-таки заурядную ситуацию: у вас сломался сетевой источник питания. Вы берете в руки мультиметр и измеряете напряжение на входе и выходе источника. На входе у вас честные 230 В переменного тока из розетки, а на выходе по нулям. Вы знаете, что ваш источник питания – импульсный, и вы в курсе про то, что транзисторами источника управляет ШИМ-контроллер, который очень легко идентифицируется на плате.
На столе у вас стоит новенький осциллограф Tektronix DPO 7254 или какой-нибудь LeCroy WavePro 7300A ценою более 10000$, и вы решаете посмотреть с его помощью сигналы ШИМ-контроллера, чтобы диагностировать его исправность или неисправность. На щупе осциллографа написано, что его максимально допустимое напряжение равно 1000 В, это с хорошим запасом больше напряжения в розетке. Непосредственно на самом осциллографе рядом с разъемами для подключения щупов написана цифра 400 V, кроме того, у вас щуп с делителем 1:100, что тоже вселяет уверенность, что все будет в порядке. Вы включаете осциллограф и пробуете подключить его щуп к плате источника питания, однако, как только вы касаетесь щупом осциллографа платы источника питания, проскакивает искра и раздается громкий ба-бах. Экран вашего новенького осциллографа безжизненно потухает, сам осциллограф не реагирует ни на какие кнопки, а комнату заполняет характерный запах сгоревшей электроники. Что же произошло? Почему сгорел осциллограф и как такого избежать? Обо всем этом читайте под катом.
Читать дальше →
Total votes 100: ↑97 and ↓3+137
Comments218

BLE под микроскопом (ATTы GATTы...) Продолжение

Level of difficultyHard
Reading time9 min
Views5.1K

BLE под микроскопом (ATTы GATTы...)

Продолжение

Начал писать статью про использование китайского BLE чипа CH582. Но оказалось, что без теории, сложно объяснить некоторые моменты его работы. Поэтому решил сначала объяснить структуру таблицы атрибутов, а потом уже вернутся к китайскому чипу. Тем более ранее я уже пытался осветить эту тему.

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments7

Edge AI чипы от Kneron. Собираем оригинальный девайс

Reading time12 min
Views2.4K

Custom Device

Привет, я Антон Маслов, ведущий разработчик в MTS AI.


В предыдущих статьях я рассказывал о том, как работает распознавание изображений на чипе KL520 с помощью нейросети Tiny YOLOv3, а так же о том, как устроена, из чего состоит и как собирается прошивка чипов KL520. И вот теперь, когда мы познакомились с технологией Edge AI в общих чертах, мы можем отправиться в самое увлекательное путешествие и создать на базе KL520 собственный оригинальный девайс!


Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments2

Information

Rating
Does not participate
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity

Specialization

Specialist
Lead