• На столбе висят три глаза, или сказ о том, что пяти ног ATtiny13 вполне достаточно


    КДПВ «Ой, всё».


    Мало шансов, что сей лонгрид станет живительным источником мудрости интеллектуалам, искушенным в тайнах гадания на картах Карно и познавшим потаенный смысл Третьей Нормальной Формы. Но если вы зачем-то трогали руками arduino, в кладовке пылится паяльник, понимаете, почему у батарейки один плюс, а у С++ два, то вас не смогут оставить равнодушными поистине волшебные и удивительные чудеса. Итак, имею удовольствие рекомендовать вам номера сегодняшнего представления бродячего цирка «Саман с Самшитом»:


    • Добавление RAM и ROM в ATtiny13!
    • Искусственный интеллект в микропроцессор — про и контра, или спящая красавица — ну она не дура ли?
    • Или все таки dura lex sed lex?
    • Как добавить ножек в ATtiny13?
    • Пару слов о пятом измерении: как впихнуть невпихуемое?
    • Распиливание напополам не-девствениц с перемешиванием содержимых половин (с гарантией восстановления).
    • Номер «Кормление страждущих» (см. более ранний случай насыщения пяти тысяч человек пятью ячменными хлебами и двумя рыбами).

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

    Читать дальше →
  • Красивые точные часы из старого смартфона



    Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием.

    Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
    Читать дальше →
  • Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask

    • Translation
    Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу.

    Введение

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

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



    Именно поэтому я сейчас пишу это руководство. Мне хочется, чтобы вы столкнулись с той проблемой, с которой столкнулся я в свое время, но смогли достаточно быстро ее решить. К концу этой статьи я покажу вам как реализовать модель машинного обучения используя фреймворк Flask на Python.
    Читать дальше →
    • +15
    • 7.4k
    • 1
  • Российская компания запустила серийное производство нейропроцессоров — конкурентов Nvidia


      Нейропроцессор НТЦ «Модуль»

      Российский научно-технический центр «Модуль» разработал новый нейропроцессор NM6408, причем создание чипа обошлось в 480 млн рублей. Сейчас он запущен в серийное производство. «Несколько тысяч процессоров уже у нас на складе, готовы к отгрузке, планируем дозаказывать еще по мере необходимости», — сообщили в компании.

      21-ядерный чип спроектирован по 28 нм топологии, о чем сообщает Cnews. Создавался он как вычислительный ускоритель для серверов с пиковой производительностью в 512 Гфлопс. Он предназначен для обработки больших потоков данных в реальном времени, позволяя, по заверению разработчиков, решать самые разные задачи, не только нейросетевые.
      Читать дальше →
    • Два в одном: программируемый по Wi-Fi монитор качества воздуха и стрелочные часы

        В свое время мне понравился монитор качества воздуха из публикации Сергея Сильнова «Компактный монитор домашнего воздуха (CO2, температура, влажность, давление) с Wi-Fi и мобильным интерфейсом».


        В мониторе качества воздуха (далее – монитор) из проекта Сергея информация с датчиков температуры, влажности, давления, содержания СО2 в воздухе обрабатывается контроллером ESP8266 и отображается на монохромном экране несколькими кадрами. Кроме того, в мониторе через форму в браузере сохраняется в памяти ESP8266 ключ идентификации сервиса Blynk и автоматически отправляются данные на Blynk.


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


        Я повторил проект с несущественными изменениями, а для устранения зависаний монитора добавил в схему альтернативное питание. Простое, как грабли: обмотка реле находилась под напряжением адаптера AC/DC, а контакты реле переключали питание с адаптера на батарейки, когда исчезало напряжение в сети 220В.


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


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

        Читать дальше →
      • Анализ данных на Scala — суровая необходимость или приятная возможность?

        • Tutorial


        Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации, когда ограничения этих инструментов становятся существенной помехой — в первую очередь, если необходимо добиться высоких показателей по скорости обработки и/или работать с действительно крупными массивами данных. В этом случае специалисту приходится, скрепя сердце, обращаться к помощи "темной стороны" и подключать инструменты на "промышленных" языках программирования: Scala, Java и C++.


        Но так ли уж темна эта сторона? За годы развития инструменты "промышленного" Data Science прошли большой путь и сегодня достаточно сильно отличаются от своих же версий 2-3 летней давности. Давайте попробуем на примере задачи SNA Hackathon 2019 разобраться, насколько экосистема Scala+Spark может соответствовать Python Data Science.

        Читать дальше →
      • Использование памяти в Python

        image

        Сколько памяти занимает 1 миллион целых чисел?


        Меня часто донимали размышление о том, насколько эффективно Python использует память по сравнению с другими языками программирования. Например, сколько памяти нужно, чтобы работать с 1 миллионом целых чисел? А с тем же количеством строк произвольной длины?
        Как оказалось, в Python есть возможность получить необходимую информацию прямо из интерактивной консоли, не обращаясь к исходному коду на C (хотя, для верности, мы туда все таки заглянем).
        Удовлетворив любопытство, мы залезем внутрь типов данных и узнаем, на что именно расходуется память.
        Читать дальше →
      • Новый кодек AV1: ускоряем загрузку видео в браузере

        • Translation
        • Tutorial
        В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше.

        Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20-40 раз.

        AV1 в браузере

        YouTube уже использует его в TestTube. Netflix заявил, что AV1 будет «их основным кодеком следующего поколения».

        Мы в Злых Марсианах уже используем его на нашем сайте и на Ампллифере. В этой статье я поделюсь опытом внедрения AV1 и шаг-за-шагом расскажу, как вставить видео, чтобы оно работало во всех браузерах.
        Читать дальше →
      • 10 Git-команд, которые стоит знать разработчику

        • Translation


        В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash и конфигурации редактора Git.
        Читать дальше →
      • Микросервис на GO для граббинга видео из твитов

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

          Читать дальше →
        • ORANGEMAN: новая раздача серверов, итоги и планы на будущее

            Всем привет!

            image

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

            В этом посте я подведу итоги раздачи наших серверов с фотоотчетом, расскажу о новой невероятной раздаче блейд-серверов (!) и о планах на будущее.

            Читать дальше →
          • Руководство по оформлению HTML/CSS кода от Google

            • Translation

            От переводчика


            С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

            Введение


            Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

            Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

            Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
            Читать дальше →
          • Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов

            • Tutorial

            Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML).


            ESP Home представляет собой набор библиотек и инструментов, генерирующих прошивку для микроконтроллеров ESP8266 и ESP32 из созданного пользователем конфиг файла в формате YAML. Это значительно упрощает написание прошивок малого и среднего уровня сложности в особенности для тех, кто не силен в программировании под Arduino и сильно сокращает количество строк кода/конфигурации для тех, кто силен.


            Для удобства настройки поддерживается обновление прошивки по воздуху.


            ESP Home поддерживает устройства на базе ESP8266 и ESP32, очень популярных среди любителей домашней автоматизации и прочих самоделкиных, а также несколько десятков сенсоров и различную периферию — дисплеи, сетевые карты и т.д. Для обмена данными с запрограммированным устройством поддерживаются MQTT, UART, I2C, SPI и API, интегрированное с Home Assistant.


            Ниже короткий пример установки ESP Home и простой настройки устройства

            Читать дальше →
          • Расширение (плагин) SketchUp для проектирования мебели программистом

            При расчете стоимости новой кухни цена оказалась такой большой, что я решил сделать её сам так как это обойдется в два раза дешевле. Для тренировки решил сделать для себя рабочий стол. Достаточно быстро пришло понимание: чтобы сделать хорошую вещь нужно сделать 3D модель. Это позволит на этапе проектирования посмотреть как будет выглядеть мебель и продумать как в дальнейшем будет происходить сборка. Так как 3D моделированием я не занимаюсь, то начал искать программу попроще. И самая простая что нашел SketchUp. При создании модели постоянно приходилось править модель из-за постоянно изменявшихся размеров. И после третьего изменения появилась идея — сделать параметризированную модель, чтобы она сама генерировалась с нужными размерами. SketchUp поддерживает скрипты на языке Ruby и эта статья о том что у меня получилось.


            Решение достаточно простое — создаю некоторый API, который позволяет создавать 3D объекты листов ЛДСП с нужными параметрами. Из этих объектов компонуется готовая модель а также в отдельный файл выгружаются размеры листов для передачи их в центр распила. В результате эксплуатации добавил ещё возможность указывать кромки для листов. Данный плагин был использован для проектирования более десятка различных изделий из ЛДСП. С каждым новым проектом плагин дорабатывался и модифицировался, улучшалось удобство и совершенствовалось API. В качестве примера последний проект — стол-тумба. На картинке модель + готовое изделие (птица и собака для привлечения внимания :))


            main.jpg

            Читать дальше →
          • ПК Эльбрус. Мифы и реальность

            Вокруг Эльбруса ходит много мифов. Вы можете встретить их в комментариях к любому посту или статье про Эльбрус. Основные категории мифов можно свести к трем вопросам:

            1. Является ли Эльбрус отечественным? Отечественный значит безопасный?
            2. Какова производительность? Насколько «современен» компьютер на базе Эльбрус.
            3. Сколько он стоит?
            Читать дальше →
          • Разработчик, помни — трафик твоего приложения смотрят

              WOG

              На данный момент существует так много типов уязвимостей, что разработчики совсем забывают об элементарных из них. На днях мне удалось обойти авторизацию в новом приложении WOG (ТОВ «ВОГ РІТЕЙЛ» — вторая по величине сеть АЗС в Украине). В 2017 году, точно такую же уязвимость я обнаружил в приложении одного из мобильных провайдеров Украины (тоже второго по величине). Идентичные ситуации — новое приложение и отсутствие защиты от брутфорса.
              Читать дальше →
            • Хабрарейтинг 2018: лучшие материалы за 2018 год

                Привет Хабр.

                Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части для тех кто интересуется технической стороной вопроса), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находить статьи по различным параметрам, например, статьи с самым высоким «качеством» (соотношением рейтинга к числу просмотров), самые «спорные» статьи, у которых больше всего полярных комментариев, самые комментируемые материалы, и пр.



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

                Тех, кому интересно что получилось, прошу под кат.
                Читать дальше →
              • Google открыл доменную зону .dev



                  Ещё в 2015-м Google вызвал недовольство некоторых разработчиков, заполучив доменную зону .dev в своё единоличное пользование. Теперь ситуация меняется, и возможность купить домен получает любой.

                  Ну, прямо сейчас не совсем любой: с 19 по 28 февраля действует Early Access Program с дополнительной платой за регистрацию домена, доходящей до $11 000. Но с каждым днём сумма будет снижаться, а с 28 февраля останется только стандартная оплата в $12/год, так что это будет подходить не только для крупных компаний, но и для маленьких личных бложиков о разработке.

                  Ряд компаний уже активен в новой зоне (и это даже не просто означает «поставили редирект»). Вот несколько примеров:
                  Читать дальше →
                • Обзор методов сегментации изображений в библиотеке scikit-image

                  • Tutorial

                  Thresholding


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

                  Люди, знакомы с фильмом «Терминатор», наверняка согласятся, что это был величайший научно-фантастический фильм той эпохи. В фильме Джеймс Кэмерон представил интересную концепцию визуальных эффектов, которая позволила зрителям скрыться за глазами киборга под названием Терминатор. Этот эффект стал известен как «Терминаторное видение» (англ. Terminator Vision). В некотором смысле, он отделял силуэты людей от фона. Тогда это могло звучать совершенно неуместно, но сегментация изображений сегодня является важной частью многих методов обработки изображений.

                  Сегментация изображения


                  Имеются ряд библиотек, написанных для анализа изображений. В этой статье мы подробно обсудим scikit-image, библиотеку обработки изображений на среде Python.

                  Scikit-image


                  image

                  Scikit-image — это библиотека Python, предназначенная для обработки изображений.

                  Установка


                  scikit-image устанавливается следующим образом:

                  pip install -U scikit-image(Linux and OSX)
                  pip install scikit-image(Windows)
                  # For Conda-based distributions
                  conda install scikit-image


                  Читать дальше →
                • Я провел сто собеседований, отказал сотне людей — и только потом научился собеседовать

                    image

                    Не желал бы я вам попасть ко мне на собеседование года два назад. Я провел их около сотни, и за все время взял может человек четырех. Не знаю почему, но эйчары считали, что это круто. Слава строгого интервьюера шла впереди меня. Знакомые звали меня собеседовать для чужих команд, и даже для чужих компаний, о которых вы слышите каждый день. И везде — не проходил никто.
                    Читать дальше →