Pull to refresh
24
0
Send message

Дорожная карта математических дисциплин для машинного обучения, часть 1

Reading time6 min
Views98K

Вместо предисловия


Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments42

Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi

Reading time3 min
Views31K


Перевод статьи с сайта самодельщика Retrocution

Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проект с пайкой деталей, в результате которого получится нечто полезное, то этот проект – для вас!


Total votes 21: ↑17 and ↓4+17
Comments30

Методы наименьших квадратов: текст, написанный программистом для программистов

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

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


Читать дальше →
Total votes 66: ↑62 and ↓4+76
Comments13

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают)

Reading time5 min
Views19K


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

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

Примечание: методология мини-исследования не особенно научная, но, на мой взгляд практическая. Мне полученные результаты кажутся интересными и полезными, но не стоит считать их истиной в последней инстанции.
Читать дальше →
Total votes 57: ↑49 and ↓8+66
Comments118

Студенты пишут Uart драйвер для STM32F411

Reading time13 min
Views17K


Доброго здравия всем!


Сегодня я хочу вам рассказать, как постепенно студенты учатся разрабатывать ПО для микроконтроллера на примере драйвера UART на STM32F411. Код и архитектуру с небольшими моими изменениями и доработками я попытаюсь привести здесь.


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


Данная статья не претендует на истину, а лишь показывает подход к реализации некоторых задач, в данном случае реализацию Uart драйвера на С++.

Читать дальше →
Total votes 16: ↑12 and ↓4+14
Comments48

Самодельный рекуператор для загородного дома с КПД 80%

Reading time2 min
Views112K

image


Наступила зима, и я решил усовершенствовать систему вентиляции в моем загородном доме. До этого момента ее практически не было, все вентилирование осуществлялось за счет открывания окон, выбрасывания теплого отработанного воздуха и впускания холодного свежего с улицы. Я что-то слышал о системах рекуперации (recuperatio — обратное получение, возвращение), позволяющих не просто выбрасывать тепло вместе с воздухом, а использовать его для нагревания входящего свежего воздуха с заметной экономией энергии на отоплении. Подумав — а почему бы и нет, я решил попробовать сделать такую систему самостоятельно.

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

TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей

Reading time17 min
Views6.8K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее:


  1. Определили цель и инструменты разработки.
  2. Настроили IDE и фреймворк для написания тестов.
  3. Написали тест-лист для разрабатываемого функционала.
  4. Создали первый простой тест и запустили его.

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

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

TDD для микроконтроллеров. Часть 1: Первый полет

Reading time10 min
Views15K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


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


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


Одной из наиболее популярных методологий улучшения качества разрабатываемых приложений является Test-driven development (TDD). Но эффективна ли методология TDD для разработки встраиваемых систем? Ответ на этот вопрос будем искать под катом.

Читать дальше →
Total votes 18: ↑16 and ↓2+16
Comments33

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views70K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments151

Rust, Eclipse и STM32

Reading time8 min
Views21K
Для того, чтобы подружить между собой указанные в заголовке технологии нам понадобятся:


Идея состоит в том, чтобы с скомпилировать написанную на Rust программу в библиотеку, которую можно будет слинковать с помощью тулчейна для ARM.
В итоге мы сможем даже вполне комфортно дебажить смешанный код на Rust и С.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments24

Опенсорс приключения киберэлектроника

Reading time3 min
Views6.6K
С 2018 я работаю над пет проектом, системой распознания нервных импульсов.

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

Я подумал, могу ли я что-то сделать для ускорения прогресса подобных систем.


Total votes 27: ↑27 and ↓0+27
Comments5

Реверс USB-SATA-адаптера (история одного стажера)

Reading time16 min
Views28K

Предыстория


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


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


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

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

Reading time3 min
Views36K

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Total votes 38: ↑34 and ↓4+40
Comments51

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508)

Reading time4 min
Views7K
image

В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно управлять практически любым устройством.
На сайте есть замечательные статьи (раз, два) на эту тему и книга на которых я вырос как инженер по ФБ.
Серия стандартов ГОСТ Р МЭК 61508 (IEC 61508) является базовой для Российских стандартов, определяющих порядок разработки устройств к которым предъявляются требования ФБ. Как известно, при разработке устройств, связанных с ФБ, существуют отраслевые стандарты регламентирующие порядок разработки (для железных дорог таковыми являются ГОСТ Р 52980-2015 «Требования к ПО», ГОСТ Р 34012-2016 «Общие требования к аппаратуре ЖД» и.т.д).
Согласно стандартам ГОСТ Р МЭК 61508 и IEC 61508 отказы делятся на 2 типа: систематические и случайные.
Читать дальше →
Total votes 13: ↑12 and ↓1+17
Comments19

Поработать в Швеции

Reading time8 min
Views82K

Несколько лет назад я внезапно получил звонок от рекрутера с предложением поработать в Швеции в “хорошо финансируемом стартапе” (забавно, что моё резюме он нашёл на Odesk, где у меня давно был профиль, но ни одного завершённого проекта). Надо вам сказать, что в этой стране мне уже приходилось работать ранее, правда, находясь в затяжной командировке, как работник российской компании, потому неплохое представление о жизни в Швеции у меня уже было. С тех пор я обзавёлся детьми, и потому многие реалии шведской жизни мне предстояло открывать для себя впервые.

Читать дальше →
Total votes 115: ↑113 and ↓2+111
Comments247

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Высококачественная, легковесная и адаптируемая технология Text-to-Speech с использованием LPCNet

Reading time4 min
Views7.9K

Последние достижения в области глубокого обучения привносят существенные улучшения в развитие систем синтеза речи (далее – TTS). Это происходит благодаря применению более эффективных и быстрых методов изучения голоса и стиля говорящих, а также благодаря синтезу более естественной и качественной речи.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments1

Резистор изгиба своими руками

Reading time2 min
Views143K
Наверняка те, кто увлекается электроникой и программированием микроконтроллеров слышали о датчике изгиба, который меняет свое сопротивление в зависимости от степени его изгиба. Сегодня я расскажу о том, как можно изготовить такой датчик (резистор) изгиба своими руками.

Идея

Когда мне понадобился такой датчик, то первым делом я зашел и нашел его на Амперке. Но цена, 890 рублей за штуку (за датчик длинной 95мм именно такая цена), меня не устроила и тогда в голову пришла отличная идея
Читать дальше →
Total votes 114: ↑113 and ↓1+112
Comments69

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity