Пасхальные яйца к Пасхе

    Скоро пасха, время искать яйца, да не простые, а программные. И мы нашли их.

    Python


    Введите в REPL import __hello__ или import __phello__, и вы увидите:

    >>> import __hello__
    Hello world...
    >>> import __phello__
    Hello world...
    


    Чтобы полюбоваться еще раз, используйте reload(__hello__).
    Ещё одна небольшая забава:

    >>> from __future__ import braces
      File "<stdin>", line 1
    SyntaxError: not a chance
    


    Есть в Python модуль, носящий название antigravity. Вызовите его аналогичной командой import antigravity, и в браузере откроется комикс с ресурса XKCD: xkcd.ru/353

    Главная духовная пасхалка Python — скрытое сообщение под названием The Zen of Python. Введите в REPL import this и вы увидите послание авторства Тима Питерса (Tim Peters).

    Попробуйте поговорить с Python о любви. Хоть это и не пасхальное яйцо, зато смысл получается очень глубокий:

    >>> love=this
    >>> this is love
    True
    >>> love is True
    False
    >>> 
    >>> love is False
    False
    >>> 
    >>> love is not True or False; love is love
    True
    True
    >>> 
    


    PHP


    Большинство секретов, спрятанных в PHP, вызывается с помощью добавления сигнатур к запросу php-файла. К условной странице index.php добавьте ‘?=’ и следующие сигнатуры:
    PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 — здесь вы увидите разработчиков PHP;
    PHPE9568F36-D428-11d2-A769-00AA001ACF42 — может отражаться одна из шести возможных картинок в зависимости от версии PHP:



    Юмор разработчиков заключается и в том, что логотип, генерируемый функцией php_logo_guid() раз в год, а точнее 1 апреля, автоматически заменяется на один из вышеуказанных. Идём дальше:
    PHPE9568F34-D428-11d2-A769-00AA001ACF42 — «правильный» логотип PHP;



    PHPE9568F35-D428-11d2-A769-00AA001ACF42 — логотип Zend;



    Если у вас что-то не отображается или вы полагаете, что это обман, то частичнон подтверждение работоспособности алгоритма можете найти здесь: github.com/php/php-src/blob/master/ext/standard/info.h в строках 54–56.
    С расширением Suhosin будет работать ещё и следующая сигнатура:
    SUHO8567F54-D428-14d2-A769-00DA302A5F18 — иероглифы:


    .
    Проведя пару бессонных ночей в поисках перевода, удалось лишь определить первый символ «номер» и последний «кислый». Если кто-то знает полный перевод фразы — пишите в комментариях.
    Java
    Забавное совпадение можно обнаружить, открыв любым HEX-редактором .class файл. Первые 4 бита, служащие идентификатором файла, выглядят как CA FE BA BE:



    C


    Есть такая замечательная книга под названием «Язык программирования С» в авторстве Кернигана и Ричи (C Programming Language). Лучше смотреть в английском варианте, потому что, например, в 3-м российском издании этой пасхалки нет.
    В предметном указателе в конце книги термин «рекурсия» указывает на текущую страницу предметного указателя. Лучшего объяснения понятию и придумать нельзя.
    Кроме того, достаточно много пасхальных яиц можно найти в старых версиях Borland C++. Например, зажав CTRL + Shift во время загрузки 6 версии, можно было увидеть заставку (даже несколько), на одной из которых изображена команда разработчиков. Или ввести следующее сообщение:

    #pragma keeka 
    void main(void) 
    {
    return 0;
    } 
    


    Скомпилировать с помощью bcc32 и увидеть на экране кота из символов.

    Ruby


    В библиотеке Pry сразу несколько «пасхалок». Увидеть их можно в подробностях здесь, или, не заглядывая, просто ввести команды get-naked, nyan-cat, east-coker, cohen-poem, pessoa-poem или test-ansi.
    В самом Ruby тоже есть шутки от разработчиков, вот руководство по обнаружению.

    Автор статьи: Илья Бубнов
    GeekBrains
    ОБРАЗОВАТЕЛЬНАЯ ПЛАТФОРМА

    Комментарии 13

      +3
      Это не иероглифы, а хангыль: 수호신 — собственно так и читается «suhosin»
        +4
        Собственно вместе с логотипами PHP и Zend это не является пасхалками, а ресурсами для отображения в phpinfo
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            Не знаю почему, но посмотрев на эти иероглифы, сразу подумал, что это корейский язык

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

            Яндекс, Google и Вы подтвердили мои подозрения, правда Яндекс перевел эти иероглифы как «Хранитель», а Google — «Гениальность».

            Именно что «ангел-хранитель»: 수호 означает «защитник», 신 — «дух, божество».
          +4
          __hello__ и __phello__ — это не «пасхальные яйца», а часть юнит-тестов python для проверки поиска замороженных модулей и пакетов.

          Ну и вы же знаете, что love = this — это обычный NameError("name 'this' is not defined") без философии, да?
            0
            Сначала import this предполагается
            * виноват, неправильно трактовал ваше пояснение «без философии»
            +4
            Проведя пару бессонных ночей в поисках перевода, удалось лишь определить первый символ «номер» и последний «кислый». Если кто-то знает полный перевод фразы — пишите в комментариях.

            На https://en.wikipedia.org/wiki/Suhosin первым же предложением:
            Suhosin (Korean 수호신, meaning guardian-angel, pronounced 'su-ho-shin')

            Теряюсь в догадках, как именно вы провели эти несколько ночей.
              0
              >>Введите в REPL import __hello__
              Вводили уже на протяжении как 10 лет почти
                +2
                Насколько помню, CAFEBABE родилось из-за любви разработчиков Java к кофе — собственно, как и само название Java.
                  0
                  На самом деле нет: в честь «кафе мертвецов».
                  We used to go to lunch at a place called St Michael's Alley. According to local legend, in the deep dark past, the Grateful Dead used to perform there before they made it big. It was a pretty funky place that was definitely a Grateful Dead Kinda Place. When Jerry died, they even put up a little Buddhist-esque shrine. When we used to go there, we referred to the place as Cafe Dead. Somewhere along the line it was noticed that this was a HEX number. I was re-vamping some file format code and needed a couple of magic numbers: one for the persistent object file, and one for classes. I used CAFEDEAD for the object file format, and in grepping for 4 character hex words that fit after «CAFE» (it seemed to be a good theme) I hit on BABE and decided to use it. At that time, it didn't seem terribly important or destined to go anywhere but the trash-can of history. So CAFEBABE became the class file format, and CAFEDEAD was the persistent object format. But the persistent object facility went away, and along with it went the use of CAFEDEAD — it was eventually replaced by RMI.
                  –4
                  > В предметном указателе в конце книги термин «рекурсия» указывает на текущую страницу предметного указателя. Лучшего объяснения понятию и придумать нельзя.
                  Это не рекурсия, а бесконечный цикл. Вот если бы было «Рекурсия: см. Рекурсия», тогда да.
                    +8
                    > GeekBrains (Образовательная площадка для программистов)
                    > Образовательная площадка для программистов
                    > Первые 4 бита, служащие идентификатором файла, выглядят как CA FE BA BE
                    > 4 бита
                    > CA FE BA BE

                    :)
                      –2
                      Если уж мы говорим о пасхалках (речь о добавлении в пайтон фигурных скобок):
                      >>> from __future__ import braces
                      File "", line 1
                      SyntaxError: not a chance

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

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