Search
Write a publication
Pull to refresh
90
0
Владислав Рябчевский @VRyabchevsky

DevOps, радиолюбитель, робототехник, программист

Send message

Почему необходимо помнить об «устаревшей» эстетике игровых консолей

Reading time4 min
Views5.9K
imageВ октябре 2018 года компания Google запустила проект «Stream», позволяющий поиграть в новейший «Assassin’s Creed» прямо в браузере. Не нужна никакая игровая консоль, даже файл скачивать не нужно.

По многим отзывам, сервис получился очень удачным. Google – не единственная компания, пытающаяся закрепиться в нише потоковых игр. Компания Microsoft также анонсировала проект xCloud, в рамках которого ставятся аналогичные цели. Кажется, что все больше технологических компаний пытаются организовать доступ к компьютерным играм как к потоковому контенту, усматривая в этом большие перспективы – поскольку пользователям не придется покупать дорогие консоли, которые все равно устареют.
Читать дальше →

Видеокарта VGA для микроконтроллера

Level of difficultyMedium
Reading time17 min
Views16K
image

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

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →

«Yet Another» против «Not Yet Another»: Почему ИИ-стартапы застряли в копировании

Level of difficultyEasy
Reading time3 min
Views1.8K

В мире технологий есть одна устойчивая тенденция: копировать проще, чем создавать. Новый стартап, новый чат-бот, новый алгоритм аналитики данных — звучит знакомо? Рынок ИИ переполнен продуктами, которые, несмотря на громкие заявления, часто оказываются лишь вариациями уже существующих решений. Это явление получило название "yet another" — еще один такой же. Но почему так происходит, и есть ли выход из этого замкнутого круга?

Читать далее

Ещё 10 ошибок авторов Хабра

Reading time11 min
Views12K

Так уж сложилось, что моя основная работа — пролистывать, просматривать и очень внимательно прочитывать статьи на Хабре: уже опубликованные, конкурсные для Технотекста (эти не по первому разу), статьи из Песочницы. Это довольно большой массив данных, который непрерывно обучает мою личную человеческую нейросетку и в том числе «натаскивает» её на распознавание хороших и плохих авторских паттернов. В результате накапливаются знания, которыми очень хочется поделиться с существующими, начинающими и будущими авторами.

Читать далее

Когда ты больше не просто пишешь код. Ты управляешь энергией

Reading time7 min
Views13K

Привет, Хабр!

Когда-то я писал веб-приложения. Решал задачи бизнеса, деплой в прод, REST, тесты, метрики, кубики. Всё было нормально. Но в какой-то момент мне стало… скучно.

Да, задачи были интересными. Команда — отличной. Но где-то внутри появилась пустота. Хотелось делать что-то настоящее. Осязаемое. Что-то, где за твоим кодом — больше, чем UI и API. Хотелось влиять на реальный мир.

Так я попал в мир электропривода.

Читать далее

Записываем PNG без мам, пап и внешних библиотек

Reading time9 min
Views17K

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

Формат изображения PNG известен с 1996 года, а на Хабре опубликовано несколько статей о декодировании этого формата. И ни одной — о кодировании. Я расскажу, как сохранить PNG своими руками на случай, если вам тоже придется это делать. Например, в академических целях.

Под катом вас ждет подробный разбор каждого байта на множестве иллюстраций.
Читать дальше →

Как перенести Linux Device Drivers на современные ядра

Reading time13 min
Views7.4K

Наверное, каждый разработчик рано или поздно задумывается о том, что же происходит в операционной системе на уровне ядра. Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие).

В книге Linux Device Drivers (LDD) подробно описано, как создать свой модуль ядра для интересующего класса устройств. Однако эта книга очень устарела, поскольку в ней рассматриваются случаи, справедливые для ядра версии 2.X.X. А в 2025 году третьему изданию Linux Device Drivers исполняется 20 лет!

На сегодняшний день большинство устройств используют ядра 5.X.X или 6.X.X, в которых многое изменилось. Так и появилась идея этой статьи — адаптировать информацию из LDD под современные ядра.

Под катом рассмотрим следующие классы устройств: char device, block device и network device.

Читать далее

Открытая IDE для российских разработчиков

Level of difficultyEasy
Reading time6 min
Views70K

Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

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

Почему это хорошая новость для российских разработчиков? Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз? Читайте под катом.

Читать далее

Разбираемся со сканерами в Linux: получение информации об устройстве и поиск подходящего драйвера

Level of difficultyMedium
Reading time61 min
Views21K

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

В первой части коснемся вопроса сбора информации об устройстве при помощи системных утилит, входящих в состав ОС, а также программ от разработчиков SANE. Расскажем, как физическое устройство (например, МФУ) представляется в ОС сразу и принтером, и сканером, и много ещё чем. Обязательно затронем тему дескрипторов и детально рассмотрим значение каждого из них. База, так сказать. Заглянем в типовой пакет проприетарного драйвера и на примерах покажем, как он должен выглядеть в идеальном современном мире. Глазами разработчиков SANE, конечно. Мы не будем с ними спорить.

Подключайте свои сканеры

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

Level of difficultyMedium
Reading time17 min
Views19K

Разрабатываем робота с нуля - от ИИ-дизайна до полного проектирования и реализации всех компонентов устройства.

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Собираем демо чемодан из подручных остатков к выставке WBCE2025

Level of difficultyEasy
Reading time3 min
Views1.5K

Это краткая история о том, как за пару вечеров с помощью россыпи мелочевки с алиэкспресс, термопистолета и WAGO-вских клемм собрать демонстрационный чемодан к выставке.

Читать далее

Увольняешься? Ну и скатертью дорожка…

Level of difficultyEasy
Reading time5 min
Views105K

Каждый раз, когда сотрудник подает заявление об уходе, HR-отдел традиционно вздыхает: "Ну вот, опять не удержали". Но что, если проблема не в том, что люди "не выдерживают", а в том, что компания годами игнорирует очевидные сигналы?

Представьте: ваш лучший сотрудник, который вел ключевой проект, вдруг уходит к конкуренту. Вы в шоке: "Да мы же платили ему выше рынка!" А он отвечает: "Да пусть будет меньше денег, но работа будет спокойнее".

Информация, которой нет в HR-отчетах:

Почему сотрудник уходит

Senders/Receivers в C++26: от теории к практике

Level of difficultyMedium
Reading time16 min
Views6.2K

Каждому C++-разработчику приходится решать задачи асинхронности — от сетевых запросов до фоновых вычислений. В этой статье вы увидите, как P2300-модель Senders/Receivers в C++26 расширяет возможности std::async/std::future и позволяет строить ясные, декларативные конвейеры (then, when_all, upon_error и др.).

Читать далее

Специфика профессии: инженер-радиотехник | личный опыт

Level of difficultyEasy
Reading time9 min
Views7.8K

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

Читать продолжение

Видеокарта VGA для микроконтроллера. Часть 2. От идеи до мелкой серии

Level of difficultyEasy
Reading time9 min
Views16K
image

В первой части была описана идея видеокарты VGA для простого микроконтроллера (или ардуины), с помощью которой можно выводить информацию на стандартный монитор с интерфейсом VGA даже с самых слабых и медленных ядер. Карта, сердцем которой является высокоскоростная ПЛИС, берет на себя все скоростные и критичные к таймингам операции.

Идея была обкатана на макете и показала свою жизнеспособность. Однако для ее реализации «в железе», а тем более в серии, необходимо пересмотреть несколько моментов.
Читать дальше →

Первые впечатления от 1921вг015, отечественного RISC-V контроллера

Reading time9 min
Views62K

рис.1


Недавно мне в руки противоестественными путями попал интересный представитель RISC-V контроллеров производства НИИЭТ. Упакован он в пластиковый lqfp100 корпус, в котором скрывается ядро на 50 МГц, мегабайт флеш-памяти и 256 кБ оперативки. Разумеется, в наличии и стандартная периферия вроде UART-ов, SPI и USB. А вот из необычного — сигма-дельта АЦП на 16 бит. Ну и всякая неинтересная периферия вроде аппаратных модулей шифрования. Сразу оговорюсь, что тыкаю палочкой я его меньше двух недель, поэтому здесь описаны именно первые впечатления.

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

Гид по IT-сообществам: форматы, особенности и очень много ссылок

Level of difficultyEasy
Reading time22 min
Views4.1K

Привет! Меня зовут Юля. Я разработчик интерфейсов и ментор на курсах по фронтенду, в том числе на курсе «React-разработчик» в Практикуме. Последний год я активно занимаюсь организацией профессионального сообщества Tbilisi JS в Тбилиси: мы делаем митапы и конференции для разработчиков. 

Тема сообществ и чем они могут быть полезны меня бесконечно занимает. Об этом и будет мой лонгрид: я хочу рассказать, как много пользы и фана может принести участие в сообществе и почему это классная идея сама по себе. Впереди море примеров и ссылок на чаты, митапы, стажировки и много чего ещё :-)

Читать далее

Тёмный лес разработки для нестандартных устройств: как войти и не заблудиться

Reading time14 min
Views1.4K

Если разработку под устройства можно сравнить с тёмным лесом, то как в нём не заплутать?

Привет, путник! Меня зовут Денис Малых, я работаю в Яндексе и руковожу разработкой общих компонент для платформы, на которой работают наши устройства. А ещё — я член программного комитета конференции AppsConf, где мы обсуждаем разработку под мобильные ОС. В этой статье поделюсь опытом разработки под нестандартные устройства: чем она принципиально отличается от привычной мобильной разработки, и что нужно уметь, чтобы разрабатывать «умные вещи».

Читать далее

Простой расчет контрольной суммы

Reading time12 min
Views232K
При передачи данных по линиям связи, используется контрольная сумма, рассчитанная по некоторому алгоритму. Алгоритм часто сложный, конечно, он обоснован математически, но очень уж неудобен при дефиците ресурсов, например при программировании микроконтроллеров.



Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать дальше →

О том, как мы температуру в ЦОД мерили

Reading time3 min
Views4.6K

Если у вас большой и серьезный ЦОД, то параметрия температурных режимов не является проблемой. Существуют проверенные решения, например, программируемые контроллеры TAC Xenta, которые работают через LonWorks. Именно так мы собираем данные в московском ЦОД Datahouse. Но непосвящённому смертному весьма непросто собрать правильные показатели из этой связки и выводить их в мониторинг в нужном виде. К тому же решение промышленное и достаточно дорогостоящее. Поэтому при строительстве новой гермозоны в Екатеринбурге мы решили поэкспериментировать и внедрить альтернативное решение по измерению температуры в холодных и горячих коридорах.

Ничто не предвещало беды…

Так как множество систем в этом ЦОДе завязано на открытом коммуникационном протоколе Modbus мы решили заказать температурные датчики, работающие по этой шине, и собирать данные с дальнейшей интерпретацией в интерфейсе мониторинга. Недорогие датчики быстро нашлись на известном китайском сайте и были заказаны партиями в количестве 20 и 40 штук.

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

Читать далее

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity