Pull to refresh
133
-1.3
Михаил Бусырев @Aquahawk

principal engineer at Crazy Panda

Send message

Zigbee шлюз для счетчиков Меркурий

Reading time 1 min
Views 4.8K

Давно удивлялся, почему не смотря на распространенность счетчиков Меркурий и возможность съема с них показаний через RS-485, на рынке DIY устройств не было Zigbee шлюза для них. Этот пробел я реши восполнить самостоятельно.

В основе шлюза модуль на чипе CC2530 и модуль конвертера RS-485 - UART

Читать далее
Total votes 37: ↑35 and ↓2 +33
Comments 14

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python

Level of difficulty Hard
Reading time 7 min
Views 3.5K

Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.

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

await anywhere, взгляд на третью сторону медали: sync vs async vs …

Level of difficulty Hard
Reading time 9 min
Views 9.2K

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

Узнать? Да!
Total votes 21: ↑21 and ↓0 +21
Comments 9

Ключи Supermicro, SSM, VMWare и лекарство от жадности

Reading time 5 min
Views 17K

Ни для кого не секрет, что крупные производители серверного оборудования любят продавать самые вкусные фишки своего оборудования за отдельную плату. Supermicro ничем не лучше: начиная с X9 (Romley), появилась возможность обновлять BIOS материнской платы из-под веб-интерфейса IPMI, но, как говорится, есть нюанс. Для разблокировки этой возможности необходимо приобрести отдельную лицензию OOB.

Читать далее
Total votes 37: ↑32 and ↓5 +27
Comments 27

Типичные задачи аналитика. Часть 2. А есть ли тренд?

Level of difficulty Medium
Reading time 18 min
Views 8.7K

В первой части статьи на Habr мы рассмотрели классические подходы к оценке изменений метрики при условии ее стационарности. В этом контексте статистические критерии, применяемые в A/B тестировании, оказались весьма эффективными.

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

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

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

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

Потерян и не найден: каталог в Linux и UNIX

Level of difficulty Easy
Reading time 3 min
Views 6.7K


Салют! В этой статье я попытался разобрать назначение и основные сценарии использования директории lost+found в Linux.
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 4

На что способен самодельный очиститель воздуха, который можно собрать за 30 секунд?

Level of difficulty Easy
Reading time 7 min
Views 68K

Плохой воздух однозначно вреден, но на рынке его очистителей мы наблюдаем бардак. Каждый производитель использует свои эксклюзивные фильтры, по всей видимости, для того, чтобы клиенты были вынуждены покупать именно их. А откуда нам знать, что эти устройства вообще работают? Немногие компании публикуют лабораторные тесты. И почему какая-то большая пластиковая коробка с вентилятором и фильтром стоит аж $100-300?

Но существуют и самодельные очистители, чаще представляющие собой просто примотанный к вентилятору фильтр. Мне такая идея по душе, но в этом случае тоже нет уверенности в их эффективности. Какие-то эксперименты проводились, но недостаточно, чтобы внушить мне доверие. Поэтому я решил поэкспериментировать сам: собрал очиститель, напустил дыма и измерил, насколько эффективно он справляется с удалением мелких частиц.
Читать дальше →
Total votes 129: ↑124 and ↓5 +119
Comments 157

Как избавиться от нестабильных тестов

Level of difficulty Medium
Reading time 10 min
Views 3.9K

Устали от нестабильных тестов?

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

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

Финансовые данные: об измерении автокорреляции, тяжелых хвостах и других статистиках (Vol 1)

Level of difficulty Medium
Reading time 4 min
Views 2.4K

Финансовые данные — одни из самых популярных данных для анализа сегодня. Однако применимы ли классические методы статистического анализа для работы с финансовыми данными? В данной статье мы обсудим ключевые свойства данных о доходностях финансовых активов и поговорим о подводных камнях при работе с ними. Мы увидим, что некоторые "нестандартные" свойства распределения доходностей финансовых активов делают классические статистические подходы плохо применимыми и не надежными при работе с данными такого вида. Мы предложим глубокое и полное объяснение описанных фактов с математической точки зрения.

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

Спекулировать нельзя инвестировать

Level of difficulty Medium
Reading time 16 min
Views 2.3K

Бум IPO российских компаний и взрывной рост акций третьего эшелона в 2023 году вызывают чувство дежавю. Где-то это уже было... Напоминает время бурного развития криптоактивов пару лет назад — после широкого распространения Биткойна и Эфира.

Ряд компаний провели IPO буквально в течение нескольких месяцев и ещё больше стоят в очереди на выпуск в ближайшее время. Незапланированный бал дебютанток в поисках денег инвесторов застал, честно говоря, врасплох. Какое-то безумие. Одновременно, ряд компаний, уже ставших публичными, проводят SPO. Не менее впечатляющий пайплайн сделок запланирован и на 2024 год. СМИ и инвестиционные паблики винят во всем загадочные, запертые в России, деньги, которым некуда деваться, а им дай лишь волю вырваться. И по мейнстримной теории они вырываются в IPO. Очень удобное и интуитивное объяснение, которое быстро все подхватили и повторяют как мантру. Но так ли это?

Узнать больше о запертых деньгах в России
Total votes 20: ↑17 and ↓3 +14
Comments 2

Самостоятельный робот-пылесос Dreame L10s Ultra. Пробуем подключать к водопроводу и канализации

Level of difficulty Medium
Reading time 5 min
Views 21K
Идея полностью самостоятельных домашних смарт-устройств была давно. Но только сейчас появились роботы-пылесосы, которые умеют не просто сбрасывать мусор после уборки, но и мыть салфетки, сушить мокрые салфетки, заливать чистую воду, а грязную воду сливать в отдельный контейнер. Такой робот наиболее автономен, так как обслуживать его нужно раз в месяц и реже. Что у меня вышло из подключения к канализации и к водопроводу — под катом.


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

Подключение робота-пылесоса к водопроводу и канализации на примере Dreame L30 Ultra

Level of difficulty Easy
Reading time 5 min
Views 9.8K
В общем, у меня возникли сложности с подключением робота-пылесоса к водопроводу и канализации. А сама модель робота мне понравилась. Не дорого думал, решил обновиться до версии L30 с модулем самоочистки RAW4.


Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 27

Почему ваш проект тонет или как начать фиксировать требования, когда у вас ничего нет

Level of difficulty Medium
Reading time 10 min
Views 8.8K

В какой-то определенный момент после старта нового проекта, когда «временный» MVP почти готов, весь интересный код уже написан, пакеты еще свежие и обновляются, команды начинают замедляться в Time to Market.

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

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

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

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

Давайте разбираться
Total votes 21: ↑19 and ↓2 +17
Comments 26

Сравнение популярных брокеров MQTT с открытым исходным кодом

Level of difficulty Medium
Reading time 11 min
Views 15K

MQTT (Message Queue Telemetry Transport) — легковесный протокол обмена сообщениями для публикации/подписки сообщений, на настоящий момент этот протокол является основным стандартом в Интернете Вещей (IoT). Брокер MQTT — главный узел (серверное ПО) для подключения IoT устройств и обмену сообщений между ними. На текущий момент доступно более 20 брокеров MQTT с исходным кодом, что затрудняет выбор архитекторами и разработчиками программного обеспечения. В статье будут рассмотрены и сравнены некоторые из самых популярный MQTT-брокеров.

Читать далее
Total votes 21: ↑18 and ↓3 +15
Comments 11

Подбор цветов для палитры визуализации данных

Level of difficulty Medium
Reading time 6 min
Views 6.1K

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

Читать далее
Total votes 22: ↑21 and ↓1 +20
Comments 6

Почему B-деревья быстрые?

Level of difficulty Easy
Reading time 7 min
Views 45K

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее
Total votes 185: ↑184 and ↓1 +183
Comments 13

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide

Level of difficulty Medium
Reading time 26 min
Views 12K
image


Полагаю, многие мои читатели так или иначе знакомы с такими видеокартами, как 3dfx Voodoo. Эти легендарные графические ускорители из середины\конца 90-х годов был чуть ли не в каждой второй сборке для игр, а о их производительности слагали легенды. До сих пор есть относительно небольшое сообщество фанатов ретро-игр, которые ценят, любят и собирают с цветмета те немногие видеокарты от 3dfx, что остались в СНГ. Однако обзоров на 3dfx Voodoo много, тестов игр — тоже, а вот материала «простыми словами» о его внутренней архитектуре и более того, практической части с написанием 3D-игры практически нет! Недавно я прикупил себе Voodoo 3, и начал зубрить Programmer's Manual с желанием запилить что-нибудь эдакое… Статью я долго и упорно готовил дабы успеть к новому году и сегодня у нас с вами: краткая история компании 3dfx, подробный разбор архитектуры видеочипов 3dfx «под капотом», что должен был уметь программист 3D-графики в 90х и написание 3D-приложения на Glide полностью с нуля. Интересно? Тогда жду вас в статье!
Читать дальше →
Total votes 80: ↑79 and ↓1 +78
Comments 49

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

Level of difficulty Easy
Reading time 10 min
Views 113K

Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю. 

Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло.  В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком.  Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:

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

- А почему вот другие не продали?

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

Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования.  В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок. 

Читать далее
Total votes 293: ↑284 and ↓9 +275
Comments 301

Подготовка инструментов под фаззинг UEFI на базе edk2 в Windows

Level of difficulty Hard
Reading time 12 min
Views 2.2K

Так повелось в мире, что время от времени необходимо проводить исследования безопасности драйверов и прошивок. Одним из способов исследования является — фаззинг (Fuzzing). Не будем останавливаться на описании самого процесса фаззинга, для этого есть эта статья, отметим только, что в основном его используют для исследования прикладных приложений. И тут возникает вопрос: как профаззить прошивку, в частности прошивку UEFI? Здесь будет рассказано об одном из способов с использованием программного эмулятора EDKII, чтобы проводить фаззинг без развертывания аппаратных стендов. И что важно, все это сделаем в Windows.

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

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг

Level of difficulty Medium
Reading time 8 min
Views 8.6K

Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи - описать, как мы пришли к дашборду для персональных стендов разработчиков.

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

Information

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