Pull to refresh
-4
Эдуард Зиганшин @e-zigread⁠-⁠only

Разработка электроники

Send message

Ты не работаешь в офисе: подборка статей для удалёнщиков

Level of difficultyEasy
Reading time5 min
Views12K

Я ушла на удалёнку 7,5 лет назад, задолго до ковида — примерно в те времена, когда аналитические конторы насчитывали около 30 000 удалёнщиков на всю страну, а сам формат был непонятным едва ли не всем. Тем не менее, март 2020 года не стал для меня уверенным поворотом: я, как и все, сменила коворкинг с кучей интересных и разных ребят из IT-компаний на квартиру. А это совершенно другие ощущения от работы, организации места, общения с родными, здоровья и даже хобби. Жизнь так сложилась, что сейчас многие сотрудники продолжают переходить на удалённую работу, находят удалённые проекты, устраиваются в офисы, где принят home office. И они обязательно сталкиваются с растерянностью, непониманием, опасениями и даже страхами. Между тем на Хабре и на других сайтах немало хороших статей, которые и помогают, и подсказывают — буквально протягивают руку поддержки и дают понять: ничего уникального, ты не один и ты справишься. Отобрала для вас лучшие.

Читать далее

Прошивка и отладка STM32 в VSCode под Windows

Reading time7 min
Views43K

На хабре уже есть немало информации об отладке МК в VSCode на Linux, также было написано как настроить тулчейн для работы под Windows в QT Creator, Eclipse, etc.

Пришло и моё время написать похожую, но для VS Code и под Widnows.

Инициализация проекта будет проводиться с помощью STM32CubeMX. Сборкой будет управлять CMake с тулчейном stm32-cmake. В качестве компилятора используется ARM GNU Toolchain. Тестовым стендом является NUCLEO-F446ZE.

Читать далее

Теория вероятностей в машинном обучении. Часть 1: модель регрессии

Reading time28 min
Views30K

В данной статье мы подробно рассмотрим вероятностную постановку задачи машинного обучения: что такое распределение данных, дискриминативная модель, i.i.d.-гипотеза и метод максимизации правдоподобия, что такое регрессия Пуассона и регрессия с оценкой уверенности, и как нормальное распределение связано с минимизацией среднеквадратичного отклонения.

В следующей части рассмотрим метод максимизации правдоподобия в классификации: в чем роль кроссэнтропии, функций сигмоиды и softmax и как кроссэнтропия связана с "расстоянием" между распределениями вероятностей и почему модель регрессии тоже обучается через минимизацию кроссэнтропии. Затем перейдем от метода максимизации правдоподобия к байесовскому выводу и его различным приближениям.

Данная серия статей не является введением в машинное обучение и предполагает знакомство читателя с основными понятиями. Задача статей - рассмотреть машинное обучение с точки зрения теории вероятностей, что позволит по новому взглянуть на проблему, понять связь машинного обучения со статистикой и лучше понимать формулы из научных статей. Также на описанном материале строятся более сложные темы, такие как вариационные автокодировщики (Kingma and Welling, 2013), нейробайесовские методы (Müller et al., 2021) и даже некоторые теории сознания (Friston et al., 2022).

Читать далее

Принципы SOLID на JS, теперь точно простым языком, но не очень коротко

Reading time9 min
Views33K

SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из жизни. Если вам стало интересно, то прошу под кат.

Читать далее

Выжимаем максимум из логики — сверхбыстрый, но прожорливый сумматор

Reading time9 min
Views17K


ПЛИС-культ привет, FPGA хаб!


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


Но всё новое — хорошо забытое старое, поэтому решил изложить в текстовом виде несколько идей, которые легли в основу стримов.


И в этой заметке предлагаю вам погрузиться в небольшое исследование c реализацией конвейеризованного многоразрядного сумматора всего с 1 уровнем логики, эдакого LUTа в сферическом вакууме, идеи которого, я уверен, найдут отклик в исследовательских работах начинающих адептов программируемой логики.

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

Введение в диффузионные модели для генерации изображений – полное руководство

Reading time22 min
Views41K

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

Читать далее

Современный CMake: 10 советов по улучшению скриптов сборки

Reading time8 min
Views87K

CMake — это система сборки для C/C++, которая с каждым годом становится всё популярнее. Он практически стал решением по умолчанию для новых проектов. Однако, множество примеров выполнения какой-либо задачи на CMake содержат архаичные, ненадёжные, раздутые действия. Мы выясним, как писать скрипты сборки на CMake лаконичнее.

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

Опыт применения глубокого обучения для идентификации видов цифровой модуляции по сырым I/Q отсчетам (Keras)

Reading time9 min
Views4.8K

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

Читать далее

Управляем модулем ядра Linux

Reading time10 min
Views12K

Почему пользовательское приложение работает некорректно? Существует не так много способов, которые бы помогали выявить проблему. В большинстве случаев для поддержания высокой доступности требуется стороннее программное обеспечение. В статье рассказываем, как настроить мониторинг пользовательского приложения через модуль ядра Linux, а также разбираем, как установить связь с сокетом.

Читать далее

Подводные камни компараторов в С++

Reading time9 min
Views11K
При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault.

image

Чаще всего при сортировке объектов пользовательских типов написание кода сравнения элементов коллекции не вызывает вопросов. Компаратор должен возвращать true, если первый аргумент меньше второго, то есть в отсортированном массиве первый аргумент должен идти перед вторым. Алгоритмы сначала вызывают компаратор для пары элементов x и y. Если компаратор вернул true, значит, элемент x меньше y и он должен идти в коллекции перед элементом y, если false, то компаратор вызывается повторно для пары y и x. Если компаратор опять вернул false, значит, элементы равны, иначе порядок определен.

Меня зовут Олег Игнатов, я — Development Team Lead в команде KICS (Kaspersky Industrial CyberSecurity) «Лаборатории Касперского». Мы защищаем промышленные инфраструктуры и сети от специализированных киберугроз. В этой статье расскажу о некоторых особенностях использования компараторов в С++, знание которых позволит не наступить на различные грабли и сэкономить время при разборе багов.
Читать дальше →

Современные возможности C++ и проверенные паттерны: активный объект, внешний полиморфизм и корутины

Reading time14 min
Views17K

В этой статье я покажу, как внешний полиморфизм (реализация полиморфного поведения вне объекта, для которого такое поведение требуется) помогает писать красивые и чистые программы, и расскажу о некоторых базовых и продвинутых способах реализации. Примером будет служить старый добрый паттерн многопоточного программирования “активный объект”. В конце я покажу, как просто реализовать этот паттерн с помощью корутин из стандарта C++20, и как вы можете использовать их, чтобы сделать активный объект еще лучше, добавив в него настоящие асинхронные функции.

Читать далее

Всё про USB-C: механика разъёмов

Level of difficultyMedium
Reading time11 min
Views44K

Бывает два случая, в которых электронщикам приходится задумываться о механике разъёмов USB-C. Первый связан с поломкой разъёма, а второй с потребностью его установки на собственную плату. В этой статье мы разберём оба.
Читать дальше →

Издеваемся над USB

Reading time3 min
Views113K

В очередной раз втыкая скоростную USB флешку в порт USB 3.0, я увидел надпись "Это устройство может работать быстрее...". Но подождите, я и так его воткнул в порт 3.0! Неужели контакт барахлит? И если так, то как флешка определяет, на какой скорости ей работать? Ведь современные ПК поддерживают целых три стандарта соединения — USB 1.1, 2.0 и 3.0. Можно ли «понизить» стандарт USB, насильно заставив устройство работать, к примеру, на USB 1.1? Не на все эти вопросы в сети удалось найти ответ, и я решил разобраться сам, по ходу столкнувшись с довольно неочевидными ситуациями.
Читать дальше →

Припой припою рознь, или Несколько слов о флюсах

Reading time7 min
Views47K

Общаясь сейчас со связистами на предмет «сообщите, кому какой припой нужен», получил достаточно типовой ответ — «хороший, чтобы всё паял». Углублённое обсуждение вопроса вынесло на поверхность несколько запомнившихся людям торговых марок — в первую очередь Asahi — но и только. Про флюсы и их различия сказано ничего не было.

Спектр задач по пайке при этом у связистов простирается от антенно-фидерного хозяйства (кабели, разъёмы), через аксессуары (зарядки, гарнитуры) и до ремонта собственно радиоаппаратуры (SMD-компоненты).

В связи с этим я не только провёл краткий ликбез и показал пару табличек, но и хочу написать про это здесь, чтобы потом было удобно давать ссылку :)

Итак: какие бывают флюсы в припоях, что лучше — ORL0 или ROM1 (я проверил гуглем, обе аббревиатуры на Хабре встречались 0 раз), где искать эту информацию и зачем вообще это надо.

Читать далее

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views58K

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее

Как работают text2image модели?

Reading time6 min
Views20K

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

Читать далее

Раскрываем секреты загрузочных ISO-образов

Reading time20 min
Views118K


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

Интерфейсы и протоколы в IoT. Лекция первая

Reading time16 min
Views17K

В этом году меня в очередной раз позвали в Московский институт электроники и математики (МИЭМ) НИУ ВШЭ читать студентам магистратуры (четвёртый курс на наши деньги) департамента электронной инженерии курс «Обеспечение взаимодействия элементов системы IoT, интерфейсы и протоколы».

Когда-то давно я уже читал вводный курс по программированию микроконтроллеров в МИРЭА, от лекций которого остались любезно сделанные вузом видеозаписи (от семинаров не осталось ничего, увы), потом — курс по Интрнету вещей (там было сочетание микроконтроллеров, их программирования и введения в специфику IoT-систем) уже в МИЭМ НИУ ВШЭ, от которого, увы, тоже не осталось никаких публично доступных материалов.

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

Надеюсь, разные рассказываемые вещи будут полезны не только моим студентам (ребята, но вы же понимаете, что в тексте будет просто в силу формата сказано меньше, чем голосом на лекциях?), которым не надо писать конспекты лекций, но и всем желающим. Например, не далее как сегодня вступал на Хабре в статье про протоколы питания в USB-C в дискуссию «зачем они так сделали» — а в прошлый вторник рассказывал студентам, какие на самом деле соображения могут лежать в основе выбора того или иного решения, и как раз на примере эволюции питания в USB.

Итак, поехали.

Читать далее

Пять сериалов про стартапы и технологии, которые стоит посмотреть

Reading time4 min
Views18K

Признайтесь, что каждому иногда хочется провести выходные за ничегонеделанием. Особенно это желание увеличивается под конец года. Да и зимой лениться хочется чуть больше обычного. Ну а чтобы это делать было ещё приятнее, мы решили собрать для читателей блога ЛАНИТ подборку новых сериалов, посвящённых технологическим стартапам и компаниям. 

Читать далее

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

System Software Engineer, Hardware Engineer
Senior
From 225,000 ₽
C++
Qt
Verilog HDL
VHDL
C
Git
Linux