• Приложение «Социальный мониторинг» было сделано из трекера мусоровозов

      Продолжаем нашу серию материалов о работе ДИТ Москвы по дальнейшей цифровизации столицы в период повышенной готовности.

      Одно из самых спорных нововведений ДИТ — это приложение «Социальный мониторинг», призванное контролировать местонахождение людей, отправленных на карантин (т.е. инфицированных либо имеющих подозрение на инфицирование коронавирусом). Это мобильное приложение, которое определяет местоположение по GPS, а чтобы человек не отправился гулять без смартфона — периодически просит его сделать селфи. В случае неустановки приложения при наличии предписания или неотправки селфи — Главное контрольное управление г. Москвы выписывает штраф в размере 4000 рублей.


      (не очень понятно, о каких «контактах» говорится в рекламе приложения, да и зачем вообще реклама приложению, за неустановку которого штрафуют на 4000 рублей в сутки)

      Сама по себе идея могла бы и выглядеть неплохо, если бы не качество реализации. Первая версия появилась в Google Play в последних числах марта — и было убрано оттуда к 1 апреля, получив к этому моменту минимально возможный рейтинг в 1 звезду. Приложение при установке требовало разрешения примерно на всё, что только возможно собрать со смартфона, после чего отправляло это всё по HTTP-протоколу (нет, мы не забыли букву «S», её тут нет) на сервера мэрии, а конкретно селфи пользователя — через эстонский сервис распознавания лиц на сервера Hetzner в Германии.

      Читать дальше →
    • Обзор 98 одноплатных компьютеров. Часть 1

      • Translation
      Часть 1
      Часть 2
      Часть 3
      Часть 4

      От переводчика: Предлагаю вашему вниманию перевод отчёта по одноплатным компьютерам, который был опубликован на сайте LinuxGizmos.com. В отчёт включены краткие описания 98 плат стоимостью до 200 долларов. В отчёте такие платы называют «хакерскими», чтобы подчеркнуть их пригодность для различного творчества.
      Так как объем информации весьма велик, я разбил перевод на несколько частей.

      Также хочу предупредить, что под катом очень много картинок!

      Итак, часть 1.



      КДПВ

      В течение последнего года, LinuxGizmos сообщал о дюжинах новых одноплатных компьютерах с открытыми спецификациями, дружественных к разработчикам и «хакерам», на которых можно запустить Linux и Android. Мы добавили их в наш каталог вместе со старыми платами. Платы, попавшие в наш обзор, стоят меньше 200 долларов без учёта пересылки, доступны для доставки в июле этого года, и удовлетворяют нашим (весьма гибким) критериям открытости.
      Читать дальше →
    • Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения)

      • Translation

      Tree of Dragons II by surrealistguitarist

      Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчить работу с Git, а также подборку статей и мануалов более продвинутого уровня.
      Читать дальше →
    • NRF51822: дружим BLE и RTOS



      Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе» — SoC, связка из микроконтроллера и периферии практически на любой вкус. Сегодня мы с вами рассмотрим одну из таких систем, чип NRF51822 от Nordic Semiconductor — решение для систем, заточенных под работу с технологией BLE, включенной в стандарт Bluetooth 4.0.

      А поскольку электронные устройства все больше увеличивают уровень интеграции, то почему бы и в программировании не подняться на более высокий уровень абстракции и сделать Bluetooth приложение под управлением операционной системы реального времени – RTOS.
      Нашей целью в рамках этой статьи будет сделать простое встроенное приложение для NRF51822 под управлением RTOS Keil-RTX которое будет опрашивать АЦП раз в секунду и записывать полученные значения в характеристики BLE. Если Вас заинтересовала эта тема — добро пожаловать под кат.
      Читать дальше →
      • +25
      • 6.6k
      • 8
    • В Microsoft признали, что были неправы относительно open source

        imageФото: ckan.org

        Президент Microsoft Брэд Смит заявил, что корпорация позволяла себе неверные высказывания относительно open source и Linux. Такое мнение он высказал в ходе виртуальной беседы с представителями Лаборатории искусственного интеллекта МТИ, которая была посвящена различным технологическим темам.
        Читать дальше →
      • Abbott Labs настояла на удалении с GitHub бесплатного приложения для диабетиков



          Крупная химико-фармацевтическая корпорация Abbott Labs добилась удаления с GitHub бесплатного инструмента, который позволил бы людям с диабетом использовать данные об уровне сахара в крови, полученные с помощью программы, разработанной Abbott. В компании утверждают, что подобное использование нарушит закон об авторском праве.
          Читать дальше →
        • Коронавирус: опасная иллюзия смертности

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

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

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

            В своей предыдущей статье «Коронавирус: как мы себя обманываем» я уже демонстрировал разницу между смертностями на примере демографических данных Италии по одной возрастной группе. А сейчас я хочу поделиться свежим графиком Дэвида Шпигельхальтера, именитого статистика из Университета Кембриджа. В его распоряжении был полный объём данных по Великобритании от Имперского колледжа Лондона.

            Таблица с данными + те же значения на логарифмической шкале
            Читать дальше →
          • Курс лекций «Основы цифровой обработки сигналов»

              Всем привет!

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

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


              Читать дальше →
            • Российское приборостроение: вертели мы ваш дизайн на пальцах




                Или как понять, что ваш дизайн уже пора выкинуть, и как сделать новый


                — Нужно делать как нужно, а как не нужно делать не нужно!
                Фраза из интернетов

                Это статья о промышленном дизайне в приборостроении: почему вы без него не обойдётесь; что делать и кого искать, если вы всё-таки решились «на промдизайн»; как понять, что именно вам необходимо; кто и за сколько сделает эту работу за вас и что предпринять, чтобы получилось то, что нужно вам, а не дизайнеру или кому другому. Всё — на примерах реальных разработок, а как же иначе.

                Читать дальше →
              • Аналого-цифровое преобразование для начинающих

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

                "

                Введение

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

                Читать дальше →
              • Как Warcraft III породил новый жанр, изменил лицо франшизы и получил ремастер

                • Translation

                Графика в начале 2000-х была совершенно иной, но поверьте мне — Warcraft III стал хитом, оставившим в игровой индустрии серьёзное наследие.

                Немногие игровые миры оставили такой большой след, как Warcraft. Он породил три стратегии-бестселлера, голливудский блокбастер, кучу романов и комиксов, мегапопулярную (цифровую) коллекционную карточную игру (Hearthstone) и эпичную, определившую лицо жанра MMO, которая спустя 15 лет после выхода вскоре получит восьмое расширение. И хотя основная часть культурного влияния и славы (или позора) относится к MMO World of Warcraft, многое можно сказать и о малозаметном наследии Blizzard 2002 года — стратегии реального времени Warcraft III.

                Несмотря на долгий и проблемный процесс разработки, столкнувшийся со сменой названия и серьёзной сменой направления развития, Warcraft III определил образ Азерота в игровой культуре. Он проложил дорогу успеху WoW, зародил тенденцию добавления RPG-элементов в другие жанры, стимулировал возрождение игр tower defense и породил сверхпопулярный жанр MOBA, который был изобретён благодаря его инструментам моддинга. (К тому же Warcraft III ещё и отличная игра.)

                Пару дней назад Blizzard выпустила официальный ремастер игры под названием Warcraft III: Reforged, и это хороший повод вернуться к истории Warcraft III. Я пообщался с восемью из примерно тридцати разработчиков оригинального Warcraft III, узнал, как создавали игру и как она помогла заложить основы будущего игровой индустрии.
                Читать дальше →
              • Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах

                  Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И программное обеспечение для микроконтроллера может быть написано обязательно на Си. Действительно, ведь язык Си был задуман как альтернатива ассемблеру, код должен был быть такой же компактный и быстрый, а читаемость и удобство разработки позволять легко писать довольно большие программы. Но ведь когда-то и разработчики на ассемблере говорили тоже самое про Си, с тех пор утекло много воды и программистов, использующих только ассемблер, можно по пальцам пересчитать. Конечно, ассемблер еще играет важную роль в разработке кода для быстрых параллельных вычислений, написании ОСРВ, но это скорее исключение из правил. Так же как когда-то Си пробивал себе дорогу в качестве стандарта для встроенного ПО, так и язык С++ уже вполне может заменить Си в этой области. С++ стандарта С++14 и современные компиляторы имеют достаточно средств для того чтобы создавать компактный код и не уступать по эффективности коду, созданному на Си, а благодаря нововведениям быть понятнее и надежнее. Ниже приведен код поиска наименьшего числа в массиве из 5 целых чисел на двух языках Си и С++ на компиляторе IAR for ARM 8.20 с отключенной оптимизацией.
                  Читать дальше →
                • Визуальное представление выборов в Санкт-Петербурге — магия накрутки голосов

                  Привет!

                  В сентябре этого (2019) года прошли выборы Губернатора Санкт-Петербурга. Все данные о голосовании находятся в открытом доступе на сайте избирательной комиссии, мы не будем ничего ломать, а просто визуализируем информацию с этого сайта www.st-petersburg.vybory.izbirkom.ru в нужном для нас виде, проведем совсем несложный анализ и определим некоторые «волшебные» закономерности.

                  Обычно для подобных задач я использую Google Colab. Это сервис, который позволяет запускать Jupyter Notebook'и, имея доступ к GPU (NVidia Tesla K80) бесплатно, это заметно ускорит парсинг данных и их дальнейшую обработку. Мне понадобились некоторые подготовительные работы перед импортом.

                  %%time 
                  !apt update
                  !apt upgrade
                  !apt install gdal-bin python-gdal python3-gdal 
                  # Install rtree - Geopandas requirment
                  !apt install python3-rtree 
                  # Install Geopandas
                  !pip install git+git://github.com/geopandas/geopandas.git
                  # Install descartes - Geopandas requirment
                  !pip install descartes

                  Далее импорты.

                  import requests 
                  from bs4 import BeautifulSoup 
                  import numpy as np
                  import pandas as pd
                  import matplotlib.pyplot as plt
                  import geopandas as gpd
                  import xlrd

                  Описание используемых библиотек


                  • requests — модуль для запроса на подключение к сайту

                  • BeautifulSoup — модуль для парсинга html и xml документов; позволяет получить доступ напрямую к содержимому любых тегов в html

                  • numpy — математический модуль с базовым и необходимым набором математических функций

                  • pandas — библиотека для анализа данных

                  • matplotlib.pyplot — модуль-набор методов построения

                  • geopandas — модуль для построения карты выборов

                  • xlrd — модуль для чтения табличных файлов

                  Настал момент собирать сами данные, парсим. Избирком позаботился о нашем времени и предоставил отчетность в таблицах, это удобно.
                  Читать дальше →
                • Терминология Google Аналитики и Яндекс.Метрики: как не запутаться во всех этих данных

                    Терминология Google Аналитики и Яндекс.Метрики: как не запутаться во всех этих данных

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


                    Мы собрали термины Google Аналитики и Яндекс.Метрики, с которыми чаще всего возникают проблемы. Рассказываем, что они означают и где смотреть значения метрик.


                    Если вы думаете, что знаете об этих терминах всё, — проверьте. Без сюрпризов не обойдется.

                    Читать дальше
                  • Становление термостата: как это получилось



                    После нескольких лет плодотворной работы, было принято решение вынести на суд общественности наш первый продукт для управления климатом в умном доме — умный термостат для управления теплым полом.
                    Читать дальше →
                  • Hello World для получения данных с Bluetooth (BLE) устройства через C#

                      Добрый день.

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


                      Читать дальше →
                    • 6 полезных инструментов для запуска стартапа в США



                        США привлекает основателей проектов со всего мира, однако сам процесс переезда, основания и развития компании в новой стране далеко не прост. К счастью, технологии не стоят на месте, и уже существуют сервисы, которые автоматизируют и помогают решить многие задачи на всех этапах этого приключения. В сегодняшней подборке – шесть таких полезных инструментов, которые пригодятся любому основателю.
                        Читать дальше →
                        • +14
                        • 3.4k
                        • 4
                      • Как сделать веб-приложение для вашего собственного Bluetooth Low Energy девайса?

                        Несколько недель назад я, развлечения ради, собрал простенькую роботизированную руку (а-ля манипулятор) и решил прикрутить к ней управление со смартфона через Bluetooth. Опыта в разработке нативных мобильных приложений у меня пока нет, с Apache Cordova я уже знаком, а вот задействовать Web Bluetooth API было бы интересно, приправив фишками Progressive Web Apps.

                        Картинка Для Привлечения Внимания
                        Картинка Для Привлечения Внимания, ведущая под кат


                        На первый взгляд может показаться, что статей по ключевым словам достаточно: есть спецификация Web Bluetooth, подробная статья в блоге Google Developers с примерами, есть подробный разбор Bluetooth Low Energy, примеры реверс-инжиниринга протоколов различных BLE устройств и даже моргания «умными» лампочками и получения данных от фитнес-браслетов прямо из браузера — что может пойти не так?
                        Читать дальше →
                        • +25
                        • 28.1k
                        • 7
                      • Как вести SMM в 2019 году: 17 диаграмм от Нила Пателя

                        • Translation
                        Трудно получить трафик из соцсетей, если не тратить деньги на рекламу. Среднее количество расшариваний умирает год за годом. Однако мы не можем игнорировать Facebook, Twitter, LinkedIn, Instagram, YouTube или любую новую соцсеть, которая набирает обороты, потому что у них просто гигантский трафик. Как вернуть органический охват и повысить продажи, рассказывает Нил Патель, один из лучших маркетологов мира, в колонке “17 Charts That Show Where Social Media is Heading”.
                        Читать дальше →
                        • +14
                        • 10.8k
                        • 6
                      • Множество профессий сегодня не требует регулярного присутствия на территории работодателя — ни в его офисе, ни даже в стране. А значит, находясь в России, трудиться можно на компанию из США или Европы. Но получив преимущество в разнице курсов валют, можно проиграть гораздо больше — из-за разницы в законах и неправильного оформления документов. Попробуем разобраться со всеми ошибками валютного договора.
                        Подробности — под катом