• Проецирование положения объектов с камеры видеонаблюдения на карту, используя лишь школьную геометрию

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

      Сегодня я расскажу о том, как можно спроецировать координаты с плоского изображения на карту. Эта короткая статья будет своеобразным продолжением первой статьи, в которой я рассказывал о базовых возможностях Mask R-CNN.

      Статья была написана в сотрудничестве с @avdosev, за что ему большое спасибо.

      Начать конвертацию
    • Искусство написания циклов на Python

      • Перевод


      Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так:

      int i;
      for (i=0;i<N;i++)
      {
        //do something
      }

      Не существует более изящного способа написания цикла for на C. В сложных случаях обычно приходится писать уродливые вложенные циклы или задавать множество вспомогательных переменных (например, как i в показанном выше коде).

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

      Эта статья познакомит вас с самыми полезными трюками по написанию циклов на Python. Надеюсь, она поможет вам ощутить красоту этого языка.
      Читать дальше →
    • Разработка контроллера резервного питания. Схемотехника

      • Tutorial

      Цель - разработка универсального контроллера, обеспечивающего резервное питание 220 В переменного и 24 В постоянного тока в случае отключения сетевого напряжения. Вот такого как на рисунке.

      Читать далее
    • Работа с параметрами во внешнем EEPROM

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

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

        И вот если вам интересен один из способов, который использую я со студентами добро пожаловать под cut

        Доступ к EEPROM параметрам
      • Проводим нагрузочное тестирование скоростных USB-библиотек для STM32F103C8T6

          В предыдущей статье я показывал предельную скорость шины USB у микроконтроллера STM32F103 со штатной библиотекой MiddleWare. В комментариях мне показали сразу две самодельных библиотеки, выжимающих из USB FS все соки. Но автор одной из библиотек высказал мысль, что быстро-то они работают быстро, а насколько надёжно – не ясно. Он считал, что было бы полезно провести нагрузочное тестирование с какими-то полезными данными. Только если они не потеряются и не исказятся, можно будет сказать, что библиотеки имеют право на жизнь.



          Само собой, я еле дождался выходных, чтобы провести проверки. Давайте рассмотрим результаты испытаний. А чтобы было интересней, попутно рассмотрим технологию отображения переменных «на лету», без остановки процессорного ядра. Ну, и технологию визуальной отладки elf-файлов, собранных пакетными компиляторами.
          Читать дальше →
          • +27
          • 2,4k
          • 5
        • USB на регистрах: isochronous endpoint на примере Audio device

            image<картинка с платой и наушниками>
            Еще более низкий уровень (avr-vusb): habr.com/ru/post/460815
            USB на регистрах: STM32L1 / STM32F1
            USB на регистрах: bulk endpoint на примере Mass Storage
            USB на регистрах: interrupt endpoint на примере HID

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

            Как ни странно, этот тип конечной точки оказался самым мозговыносящим (и это после всего, что я успел повидать с stm'ками!). Тем не менее, сегодня мы сделаем аудиоустройство и заодно чуть-чуть допилим ядро библиотеки USB. Как обычно, исходные коды доступны:
            github.com/COKPOWEHEU/usb/tree/main/4.Audio_L1
            github.com/COKPOWEHEU/usb/tree/main/4.Audio_F1
            Читать дальше →
            • +12
            • 2,5k
            • 9
          • Можно ли вычислить массу монеты по звуку её падения?

            • Перевод
            image

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

            Если у нас есть размеры и материал объекта, то можно вычислить и массу, и тип нормального колебания. Одной лишь массы недостаточно — большая бумажная «монета» будет иметь сильно отличающуюся основную частоту от маленького вольфрамового шара.
            Читать дальше →
          • Практическое руководство по анонимности в онлайне


              Направленная антенна для удалённого доступа к публичному Wi-Fi

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

              Но это возможно.

              Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
              Читать дальше →
            • Пришло время и тебе встать на защиту Sci-hub

              • Перевод
              image


              • Быстрый старт спасения Sci-Hub: загрузите 1 случайный торрент (100 ГБ) из коллекции scimag и скачайте его. Оставайтесь на раздаче навсегда.
              • Трекер успеха миссии, спасибо phillm
              • Участвуйте в проектах Sci-Hub с открытым исходным кодом: freereadorg/awesome-libgen
              • Присоединяйтесь к /r/scihub, чтобы оставаться в курсе


              Спасательная миссия для Sci-Hub и Open Science


              Elsevier и USDOJ объявили войну Sci-Hub и Open Science. Эпоха Sci-Hub и Александры, сражающихся в одиночку, должна закончиться. Мы должны встать на её сторону.

              7 мая Александра Элбакян из Sci-Hub сообщила, что ФБР прослушивает ее аккаунты более двух лет. Эта новость появилась после того, как Twitter заставил замолчать официальный аккаунт Sci_Hub в Твиттере, потому что индийские ученые организовались против своего министерства и иска Elsevier.

              Сам Sci-Hub в настоящее время заморожен и не загружал никаких новых статей с декабря 2020 года. Эта спасательная миссия сосредоточена на поддержке раздач (seeding) коллекции статей, чтобы подготовиться к потенциальному закрытию Sci-Hub.

              Александра Элбакян из Sci-Hub, книжный воитель Library Genesis, Аарон Шварц и бесчисленное множество других неназванных боролись за то, чтобы освободить науку от хватки коммерческих издателей. Сегодня они делают это скрытно, в одиночку, без ведома, опасаясь тюремного заключения, и даже сейчас их прослушивает ФБР. Они жертвуют всем ради одного видения: Open Science.
              Читать дальше →
            • SCALA 3

              • Перевод

              После 8 лет работы 28 000 коммитов, 7 400 пул реквестов, 4 100 закрытых issues — Scala 3 наконец-то вышла. С момента первого коммита 6 декабря 2012 года более ста человек внесли свой вклад в проект. Сегодня Scala 3 включает в себя последние исследования в области теории типов, а также отраслевой опыт Scala 2. Мы увидели, что хорошо (или не очень хорошо) работает для сообщества в Scala 2. На основе этого опыта мы создали третью итерацию Scala — простую в использовании, изучении и масштабировании.
              Читать дальше →
              • +10
              • 4,8k
              • 6
            • Сам себе Гутенберг. Делаем параллельные книги

              • Tutorial

              Lingtrain parallel books


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


              Сегодня мы сделаем решительный шаг в сторону исправления этой ситуации.


              Из чего делаем


              На входе у нас будут два текстовых файла с оригинальным текстом и его переводом. Для примера возьмем книгу "Убить пересмешника" Харпер Ли на русском и английском языках.


              Начало документов выглядит так (отрывки приведены в таком виде, в котором они были найдены в сети):

              Выровнять пересмешника
            • Строим и автоматизируем вентиляцию — Спас-на-Крови

                На Хабре часто пишут о квартирной вентиляции и её автоматизации. Такие кейсы интересны необходимостью достигать результатов, используя достаточно простые и не затратные компоненты. А в данной статье хотелось бы рассказать о другом конце спектра климатики и автоматизации - построении системы отопления в сильно-историческом здании. Работе, которая начиналась даже не с проектирования, а с мат. моделирования...

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

                Как использовать воздуховоды 19 века
              • Печатные платы с помощью фотополимерного 3D-принтера

                  3D-принтерами сейчас уже никого не удивишь. А в последние год-два благодаря сильному снижению стоимости бурно расцветает и их фотополимерный подвид. Сейчас такой принтер доступен уже практически каждому и число их моделей на рынке множится каждый месяц.

                  Еще когда я несколько лет назад только узнал о появлении нового типа фотополимерных принтеров - у которых изображение слоя для засветки формируется ЖК-дисплеем, у меня уже тогда мелькнула мысль "Хм, а если им подставить фоторезист на текстолите?". Но тогда это был чисто теоретический вопрос - цены на них были немалыми, а разрешение и площадь дисплея оставляли желать лучшего. Однако на сегодня эти принтеры уже могут похвастаться и приличным разрешением - от 30 мкм пиксель, и вполне нормальной площадью дисплея.

                  И как оказалось, с помощью недорогого современного фотополимерного принтера вполне можно делать платы с дорожками/промежутками от 0.15 мм :)

                  И что получилось?
                • Моделирование данных: обзор

                  • Перевод

                  В работе мы с коллегами часто видим как компании сталкиваются с проблемой управления данными – когда таблиц и запросов становится сильно много и управлять всем этим очень сложно. В таких ситуациях мы рекомендуем моделировать данные. Чтобы разобраться, что это такое – я перевела статью-обзор про моделирование данных от Towards Data Science, в которой кроме основных терминов и понятий можно найти наглядный пример использования моделирования данных в ритейле. Вперед под кат!

                  Читать далее
                • Лингвистическая фантастика. Книги, в которых язык больше, чем просто средство для общения

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

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

                    Читать далее
                  • Инструменты для разработчиков могут быть волшебными. Вместо этого они пылятся на полке

                    • Перевод
                    image

                    Я начал работать над передовыми инструментами для разработчика 9 лет назад. Когда я начинал, «инструменты программирования» означали средства просмотра форматов файлов, редакторы и, возможно, варианты grep. Отмечу, что существует большая проблема с определением целей внесения изменений, а еще у меня есть вопросы что у нее общего с поиском и заменой текста

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

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

                      Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

                      Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
                      Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
                      Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

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

                      Под катом содержание перевода, чтобы решить стоит ли читать.
                      Читать дальше →
                    • Тихая революция и новый дикий запад в ComputerVision

                        Казалось бы, революция с Computer Vision уже была. В 2012 году выстрелили алгоритмы основанные на сверточных нейронных сетях. Года с 2014 они дошли до продакшна, а года с 2016 заполонили все. Но, в конце 2020 года прошел новый виток. На этот раз не за 4 года, а за один. поговорим о Трансформерах в ComputerVision. В статье будет обзор новинок, которые появились в последний год.

                        Читать далее
                      • Если вы не чистите зубы, то я их вам почищу: FAQ про гигиену

                          image

                          Зубы до гигиены, химический агент для окраски налёта (используется в обучающих целях для того, чтобы пациент видел непрочищаемые участки) и состояние после гигиены.

                          Про чистку зубов есть очень много вопросов, поэтому пробежимся по основным:

                          • Что будет, если не чистить зубы?
                          • Можно ли чистить зубы редко, но ходить к стоматологу время от времени, чтобы он их вам «мощно почистил»?
                          • Как проходит чистка зубов в стоматологии?
                          • Почему швейцарцы чистят зубы вообще без пасты?
                          • Работает ли жвачка?
                          • Какие щётки выбирать и как? Что насчёт электрических?
                          • Правда ли, что щётку надо выкидывать, когда хотя бы одна ворсинка отклоняется от вертикали?
                          • Зачем нужны скребки для языка, межзубные ёршики, зубная нить и всё остальное?
                          • Ирригатор заменяет чистку зубов щёткой?
                          • Ополаскиватель для рта — хорошая тема?
                          • Когда важнее чистить зубы — утром или вечером?
                          • Чем ИТ-специалист отличается от среднего пациента по анамнезу относительно гигиены ротовой полости?
                          Читать дальше →
                        • Разработка защищённого WEB интерфейса для микроконтроллеров

                          • Tutorial

                          Цель - разработка компактного, простого, быстрого, защищённого и адаптивного WEB интерфейса для встраиваемого устройства на микроконтроллере. Микроконтроллер класса STM32[F/H] или подобный, с размером Flash 1-2... Мегабайта и RAM 200-500... Кбайт, частота ядра 100-500... МГц.

                          Читать далее