Их куратором от C–Cubed стал не кто иной, как Стив “Слаг” Рассел, ироничный и талантливый программист, который во время учебы в МТИ написал игру Spacewar. Теперь он передавал эстафетную палочку молодежи. Расселу приходилось постоянно напоминать Гейтсу и Аллену, что нельзя повторять действия, из-за которых компьютер завис, до того, как им будет разрешено23. Но они не всегда сдерживались. “Когда я к ним заглядывал, то получал вопрос или десяток вопросов, а я из тех, кто отвечает на все очень обстоятельно”24, — вспоминает Рассел. Особенно его удивляло, что Гейтс угадывал, какой из программистов DEC просчитался. Обычно его сообщения об ошибках звучали так: “В этой строчке кода у мистера Фаболи опять та же самая ошибка — он не проверял состояние семафора при смене статуса. Если вот сюда добавить эту строчку, то все заработает”25.
Гейтс и Аллен осознавали всю важность операционной системы — она выполняла роль нервной системы компьютера и отвечала за логистику. Это позволяло центральному процессору производить вычисления, переключаться между программами, записывать данные в память компьютера, передавать и получать информацию через модем или дисководы и печатать документы. Операционная система для PDP-10 называлась TOPS-10, и Рассел принес приятелям руководства к ней. Их нельзя было брать домой, поэтому друзья часто засиживались в C–Cubed до утра.
Гейтс понял, что они не смогут понять все тонкости работы операционной системы без исходного кода и комментариев к нему, в которых разработчики описывают смысл каждого действия. Но эта информация была доступна только главным программистам компании, а никак не школьникам из Лейксайда. Это делало запретный плод еще слаще. Однажды на выходных они выяснили, что рабочие распечатки с кодом выбрасываются в мусорный контейнер на заднем дворе здания. “Гейтс весил килограммов пятьдесят, не больше”, — думал Аллен, поэтому он решил его подсадить, сложив руки в замок. Гейтс нырнул в контейнер и принялся рыться в офисном мусоре. Наконец, он нашел пачку испачканной и сложенной в гармошку бумаги. “Мы отнесли драгоценные распечатки в комнату с терминалом и часами внимательно их изучали, — говорит Аллен. — Розеттского камня[83] у меня не было, поэтому я понимал максимум одну или две строчки кода из десяти, но я все равно был в полном восторге от того, как компактно и элегантно написан код”.
Получив часть мозаики, Гейтс и Аллен захотели погрузиться еще глубже, понять архитектуру операционной системы. Для этого было необходимо изучить язык ассемблера, разобраться с базовыми командами вроде Load B. Add C. Store in A, которые понятны непосредственно машине. “Рассел приметил мой новый интерес и со словами: «Ты должен это прочесть» протянул мне документацию по ассемблеру в блестящей пластиковой обложке”26, — вспоминает Аллен. Они с Гейтсом проштудировали весь текст, но поняли не все. Тогда Рассел принес им другое руководство со словами: “А теперь вам нужно прочесть вот это”. В итоге они стали хорошо разбираться как в базовых вещах, так и в тонкостях. Это сочетание позволяло писать эффективный и элегантный код для операционной системы.
Когда все ошибки в PDP-10 были устранены и система была признана стабильной, клуб из Лейксайда больше не мог пользоваться компьютером бесплатно. “Они как будто сказали: «Обезьянки, всем спасибо, все свободны»”27, — говорил Гейтс. Им немного помог “Клуб матерей Лейксайда”, который оплачивал юным программистам часы на удаленном компьютере, однако имелись ограничения по времени и потраченной сумме. Гейтс и Аллен понимали, что им никак не уложиться в отведенный лимит, и решили обмануть систему. Друзья получили доступ к внутреннему файлу школьной бухгалтерии, взломали защиту и узнали пароль администратора, при помощи которого бесплатно подключались к PDP-10. Но их поймали еще до того, как они успели натворить дел: учитель математики нашел у них распечатку с логинами и паролями. Новость об их проказе дошла до самых высоких начальников в C–Cubed и DEC, и в школе в кабинете директора прошла серьезная встреча с участием представителей обеих компаний. Гейтс и Аллен приняли максимально виноватый вид и изображали глубочайшее раскаяние, но это не помогло. Им запретили входить в систему до конца семестра и все лето.
“Я немного отвлекся от компьютеров, попробовал побыть нормальным, — говорит Гейтс. — Я решил доказать всем, что могу получить пятерки по всем предметам, даже не открывая учебник. Вместо этого я читал биографию Наполеона и романы вроде «Над пропастью во ржи»”28.