Оставался третий, последний шаг – модифицировать отладчик PDP-10, чтобы Билл мог остановить программу на середине и проследить источник ошибки. Отладчик представлял собой неуклюжий участок кода, полный ловушек и тупиков, но через три недели у нас на руках было несравненное средство разработки для 8008-го чипа (мой метод оказался настолько эффективным, что Microsoft использовала его и в 1980-е годы – до тех пор, пока микропроцессоры не стали достаточно быстрыми и мощными, чтобы поддерживать собственные средства разработки). Незадолго до начала учебного года Билл завершил программу анализа дорожного движения. Мы тестировали ее на PDP-10 с выдуманными данными; симулятор распечатал впечатляющую диаграмму. Осталось только посмотреть, заработает ли программа Билла на железе Пола Гилберта Traf-O-Data.
Наши мечты ширились; Билл заговорил об организации настоящей компании. У меня были похожие фантазии, но меня больше тянуло к технологии. Я понимал, что недорогие компьютеры изменят будущее. Но что мы можем сделать нового и иного? Куда все движется? Как-то Рита приехала в Ванкувер, и я повел ее на трансляционную башню TRW; я рассказывал про возможности передачи информации, о том, как их можно использовать. Скоро, сказал я, появится высокоскоростная связь между людьми во всем мире.
В другой раз, когда мы с Биллом обедали в местной пиццерии, я подумал вслух:
– А что, если бы можно было читать новости с компьютерного терминала, а не в газете? Можно ведь даже запрограммировать его искать те статьи, которые нужны. Правда, здорово?
– Брось, Пол, – ответил Билл. – Аренда телетайпа стоит семьдесят пять долларов в месяц, а газету доставят за пятнадцать центов. Как тут можно конкурировать?
Здесь он меня поймал. Но я уже не мог перестать думать о времени, когда каждый получит цифровую связь – и мгновенный доступ к информации и услугам. Пройдут годы, прежде чем мы с Биллом сформулируем нашу цель в таких словах: «Компьютер на каждом столе в каждом доме». Однако семена этого девиза – и мое представление о глобальной сети, объединяющей все компьютеры, – были посеяны тем летом среди длинных торговых рядов и фастфудов в Ванкувере, штат Вашингтон.
Работа над RODS была в разгаре, когда Билл, позвонив домой, узнал, что его приняли в Гарвардский университет. Билл не удивился; он метил высоко еще с тех пор, как получил почти наивысшие баллы на Путнамской олимпиаде по математике, где мерялся силами со студентами колледжей всей страны. Я попытался дать мудрый совет:
– Смотри, Билл, когда попадешь в Гарвард, там будут и люди, которые гораздо сильнее тебя в математике.
– Вряд ли, – ответил он. – Это вряд ли.
– Поживем – увидим, – заключил я.
Я знал математику неплохо, Билл – блестяще; но я судил по опыту Ваззу. Однажды я смотрел, как профессор покрывает доску узорами дифференциальных уравнений в частных производных – с равным успехом это могли быть древнеегипетские иероглифы. В такие моменты осознаешь: «Это мне не по плечу». Было немного грустно, однако я признал свои границы. Мне хватало того, что я универсал.
С Биллом было иначе. Когда я снова увидел его после рождественских праздников, он выглядел подавленным. Я поинтересовался, как прошел первый семестр, и Билл угрюмо ответил:
– Мой профессор по математике получил степень в 16 лет.
Курс содержал сплошную теорию, и домашняя работа отнимала до тридцати часов в неделю. Билл лез из кожи вон – и получил только хорошо. В высшей математике он был, пожалуй, один на сто тысяч студентов или больше. Но кто-то был один на миллион или даже на десять миллионов, и кто-то из них оказался в Гарварде. Билл уже не чувствовал себя самым умным, и, думаю, это повлияло на его выбор. В конце концов, он бросил все силы на прикладную математику.
Впрочем, тогда у нас были амбиции и помимо учебы. В декабре мы с Биллом обновили наши резюме. В свои неполные двадцать лет я указывал на «опыт работы» с десятком компьютеров, знание десяти языков высокого уровня, девяти – низкого и трех операционных систем. В качестве желаемой должности я указал «системный программист», оклад – «по договоренности», хотя в скобках добавил «15 000 долларов». Место работы: «Где угодно». Я указал, что буду доступен с 1 июня 1974 года, – значит, я готов был снова при хорошей возможности бросить университет. Думаю, я знал, чего хочу; мне не хватало только четкого плана.
Относительно нашей работы над Traf-O-Data мое резюме гласило: «Разработка и сборка системы для дорожных служб для изучения транспортных потоков. Система построена на микрокомпьютере MCS-8008 фирмы Intel. Программное и аппаратное обеспечение полностью протестированы с помощью прототипа. Демонстрации для покупателей запланированы на май 1974-го».
Заключение было оптимистичным. На самом деле Полу Гилберту удалось справиться с чувствительными чипами памяти. И машина Traf-O-Data действительно выглядела настоящей (мы сумели добиться этого, потратив всего 1500 долларов); Пол сделал ее по образцу популярного мини-компьютера PDP-8, с тем же расположением переключателей и светодиодов (внутренности – мешанина клемм и проводов – другая история). Мы привезли телетайп через перевал Сноквалми в кузове пикапа (машину нам дал брат одного из членов «Фи Каппа»); я прикрепил аппарат к рукомойнику на нашей кухне в Пуллмане. Потом я с помощью переключателей на передней панели загрузил маленькую тестовую программу – она успешно отработала. Но мы еще не были уверены, что программа Билла по анализу дорожного движения у нас пойдет, – нам не удалось найти устройство для чтения громадных шестнадцатидорожечных перфолент.
В отчаянии мы обратились к местному изобретателю, который создал хитрый аппарат, читающий отверстия перфоленты с помощью прижимного ролика из токопроводящей резины. Ролик приходилось постоянно придерживать, ленту все время перекашивало, но лучшего у нас не было. На демонстрации в мае в Техническом департаменте Сиэтла и округа Кинг считыватель не сработал – полный провал. Билл наконец сломался и потратил серьезные деньги на более надежный считыватель от Enviro-Labs.
«Traf-O-Data все-таки заработала!» – написал я Рику Уэйланду в августе 1974 года.
Тратя по два доллара в день на сбор данных, мы нашли трех клиентов: два маленьких округа недалеко от Сиэтла и район в Британской Колумбии. Они отправляли по почте ленты с записями домой Полу Гилберту, и он строил графики потока транспорта по часам. Но стоило нам начать раскручиваться, многие штаты, в том числе и Вашингтон, стали предлагать те же услуги муниципалитетам бесплатно. Мы не собирались сдаваться запросто и даже пытались (безуспешно) продать наш продукт в Южную Америку. Судя по налоговым декларациям за шесть лет – с 1974-го до 1980-го, – Traf-O-Data принесла 6631 доллар валового дохода при чистых потерях в 3494 доллара. В 1982 году я закрыл наш текущий счет и получил на руки 794 доллара 31 цент. К тому времени все наши были мысли заняты созданием новой компании в Сиэтле.
Сейчас можно сказать, что Traf-O-Data создавалась на хорошей идее, но по никудышной бизнес-модели. Мы не провели исследования рынка. Не подумали, как сложно будет добиться капиталовложений от муниципалитетов, как неохотно чиновники будут покупать машины у студентов. Для Билла неудача с Traf-O-Data стала еще одной сказкой с моралью. Самое главное – мы усвоили, как сложно конкурировать с «бесплатным» (Билл запомнил урок на всю жизнь: годы спустя его «заклинило» на Linux – свободно распространяемой операционной системе).
Но были и положительные моменты. Traf-O-Data укрепила мою уверенность в том, что вскоре микропроцессоры начнут выполнять те же программы, что и большие компьютеры – мейнфреймы, только за меньшие деньги. Забегая вперед, добавлю, что мои средства разработки для 8008-го дали нам бесценный фундамент для работы с чипами следующего поколения. В 2002 году я купил у Пола Гилберта единственную машину Traf-O-Data и установил ее в нашем зале «Начало» в Музее естественной истории и науки в Альбукерке. Мне хотелось оказать честь бестолковой железяке, сыгравшей решающую роль в программной революции для микропроцессоров.