• Уменьшение зависимости от размеченных данных у генеративно-состязательных сетей

    • Перевод
    Генеративно-состязательные сети (ГСС) [Generative Adversarial Networks, GAN] – обладающий интересными возможностями класс глубоких генеративных моделей. Их основная идея – обучение двух нейросетей, генератора, который обучается синтезу данных (к примеру, изображений), и дискриминатора, обучающегося тому, как отличать реальные данных от тех, что синтезировал генератор. Этот подход успешно использовался для высококачественного синтеза изображений, улучшения сжатия изображений, и прочего.
    Читать дальше →
  • Умный дом / Обновления в Lazurite

      Всем добрый день! Продолжаю развивать свой проект Lazurite. За последние несколько месяцев было проведено много работы по оптимизации и улучшению программы. Об основных изменениях хочу рассказать вам. Прошлая публикация.


      Читать дальше →
    • Iodide: интерактивный научный редактор от Mozilla

      • Перевод

      Изучение аттрактора Лоренца, а затем редактирование кода в Iodide

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

      Но на сегодняшний день очень немногие научные инструменты используют полный коммуникационный потенциал современных браузеров. Результаты дата-майнинга не очень удобно просматривать в браузере. Поэтому сегодня Mozilla представляет Iodide — экспериментальный инструмент, который помогает учёным составлять красивые интерактивные документы с использованием веб-технологий, всё в рамках итеративного рабочего процесса, который многим знаком.
      Читать дальше →
    • Wolfenstein 3D: трассировка лучей с помощью WebGL1

      • Перевод
      image

      После появления прошлым летом графических карт Nvidia RTX трассировка лучей (ray tracing) снова обрела былую популярность. За последние несколько месяцев мою ленту в Twitter заполнил бесконечный поток сравнений графики со включенным и отключенным RTX.

      Полюбовавшись на такое количество красивых изображений, я захотел самостоятельно попробовать скомбинировать классический упреждающий рендерер (forward renderer) с трассировщиком лучей.

      Страдая синдромом неприятия чужих разработок, я в результате создал собственный гибридный движок рендеринга на основе WebGL1. Поиграть с демо рендеринга уровня из Wolfenstein 3D со сферами (которые я использовал из-за трассировки лучей) можно здесь.
      Читать дальше →
    • Задача N тел или как взорвать галактику не выходя из кухни




        Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного расположения сильно зависела «погода» на планете — от испепеляющей жары до леденящего мороза. И я решил проверить, можем ли мы решать подобные задачи.
        Читать дальше →
      • Запускаем датчик скорости потока газа

          Почти год назад была опубликована статья с обзором датчиков скорости потока газов и жидкостей производства компании IST-AG.

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

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


          Читать дальше →
        • Модульные боты-муравьи с памятью

          • Перевод

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

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

          Я уже реализовал базовую систему конвейера задач на Javascript (потому что это упростило мою жизнь), но мне хотелось чего-то более надёжного и масштабируемого, поэтому этот проект я написал на C++. На это меня сподвиг конкурс по реализации процедурного сада в сабреддите /r/proceduralgeneration (отсюда и соответствующая тема).

          В моей системе симуляция состоит из трёх компонентов: мира, населения и связывающих их набора действий. Следовательно, мне нужно было создать три модели, о которых я расскажу в этой статье.

          Для увеличения сложности я хотел, чтобы акторы сохраняли информацию о предыдущем опыте взаимодействия с миром и использовали знания об этих взаимодействиях в будущих действиях.
          Читать дальше →
          • +53
          • 12,5k
          • 8
        • Запуск 619 тысяч тетрисов на GLSL, их рендеринг и простой бот

          У меня была "идея" сделать максимальное число одновременно запущенных "Тетрисов" для одного шейдера (одной текстуры фреймбуфера).


          Далее небольшое описание как работает полученный код.

          Читать дальше →
          • +45
          • 6,2k
          • 8
        • Как заставить игру работать с частотой 60fps

          • Перевод
          Представьте себе задачу: у вас есть игра, и вам нужно, чтобы она работала с частотой 60 fps на 60-герцовом мониторе. Ваш компьютер достаточно быстр для того, чтобы рендеринг и обновление занимали несущественное количество времени, поэтому вы включаете vsync и пишете такой игровой цикл:

          while(running) {
              update();
              render();
              display();
          }

          Очень просто! Теперь игра работает с 60fps и всё идёт как по маслу. Готово. Спасибо, что прочитали этот пост.


          Ну ладно, очевидно, что всё не так хорошо. Что если у кого-то слабый компьютер, который не может рендерить игру с достаточной для обеспечения 60fps скоростью? Что если кто-то купил один из тех крутых новых 144-герцовых мониторов? Что если он отключил в настройках драйвера vsync?
          Читать дальше →
        • Взгляд биолога на мутационную теорию старения

            Здравствуйте!

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

            В первой статье явление естественной смертности мы рассматривали, так сказать, с самой высокой точки биологической организации. С этого уровня хорошо видно, за что могла «зацепиться» эволюция и начать устанавливать норму жизни для того или иного вида. С точки зрения создания эликсира бессмертия этот уровень нам совершенно не интересен, потому как к бессмертию мы хотим привести конкретную особь, а конкретные особи как известно не эволюционируют в биологическом смысле. Нам интересен механизм, посредством которого приговор приводится к исполнению и то, как сломать этот механизм. А значит в этой статье мы будем рассматривать проблему с более «низкой» точки зрения – индивидуальном и клеточно-молекулярном (я постараюсь сделать это как можно понятнее без зубодробительных биохимиоругательных слов).
            Читать дальше →
          • Жизнь на частицах

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

            Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

            Под катом много мегабайт гифок.

            Читать дальше →
          • Алгоритм Брезенхема в паяльной печи — теория

              Алгоритм Брезенхема является одним из старейших алгоритмов в машинной графике. Казалось бы, как можно применить алгоритм построения растровых прямых при создании домашней паяльной печи? Оказывается, можно, причем с очень достойным результатом. Забегая вперед, скажу, что данный алгоритм очень хорошо скармливается маломощному 8-битному микроконтроллеру. Но обо всем по порядку.
              Читать дальше →
            • Как давать и получать обратную связь, если ты воробушек-социофобушек


                Геннадий — middle-разработчик в большой IT-компании. Он интересуется джавой, кодит с 11 до 20, ездит на работу на самокате, ходит в бар с коллегами по пятницам и скучает на эджайл-митингах. Геннадий участвует в код-ревью и легко даёт советы младшим товарищам, когда дело касается прямых рабочих обязанностей. Проблема в том, что прямыми рабочими обязанностями работа не ограничивается, и тогда начинается адок.


                «Как сказать начальнику, что можно бы получше начальничать?», «Как объяснить коллеге, что переживаю из-за проекта», — подобные вопросы возникают у Геннадия регулярно, и он не знает, что с ними делать. Как сказать о недостатках и при этом не обидеть? Как похвалить так, чтобы у сотрудника загорелись глаза? И главное — как это сделать, если вы всю жизнь пытаетесь минимизировать взаимодействие с незнакомыми людьми?


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

                Читать дальше →
              • Обновление прошивки сломало кроссовки Nike

                • Новость
                Пользователи кроссовок Nike испытывают технические трудности из-за ошибок программистов. Кроссовки Adapt BB за $350 — самая последняя модель в линейке высокотехнологичной обуви Nike с функцией автоматической шнуровки. В хайтек-обуви «шнурки» можно завязать простым нажатием кнопки в приложении на смартфоне (на самом деле шнурков там нет, а посадка регулируется более интеллектуально, но проблема возникла всё равно).


                Читать дальше →
              • Неожиданная эффективность квазислучайных последовательностей

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


                Рисунок 1. Сравнение различных квазислучайных последовательностей с низким расхождением. Заметьте, что предлагаемая мной $R$-последовательность создаёт более равномерно распределённые точки, чем все остальные методы. Более того, все остальные методы требуют тщательного подбора базовых параметров, а в случае неправильного подбора приводят к вырожденности (например справа вверху)

                Рассматриваемые в статье темы

                • Последовательности с низким расхождением в одном измерении
                • Методы с низким расхождением в двух измерениях
                • Расстояние упаковки
                • Множества с многоклассовым низким расхождением
                • Квазислучайные последовательности на поверхности сферы
                • Квазипериодический тайлинг плоскости
                • Маски дизеринга в компьютерной графике

                Какое-то время назад этот пост был выложен на главной странице Hacker News. Можете прочитать там его обсуждение.
                Читать дальше →
                • +90
                • 14,1k
                • 6
              • Суверенный LPWAN, часть 1: лицензирование и эксплуатация LPWAN-сетей в России — старые новые требования ГКРЧ

                  Привет, Хабр!

                  В конце прошлого года причастные к «интернету вещей» сайты, блоги и каналы всколыхнула новость — якобы ГКРЧ приняла решение, согласно которому базовые станции любых IoT-сетей LPWAN должны быть только российского производства, а при установке их в обязательном порядке необходимо регистрировать.


                  Базовая станция LoRaWAN российского производства

                  Хотя для самой популярной из открытых технологий — LoRaWAN — российские БС вполне себе существуют, это, например, новосбириская Вега БС-2, новость вызвала у многих серьёзное волнение. Во-первых, одной Вегой сыт не будешь, Kerlink, Multitech и даже Sagemcom тоже иногда хочется. Во-вторых, ну хорошо, сегодня все строят LoRaWAN, а завтра? Такое решение попросту закрыло бы путь на российский рынок для новых стандартов — зарубежное оборудование эксплуатировать нельзя, а в разработку аналогичного российского вкладываться никто не будет, пока не станет хоть как-то понятна окупаемость и перспективы.

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

                  Давайте разбираться.

                  Читать дальше →
                • MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись

                    Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP.

                    Для начала, ссылки на предыдущие введение и статью.

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

                    • Появился механизм гибкого расширения протокола: Tagged Tail Records, TTRs
                    • На его базе сделана схема цифровой подписи пакетов
                    • Сделан механизм дистанционной конфигурации компонент
                    • Поднят полный цикл CI: сборка, юнит-тесты, сквозные тесты протокола (4*4 языка программирования)
                    • Реализация на Си теперь поддерживает разные архитектуры и умеет интегрироваться с разными ОС и мониторами.
                    • Есть публичные пакеты для Питона и Луа, хотя, конечно, они уже устарели.

                    Ну и многое по мелочи: интеграция с OpenHAB, конфиг-файлы и логгинг, проверка совместимости с облачным MQTT сервисом, сделан тестовый пример для Wemos D1 (NodeMCU), сделан тестовый пример для atmega128+ethernet (не ардуино), сделан пример протокольного коннектора на Яве (CCU825), сделан пример информера-контроллера в desktop tray (наконец-то я могу включать свет в комнате в два клика мышки:), и ещё разное.

                    Теперь по порядку.
                    Читать дальше →
                    • +19
                    • 3,6k
                    • 2
                  • О линтерах, качестве кода, качестве вообще и управлении качеством

                      Бойтесь своих желаний, они могут исполниться.
                      Народная мудрость.

                      Одна пара пожелала пожениться и обрести вечное счастье. Я взорвал их машину у церкви сразу после венчания.
                      One Wish Grant, фильм Трасса 60.

                      image

                      Ещё одна философская заметка про управление, а данном случае качеством, состоит из трёх частей: очень абстрактной, в меру абстрактной, конкретной и отдельного вывода. Содержит критику существующей практики применения линтеров.
                      Читать дальше →
                    • DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом»

                        image

                        Всем привет!

                        Пришла зима, а с ней и задача проверить теплоизолирующие свойства построек загородной резиденции дачи. А тут ещё оказалось, что на известном китайском сайте появились вполне доступные тепловизионные модули. Не собрать ли себе экзотическую и, возможно, даже полезную вещь — самодельный тепловизор? Почему бы и нет, вроде и Raspberry где-то валялась… Что из этого вышло — расскажу под катом.
                        Читать дальше →
                      • Восстановление когнитивных способностей 100 пациентов (перевод статьи Дейла Бредесена)

                        image

                        Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи Дейла Бредесена, директора отдела нейродегенеративных заболеваний медицинского факультета Калифорнийского университета в Лос-Анджелесе (UCLA), автора «The End of Alzheimer's: The First Program to Prevent and Reverse Cognitive Decline» (Конец болезни Альцгеймера: первая программа предотвращения и восстановления когнитивных функций). Если у вас есть родственник или знакомый, страдающий болезнью Альцгеймера, то описанный здесь протокол, возможно, сможет помочь.
                        Читать дальше →