• У Steam довольно любопытный способ логина

    • Перевод
    image

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

    Выявляем очевидное


    Я нашёл на StackOverflow датированный 2013 годом вопрос о том, как безопасно передавать пароль по HTTP. Ответы оказались достаточно единодушными: надо получить сертификат SSL. Проведите эксперимент: настройте любимый прокси перехвата трафика, зайдите в сервис, которым вы часто пользуетесь, выполните вход со своим аккаунтом (а лучше каким-нибудь одноразовым) и изучите результаты. С большой вероятностью вы увидите, что имя пользователя и пароль передаются в открытом виде в теле запроса HTTP. Единственная причина того, что это работает, заключается в том, что ваше соединение с сервером зашифровано при помощи TLS.
    Читать дальше →
  • Использование алгоритма Прима для генерации соединённых друг с другом пещер

    • Перевод


    Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями.

    Генерация идеального лабиринта



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

    Для понятности я привёл псевдокод, описывающий алгоритм Прима. Будет довольно просто приспособить его под любой язык программирования.
    Читать дальше →
    • +50
    • 7,7k
    • 5
  • Лучшие оптические иллюзии 2019

      Вокруг какой оси вращается фигура: вертикальной или горизонтальной?

      image


      Ломаем мозг на выходных.

      Есть маленький процент людей, которые видят реальность таковой, какая она на самом деле, а не такой какой она кажется. способны ли вы противостоять чарам 10 победителей всемирного конкурса оптических иллюзий 2019 года?

      Канал в телеграм Cognitive Illisions, где я буду делиться самыми вырвиглазными находками, как хакнуть мозг через восприятие.
      Читать дальше →
    • Взболтать, но не смешивать

        Все знают, что вода с маслом не смешивается.


        Кто помнит школьную физику, легко назовёт третью жидкость, не смешивающуюся с этими двумя: ртуть.


        Вопрос: а сколько всего известно взаимно нерастворимых жидкостей при условиях, близких к нормальным?


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


        Тогда вопрос №2: а сколько можно найти взаимно несмешиваемых жидкостей, которые не страшно принести домой, чтобы показать демку детям?


        Мне удалось собрать пять. Собственно, их сливанием вот в эту пробирку мы в статье и займёмся.



        Поехали?

        Читать дальше →
      • [Конкурс завершён] Помогите написать лор для Flipper Zero



          Обновлено 24 декабря: конкурс завершён! Перейти к результатам.


          Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9]

          Лор (от англ. Lore) — это история вселенной игры, описывающая почему события и персонажи в игре именно такие, что происходило до момента, когда игрок познакомился с персонажами. Это важно для игрового дизайна, как фундамент, на который опираются все истории.

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

          Чтобы качественно прописать персонажа, мы просим сообщество помочь придумать предысторию дельфина. Лучшую историю мы опубликуем на сайте с указанием авторства, а автор получит Флиппер в подарок. На основе этой истории будут составлены все реплики, игры и анимации персонажа.

          В статье рассказывается как принять участие в конкурсе по описанию вселенной Флиппера.
          Читать дальше →
        • Они вам не мимими. Научный взгляд на мемы с котиками и наш новый стикерпак для «ТехноТекста»

            Как говорится, «ничего не предвещало». Мы просто решили создать забавный стикерпак с нашим мемом-маскотом Хабраслизнем в поддержку конкурса «ТехноТекст-2020». Потом поняли, что нужно как-то представить его публике — и кому-то пришла в голову идея разобраться в том, что, собственно, представляют собой мемы как таковые.

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

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

            Если интересно — добро пожаловать под кат
            • +38
            • 3,2k
            • 8
          • Ретроспектива разработки интерфейса листа персонажа



            Близится 2021 год, а значит, минуло почти 4 года с момента, когда я присоединился к разработке Pathfinder:Kingmaker в качестве разработчика интерфейсов. За это время игра превратилась из маленького прототипа с минимальным функционалом в огромную, сложную систему. Игра пережила релиз, год активного багофикса и поддержки DLC, а также портирование на консоль. И теперь, когда разработку этого проекта можно считать завершенной, пришло время оглянуться и попробовать собрать ретроспективу того, как проектировались и создавались интерфейсы.


            Я решил начать с основного, на мой взгляд, интерфейса игры, с листа персонажа.
            Много текста и картинок
          • Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть


              Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


              Небольшая часть урожая


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


              Сегодня в меню


              1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
              2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
              3. Питание растения как алгоритм
              4. Как быстро собрать прототип гидропонной установки
              5. Что такое capsicum chinense и как выжить при дегустации
              Читать дальше →
            • Новая технология, позволившая CD Projekt Red создать реалистичную речь персонажей Cyberpunk 2077

              • Перевод

              Пиф Эдвардс: Меня зовут Пиф Эдвардс (Pif Edwards), я докторант Торонтского университета и сооснователь JALI Research. В этой презентации мы расскажем о том, как применили в Cyberpunk 2077 результаты своей статьи, опубликованной в 2016 году.

              Крис Ландрет: Привет, меня зовут Крис Ландрет (Chris Landreth), я аниматор и разработчик ПО, а также один из основателей JALI Research Inc.

              Матош Поплавски: Привет, меня зовут Матош Поплавски (Matosh Popławski), я ведущий технический директор по работе с персонажами в CD Project Red, приветствую вас в нашей презентации с SIGGraph.

              После завершения работы над Witcher 3 у нас уже была довольно неплохая система синхронизации движения губ (lipsync). Мы задались вопросом: как можно сделать её лучше, как повысить качество, не тратя сотни часов на создание анимаций? Было решено, что липсинк Cyberpunk 2077 должен быть лучше, чем в Witcher 3; также мы хотели добавить управляемую мышцами систему эмоций. Эта система должна использоваться во всём открытом мире игры и в каждом персонаже. Кроме того, нам требовалась поддержка нескольких языков, а конкретно десяти.
              Читать дальше →
              • +23
              • 9,8k
              • 8
            • Цвет в современных фильмах


              Всем привет, меня зовут Денис. Я работаю художником по свету (Lighting Artist) в игровой индустрии. Часто читаю Хабр просто потому что интересно и вот сегодня увидел статью Дефицит цветов в современных фильмах которая меня немного ошарашила. Ведь в кино существуют целые отделы композитинга, которые занимаются цветокоррекцией изображения, чтобы конечный результат выглядел красиво, а также вызывал определённые эмоции. Поэтому меня сильно удивило, что кто-то видит в этом отрицательную сторону.

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

              Давайте разбираться, почему же в кино цветовая палитра сводится к нескольким конкретным цветам, а не представляет полный спектр. Хочу заметить, что всё нижеупомянутое применимо и к современным играм.
              Читать дальше →
            • Рудиментарные дела. Кого, чему, зачем и что не нужно

                Если вы поймаете школьника и тряхнете его как следует с вопросом, что такое рудиментарный орган, он вам, скорее всего, ответит, что это что-то ненужное. Если перед вами советский школьник, то мне хочется верить, что ответ будет полнее - вам расскажут, что “рудиментарный” значит орган, утративший свое значение в процессе эволюции, от латинского “rudimentum” — зачаток, первооснова. Потом вы, наверное, получите леща от образованного взрослого мужчины, но это детали.

                Как бы то ни было, большинство статей о рудиментах начинаются с самых очевидных примеров. Один из популярных, в духе нашего времени, в пятой точке - копчик. Утраченный хвост. Первое, что приходит на ум воспаленному воображению SV, это милая японская школьница с декоративным хвостиком и в варежках-лапках. Но жизнь она не такая. На самом деле у всех млекопитающих есть хвост, но только в какой-то момент их развития. Конкретно в организме человека он присутствует на стадиях эмбриогенеза с 14 по 22 - это с 33й по 51й дни развития плода. А те, у кого он не редуцируется по мере созревания, внешне настолько далеки от милоты, что предпочитают удаление.

                Читать далее
              • Топ IT-книг прошлого века, которые актуальны до сих пор

                  «Физические законы — это не Python, их не изменить в новых версиях, то есть материал в книге (по электронике) будет актуален всегда».
                  ne555, из комментариев на Хабре

                  image

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

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

                  Вдохновившись историей «второго рождения» учебника по электронике 1979 года (а точнее, комментариями к ней), мы решили собрать для вас подборку книг по электронике, которым в 2020 году исполнилось от 25 до 69 лет, но которые при этом не утратили своей актуальности. А чтобы не ограничиваться собственными нейтрально-редакторскими вводными, мы попросили прокомментировать эту подборку победителя «ТехноТекста-2019» в номинации «Научно-популярное», старожила Хабра, разработчика интегральных микросхем для космоса и потомственного инженера Валерия Шункова aka @amartology.

                  Осторожно: прочтение книг из этой подборки может вызвать острое желание взяться за паяльник. Вдохновляйтесь, творите и делитесь своим опытом с Хабром, ведь именно по просьбе сообщества мы добавили в список номинаций «ТехноТекста-2020» новую — «Железо и его разработка».
                  Читать дальше →
                • Что покупать для глубокого обучения: личный опыт и советы использования GPU

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

                  Глубокое обучение (ГО) – область с повышенными запросами к вычислительным мощностям, поэтому ваш выбор GPU фундаментально определит ваш опыт в этой области. Но какие свойства важно учесть, если вы покупаете новый GPU? Память, ядра, тензорные ядра? Как сделать лучший выбор по соотношению цены и качества? В данной статье я подробно разберу все эти вопросы, распространённые заблуждения, дам вам интуитивное представление о GPU а также несколько советов, которые помогут вам сделать правильный выбор.

                  Статья написана так, чтобы дать вам несколько разных уровней понимания GPU, в т.ч. новой серии Ampere от NVIDIA. У вас есть выбор:

                  1. Если вам не интересны детали работы GPU, что именно делает GPU быстрым, чего уникального есть в новых GPU серии NVIDIA RTX 30 Ampere – можете пропустить начало статьи, вплоть до графиков по быстродействию и быстродействию на $1 стоимости, а также раздела рекомендаций. Это ядро данной статьи и наиболее ценное содержимое.
                  2. Если вас интересуют конкретные вопросы, то наиболее частые из них я осветил в последней части статьи.
                  3. Если вам нужно глубокое понимание того, как работают GPU и тензорные ядра, лучше всего будет прочесть статью от начала и до конца. В зависимости от ваших знаний по конкретным предметам вы можете пропустить главу-другую.

                  Каждая секция предваряется небольшим резюме, которое поможет вам решить, читать её целиком или нет.
                  Читать дальше →
                • Разработка hexapod с нуля (часть 9) — завершение версии 1.00


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

                    Этапы разработки:

                    Часть 1 — проектирование
                    Часть 2 — сборка
                    Часть 3 — кинематика
                    Часть 4 — математика траекторий и последовательности
                    Часть 5 — электроника
                    Часть 6 — переход на 3D печать
                    Часть 7 — новый корпус, прикладное ПО и протоколы общения
                    Часть 8 — улучшенная математика передвижения
                    Часть 9 — завершение версии 1.00
                    Читать дальше →
                  • Как я делаю цифровую минигитару

                      image

                      В этой статье я постараюсь в общих чертах описать путь создания девайса от идеи до реализации юзабельного прототипа.

                      Меня зовут Дмитрий Дударев. Я занимаюсь разработкой электроники и очень люблю создавать различные портативные девайсы. Еще я люблю музыку. Полгода назад я взял у друга акустическую гитару чтобы попытаться научиться на ней играть по урокам из ютуба и табулатурам. Было тяжело. То ли я неправильно что-то делал, то ли плохо старался, то ли в обществе моих предков мелкая моторика вредила размножению. В любом случае, ничего кроме звуков дребезжащих струн у меня не выходило. Мое негодование усиливала постоянная расстройка струн. Да и окружающим тысячный раз слушать мою кривую Nothing else matters удовольствия не доставляло.

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

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


                        Детали перед сборкой
                        Читать дальше →
                      • 44.2 Тб/с по оптоволокну — как это работает?

                          22 мая 2020 в Nature Communications была опубликована статья учёных, представляющих исследовательские и научные заведения Австралии, Китая и Канады, под названием "Ultra-dense optical data transmission over standard fibre with a single chip source".


                          Естественно, такой заголовок не подошел для широкой аудитории, потому в новостях все писали о 44.2 Тб/с — результате, которого удалось достичь (некоторые не дочитали и в заголовках появились ТБ/с, но правильное значение — терабиты/с). Давайте вместе разберёмся, как же это сделали и о чём на самом деле написали исследователи.


                          Начнём!

                          Узнать о новых достижениях науки
                        • SD Express: стандарт SD 8.0 & PCIe 4.0. Что это и зачем?

                            19 мая 2020 организация SD Association анонсировала стандарт SD 8.0 для SD Express карт. Как обычно, всё новое — это лучше, быстрее, с PCIe 4.0 и поддерживает обратную совместимость. Давайте разберёмся, что же нас ждёт в этом достаточно популярном виде карт памяти в ближайшее (или, как обычно, не настолько ближайшее) время.


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


                            Начнём!

                            Узнать, что же там, в этих SD Express
                            • +12
                            • 3,7k
                            • 3
                          • Коды step-by-step: Aztec Code

                            • Tutorial

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


                            Один из таких кодов показан слева от данного текста. Конечно, можно просто взять телефон, открыть специальное приложение для чтения кодов и просто "прочитать" его. А вот если вам интересно, как эти коды записываются, читаются и какую информацию могут содержать, то добро пожаловать под кат.


                            Aztec Code — следующий в списке кодов, о которых я хочу вам рассказать во всех подробностях. Начнём.


                            Внимание, под катом — 8 изображений общим размером в 0.8 МБ, 5 таблиц и немного формул.

                            Да, мне интересно узнать больше о кодах
                            • +19
                            • 5,5k
                            • 2
                          • История потоковых мультипроцессоров Nvidia

                            • Перевод

                            Последние выходные я потратил на освоение программирования CUDA и SIMT. Это плодотворно проведённое время закончилось почти 700-кратным ускорением моего «рейтрейсера на визитке» [1] — с 101 секунд до 150 мс.

                            Такой приятный опыт стал хорошим предлогом для дальнейшего изучения темы и эволюции архитектуры Nvidia. Благодаря огромному объёму документации, опубликованному за долгие годы «зелёной» командой, мне удалось вернуться назад во времени и вкратце пройтись по удивительной эволюции её потоковых мультипроцессоров.

                            В этой статье мы рассмотрим:

                            Год    Поколение       Серия      Кристалл    Техпроцесс      Самая мощная карта
                            ===========================================================================
                            2006    Tesla      GeForce 8          G80        90 nm             8800 GTX 
                            2010    Fermi      GeForce 400      GF100        40 nm              GTX 480
                            2012    Kepler     GeForce 600      GK104        28 nm              GTX 680
                            2014    Maxwell    GeForce 900      GM204        28 nm          GTX  980 Ti
                            2016    Pascal     GeForce 10       GP102        16 nm          GTX 1080 Ti
                            2018    Turing     GeForce 20       TU102        12 nm          RTX 2080 Ti

                            Тупик


                            Вплоть до 2006 года архитектура GPU компании NVidia коррелировала с логическими этапами API рендеринга[2]. GeForce 7900 GTX, управлявшаяся кристаллом G71, состояла из трёх частей, занимавшихся обработкой вершин (8 блоков), генерацией фрагментов (24 блоков), и объединением фрагментов (16 блоков).


                            Кристалл G71. Обратите внимание на оптимизацию Z-Cull, отбрасывающую фрагмент, не прошедший бы Z-тест.

                            Эта корреляция заставила проектировщиков угадывать расположение «узких места» конвейера для правильной балансировки каждого из слоёв. С появлением в DirectX 10 ещё одного этапа — геометрического шейдера, инженеры Nvidia столкнулись со сложной задачей балансировки кристалла без знания того, насколько активно будет использоваться этот этап. Настало время для перемен.
                            Читать дальше →
                            • +24
                            • 8,6k
                            • 3