• Загадочное происхождение настольной игры про взлом кодов Mastermind

    • Translation

    Она стала мировой сенсацией. Её использовали в Fallout. Она помогла созданию отрасли кибербезопасности. Но откуда же она взялась?

    «Это неинтересно», — думал Дэн Тейтел.

    В Fallout 3 есть куча компьютерных терминалов, и если игрок хотел взломать один из них, ему нужно было победить в мини-игре, абстрактно представляющей процесс хакинга. Тейтел, работавший в 2007 году программистом Fallout в компании Bethesda, отвечал за реализацию дизайна этой мини-игры, и он считал, что игроки её возненавидят. «В ней использовались появляющиеся на экране буквы и таймер обратного отсчёта — ещё одна мини-игра, которую геймеры бы назвали скучной и назойливой. Я не был гейм-дизайнером, но считал своим долгом каким-то образом усовершенствовать эту идею».

    Спустя несколько дней, по-прежнему не сумевший придумать ничего лучшего Тейтел получил электронное письмо от своего друга Боба. «Оно показалось мне потрясающим даром богов… я открыл письмо с сообщением „Привет, помнишь это?“ и ссылкой на онлайн-версию игры Mastermind».

    Тейтел был на седьмом небе от счастья. Mastermind станет интересной игрой.


    В этом году настольной игре Mastermind, посвящённой взлому кодов, исполняется 50 лет. Но на самом деле она старше, и никто не знает, насколько. Иронично то, что это игра про взлом кодов, источники происхождения обнаружить не удалось.
    Читать дальше →
  • Я есть root. Разбираемся в повышении привилегий ОS Linux

    • Tutorial

    Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказалось разобраться в механизмах повышения привилегий. Курс PWK уделяет этой теме большое внимание, однако методических материалов всегда недостаточно. В Интернете есть куча мануалов с полезными командами, но я не сторонник слепого следования рекомендациям без понимания, к чему это приведет.


    Мне хочется поделиться с вами тем, что удалось узнать за время подготовки и успешной сдачи экзамена (включая периодические набеги на Hack The Box). Я испытывал сильнейшее ощущение благодарности к каждой крупице информации, которая помогала мне пройти путь Try Harder более осознанно, сейчас мое время отдать должное комьюнити.


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


    Читать дальше →
  • Как добавить уведомления в реальном времени в Laravel с помощью Pusher

    • Translation
    Перевод статьи подготовлен специально для студентов курса «Framework Laravel».




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

    К счастью, с Laravel и Pusher реализация этого функционала довольно проста.

    Уведомления в реальном времени


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

    Лучшим подходом является использование возможностей WebSockets и получение уведомлений в момент их отправки. Это именно то, что мы собираемся реализовать в этой статье.
    Читать дальше →
  • Снегоходы, пиво и деривативы на погоду


      Хендрик Аверкамп. Сцена на льду. ок. 1615–1630 г. Музей Тейлора, Харлем.

      Канадская компания Bombardier, известная нам своими самолётами, помимо всего прочего производит и снегоходы. Собственно, со снегоходов всё и началось, когда в 30-е годы прошлого века Жозеф‑Арман Бомбардье разработал первые серийные образцы.

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

      Казалось бы, ничего не поделаешь. Погода — совершенно непредсказуемая штука, повлиять на которую не под силу ни самой Bombardier, ни тем более розничным покупателям. Остаётся только читать пугающие новости о глобальном потеплении и готовиться к тому, что дальше будет только хуже. На помощь пришла финансовая инновация, последний писк моды — деривативы на погоду, то есть контракты, платежи по которым зависят от метеоусловий.
      Читать дальше →
    • Backblaze — статистика жестких дисков за 2019

      • Translation


      На 31 декабря 2019 г. у нас 124 956 работающих жестких дисков. Из них 2 229 загрузочных и 122 658 с данными. В данном обзоре мы рассмотрим статистику по отказам среди жестких дисков с данными. Также рассмотрим 12 и 14 TB версии дисков и новые 16 TB, которые мы активно используем с начала четвертого квартала 2019 года.


      Статистика за 2019 год


      На конец 2019 года мы мониторили 122 658 жестких дисков, использующихся для хранения данных. Мы убрали из расчета диски, которые использовались для тестирования, и диски, у которых нет наработки ~5 000 диско-дней (на модель) в течение четвертого квартала. Таким образом, мы собрали данные на основе 122 507 жестких дисков. Таблица ниже отображает нашу статистику:

      Читать дальше →
    • FOSS News №2 — обзор новостей свободного и открытого ПО за 3-9 февраля 2020 года



        Всем привет!

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

        В выпуске №2 за 3-9 февраля 2020 г.:

        1. конференция FOSDEM 2020;
        2. код WireGuard войдёт в Linux;
        3. Canonical предоставляет дополнительные возможности для сертифицированных поставщиков оборудования;
        4. Dell анонсировал новую версию топового ультрабука на Ubuntu;
        5. проект TFC предлагает «параноидально» защищённую систему обмена сообщениями;
        6. суд поддержал разработчика, выступившего в защиту GPL;
        7. ведущий японский hardware вендор подключается к Open Invention Network;
        8. стартап привлёк 40 миллионов долларов инвестиций для упрощения доступа к облачным Open Source проектам;
        9. открыт исходный код платформы контроля за промышленным интернетом вещей;
        10. в ядре Linux решена проблема 2038-го года;
        11. ядро Linux получит возможность решить проблему разделённых блокировок;
        12. в чём венчурный капитал видит привлекательность Open Source;
        13. CTO IBM Watson заявил о критической необходимости Open Source для динамически растущей области «периферийных вычислений»;
        14. использование Open Source утилиты fio для оценки производительности дисков;
        15. обзор лучших открытых Ecommerce платформ в 2020;
        16. обзор FOSS решений для работы с кадрами.
        Читать дальше →
        • +17
        • 5.1k
        • 2
      • Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера?

        • Translation
        • Tutorial


        Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.


        Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.


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


        Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.

        Читать дальше →
      • Linux. Настройка клавиатуры

        Для чего вообще специально настраивать клавиатуру?


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


        Почему я захотел изменить свою клавиатуру?


        Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC. Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем :, а в vim разница стала более явной.


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

        Читать дальше →
      • Веб тренды 2020, которые стоит попробовать


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


          Расширяемость (Extensibility)


          Расширяемость это когда вы можете взять технологию и расширить ее для своих нужд. На протяжении нескольких лет мы используем компоненты повсюду, как в качестве разработки приложений (компоненты на React, Vue, Svelte) так и в качестве разработки дизайна (дизайн системы).


          На данный момент мы пытаемся сделать эти компоненты более уникальными и удобными для использования. Расширяемость в вебе позволяет нам использовать платформу (браузеры, html/css/js движки) для собственных нужд и экспериментов, разумеется для получения большей выгоды.

          Читать дальше →
          • +20
          • 20.2k
          • 4
        • Выявляем процессы с дисковой активностью в Linux

            TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
            В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

            Введение

            «Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
            Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

            После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
            19.7 ТБ.
            Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
            Читать дальше →
          • Методы наименьших квадратов: текст, написанный программистом для программистов

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

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


            Читать дальше →
          • BlessRNG или проверяем ГСЧ на честность



              В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределение).

              Тогда в детали углубляться не стали — хватило того, что переход на System.Random исправил все проблемы. Сейчас решили разобраться подробнее и провести небольшое исследование: насколько «предвзяты» или предсказуемы ГСЧ, и какой выбрать. Тем более, я не раз слышал противоречивые мнения об их «честности» — попробуем разобраться, как реальные результаты соотносятся с заявленными.
              Читать дальше →
            • Смотрим китайскую микросхему novatek NT78820

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

                Появилась идея посмотреть как устроена микросхема внутри и как её собрали друзья китайцы. Об этом и хочу рассказать и показать. Это может быть интересно и тем, кто работает в сфере корпусирования кристаллов или просто интересуется как выглядит ИМС внутри. Также хочется послушать мнение знающих в этой сфере людей.
                Читать дальше →
              • Почему топовые физики не любят многомировую интерпретацию

                Последнее время из каждого утюга слышатся хвалебные высказывания о многомировой интерпретации квантовой механики и негативные в сторону Копенгагенской. Вот, например, относительно недавняя статья на Хабре. Приверженцев идей отцов-основателей (Нильса Бора, Вернера Гейзенберга, Пола Дирака, Вольфганга Паули) теперь считают динозаврами, отказывающимися принять современную (1957 год) многомировую трактовку.

                Читать дальше →
              • Интеллектуальное реле управления вентилятором охлаждения двигателя

                  Прочитав пост mrsom о пересадке микроконтроллерной начинки в ретротахометр от Жигулей, решил рассказать об одной своей давней микроконтроллерной разработке (2006 год), сделанной для плавного управления электровентилятором охлаждения двигателей переднеприводных моделей ВАЗа.

                  image

                  Надо сказать, что на тот момент уже существовало немало разнообразных решений — от чисто аналоговых до микроконтроллерных, с той или иной степенью совершенства выполняющих нужную функцию. Одним из них был контроллер вентилятора компании Силычъ (то, что сейчас выглядит вот так, известной среди интересующихся своим автоматическим регулятором опережения зажигания, программно детектирующим детонационные стуки двигателя. Я некоторое время следил за форумом изготовителя этих устройств, пытаясь определить, чтов устройстве получилось хорошо, а что — не очень, и в результате решил разработать свое.
                  Читать дальше →
                • Современный метод измерения импульсной характеристики и нелинейных искажений

                  В 2000 году профессор Пармского университета Анджело Фарина предложил оригинальный метод одновременного измерения импульсной характеристики и нелинейных искажений с помощью гармонического сигнала экспоненциально изменяющейся частоты (далее ESS – exponential sine sweep).

                  Для получения этих характеристик необходимо записать воздействие ESS-сигнала на испытуемое устройство и найти взаимную корреляционную функцию записанного сигнала с исходным ESS-сигналом, но промодулированным по амплитуде (подробнее об этом можно узнать в публикациях А.Фарина).
                  Читать дальше →
                  • +23
                  • 4.1k
                  • 8
                • Эволюционирующие клеточные автоматы



                    Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

                    В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
                    Читать дальше →
                  • Роскомнадзор объяснил блокировку математического форума



                      Роскомнадзор объяснил причины, по которым он заблокировал доступ к крупнейшему математическом форуму artofproblemsolving.com, который называют лучшим в англоязычном интернете форумом по олимпиадной математике. Как и предполагалось, форум заблокирован по ошибке, поскольку размещается на том же IP-адресе, что и другой заблокированный ресурс. В свою очередь, последний внесён в реестр запрещённой информации решением Таганского районного суда г. Москвы:

                      «Доступ к указанному вами ресурсу artofproblemsolving.com не ограничивается и не ограничивался в рамках исполнения требований статей 15.1–15.6-1, 15.8 федерального закона от 27.07.2006 года №149-ФЗ "Об информации, информационных технологиях и о защите информации"», — сообщил пресс-секретарь федеральной службы Вадим Ампелонский. «Вместе с тем 45.56.124.84 доступ к IP-адресу, на котором в том числе размещается вышеуказанный интернет-ресурс, ограничивается на территории Российской Федерации в рамках положений федерального закона №149-ФЗ на основании решения Таганского районного суда г. Москвы от 13.04.2018 №2-1779/2018 и на основании требования Генеральной прокуратуры Российской Федерации от 16.04.2018 №31.27.2018/Ид2971-18», — добавил пресс-секретарь.
                      Читать дальше →
                    • Случайные поверхности скрывают в себе замысловатый порядок

                      • Translation

                      Математики доказали, что случайный процесс в применении к случайной поверхности неизменно порождает определённые закономерности



                      В оригинале статьи это трёхмерное изображение, которое можно покрутить

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

                      Подобная идея – что важнейшую информацию можно раскрыть только при точном совпадении определённых обстоятельств – встречается во многих мифах. Встречается она и в математике, иногда в неожиданных ситуациях. Вот теперь три математика доказали, что если очень точно настроить определённый тип случайности, то на свет появляются замысловатые геометрические фигуры – будто карта с кладом на обычном полу.
                      Читать дальше →
                      • +16
                      • 7.3k
                      • 9
                    • Sampler. Консольная утилита для визуализации результата любых shell команд

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


                        Sampler


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


                        Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

                        Читать дальше →