• Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса

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


      — Всем привет, меня зовут Ришат. Я почти три года работаю над качеством поиска Яндекса. Но поговорить сегодня хочу не о работе, а о том, чем я занимаюсь в свободное время. Занимаюсь я квантовой информатикой, а на самом деле — самыми разными моделями вычислений, в том числе квантовыми.
      Читать дальше →
      • +14
      • 5.2k
      • 6
    • Море, пираты — 3D онлайн игра в браузере

        Приветствую пользователей Хабра и случайных читателей. Это история разработки браузерной многопользовательской онлайн игры с low-poly 3D графикой и простейшей 2D физикой.

        Позади немало браузерных 2D мини-игр, но подобный проект для меня в новинку. В gamedev решать задачи, с которыми ещё не сталкивался, может быть довольно увлекательно и интересно. Главное — не застрять со шлифовкой деталей и запустить рабочую игру пока есть желание и мотивация, поэтому не будем терять время и приступим к разработке!

        Читать дальше →
      • Flutter. Упрощаем компоновку виджетов с помощью Dart расширений

        • Translation

        image


        В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой задачи может служить работа с виджетами.


        Исходя из своего опыта разработки под iOS, вдохновившись ViewModifier из SwiftUI, я захотел разобраться в том, как использовать Dart расширения аналогичным образом, чтобы уменьшить визуальный беспорядок, который получается при большой вложенности дерева виджетов.


        Давайте рассмотрим пример!

        Читать дальше →
        • +10
        • 2.8k
        • 3
      • [Flipper Zero] отказываемся от Raspberry Pi, делаем собственную плату с нуля. Поиск правильного WiFi чипа



          Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущий пост [1].

          Много всего произошло с момента первого поста про флиппер. Мы усердно работали все это время и проект претерпел радикальные изменения. Главная новость в том, что мы решили полностью отказаться от Raspberry Pi Zero и делать свою плату с нуля на базе чипа i.MX6. Это значительно усложняет разработку и полностью меняет всю концепцию, но я уверен, что оно того стоит.

          Также мы до сих пор не нашли правильный WiFi чипсет, который поддерживает все нужные функции для WiFi-атак, при этом поддерживает диапазон 5Ghz и не устарел на 15 лет. Поэтому я приглашаю всех поучаствовать в нашем исследовании.

          В статье я расскажу, почему мы приняли такое решение, на каком этапе находится проект, текущие задачи, и как можно принять участие.
          Читать дальше →
        • Перенос молекулярной динамики на CUDA. Часть II: Суммирование по Эвальду

            В предыдущей статье мы обсудили основу метода молекулярной динамики, в том числе вычисление энергии и сил взаимодействия между частицами с заданными парными потенциалами. А что, если частицы обладают некоторым электрическим зарядом? Например, в том случае, если мы моделируем кристалл поваренной соли, состоящий из ионов Na+ и Cl-. Или водный раствор, содержащий те или иные ионы. В этом случае, кроме парных потенциалов типа Леннарда-Джонса между ионами действуют силы электростатического взаимодействия, т.е. закон Кулона. Энергия такого взаимодействия для пары частиц i-j равна:

            $E=C\frac{q_iq_j}{r_{ij}},$


            где q – заряд частицы, rij – расстояние между частицами, С – некоторая постоянная, зависящая от выбора единиц измерения. В системе СИ это — $\frac{1}{4\pi\epsilon_0}$, в СГС — 1, в моей программе (где энергия выражена в электронвольтах, расстояние в ангстремах, а заряд в элементарных зарядах) C примерно равно 14.3996.

            image

            Ну и что, скажете вы? Просто добавим соответствующее слагаемое в парный потенциал и готово. Однако, чаще всего в МД моделировании используют периодические граничные условия, т.е. моделируемая система со всех сторон окружена бесконечным количеством её виртуальных копий. В этом случае каждый виртуальный образ нашей системы будет взаимодействовать со всеми заряженными частицами внутри системы по закону Кулона. А поскольку Кулоновское взаимодействие убывает с расстоянием очень слабо (как 1/r), то отмахнуться от него так просто нельзя, сказав, что с такого-то расстояния мы его не вычисляем. Ряд вида 1/x расходится, т.е. его сумма, в принципе, может расти до бесконечности. И что же теперь, миску супа не солить? Убьёт электричеством?
            Оказывается
            • +22
            • 1.6k
            • 2
          • Коды Рида-Соломона. Часть 2 — арифметика полей Галуа

              Здравствуйте, друзья! В прошлый раз мы с вами начали говорить о том, как коды Рида-Соломона помогают обеспечивать необходимый уровень надежности хранения данных. Сегодня остановимся немного подробнее на арифметике полей Галуа, которая используется в расчётах.



              Читать дальше →
              • +26
              • 14.5k
              • 5
            • Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные


                Так выглядит избыточность


                Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранилище экономит миллионы без снижения надёжности. Но несмотря на широкое распространение, понятное описание того, как работают коды избыточности, встречается очень редко. Желающие разобраться сталкиваются примерно со следующим (из Википедии):



                Меня зовут Вадим, в Яндексе я занимаюсь разработкой внутреннего объектного хранилища MDS. В этой статье я простыми словами опишу теоретические основы кодов избыточности (кодов Рида — Соломона и LRC). Расскажу, как это работает, без сложной математики и редких терминов. В конце приведу примеры использования кодов избыточности в Яндексе.


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


                * Под термином «коды избыточности» в статье подразумевается инженерный термин «erasure codes».

                Читать дальше →
              • От комментария на Хабре к уязвимости в антивирусе Dr. Web

                  Относительно недавно на хабре появилась статья «Стилер паролей в антивирусном ПО Avira Free Antivirus» от пользователя Veliant. Автор обнаружил, что в стандартной поставке упомянутого антивируса присутствует компонент, который позволяет простым образом извлечь пароли из хранилища браузера Chrome.

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

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


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

                  Я посмотрел на профиль автора: «Работает в: Доктор Веб». А что если посмотреть, не используется ли в продуктах этой компании проверка, о которой говорит автор? Я решил посмотреть и, спойлер, нашел уязвимость, которая позволяет повысить свои привилегии до системных пользователю Dr.Web Security Space для Windows.
                  Читать дальше →
                • Малоизвестные CSS-свойства

                  • Translation
                  Существует много CSS-свойств, о которых некоторые дизайнеры просто не знают. Или — знают, но забывают использовать эти свойства там, где они способны принести большую пользу. Некоторые из этих свойств могут помочь отказаться от использования JavaScript ради достижения некоего результата, некоторые позволяют экономить время за счёт написания меньших объёмов CSS-кода. Я, занимаясь фронтенд-разработкой, постоянно натыкаюсь на подобные свойства. Однажды я подумал о том, чтобы взять и составить список CSS-свойств, интересных, но используемых редко. Так и родилась эта статья.

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


                  Читать дальше →
                • Использование методов анализа графов для поиска аномалий

                  • Translation
                  Несмотря на то, что описание данных с помощью графов практикуется еще с позапрошлого столетия, использование их в решении повседневных задач по анализу данных лишь набирает обороты. Хотя основное внимание уделяется, как водится, графовым эмбеддингам и сверточным сетям, маленькие шаги предпринимаются и в алгоритмах по поиску аномалий или антифроде. Основная обзорная статья, на которую ссылается большинство специалистов в своих в докладах и публикациях, — Graph based anomaly detection and description: a survey от авторов Leman Akoglu, Hanghang Tong, Danai Koutra (Akoglu, 2015). Мы в CleverDATA решили рассказать Хабру об этом практически единственном материале по теме и предлагаем вашему вниманию его саммари.

                  Первый граф Российского царства Борис Петрович Шереметев. Аномалий не обнаружено.
                  Читать дальше →
                  • +34
                  • 3.4k
                  • 2
                • Насколько современные Линуксы отличаются друг от друга

                    Более 15 лет я работаю в компании Fast Reports и по роду своей деятельности мне часто приходится иметь дело с Linux, ведя поддержку одного из продуктов. С Linux я знаком несколько дольше — впервые установил Slackware в 1997 году. Соответственно, обладая некоторым опытом, хочу поделиться с вами мнением, чем, на мой взгляд, современные дистрибутивы Linux отличаются друг от друга. Всё описанное в статье является субъективным мнением и не претендует на абсолютную истину.
                    Читать дальше →
                  • TED: Как устроено цифровое правительство Эстонии

                    • Translation
                    image

                    Я из Эстонии, и мы декларируем налоги онлайн с 2001 года. Мы используем цифровую идентификацию и подпись с 2002 года. Мы голосуем онлайн с 2005 года. На сегодня у нас бóльший спектр государственных услуг чем вы можете представить: образование, полиция, правосудие, основание компаний, подача заявок на пособия, поиск вашей медицинской карты или оспаривание парковочного талона — это всё делается онлайн. Проще сказать вам, какие три вещи мы всё ещё не можем сделать онлайн. Мы должны прийти, чтобы получить удостоверение личности, чтобы вступить в брак или развестись, или продать недвижимость. Вот и всё. Я не схожу с ума, когда говорю вам, что каждый год я не могу дождаться, чтобы начать заполнять свою налоговую декларацию.

                    Поскольку всё, что мне нужно сделать, — это, сидя на диване с мобильным телефоном, пролистать несколько страниц с уже готовыми данными по доходам и вычетам и нажать на «Подтвердить». Через три минуты я уже вижу сумму налоговых возвратов. Это очень приятное чувство. Ни налоговых консультантов, ни сбора квитанций, никаких подсчётов. Я в глаза не видела государственную канцелярию около семи лет.

                    Цель поста — обсудить систему электронного правительства с точки зрения разработки и внедрения


                    Собираем think tank на тему governmet as a service в телеграм-канале @GaaS
                    Читать дальше →
                  • Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

                    • Tutorial

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


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


                    Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

                    Читать дальше →
                  • Математические расчёты, стоящие за феноменом роллинг-шаттера

                    • Translation
                    image

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

                    Многие современные цифровые камеры используют КМОП-матрицу в качестве своего «чувствительного» устройства, также известную как активный датчик пикселей, который работает путем накопления электронного заряда при падении на него света. По истечении определенного времени – времени экспозиции – заряд построчно перемещается обратно в камеру для дальнейшей обработки. После этого камера сканирует изображение, построчно сохраняя ряды пикселей. Изображение будет искажено, если во время съемки присутствовало хоть какое-то движение. Для иллюстрации представьте съемку вращающегося пропеллера. В анимациях ниже красная линия соответствует текущему положению считывания, и пропеллер продолжает вращаться по мере считывания. Часть под красной линией – это полученное изображение.

                    Первый пропеллер совершает 1/10 оборота во время экспозиции:

                    image


                    Подписывайтесь на каналы:
                    @Ontol — самые интересные тексты/видео всех времен и народов, влияющие на картину мира
                    @META LEARNING — где я делюсь своими самыми полезными находками про образование и роль ИТ/игр в образовании (а так же мыслями на эту тему Антона Макаренко, Сеймура Пейперта, Пола Грэма, Джозефа Ликлайдера, Алана Кея)

                    Читать дальше →
                  • Эх, айти, куда ж ты котишься? 

                      Ну что, Хабр, прошло полгода какого-то очень неприятного 2020, до конца десятилетия ещё чуть-чуть — и уже сегодня я могу сказать: это десятилетие прежде всего стало золотым веком IT-сферы. Накопленный опыт, новые эксперименты и крутое железо сделали своё дело. Казалось, что айти стало новым рок-н-роллом, но как-то быстро оно приблизилось к тому, чтобы стать новой попсой. Все хотят в айти, неважно кем: менеджерами всего и по всему, переводчиками, деврелами, пиарщиками, копирайтерами, ну и собственно программистами, тестировщиками, инженерами. А отрасль тем временем сильно видоизменяется. Предлагаю вам поговорить о нас, о нашем айти и о том, куда всё катится. 

                      Читать дальше →
                    • Как мы судились с банком ВТБ за закрытие счёта

                        Законы у нас оказывается не имеют прямого действия. ЭЦП не полноценная ЭЦП. 63-ФЗ, 115-ФЗ и инструкции Банка России легко противоречат законам ГК РФ. И данное решение суда фактически ставит крест на рассмотрении судом переписки, подлинность которой обе стороны не отрицают. То есть можно теперь в суде сказать: «ну мало ли что там в переписке, а должно быть ещё соглашение с перечнем операций, которые будут иметь силу, а ещё вот инструкцией или письмом такого-то ведомства требуется...».

                        image
                        Читать дальше →
                      • YT: зачем Яндексу своя MapReduce-система и как она устроена

                          В течение последних шести лет в Яндексе идет работа над системой под кодовым называнием YT (по-русски мы называем её «Ыть»). Это основная платформа для хранения и обработки больших объемов данных — мы уже о ней рассказывали на YaC 2013. С тех пор она продолжала развиваться. Сегодня я расскажу о том, с чего началась разработка YT, что нового в ней появилось и что ещё мы планируем сделать в ближайшее время.



                          Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и ClickHouse. На встрече мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.

                          Какую задачу мы решаем?


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

                          Читать дальше →
                        • Байесовская нейронная сеть — теперь апельсиновая (часть 2)

                            Как вы думаете, чего в апельсине больше — кожуры, или, хм, апельсина?



                            Предлагаю, если есть возможность, пойти на кухню, взять апельсин, очистить и проверить. Если лень или нет под рукой — воспользуемся скучной математикой: объем шара мы помним из школы. Пусть, скажем, толщина кожуры равна от радиуса, тогда , ; вычтем одно из другого, поделим объем кожуры на объем апельсина… получается, что кожуры что-то около 16%. Не так уж мало, кстати.

                            Как насчет апельсина в тысячемерном пространстве?

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

                            • во-первых, в тысячемерном гиперапельсине кожуры больше, чем мякоти
                            • а во-вторых, ее больше примерно в 246993291800602563115535632700000000000000 раз

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

                            Начнем с этого, пожалуй.

                            Читать дальше →
                          • Мечтают ли разрабы о космонавтике, норм ли Восточный, почему Маск обязан Рогозину // Мы обречены #9 — Виталий Егоров



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

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

                              Мы позвали обсудить все это на подкасте Виталия Егорова Zelenyikot. Ниже — его монологи обо всем, что связано с современным космосом.
                              Читать дальше →
                            • Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров

                              • Translation
                              Snake and flowers 2 by pikaole

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

                              Команда Mail.ru Cloud Solutions перевела статью разработчика, который не раз попадал в такую ситуацию и на основе своего опыта составил список из 53 вопросов и ответов для подготовки к собеседованию. Большинство исследователей данных пишут много кода, поэтому такой список пригодится и дата-сайентистам, и инженерам. Он будет полезен и для соискателей, и для тех, кто проводит собеседования, и для тех, кто просто изучает Python.

                              Вопросы идут в случайном порядке. Поехали.
                              Читать дальше →