Pull to refresh
32
0
Maxim Filippov @mefikru

User

Send message

TOTP без смартфона

Level of difficulty Easy
Reading time 5 min
Views 11K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

Читать далее
Total votes 57: ↑57 and ↓0 +57
Comments 81

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

Level of difficulty Hard
Reading time 127 min
Views 4.8K

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.

Погрузиться сполна
Total votes 46: ↑45 and ↓1 +44
Comments 30

Расчет потерь в MOSFET транзисторах

Level of difficulty Medium
Reading time 6 min
Views 5.8K

Приветствую!

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

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 19

Quantization Deep Dive, или Введение в современную квантизацию

Level of difficulty Medium
Reading time 16 min
Views 9.4K

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

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее
Total votes 76: ↑75 and ↓1 +74
Comments 13

Обзор Протокола ISO-TP [ISO 15765-2]

Level of difficulty Easy
Reading time 5 min
Views 1.6K

Как известно канальные CAN пакеты могут быть размером максимум 8 байт. Одновременно с этим, с более высоких уровней модели OSI могут поступить запросы передать огромные пакеты  [ jumbo frame(ы) ]. Как же разрешить это противоречие?

Эту ситуацию призван распетлять протокол ISO-15765-2 (или попросту ISO-TP ).

В этом тексте я выполнил обзор протокола ISO-TP.

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 23

Управление обратным маятником в MATLAB Simulink без формул. Настройка PID регуляторов

Level of difficulty Easy
Reading time 2 min
Views 1.6K

Простой и популярной реализацией закона управления обратным маятником является PID регулятор. Современные средства настройки коэффициентов PID регулятора позволяют решать подобные задачи нажатием пары кнопок даже без знания математики, физики и вообще без каких-либо технических знаний. Рассмотрим пример настройки PID регуляторов в Simulink для классического обратного маятника.

Объект управления (Plant)

Модель перевернутого маятника соберем в библиотеке Multibody. Для этого нам не понадобится знание физики и математики. Библиотека Multibody предоставляет нам готовые блоки степеней свободы, твердых тел, преобразований координат, которые нужно только верно соединить. Собираем подсистемы отдельно для маятника и отдельно для тележки, и собираем все вместе. Результат на рисунке, модель в прикрепленных файлах.

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

Создание своего UEFI приложения

Level of difficulty Medium
Reading time 5 min
Views 38K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Total votes 86: ↑85 and ↓1 +84
Comments 80

SDR приемник GPS на микроконтроллере

Level of difficulty Medium
Reading time 28 min
Views 18K

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Total votes 162: ↑161 and ↓1 +160
Comments 160

Гайд по сплит клавиатурам

Level of difficulty Easy
Reading time 31 min
Views 8.1K

Этот гайд создан для тех, кто интересуется сплит клавиатурами, но еще не знаком с их особенностями и преимуществами или рассматривает переход на них. Главная цель гайда – предоставить всестороннюю информацию о сплит клавиатурах: от их истории и типов до подробного рассмотрения их конструкции, обучения слепой печати, изменения раскладки и так далее.

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

Читать далее
Total votes 33: ↑33 and ↓0 +33
Comments 22

Xv6: учебная Unix-подобная ОС. Глава 3. Таблицы страниц

Level of difficulty Medium
Reading time 13 min
Views 3.3K

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

Глава рассказывает, как xv6 работает с виртуальной памятью и об устройстве виртуальной памяти RISC-V.

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

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio)

Level of difficulty Medium
Reading time 16 min
Views 1.9K

Обзор технологии беспроводной передачи данных BLE 5.3.
Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 2

Использование модулей электропитания с соблюдением стандартов MIL-STD-1275 и MIL-STD-461F

Level of difficulty Easy
Reading time 8 min
Views 2.1K

Аннотация

В статье рассматриваются основные требования к электромагнитным помехам и изменению напряжения при переходных процессах, которые предъявляются к системам специального назначения, использующим импульсные источники питания (SMPS). Особое внимание уделяется основным условиям при подавлении электромагнитных помех и переходных колебаний, а также методам по обеспечению соответствия стандартам.

Введение

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

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

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

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 13

Гайд по регистрации ПАК в реестр ПО Минцифры

Level of difficulty Hard
Reading time 19 min
Views 8.4K

Рассказываем о 1236 Постановлении Правительства и других документах, регулирующих процедуру. Подробно описываем как включить ПАК в реестр отечественного программного обеспечения Минцифры. Отдельно разбираем процедуру включения программной части ПАК и все способы удовлетворить требования к аппаратной части. Указываем на ключевые моменты в подготовке и ссылки на все документы для самостоятельного изучения темы.

1. Что такое Программно-аппаратный комплекс (ПАК) ? Описание реестров, встречающихся в статье.

2. Какие преимущества дает регистрация ПАК в реестр Минцифры по ПП 1236?

3. Какие требования к программному обеспечению при регистрации ПАК в реестр?

4. Какие требования к аппаратной части при регистрации ПАК в реестр?

5. Какую документацию подготовить для регистрации ПАК в реестр?

6. Как проходит процедура проверки ПАК? Кто проверяет и в какие сроки?

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 3

Оптика в техническом зрении. Лекция 1: Объектив

Level of difficulty Easy
Reading time 14 min
Views 15K

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

Меня зовут Андрей, я – оптик и инженер-конструктор оптических приборов в одном лице.

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

Из таких кусочков, выложенных в удобном для обучения порядке, и появился этот курс. Изначально я писал его для внутреннего обучения джунов отдела нейросетей, начинающих работать с распознаванием изображений. Я поместил в него ровно то, с чем CV-разработчики сталкиваются на практике при сборке макетов и работе с объективами. Не больше и не меньше.

Читать далее
Total votes 56: ↑54 and ↓2 +52
Comments 82

Создайте свой клон с помощью Fine-tuned LLM

Level of difficulty Medium
Reading time 10 min
Views 11K

Обретите цифрового двойника

Цель этой статьи - показать, как эффективно и с минимальными затратами настроить LLM на пользовательском датасет. Мы рассмотрим использование модели Falcon-7B с адаптерами LoRa, с использованием библиотеки Lit-GPT.

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 4

Активные наушники нового поколения

Level of difficulty Medium
Reading time 4 min
Views 21K

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

Читать далее
Total votes 36: ↑29 and ↓7 +22
Comments 48

Печать и воспроизведение звука на бумаге

Reading time 3 min
Views 102K
Можно ли закодировать звук в виде изображения, которое считывается камерой и проигрывается в реальном времени?

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

Что, если кодировать звук не в цифровом, а в аналоговом формате? То есть, допустить возможность больших потерь информации с сохранением основных «очертаний» звукового послания. Например, такие потери возникнут при плохом освещении, плохой камере, маленькой картинке, мятой или рваной бумаге с кодом. Пусть со страшными артефактами, но картинка должна звучать.


Читать дальше →
Total votes 207: ↑204 and ↓3 +201
Comments 124

Как коммитить в open source. Пошаговый гайд

Level of difficulty Easy
Reading time 2 min
Views 8.2K

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Читать далее
Total votes 44: ↑38 and ↓6 +32
Comments 23

Дообучение модели машинного перевода

Level of difficulty Medium
Reading time 1 min
Views 2.8K

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

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 1

BLE под микроскопом. WCH forever :-)

Level of difficulty Medium
Reading time 11 min
Views 5K

В позапрошлой статье я описывал китайский BLE микроконтроллер TLSR8258. Честно говоря, он мне не понравился. Главным образом из-за отсутствия нормального Debug режима. Но, как говорится не TeLink-ом единым... Есть у китайцев и другие чипы от отечественных производителей :-) Сегодня мы поговорим о другом семействе, на мой взгляд более интересном. А именно о чипах ch582/583 фирмы WCH.

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

Information

Rating
Does not participate
Location
Тайбэй, Тайвань, Тайвань
Date of birth
Registered
Activity