• Как проходить кибер испытания на «Checkpoint» 2 часть

    • Tutorial
    Привет всем, я Никита Куртин, куратор израильской высшей школы IT и безопасности HackerU.

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

    Для тех, кто пропустил первый пост расскажу, этим летом Checkpoint, опубликовала серию кибер испытаний.
    Челлендж официально завершился к концу сентября 2018-го.

    Задачи поделили на шесть категорий:

    • Logic
    • Web
    • Programming
    • Networking
    • Reversing
    • Surprise

    По две задачки на каждое направление. Как я уже писал, Checkpoint до этого уже успел завоевать уважение и интерес с мой стороны, поэтому я решил принять эти вызовы. Однако ввиду занятости, смог позволить себе взяться лишь за 8 из 12 заданий (из четырёх разных категорий). И решить мне удалось 7 из них.

    И так:

    Челлендж: «Пазл»

    Описание:

    Наконец-то мы тебя нашли!
    Читать дальше →
  • Как проходить кибер испытания на «Checkpoint»

    • Tutorial
    Привет всем, я Никита Куртин, куратор израильской высшей школы IT и безопасности HackerU

    Этим летом ведущая израильская компания в области информационной безопасности Checkpoint, опубликовала серию кибер испытаний.

    Задачи поделили на шесть категорий:

    • Logic
    • Web
    • Programming
    • Networking
    • Reversing
    • Surprise

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

    Checkpoint до этого уже успел завоевать уважение и интерес с мой стороны, поэтому я решил принять эти вызовы. Однако ввиду занятости, смог позволить себе взяться лишь за 8 из 12 заданий (из четырёх разных категорий). И решить мне удалось 7 из них.

    Челлендж официально завершился к концу сентября 2018-го.

    image

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

    • Логический челлендж «PNG++»
    • Web челлендж «Роботы возвращаются»
    • Web челлендж «Галерея Диего»
    • Задача на программирование «Осторожные шаги»
    • Задача на программирование «Пазл»
    • Нетворкинг челлендж «Пинг Понг»
    • Нетворкинг челлендж «Протокол»

    Челлендж: PNG++

    Описание:

    Это (ссылка на зашифрованный файл PNG) изображение было закодировано с использованием пользовательского шифра.

    Нам удалось считать большую часть этого кода здесь (ссылка на python код).
    К несчастью, кто-то нерасторопный пролил кофе на весь key_transformator.py.
    Читать дальше →
  • Разминки с Прологом

      Путешественники, привет.


      Если вы это читаете предлагаю продолжение того "занимательного" материала, который я писал перед этим. Если вы немного проследили за мыслью, которая изветвилась в три статьи, а основной то посыл — был, только в том, чтобы показать интерес к декларативному подходу. Он почему то не велик, как будто эСКюэЛ не стал общедоступным и обязательным, ведь без него невозможно подумать, а как можно обработать данные иначе. Правда, ведь лучше сформулировать задачу и не заботиться о том, во что это воплощается.


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


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


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


      Хватит вызывать заинтересованность, начинаю...

      Читать дальше →
      • +16
      • 2,9k
      • 4
    • Занимательный пролог #2

        Привет, сообщество разработчиков, надо довести дело до конца.


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


        Попробую продолжить выпендриваться демонстрировать.


        Коротко напомню задачу:


        Wildcard Matching

        Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and ''.
        '?' Matches any single character.
        '
        ' Matches any sequence of characters (including the empty sequence).
        The matching should cover the entire input string (not partial).


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


        Хардкорно я получил от него 66 и проверил свое решение — пока все работало. Но не может быть все так просто.


        Зачем было делать так много тестов, хочу проверить дальше...


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


        Итак, выбираю Питон.

        Читать дальше →
      • Занимательный пролог

        Привет, жители, пришло время поговорить про декларативное программирование. Это когда вам в институте втирали, что программы можно не кодить, а формулировать. Это противоположность императивности, которая сейчас во всех языках программирования. Отдадим должное функциональному подходу, он тут братский, и дело свое делает все глубже проникая в современность, вот вам и лямбды в си++ и яваскрипты, может хаскел?


        Но грустнее дело обстоит с логическим, продукционным программированием, которое можно представить только на Prolog.


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


        Итого цель статьи: решить во время написания статьи задачу, которая была еще не известна на начало поста и показать свой код мысли, подтвердив это ходом и полученным рабочим решением. Но для этой проверки нужен арбитр, сам себя не рецензируешь-то. Выберу в этой роли leetcode.com.


        1. Итак


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


        2. Задача 44. Wildcard Matching

        Читать дальше →
      • Так ли хороши джуны?

          Преамбулка


          Эта статья является анализом другой статьи: Если вы не нанимаете джунов, то не заслуживаете сеньоров


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


          Я оставил по возможности оригинальное оформление, а свои комментарии отметил отдельно.


          Ну и желтый заголовок тоже оставил, немного видоизменив.


          Поехали.

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

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

          Хочу поделиться своей историей знакомства с игровой платформой Gameduino 3, а также немного расскажу о программировании простейшей логической игры под данную платформу, используемой совместно с Arduino Uno.

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

          Немного истории


          Автором проекта под названием Gameduino является Джеймс Боуман (James Bowman), который в 2011 году создал первую версию платы. Тогда она позиционировалась как модуль VGA для Arduino. Плата называлась Gameduino и была выполнена на основе программируемой логической матрицы FPGA компании Xilinx семейства Spartan-3A. На плате были установлены разъемы для подключения VGA монитора и стерео акустики.image
          Читать дальше →
          • +28
          • 7,3k
          • 1
        • Dagaz: Из тумана

            imageВсе это плутни королевы Маб.
            Она в конюшнях гривы заплетает
            И волосы сбивает колтуном…

            Вильям Шекспир


            Это был долгий релиз, но и сделано было немало. Появился session-manager, позволяющий откатывать ошибочно сделанные ходы. Кое где добавилось звуковое оформление. А ещё, я придумал прикольный способ, позволяющий затолкнуть несколько альтернативных вариантов начальной расстановки в одну игру. И самое главное — я наконец добрался до игр с неполной информацией.
            Читать дальше →
          • Dagaz: Орда

              imageМильоны — вас. Нас — тьмы, и тьмы, и тьмы.
              Попробуйте, сразитесь с нами!
              Да, скифы — мы! Да, азиаты — мы…
               
              Александр Блок "Скифы"


              В предыдущей статье я много рассказывал о своих находках в области дизайна и пользовательского интерфейса настольных игр, но тот рассказ пришлось прервать, можно сказать на середине, отчасти по причине большого объёма статьи, отчасти просто потому, что в тот момент я не был готов продолжать его дальше. С тех пор многое изменилось. Новые интересные задачки были решены, а породившие их (не менее интересные) игры были добавлены в релиз. Об этом я и хочу рассказать сегодня.
              Читать дальше →
              • +12
              • 2,2k
              • 2
            • Настолка для обучения основам электрических цепей. Почему бы и нет?



                Ранее я уже писал, как делал «электрический» конструктор из… картона. Увы проект пока так и остается на стадии прототипа, не перерастая в промышленный «физический» вид и ждет своего времени (и инвестора).

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

              Самое читаемое