• ESP32: знакомимся, пишем и запускаем первую прошивку

    Всем привет. Несколько дней назад мне достался экземпляр ESP32 Demo Board V2, о чем я сразу радостно заявил у себя на FB. Конечно, ведь получить его сейчас не очень просто: первая партия (штук 600), которая поступила на продажу на Seeed Studio разлетелась за считанные часы!



    Но как разработчик и hardware интегратор Open-Source библиотеки для Blynk, я часто получаю ранний доступ к различным девайсам. Blynk позволяет быстро прототипировать и строить iOS/Android Apps для интернета вещей, используя drag'n'drop блоки прямо на телефоне.
    Читать дальше →
  • Как я покупал стол с регулируемой высотой



      В этом небольшом посте хотелось бы затронуть одну из важных проблем, с которой сталкивается любой житель Хабра – неудобство постоянного положения «сидя» и отсутствия возможности «постоять» при работе за компьютером

      Да, каких-то пару лет назад Kotyamba в своём посте «Идеальный стол для ежедневной работы за компьютером» предложил решение данной проблемы, но меня расстроило отсутствие примерных цен, различных сравнений, процесса сборки стола и прочих «лакомств», без которых Хабр становится унылым и скучным

      Поэтому я решил поделиться своим опытом и информацией, собранной во время покупки такого интересного стола
      Читать дальше →
    • Безопасность магазина в рознице: основные атаки



        Вынос товара


        Тащат всё, даже ненужное. Кажется, из спортивного интереса, по привычке или просто потому, что получилось. Но есть и настоящие профи. В простом случае товар банально кладётся в карман, в более сложных — избавляется от меток для противокражных ворот либо экранируется специальной сумкой с аналогом решетки Фарадея в стенках (от этого страдают магазины одежды). Крутые дорогие противокражные ворота умеют отличать редкоземельные магниты и сумки с экранирующими камерами на входе — поэтому новым витком стали аналоги средств РЭБ, в частности, разные китайские глушилки. Но куда чаще несут в кармане, рукаве, штанах, за голенищем или в коробке другого товара.

        DDoS-атака на магазин с воровством


        Представьте, в магазин внезапно заходит человек 15. Например, цыганский табор. Уследить за товаром просто физически невозможно. Мера — сначала напоказ нажимается тревожная кнопка (ещё на момент входа). Иногда такую атаку пытаются предпринять школьники, заваливаясь целым классом, но их-то найти по школам довольно просто (лица есть на видеонаблюдении).
        Читать дальше →
      • Усилитель для наушников просто и быстро

        • Tutorial

        Предисловие


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

        Несмотря на простоту, девайс звучит вполне прилично, а усиливает вообще замечательно, так что если есть желание что-то сделать своими руками, не тратя на это неделю — добро пожаловать. Если же вам просто нужен усилитель для наушников, то сходите и купите. Это будет дешевле и проще.

        Зачем


        Как многие разработчики, я люблю работать в наушниках. Это создает необходимый барьер между мозгом и разговорами/телефоном/пр. шумами офиса. Не так давно я купил себе относительно неплохие наушники AKG 272 HD, и втыкаю я их в SB Audigy 2. Звуковая картина в целом радует и дарит всяческие наслаждения, но обнаружился один момент — при прослушивании не очень современной музыки, музыки, не затронутой войнами громкости, а также композиций, не страдающих болезненной компрессией и перегейном, громкости звучания недостаточно, даже при вывернутых на максимум ползунках. Вероятно, это связано с чувствительностью используемых динамиков.

        Для решения этого вопроса я решил потратить свободный вечер на постройку небольшого усилителя для наушников.
        Читать дальше →
      • Удачная модель ветвления для Git

        • Перевод
        Перевод статьи Vincent Driessen: A successful Git branching model

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



        В качестве инструмента управления версиями всего исходного кода она использует Git.

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