Откуда в Windows взялись функции BEAR, BUNNY и PIGLET?

Если покопаться в системных файлах Windows 95, там можно было обнаружить недокументированные функции с именами наподобие BEAR35, BUNNY73 и PIGLET12. Откуда взялись эти дурацкие имена?

У них занятная история.

«Мишка» (Bear) был талисманом Windows 3.1. Это был плюшевый мишка, которого всюду таскал за собой Дэйв — один из самых главных программистов, занятых в проекте. Когда он приходил к кому-нибудь в офис, он запускал, бывало, мишку в монитор, чтобы на него отвлеклись.

Иногда ради развлечения программисты похищали Мишку и отправляли его «в отпуск» — так же, как люди отправляют «в отпуск» фигурки гномов с лужаек, и присылают потом открытки «из отпуска».

Кроме имён системных функций, Мишка засветился ещё в двух местах в Windows 3.1. В диалоге выбора шрифта для DOS-окна, если выбрать маленький шрифт, можно было увидеть в списке файлов несуществующий файл BEAR.EXE. В более зрелищном виде Мишка появляется в ролике, где он «представляет» разработчиков Windows 3.1 — чередуясь с Биллом Гейтсом, Стивом Баллмером и Брэдом Силвербергом.



Мишка перенёс немало издевательств. Однажды через его голову продели шнур питания, от уха до уха. В другой раз ему в зад запихали петарду. Ко времени Windows 95 состояние Мишки стало уже плачевным, так что его отставили с должности, и заменили розовым кроликом, получившим кличку Кролик (Bunny). Но Мишка-ветеран не отправился на помойку: дети одного из менеджеров сжалились над ним, и неплохо подлатали.

На самом деле талисманами Windows 95 были два разных Кролика: маленький, «16-битный Кролик», и большой, «32-битный Кролик». Два Кролика — значит вдвое больше удобных случаев их похитить; и пока создавалась Windows 95, кроликам немало досталось. Например, когда Дэйв женился, программисты помогли 32-битному Кролику проникнуть на свадьбу без приглашения, а потом рассылали фотографии, где Кролик налакался в стельку.

Дэйв занимался в основном GUI, так что названия BEAR и BUNNY получали функции, относящиеся к интерфейсу с пользователем.

Ядром занимался Майк, а у него был плюшевый диснеевский Пятачок. Так что когда нужно было назвать в ядре новую функцию для внутреннего использования, её называли PIGLET.

Пятачок дожил до релиза Windows 95 без единой царапины.

Примечание: BEAR и BUNNY до сих пор живы в 32-битных версиях Windows. Раньше BEAR жил в \Windows\System32\user.exe, а BUNNY в \Windows\System32\krnl386.exe; но начиная с Windows 8, они переехали в каталог \Windows\WinSxS\x86_microsoft-windows-ntvdm-system32-payload_31bf3856ad364e35_<версия>_none_<хэш>\
@tyomitch
09.10.2020 12:35 UTC
Первоисточник

Комментарии

@LoadRunner
09.10.2020 07:46 UTC
+9
Что хоть делают эти функции?
@tyomitch
09.10.2020 10:59 UTC
+6
В недавно утекших исходниках BUNNY_351 снабжена комментарием «USER's private exit notify callback», BEAR86 — «BOGUS CAN WE REMOVE THIS?», BEAR345 — «MSMoney needs this», и т.д.
@Mimizavr
09.10.2020 07:51 UTC
+7
А фото этих самых игрушек не сохранились?
@tyomitch
09.10.2020 12:45 UTC
+1
Если и сохранились, то в бумажном виде у кого-то в альбоме: цифровая фотография ещё не была общедоступной.
@Spy_W
09.10.2020 13:15 UTC
+5
Свадебные точно где-то есть.
@hottabxp
09.10.2020 08:05 UTC
0
Спасибо, интересная история.
@v1000
09.10.2020 20:37 UTC
+8

Фраза «твой кролик написал» заиграла новыми красками:)

@dMac
11.10.2020 05:14 UTC
0
Я знал, всегда знал, your bunny wrote!
@Vladislav_Aliev
12.10.2020 07:11 UTC
0

Спасибо за интересную и добрую статью! Особенно она зашла так как в общем утро не задалось.

@old_gamer
12.10.2020 09:23 UTC
+2
Так вот откуда ваша аватарка! Спасибо, очень занимательно )