Текст книги "Миллиардер из Кремниевой долины. История соучредителя Microsoft"
Автор книги: Пол Аллен
Жанр:
Публицистика
сообщить о нарушении
Текущая страница: 4 (всего у книги 23 страниц) [доступный отрывок для чтения: 6 страниц]
Мною двигало скорее любопытство, чем стремление к хорошим оценкам. Когда доходило до викторины по Гражданской войне или спряжения французского глагола pouvoir, я с трудом изображал интерес. «Я еще и рассеянный (это не то слово) и ленивый (мягко выражаясь) в отношении всего, что не сулит мне живого или созерцательного удовольствия» – так записал я в дневнике. Но дайте мне энергичного учителя и захватывающий материал – и я не угомонюсь. Вспоминаю свое увлечение Артюром Рембо – я погрузился в строки неуемного желания и тревоги. Потом меня захватила история Ассирии, а в выпускном классе – философия.
Именно тогда, во время дискуссии о Канте, обмениваясь завтраками с ученицами школы Святых Имен, я встретил свою первую настоящую подругу: рыжеволосую Риту, яркую и обворожительную.
По Макалистер-холлу слонялись ученики, которых интересовал только Бейсик и больше ничего. Я был не такой. Я участвовал после школы в блюзовых джемах со своей акустической гитарой. Я любил литературу и кино; в шахматной сборной играл на четвертой доске. Я болел за футбольную и баскетбольную команды университета – страсть, доставшаяся мне от отца. Я общался с людьми из разных социальных групп – и с будущими хиппи, и с компьютерщиками. Я не был ботаником. Я просто обожал компьютеры – помимо прочего.
Тридцать лет спустя Фред Райт вспоминал, как учил нас с Биллом в Лейксайде. На вопрос о наших успехах в Microsoft он ответил:
– Счастье, что они сумели поладить и компания не лопнула в первые же два года.
У нас всегда наблюдалось противостояние. Впервые это проявилось в Лейксайде, когда наметилась конкуренция: с одной стороны, мы с Риком, с другой – Билл и Кент; они были на два года младше и все время пытались что-то доказать. По существу, Lakeside Programming Group была мальчишеским клубом с неутихающим стремлением к первенству и атмосферой тестостерона. И хотя мы все старались во что бы то ни стало показать себя, Билл был самым энергичным и целеустремленным. Мы стали друзьями с первого дня знакомства, но подспудное напряжение сохранялось.
Однажды, в середине 12-го класса, я сидел, думая о своих делах, в школьном компьютерном зале, когда Билл начал меня поддразнивать:
– Пол, тут спрятано кое-что для тебя интересное, но спорим – ты не догадаешься что?
– Да что ты говоришь, – ответил я. – И что же это?
– Я не могу тебе сказать, но кое-что, что ты хотел бы получить.
Билл оставался в своем репертуаре и продолжал меня поддразнивать. Не знал он только одного – мне известен его секрет. Примерно месяц назад с аукциона были распроданы остатки имущества CCC, включая десятки контейнеров DECtape. Билл и Кент ухватили их по дешевке и никому не сказали ни словечка, но Рик заметил, как они прячут свою добычу в постамент телетайпа, и поделился разведданными со мной. Вечером того же дня, когда все ушли, я выудил контейнеры, отнес их в коробке домой и спрятал у себя под кроватью.
Назавтра случилась катастрофа. Билл бушевал.
– Ты с самого начала знал, что там контейнеры DECtape, – кричал он. – Что ты с ними сделал?
– Да что ты, Билл? – удивлялся я. – У тебя были ленты DECtape? Откуда?
Билл чуть не свихнулся. Кент обозвал меня вором и пригрозил подать в суд. Шум поднялся такой, что вмешался Фред Райт и отозвал меня в сторонку; я согласился вернуть контейнеры.
Впрочем, такого рода стычки были редкостью между мной и Биллом. В выпускном классе, в сочинении о друзьях и близких, я писал о нем:
«Невысокий, яркий, умный, веселый и всеми любимый человек. Считает школу ерундой. Умом равен мне почти во всем (кроме английского), а иногда и превосходит – хотя на два года младше. Я гораздо больше знаю о науках и о мире в целом. Удивительно умеет смеяться над собой почти в любых обстоятельствах. Любит компьютеры и технику, как и я. Очень изобретателен и всегда готов к развлечениям, даже странным. Мы очень подходим друг другу».
На выпускных торжествах в Лейксайде мой одноклассник Стю Голдберг виртуозно играл на рояле. Я некоторое время выбирал из двух вариантов карьеры: рок-гитара или компьютерное программирование. Слушая Стю, который на следующий год присоединился к Джону Маклафлину и оркестру Махавишну, я убедился, что был прав, выбрав компьютеры.
После церемонии мы с родителями направились было домой, но Фред Райт догнал нас с листком бумаги в руках. Это был мой последний счет за машинное время, чуть выше двухсот долларов. Отец немного поворчал, разглядывая счет. Я уже нацелился изучать компьютерные науки в университете штата Вашингтон, но родители еще сомневались в правильности моего выбора. Они считали это временным подспорьем, пока я не найду что-то действительно стоящее.
Класс 1971 года выпуска стал последним в истории Лейксайда – школы только для мальчиков; этой же осенью Лейксайд объединился с женской школой Св. Николая. Мы оставили прощальный дар – могильный камень; он так и стоит во дворе. На нем искаженная латинская надпись: «Vivat virgor virilis», что значит «Да здравствует мужская девственность».
Глава 5
Ваззу
Конечно, было приятно оказаться вольной птицей Университета штата Вашингтон (мы называли его Ваззу), в трех сотнях миль от дома, но жизнь в колледже не оправдала моих ожиданий. Первые занятия не слишком впечатляли. Я скучал по семье, по своей девушке и тяготился кипением жизни вокруг. Некоторые расцветают, оказавшись впервые на свободе. Я не из таких.
Скучал я и по PDP-10. Сначала я проводил ночи, набивая программы на перфокартах для большого компьютера IBM. «Работать на IBM – совсем другое, но, в конце концов, не так уж плохо», – писал я в ноябре Рику Уэйланду, стараясь сделать хорошую мину при плохой игре. Новые компьютеры всегда меня интриговали – даже чудные, медленные и неповоротливые. Я читал и пытался придумать, как улучшить обычное программирование для IBM. Дело продвигалось медленно.
Куда более приятным оказалось то, что мой круг общения стал шире – особенно в «Фи Каппа Тета». Небольшой корпус аутсайдеров, самый последний в ряду, примостился на склоне – таком крутом, что траву на нем приходилось стричь двоим: один толкал косилку, а другой держал канат, чтобы косилка не съехала с холма. Чуть ли не к самому зданию примыкала железнодорожная сортировочная станция, где в три утра формировали составы. Первые две недели мне не удавалось уснуть, но впоследствии я мог спать в любых условиях.
Все же место мне нравилось. Все эти хиппи, неформалы, кадеты-резервисты – мне было интересно наблюдать за ними. Там были Майк Флуд, президент студенческого братства и едкий шутник, который назначил меня мыть посуду; Гэри Джонсон, который экономил на плате за комнату, потому что жил с двумя собаками в грузовичке; Саймон Карроум – «Большой Сириец» – добрый малый, чей английский был окончательно испорчен за лето работы в портлендских доках. Нам приходилось исправлять его контрольные и вычеркивать матерные слова – других он почти не знал.
Я был «компьютерщик» и с радостью помогал отладить заданную на дом программу; мне достаточно было взглянуть на код Фортрана, чтобы понять, где ошибка. Еще я часами бросал мяч в корзину на задворках здания – мой знаменитый бросок «матадора» мало кто мог повторить; и играл центра в команде по флаг-футболу. Наш квотербек, Джерри Морс, играл прежде за дубль «Нью-Йорк янки» и обладал пушечным броском. Я не блистал высокой скоростью, так что Джерри говорил мне: «Десять ярдов и обернись». Если Саймон и Майк были прикрыты, Джерри выпуливал мяч прямо мне в грудь. Я редко ронял мяч.
Возвратившись от компьютера в комнату в час или два ночи, я оттягивался со своей электрогитарой – эта привычка раздражала многих моих собратьев. Майк Флуд просил меня прекратить, и я после пары заключительных аккордов откладывал гитару. Но однажды ночью здоровяк по имени Джордж Ши в ярости ворвался в комнату и, подняв меня в воздух за шкирку, прижал к стене. Я глядел на Джорджа, на его сжатый кулак, не в состоянии представить ожидающей меня расправы. В нашей семье не принято было даже демонстрировать гнев, и я не знал, что такое, когда тебя бьют.
– Отпусти его.
Это сказал Майк Хасперт (мы вместе играли на гитарах), встав в позу каратиста. Поговаривали, что у Майка был черный пояс. Джордж прикинул шансы, с отвращением поставил меня на пол и потопал прочь.
Обычный день в «Фи Каппа Тета» проходил гораздо спокойнее: нескончаемые карты и шахматы, «Стартрек» в подвальной телевизионной комнате, «Пицца Шак» и «Тако Тайм». Ездили до границы штата Айдахо – там официально спиртное продавали с 19 лет и было дешевое пиво. По субботам я ходил со всей толпой смотреть, как местных «Кугуаров» порвут южнокалифорнийские «Троянцы». Я не ведал забот, пока мне не выпал номер 99 в «призывной лотерее» 1972 года – этот номер мог послать меня во Вьетнам. Война тогда уже казалась мрачной, гибнуть на ней не хотелось. Но если бы меня призвали, я пошел бы служить, как мой отец во время Второй мировой.
Как выяснилось, мой призыв отложили до окончания студенческой отсрочки.
28 мая 1972 года мой друг по Лейксайду, Кент Эванс, с другими альпинистами пересекал снежное поле на горе Шуксан и поскользнулся. Он шел без страховки и, не сумев затормозить, пролетел по склону больше шестисот футов, ударившись несколько раз о скалы. Вертолет ВМС эвакуировал Кента, но он умер по дороге в больницу. Ему было 17.
Эта смерть потрясла Билла, он был раздавлен. Через несколько дней после похорон родители Кента позвали нас посмотреть, не пригодятся ли нам его компьютерные документы – несколько руководств, ничего важного. Мы были благодарны родителям Кента, но чувствовали себя странно, роясь в его вещах. Мы не стали задерживаться надолго.
По контракту со школой Билл за летние каникулы должен был написать на Фортране программу, составляющую расписание.
– Я собирался делать ее с Кентом, – сказал Билл мне. – Одному мне будет трудно. Поработаешь со мной над программой?
Хотя денег обещали не много, я с радостью согласился и вернулся к старой доброй PDP-10. Билл оставался в подавленном состоянии неделями, но приходил в себя по мере того, как мы втягивались в проект – с полной самоотдачей, как когда-то в Макаллистер-холле. Часто мы засиживались за полночь и спали на раскладушках, которые привезли в кампус. Программа оказалась сложной, требовалось учитывать много разных переменных: обязательные курсы, секции, факультативы, сдвоенные уроки для лабораторных работ. Меня восхищало, как четко Билл разбивал работу на составляющие, а еще больше – как он «загрузил» самого себя в группу по английскому: он, десяток девчонок и больше ни одного парня.
Мы с Биллом сблизились в то лето. Разница в возрасте перестала иметь значение; между нами установилось, как я это называю, высокоскоростное соединение. Погружаясь в проблему, мы начинали выщелкивать идеи «в режиме стека» (на компьютерном жаргоне это режим выполнения подпрограмм центральным процессором по принципу «последний пришел – первый ушел»). В наших разговорах эта фраза означала, что мы перескакивали от одной темы к предыдущей, не обращая внимания на последующий контекст. Слушая нас со стороны, понять что-то было невозможно:
– Тогда можно перенести эту строку сюда…
– Верно, если значение – «истина», вторая не выполняется…
– Точно! Мы же в прошлый раз использовали эту переменную.
Много общего было и в том, как мы воспринимали абсурд. Однажды, после и без того почти бессонных ночей, мы несколько часов отлаживали какой-то кусок программы – и не могли поймать ошибку. Билл молча уставился на загадочную страницу и вдруг воскликнул:
– Икс! – и залился беспомощным хохотом.
Я взглянул на страницу и понял, что имел в виду Билл: прямо посреди строки болталась бессмысленная переменная.
– Икс! – заорал я.
Теперь уж мы оба принялись кататься по полу в пустом здании, истерически выкрикивая «икс!».
Чтобы отдохнуть, мы ходили в кино; вдвоем мы за все годы посмотрели, наверное, больше полутысячи фильмов. Моим любимым кинотеатром был «Кокусай» в международном районе Сиэтла. Там за сеанс показывали два фильма с английскими субтитрами; второй фильм был обязательно про самураев. Билл не особо жаловал все иностранное, но как-то вечером согласился посмотреть кино: «Если только не очередную тупость про маленькую собачку…». Едва мы уселись в кресла, чтобы посмотреть драму из современной японской жизни, по экрану промчался тявкающий терьер.
– Опять собачка… – громко застонал Билл.
Мы замечательно проводили лето, но ни на минуту не переставали думать, чем будем заниматься дальше. Билл получил работу по обработке информации от компании, изучавшей транспортные потоки: подсчитывалось, сколько раз колеса автомобилей нажимают на резиновые трубы, реагирующие на давление. На специальной шестнадцатидорожечной перфоленте автомат набивал с интервалом в 15 минут набор отверстий, обозначающих количество автомобилей. Приходилось считывать перфоленту вручную, затем записывать результат обычными цифрами и переносить на перфокарты. Работа была нудная, неэффективная и убийственная для глаз; Билл поручил ее младшеклассникам в Лейксайде и платил им по 15 центов за ленту, чтобы они изображали живые считывающие устройства. Однажды Билл сказал:
– Детишки ослепнут, разбирая эту ерунду. Надо как-то автоматизировать.
Я сказал, что можно попробовать использовать новый мини-компьютер. Последние модели Texas Instruments были особенно компактными, и цена ограничивалась четырехзначной суммой – но все же неподъемной для нас. Тогда у меня появилась другая идея: как насчет нового восьмибитного процессора Intel – 8008-го? Судя по тому, что я читал, чип мог управлять калькуляторами, лифтами, даже маленькими терминалами. С весны, когда он впервые появился, его почти не пытались применить для анализа данных. Но если он работал в соответствии со спецификациями, 8008-й – то, что нам нужно.
– Мы можем сами построить систему на этом чипе – так дешевле всего, – добавил я.
Биллу понравилось предложение, и я указал на слабое место:
– Нужно найти кого-то, кто построит машину.
Мы не были сильны в аппаратном обеспечении, и нам нужен был третий партнер.
Наш общий знакомый рассказал про Пола Гилберта, студента университета по электротехнике; мы разыскали его в конце лета. Мы несколько раз встретились, и Пол построил рабочую схему машины – мы назвали ее (и наше партнерство) Traf-O-Data (много позже я спросил Билла, откуда он взял такое название; он ответил, что от «jack-o’-lantern» – фонаря-тыквы. Мне это показалось странным). Чувствуя себя предпринимателями, мы мечтали о том, как к нам потекут денежные реки. Ведь, имея на руках наши удобные таблицы данных о дорожном движении, муниципалитеты смогут решить, где устанавливать светофоры, а где в первую очередь ремонтировать дороги. Разве не пожелают департаменты общественных работ во всем мире приобрести машину Traf-O-Data?
Пол Гилберт как-то добился университетской скидки, и мы заказали 8008-й в местном магазине электроники. Мы с Биллом наскребли 360 долларов и поехали за чипом. Продавец протянул нам картонную коробочку, которую мы немедленно открыли – и впервые в жизни увидели микропроцессор. Завернутый в алюминиевую фольгу, вдавленный в маленькую пластину из черной резины, внутри покоился тонкий прямоугольник длиной в дюйм. Для двух парней, чья юность прошла среди громадных компьютеров, это было чудо.
– Кучу денег за такую фитюльку, – сказал Билл.
Но я понимал, о чем он думает: в этой коробочке умещается мозг целого компьютера. Мы отвезли чип Полу Гилберту на кафедру физики, и он принялся за работу.
Создавая программы для Traf-O-Data, мы столкнулись с проблемой. Мы знали, что будет мучительно и даже бессмысленно писать программы на самом 8008-м. Нужно было на пустом месте создавать средства разработки, включая адаптированный Ассемблер, программу, которая будет переводить команды Ассемблера в реальные байты. Хотя 8008-й мог адресовать 16 килобайт памяти, мы могли использовать на платах памяти только четверть этого объема – совершенно недостаточно для разработки.
Как же программировать такой ограниченный микропроцессор на еще не существующей машине? Для меня ответ был очевиден: нужно имитировать окружение 8008-го на большой машине. Описание симуляторов впервые появилось в литературе в середине 1960-х, когда инженер Дари Мосс разработал способ, позволяющий компьютеру IBM 360 «эмулировать» предыдущие модели компьютеров и выполнять программы, написанные для них. Работа Мосса продемонстрировала техническую идею, в теории сформулированную еще Аланом Тьюрингом в 1930-х: любой компьютер можно запрограммировать так, чтобы он вел себя как другой компьютер. Программа подчиняла «железо». Хотя мне не приходилось читать, чтобы кто-нибудь симулировал микропроцессор, я понял, что это будет несложно – просто нужно заставить большой компьютер действовать как маленький. При этом мы можем использовать громадную память мейнфрейма и развитые средства разработки.
Мы и представить не могли, сколько трудностей нас ждет. В университетской лаборатории Пол Гилберт конструировал жутко запутанный прототип: больше тысячи медных проводов вились вокруг десятков золоченых клемм на двух монтажных платах. Дизайн и разводка машины постепенно вырисовывались, но Полу потребовался год, чтобы заставить работать капризные чипы памяти. Все это время я, вернувшись в штат Вашингтон, бился над симуляцией на IBM 360. Отладка на компьютере «пакетной обработки» – буквально сизифов труд: два шага вперед – полтора назад.
В ту зиму Билл выбрался ко мне в Пуллман во время жуткого похолодания; мы пешком прошли две мили до университетского компьютерного центра; термометр на здании банка застыл на минус тринадцати. Воздух так обжигал, что говорить было больно. Когда добрались до цели, моя борода покрылась льдом. Билл, дрожа, спросил:
– В Пуллмане что – всегда так холодно?
Больше зимой он не приезжал.
На Рождество Биллу позвонил Бад Пемброк – тот, что нанимал нас делать расчетную программу для Information Services Inc. Затевался большой программный проект для Бонневильского энергетического управления, и Бад прочесывал местность в поисках программистов, понимающих в PDP-10. Мне еще не исполнилось 20, а Биллу было всего 17, но возраст не имел значения.
– И будете получать оклад, – добавил Бад.
– Сколько? – поинтересовался Билл.
– Сто шестьдесят пять долларов в неделю.
Четыре доллара в час – крохи для опытного программиста даже по тем временам, но мы с Биллом не верили своему счастью. Появилась возможность снова работать вместе на PDP-10, да еще и за деньги! Я был рад отдохнуть от штата Вашингтон. Билл закончил обязательные курсы в Лейксайде и получил разрешение работать над проектом последнего триместра вне стен школы. Мы ответили Баду, что участвуем.
Мы с Биллом влезли в его «Мустанг» 1967 года с откидывающимся верхом и поехали на юг – в Ванкувер, штат Вашингтон, край длинных торговых рядов, автомоек и автозакусочной A&W Root Beer, где мы стали завсегдатаями. Мы недорого сняли квартиру с двумя спальнями и пошли на работу в понедельник, в январе 1973 года. Нашим работодателем был TRW – большой аэрокосмический концерн, который по контракту с Министерством внутренних дел создавал оперативно-диспетчерскую систему реального времени – RODS, первую в стране, как нам объяснили. Уже существовала программа, управляющая генераторами Бонневильской ГЭС на реке Колумбия, снабжавшей электроэнергией восемь западных штатов. Задачей системы RODS было обновлять информацию ежесекундно и более рационально реагировать на изменения потребности в энергии.
Руководство TRW предполагало, что нескольким программистам хватит двух лет на завершение работы; они сильно ошибались. Превратить DEC-овскую систему TOPS-10 в систему реального времени – все равно что превратить яблоко в апельсин; вдобавок – в новый сорт апельсина. Работа над проектом шла уже дольше года, штрафы за затяжку росли, а новая программа TRW все еще была полна ошибок. Оказавшись на грани кризиса, руководство было готово набирать любых соображающих программистов, чтобы заставить RODS работать. Когда появились мы, там трудились круглосуточно уже больше сорока человек.
Бункер управления станцией находился через реку от Портланда, и большая часть его скрывалась под землей. Там даже была душевая – смывать радиоактивную пыль, на случай если кто-нибудь нажмет кнопку. Мы с Биллом спустились на лифте – куда-то в бесконечные глубины под армированным бетоном. Пройдя несколько дверей – каждая с кодовым замком, – мы очутились в компьютерном зале с фальшполом и кондиционированием; здесь нам предстояло тестировать и отлаживать наши программы. Я с восторгом увидел рядом с собой двойные PDP-10; никогда еще мне не приходилось работать так близко от компьютера.
Дальше по коридору располагался зал управления – размером с четыре баскетбольных поля. Громадная, подсвеченная сзади схема занимала две стены (сразу вспомнился фильм «Доктор Стрейнджлав»); на ней отображалось состояние каждой плотины на Северо-Западе. В случае любой неисправности соответствующая лампочка меняла цвет с зеленого на красный. В Бонневиле операторы работали на консолях с цветными дисплеями и колоссальными клавиатурами; они могли вызвать на экран изображение любой подстанции. Приборы показывали мощность станций в мегаваттах, что меня просто потрясло.
Программисты составляли дружный, хоть и пестрый коллектив – от классических корпоративных служащих в белых рубашках с коротким рукавом и галстуках-«бабочках» до разгильдяйского вида Боба Барнетта, ветерана Вьетнама, который все растолковывал нам с видом чокнутого профессора. Билл получал маленькие задания, а мне сразу дали крупное поручение – разработать восстанавливающий модуль, чтобы сделать новую автоматическую систему безотказной (когда речь идет о производстве энергии для миллионов потребителей, остановка станции – не вариант). Если первичная PDP-10 даст сбой, моя система должна скомандовать резервному компьютеру взять управление.
Стараясь обезопасить себя от случайностей, TRW проводила всевозможные экстремальные испытания – например, проверялось, как повлияет серьезное короткое замыкание на компьютеры под землей. Присоединив стальной кабель сечением в четверть дюйма к линии 250 киловольт и к вкопанному в землю столбу, мы пошли смотреть, кто повернет рубильник. Внезапный жуткий треск заставил нас подпрыгнуть. Кабель превратился в полоску испарившейся стали и исчез. Компьютеры, к счастью, продолжали работать.
– Ух ты, – воскликнул я. – Вот это да!
На что менеджер TRW заметил:
– Нет, «ух ты» было, когда Джо забыл опустить люльку на ремонтной машине и въехал в линию электропередачи.
– И что с ним?
– Искры – дождем, шины в землю вплавились, – рассказал менеджер. – А Джо просто очумел. Но с ним все в порядке – грузовик сработал как клетка Фарадея.
(В 1830-е годы британский физик Майкл Фарадей показал, что электрический ток, протекая по поверхности проводящей структуры, не оказывает влияния на внутреннюю область.)
Ребята из TRW захохотали, а я подумал: «Господи, вот это уже серьезное электричество!»
Бок о бок с чудными работниками, в лишенных солнечного света подвалах, я порою чувствовал, что попал в очень странное место.
Мы с Биллом были младшими в группе и, естественно, получали меньше всех, но Боб и остальные начальники не давали нам ни малейшей поблажки. Работая над RODS, мы убедились, что не уступаем лучшим местным программистам. Мне пришлось написать тысячу строк на Ассемблере – не слишком тяжелая работа, но достаточно хитрая. Два других программиста пытались меня обойти, однако их программа не справлялась с «критическими случаями» вроде одновременного отказа двух и более устройств. Я с самого начала писал структурированно и с полными комментариями, как привык в CCC. Я долгие часы проводил, проверяя написанное, – в программе не должно было быть ошибок. Впервые в жизни я писал прямо на работающей операционной системе. И мне очень понравилось.
Мы с Биллом, свободные от школы и от требований семьи, радостно ныряли в программирование и тестирование – циклы проверки занимали по 12 часов и больше. Мы оба от природы были «совами» – работоспособность достигала пика в десять-одиннадцать вечера и оставалась на уровне еще долго. Когда требовалось найти последнюю ошибку, мы не обращали внимания на время. Если Билл чувствовал, что слабеет, он хватал банку растворимого напитка «Танг», сыпал немного порошка на ладонь и слизывал, получая чистый сахарный кайф (в то лето его ладонь приобрела устойчивый оранжевый оттенок). Мы могли проработать двое суток кряду, а потом рухнуть часиков на восемнадцать – двадцать. Билл называл это «успаться».
Но сон был не главным. Необходимо было закончить работу для Лейксайда к началу семестра, и ночная смена в RODS казалась нам идеальным решением. Программа школьного расписания сильно нагружала центральный процессор, и порой Боб Барнетт, зайдя вечерком, обнаруживал, что PDP-10 ползает со скоростью улитки. Он топал ногами и кричал, изображая негодование:
– Гейтс и Аллен, вы где прячетесь? Немедленно выключите свое расписание!
Если я не писал программы, я играл на акустической гитаре дома или слушал последние новости по поводу Уотергейта. Вечерние и ночные развлечения в Ванкувере сводились в основном к «классическому завтраку» у Дэнни, нашей главной еде в три утра: яйца, бекон, блин, картофельные оладьи. Чтобы добавить острых ощущений, Билл ездил с Бобом на собачьи бега в Грешеме; они выбирали, на кого ставить, по номерам машин на стоянке. Я несколько раз съездил в Портланд Мидоуз – Боб от надежных людей слышал о жеребце Ред Робби, совершенно безнадежном на дистанции в четверть мили. Однажды его выставили на длинную дистанцию, и Боб уговорил нас рискнуть нашими кровными. Ред Робби, как всегда, неспешно трусил последним, затем, к середине дистанции, набрал ход и пришел первым. Мы сорвали солидный куш.
Мы с Биллом постоянно ходили в кинотеатр на северо-востоке Портленда на фильмы «про черных». Мы с восторгом смотрели «Суперфлай» и подобные, пока однажды кто-то не подкатил к нам во время заключительных титров:
– А чего тут делают белые парни?
Нас выкинули, но через неделю мы вернулись. Эти фильмы казались нам захватывающими.
Живя в одной квартире с Биллом, я открыл в нем нечто новое. Моя мама по-своему называла адреналиновых наркоманов, людей, любящих риск ради риска.
– Это человек, – говорила она, – ходящий по краю.
Билл Гейтс ходил по краю. Он гордился, что как-то ночью на своем «Мустанге» сделал сто шестьдесят миль от Сиэтла до Ванкувера меньше чем за два часа, вдавив педаль в пол. Я сторонился физической опасности, а Билл, казалось, наслаждался ею. Однажды он появился на пороге с загипсованной ногой. Я спросил, что случилось.
– Катались на водных лыжах с Барнеттом, – ответил Билл.
Они с обеда поехали на озеро Лакамас. По словам Барнетта, он сделал последний круг и собрался возвращаться в RODS, но Билл решил проехать еще раз – на одной лыже. Второпях он и не подумал подогнать оборудование – а это важно, если желаешь прыгать на волнах от катера. Билл упал и сломал ногу; врачи сказали, что ему придется на шесть недель отправиться в Сиэтл лечиться. Билл объявился в Ванкувере – с синей ногой, но без гипса, – через три.
– Я поеду кататься на водных лыжах с Бобом, – заявил он.
Отговорить его мне не удалось. Нога каким-то образом осталась цела.
В основном мы жили довольно дружно, но иногда Билл раздражался, особенно за шахматной доской. Я играл более системно и пользовался строгими дебютами; Билл агрессивно импровизировал. Как-то, проиграв, он от злости смахнул фигуры на пол и закричал:
– Это был самый идиотский ход в моей жизни!
После нескольких подобных случаев мы вовсе перестали играть.
Определившись с подходом, я мог настрочить код для системы управления достаточно быстро. Слабым звеном оказался глючный модуль связи, который не позволял протестировать мою программу в реальном времени, пока я не вернулся осенью в штат Вашингтон (RODS официально запустят лишь через год с лишним, в декабре 1974-го, после бесчисленных штрафов со стороны TRW). До моего отъезда я успел получить одобрительный отзыв от Джона Нортона, легендарного системного программиста, объявившегося однажды с инспекцией. Нортон мог взять пачку распечаток в дюйм толщиной, проглотить все за день и отложить в сторону. После этого, стоило обратиться к нему с вопросом, он прикрывал глаза и говорил:
– Посмотри 57-ю страницу, там нужная подпрограмма.
Когда моя работа выдержала его проверку, я был счастлив.
В свободное время я продолжал работать с симулятором Traf-O-Data. Центральный процессор PDP-10 весил почти тонну, но для моей программы он должен был действовать как чип размером с полпачки жвачки. Для начала мне нужно было определить набор примерно из трех десятков «макросов» – словесных команд, которые должны генерировать управляющие байты для процессора Intel 8008. За несколько дней я провел успешную «пересадку мозгов». Ассемблер PDP-10 не догадывался, что стал теперь Ассемблером для 8008-го.
Следующим шагом было создание собственно симулятора – программы, которая заставит работать «пересаженные мозги». Симулятор, написанный на Ассемблере для PDP-10, будет имитировать команды микрочипа. Программирование шло гладко; словно все, что я усвоил в CCC и Information Services Inc., вело меня к этой точке. К счастью, я мог завершить мое недельное задание от Боба Барнетта за двадцать часов и переключиться на Traf-O-Data. После недели упорных трудов все было готово.
Оставался третий, последний шаг – модифицировать отладчик PDP-10, чтобы Билл мог остановить программу на середине и проследить источник ошибки. Отладчик представлял собой неуклюжий участок кода, полный ловушек и тупиков, но через три недели у нас на руках было несравненное средство разработки для 8008-го чипа (мой метод оказался настолько эффективным, что Microsoft использовала его и в 1980-е годы – до тех пор, пока микропроцессоры не стали достаточно быстрыми и мощными, чтобы поддерживать собственные средства разработки). Незадолго до начала учебного года Билл завершил программу анализа дорожного движения. Мы тестировали ее на PDP-10 с выдуманными данными; симулятор распечатал впечатляющую диаграмму. Осталось только посмотреть, заработает ли программа Билла на железе Пола Гилберта Traf-O-Data.
Наши мечты ширились; Билл заговорил об организации настоящей компании. У меня были похожие фантазии, но меня больше тянуло к технологии. Я понимал, что недорогие компьютеры изменят будущее. Но что мы можем сделать нового и иного? Куда все движется? Как-то Рита приехала в Ванкувер, и я повел ее на трансляционную башню TRW; я рассказывал про возможности передачи информации, о том, как их можно использовать. Скоро, сказал я, появится высокоскоростная связь между людьми во всем мире.