Представьте, что в софте, веб‑сервисах и фильмах внезапно пропали бы все пасхалки. Что случилось бы с миром тогда? Кажется, что ничего. Разве что он стал бы чуть‑чуть менее смешным. Или нет? Давайте поговорим о том, почему возникли пасхалки, есть ли от них польза или вред.

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

Наверное, мало кто будет спорить, что скрытые послания в ПО, музыкальных альбомах, компьютерных играх интригуют и пробуждают любопытство, поднимают настроение и вызывают желание найти ещё что‑нибудь эдакое. И ведь находят! Например, скрытый глубоко в недрах macOS PDF‑документ от создателя биткоина Сатоши Накамото.

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

Год назад мы делились с вами небольшой подборкой относительно свежих пасхалок. А первой же в истории считают скрытое посление в компьютерной игре Adventure, вышедшей в 1979 году. Однако есть расследование, которое доказывает, что первое пасхальное яйцо было заложено в текстовый редактор TECO аж в 1968 году.

Секрет был в том, что пользователи могли создать новый файл TECO, набрав «MAKE», а затем имя файла, состоящее из одного слова. Но если ввести «MAKE LOVE», компьютер радовал ответом «NO WAR» — отсылка к популярному антивоенному лозунгу того времени. Подробнее эта история описана здесь.

Зачем вообще нужны пасхалки

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

Например, пасхалка, созданная программистом Atari Уорреном Робинеттом в видеоигре Atari 2600 Adventure, появилась благодаря его желанию получить признание за трудную работу. Как рассказывал Уоррен, они были ботаниками, которых ни во что не ставили, но от которых требовали многого. Владельцы компании делали всё, чтобы не дать разработчикам игр хоть какое‑то влияние, поэтому что тогда им пришлось бы больше платить.

Знаменитое пасхальное яйцо Adventure отдает должное создателю игры
Знаменитое пасхальное яйцо Adventure отдает должное создателю игры

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

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

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

Есть и другая мотивация создания скрытых посланий — поощрение поклонников. Например, неанонсированная песня The Beatles «Her Majesty», написанная Полом Маккартни. Она идёт через 14 секунд после последнего трека в альбоме и изначально отсутствовала на обложке. Согласитесь, приятно обнаружить такой бонус от любимого исполнителя.

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

Вредны ли пасхалки

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

Но давайте посмотрим на это развлечение с другой стороны.

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

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

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

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

Впрочем, это не значит, что пасхалки в Windows пропали. В прошлом году стало известно, что если вы удерживаете курсор мыши на шестерёнке в Блокноте, то вы можете заставить её вращаться. Уволили ли кого-то за это? Мне неизвестно.

Заключение

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


Что ещё интересного есть в блоге Cloud4Y

→ Информационная безопасность и глупость: необычные примеры

→ NAS за шапку сухарей

→ Взлом Hyundai Tucson, часть 1часть 2

→ Столетний язык программирования — какой он

→ 50 самых интересных клавиатур из частной коллекции

Комментарии (4)


  1. FanatPHP
    25.04.2023 09:37
    +7

    Этот пост открывает новую страницу в корпоративном спаме.
    Я долго пытался понять, о чем эта статья, и зачем она вообще здесь, но после того как сходил в первоисточник, то всё стало понятно. Оригинал этого "перевода" в 10 раз больше.


    То есть, новый рецепт корпоративной халтуры:


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


    1. Cloud4Y Автор
      25.04.2023 09:37
      -2

      Обычное поведение "человека вечнонедовольного":

      • заходим в любую статью

      • находим, что не нравится

      • гиперболизируем

      • Профит!

      P.S. Хотя казалось бы, отжали воду из исходника, дали поясняющие ссылки, привели примеры с Хабра. Но нет, мы плохие. Впрочем, вы в своём праве.


      1. Hungryee
        25.04.2023 09:37
        +5

        Ваше описание имеет смысл, когда вы изначально не говно написали.

        А вы написали говно. Интересное, но незаконченное говно. Читатель к вашему концу только разгоняется в прочтении, желает увидеть дальнейшие примеры пасхалок, а вы его обухом по голове со своим «Собственно, никаких выводов делать не буду.».

        Нашли интересную зарубежную статью - напишите твит в 20 символов в новый раздел «Посты», включив ссылку, больше пользы будет


  1. Vsevolord
    25.04.2023 09:37

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