• Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android

      Мой коллега уже писал про наш опыт разработки чатов на вебсокетах для iOS, поэтому часть про особенности бэкенда с точки зрения клиента у нас общая. А вот реализация на Android, конечно, отличается. И ещё мне не приходилось, как в первой статье, искать библиотеку для поддержки старых версий операционной системы, потому что на Android каких-то глобальных изменений в сетевой части не было, всё работало и так.

      К реализации вернёмся чуть ниже, а начнём с ответов на вопросы про бэкенд, которые появились после первой статьи: почему WAMP, какой брокер используем и некоторые другие моменты.

      Читать далее
      • +50
      • 4.2k
      • 3
    • Почему функциональное программирование такое сложное

      • Tutorial

      Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


      Самым непонятным и зубодробительным оказалось, наверное, Теория Категорий. Я освоился в ней только с третьего подхода. В первые два раза я честно все прочитал, кажется понял, но т.к. никакой связки с реальной жизнью она не имела, то спустя неделю она благополучно полностью выветривалась.


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

      Читать дальше →
    • Самое главное в Wi-Fi 6. Нет, серьёзно

      Привет.

      Если верить теории простоты Эйнштейна, главный показатель понимания предмета — это способность максимально просто его объяснить, то и в этом посте я постараюсь максимально просто и подробно объяснить действие всего одной детали нового стандарта, которую почему-то даже Wi-Fi Alliance считает недостойной упоминания в инфографике о новых возможностях Wi-Fi 6, хотя она, как мы скоро убедимся вместе, очень важна и примечательна. Здесь не всё достаточно глубоко и уж точно не всеобъемлюще (потому что такого слона сложно есть даже по частям), но я надеюсь, что мы все почерпнём из моих словесных экзерсисов что-то новое и интересное для себя.

      Тот самый 802.11ax, который мы ждём со дня на день вот уже минимум второй год, несёт в себе массу нового и удивительного. Перед каждым, кто хочет о нём что-то рассказать, всегда стоит выбор: либо устроить обзорные скачки по головам, упоминая ведро аббревиатур и сокращений, стараясь не увязнуть в сложных механизмах под капотом каждого из них, либо завернуть часовой доклад про что-то одно, наиболее приятное автору. Я рискну пойти ещё дальше: бОльшая часть моей заметки будет посвящена даже не новому!
      Читать про несовершенство вайфая дальше
    • Как я научился не волноваться и полюбил машинное зрение

      Привет, Хабр! Меня зовут Нагуманов Артем, за своими плечами я имею более чем 15 летний опыт разработки программного обеспечения, управления проектами, командами, IT отделами. Меня всегда интересовала тема искусственного интеллекта и машинного зрения. Разрабатывая программное обеспечение, меня всегда посещала мысль, почему бы не добавить в enterprise приложение хоть какую-то частичку интеллекта, чтобы частично или полностью отказаться от участия пользователя в каком-либо процессе, который на первый взгляд кажется абсолютно не формализуемым.

      image
      Читать дальше →
    • Нечеткая логика и конечные автоматы против ПИД-регулятора. Избиение младенцев продолжается

      • Tutorial

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


      Этот текст является продолжением предыдущих публикаций:


      1. Простой регулятор на базе нечеткой логики. Создание и настройка.
      2. Нечеткая логика в красивых картинках. Поверхности отклика для разных функций принадлежности.
      3. Создание регулятора на базе нечеткой логики с многоканальной настройкой.
      4. Простая нечеткая логика слеплена «из того что было» для газотурбинного двигателя.
      5. Нечеткая логика против ПИД. Скрещиваем ежа и ужа. Авиадвигатель и алгоритмы управления АЭС.


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


      Сразу должен предупредить, у меня получился очередной пост унижения традиционного ПИД-регулятора со стороны нечеткой логики. Это не потому, что я специально старался. Должен ответственно заявить, что в исходной книге нет сравнения качества управления ПИД и Fuzzy. Все сравнения я выполнял сам, по собственной воле, в трезвом уме и ясной памяти. И, да, мне не платили наймиты мировой буржуазии, распространяющие нечеткую логику, как продажную девку империализма.


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


      Далее под катом – ПИД-регулятор, нечёткая логика и конечные автоматы для управления газотурбинным двухроторным двигателем (ГТД). Тем, кто впервые планирует познакомиться с работой нечеткой логики, рекомендую начать со статьи «Простой регулятор на базе нечеткой логики. Создание и настройка»

      Читать дальше →
    • Руководство по версиям и возможностям Java

      • Translation

      Здесь есть все, что вам нужно знать о различных версиях и функциях Java.



      Java 8, Java 11, Java 13 — какая разница?


      Вы можете использовать это руководство, чтобы найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т.д.), А также получить обзор возможностей языка Java, включая версии Java 8-13.


      Примечание переводчика
      09 апреля 2020 г. Марко опубликовал новую версию Руководства, в которую добавлено описание Java 14.
      Перевод новой версии Руководства предлагается Вашему вниманию.
      Читать дальше →
    • Нейтронная звезда в пробирке. Сонолюминесценция

      • Tutorial
      Хомяки приветствуют вас, друзья.

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



      Всё началось с того, что одним прекрасным днем просиживая задницу в просторах ютуба, я нашёл ролик на канале Сергея Матюшенко про интересное явление в основе которого лежит свечение пузырька за счет акустического воздействия. Пересмотрев видео несколько раз, понял что повторить подобное явление как раз плюнуть. Через неделю на моем столе лежали все необходимые детали для сборки действующей установки.
      Читать дальше →
    • Обзор WCS 5.2 — WebRTC сервера для веб-разработчиков онлайн трансляций и видеочатов



        Алиса — опытный фулл-стек разработчик и способна за неделю написать каркас SAAS проекта на своем любимом фреймворке с использованием php. На фронтенде предпочитает Vue.js.


        В телеграмм стучится заказчик, которому во что бы то ни стало надо разработать веб-сайт, который будет местом встречи работодателя и сотрудника для проведения очного интервью. Очного — означает глаза в глаза, прямого видео контакта в реальном времени с видео и голосом.
        «Почему не скайп?» — спросите вы. Так уж повелось, что серьезные проекты, а каждый стартап, несомненно, себя таковым считает, стараются предложить внутренний сервис коммуникаций по самым разным причинам, среди которых:

        Читать дальше →
      • gReebok detected. Сам себе дерматовенеролог

        • Tutorial
        Около года назад я опубликовал свою статью Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом в которой достаточно подробно рассказал про ультрафиолет, его воздействие на ткани человека и способы лучевой защиты. Однажды на досуге я задумался над тем, в какой форме чаще всего приходится сталкиваться с «рукотворным» (т.е. не из спектра Солнца) ультрафиолетом. Вышло, что наиболее популярный УФ — это мягкий УФ и флуоресценция, которую он способен вызывать. Наиболее популярный вариант у моих дружков — это просвечивать друг друга и потом спрашивать у меня, что значит тот или иной цвет пятна на коже, и не грибок ли это. Чтобы раз и навсегда этот вопрос закрыть представляю очередной туториал. На этот раз, по диагностике кожных заболеваний ультрафиолетом лампы Вуда. Так что если интересно, как с помощью «дискотечного ультрафиолета» можно определить наличие чесотки/грибка на ногах/лишая (в том числе у любимого котика), а также про то, как лампа с aliexpress за 5$ может помочь диагностировать рак кожи и бороться с борщевиком — читаем под катом. Только наукоёмкое самоделие, с пожеланием крепкого здоровья в Наступающем 2020 году!
        Закинь в закладки, %username% :)


        Проверить себя и того парня лампой Вуда!
      • Бьюти-гаджеты — серьезный бизнес



          Бьюти-гаджеты долго оставались нелюбимым пасынком в мире потребительских технологий. Все переменилось в новом веке: все больше компаний занимаются темой всерьез. Они создают функциональные и новые изобретения. Среди инноваторов — шведская компания Foreo, выпускающая культовые устройства для ухода за кожей и полостью рта.
          Читать дальше →
        • JAVA SOUND API основы

          Привет, Хабр! Представляю вашему вниманию перевод статьи «Java Sound, Getting Started, Part 1, Playback».

          Звук в JAVA, часть первая, Начало. Проигрывание звука



          Это начальный из серии в восемь уроков, который полностью ознакомит вас с Java Sound API. 
          Читать дальше →
          • +21
          • 15.4k
          • 2
        • Материалы открытого курса OpenDataScience и Mail.Ru Group по машинному обучению и новый запуск

            Недавно OpenDataScience и Mail.Ru Group провели открытый курс машинного обучения. В прошлом анонсе много сказано о курсе. В этой статье мы поделимся материалами курса, а также объявим новый запуск.



            UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


            Кому не терпится: новый запуск курса — 1 февраля, регистрация не нужна, но чтоб мы вас запомнили и отдельно пригласили, заполните форму. Курс состоит из серии статей на Хабре (Первичный анализ данных с Pandas — первая из них), дополняющих их лекций на YouTube-канале, воспроизводимых материалов (Jupyter notebooks в github-репозитории курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Главные новости будут в группе ВКонтакте, а жизнь во время курса будет теплиться в Slack OpenDataScience (вступить) в канале #mlcourse_ai.

            Читать дальше →
          • Новогодний датасет: открытая семантика русского языка

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

              В статье мы позволим себе немного подискутировать на тему смыслов, расскажем как мы пришли к необходимости создания открытой семантической разметки, расскажем о настоящих результатах и будущих направлениях этой большой работы. И, конечно, дадим ссылку на датасет, который вы сможете скачать и использовать для своих экспериментов и исследований.
              Читать дальше →
              • +24
              • 7.6k
              • 8
            • Простая объектная СУБД

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

              Предисловие


              В данной статье рассмотрим как сделать руку-клавиатуру, а также самодельный датчик изгиба (сгибания). На одной руке, как правило, 5 пальцев — это дает сделать 32 (2^5) комбинации. Но на русский язык не потянет (33-32 символа), а вот на английский язык как раз, ещё и останется место для space/backspace/enter и т.д.


              Немного идей: если подумать, то это интересный джойстик; если присоединить вторую руку, то это 1024 комбинации, а это возможно музыкальный инструмент; внедрить гироскоп/акселерометр и улучшить до мышки.

              Читать дальше →
            • Программирование и передача данных в «Ардуино» по «воздуху» с помощью ESP8266. Часть Третья. Здравствуй, «ANDROID»

                Предлагаю вам, уважаемые читатели GeekTimes, очередную статью из цикла по использованию микросхемы ESP8266 в качестве беспроводного моста для AVR микроконтроллеров, на примере аппаратной платформы Arduino Uno (Nano). В этот раз для полета на Луну управления платформой мы задействуем вместо компьютера устройство на базе «ANDROID». Ну, например, смартфон.



                Подробности под катом:
                Читать дальше →
              • Беспроводной звук. С компьютера и почти по всей квартире



                Как очень хотелось всё сделать на WI-FI…

                Конечно, можно было бы начать эту статью с лирического отступления про «умные» дома будущего (или квартиры), в которых повсюду стоят миниатюрные (или не очень) звуковые колонки, услаждающие хозяев музыкой. Вероятно, в ближайшем будущем так оно и случится, когда каждый девайс у нас дома будет оснащен копеечным WI-FI адаптером. Но почему-то в настоящее время такие технические решения, связанные с беспроводной раздачей звука по WI-FI, могут стоить каких-то неразумных денег. Вот, например, мультирум-системы от фирмы «SONOS», где только одна! беспроводная WI-FI колонка, обойдётся покупателю в сумму свыше двадцати тысяч рублей.
                Читать дальше →
              • Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 Часть Первая

                  Как и многие другие самоделкины, я регулярно использую микроконтроллеры AVR для всяких разных любительских поделок. А благодаря концепции «Arduino» эти поделки теперь приобретают еще и элегантный вид. Действительно, за какие-то 300-400 рублей мы получаем миниатюрную многослойную плату с маской, шелкографией и с полностью разведенной на ней периферией для микроконтроллера (причем в SMD исполнении!). Я уже не говорю о всевозможных подключаемых модулях этой же «Arduino» серии: датчиках, контролерах, дисплеях и целых наборов, так нужной нам дополнительной периферии. И опять же всё также недорогих и в прекрасном исполнении. Практически уже нет необходимости, что-то разводить и допаивать на «коленке».­­­­­­­­­


                  Но все эти разнообразные любительские поделки, требуют естественно, предварительного программирования. Да и в последующем при разных усовершенствованиях, постоянно приходится эти поделки перепрошивать. Понятное дело, что удобнее делать это дистанционно, чем постоянно таскать их к обычному программатору. Вообще, благодаря той же платформе «Arduino», вариантов и здесь много: Bluetooth, ZigBee, радиоканал с вашим личным протоколом, IR, и даже Wi-Fi. Все они позволяют наладить беспроводной контакт с вашим микроконтроллером. Но мы же остановимся на последнем варианте. Основных причин здесь четыре:

                  1: современно, интернет вещей же!

                  2: беспроводной роутер есть в каждой квартире, регистрируй в домашней сети свои устройства и вуаля!

                  3: ваши поделки осуществляют революционный скачок в своём развитии; мало того, что их можно программировать на расстоянии, они теперь ещё и сами могут общаться с окружающим их миром: электронные часы самостоятельно берут точное время с часовых NTP-серверов, исполнительные устройства управляются с другого конца города или страны, регистрирующие девайсы сохраняют накопленные данные в облако и т.д. и т.п.

                  4: есть замечательная серия микросхем ESP8266 на которой не очень легко всё это реализовать.
                  Читать дальше →
                • Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 Часть Вторая

                    Предлагаю вам, уважаемые читатели GeekTimes, следующую статью из цикла (надеюсь, что не последнюю) по использованию микросхемы ESP8266 в качестве беспроводного моста для AVR микроконтроллеров, на примере аппаратной платформы Arduino Uno (Nano).

                    После первой статьи на эту тематику я получил множество дружелюбных откликов как-то: “А на кой чёрт ты взял ардуину, если всё можно было сделать исключительно на ESP8266” или “Почему ты, болван, не использовал esp-link ”. “Действительно почему?” — подумал я и накатал уже эту статью и обновил несколько своих программ в качестве новых аргументов.

                    Итак, встречайте беспроводной программатор для AVR микроконтроллеров BABUINO version 0.9



                    Подробности под катом:
                    Читать дальше →