Коннор и Блейз приехали на следующий день. Тихие и спокойные ребята, им приглянулся вариант размещения у Синклера и всю троицу я направил на работы по “Долине Проклятий”.
– Однажды мы с Джоном закончим систему совместной разработки, – начал я вещать, презентуя разрабам план проекта, – но пока это в планах, мы разделим вашу работу между всеми и начнем периодически объединять результаты труда вручную, матерясь на то, что за идиоты писали другие модули.
Я подошел к очередной маркерной доске и расчертил ее на четыре колонки – “Крис”, “Чак”, “Коннор” и “Блейз”. В каждую при помощи магнитиков прикрепил по несколько отрывных бумажек с задачами, на формирование первоначального списка которых у меня едва ли не целый день ушел. Умозрительно – ничего не упустил и верно основные блоки распланировал, но это стопроцентно не так. Придется еще не раз вернуться на более ранний этап проектирования и все переделать.
– Си-Си, так никто не работает, девять женщин не родят ребенка быстрее, – попробовал поспорить рыжий Блейз. Остальные кивнули.
– Да, принято, что один человек – одна игра, всегда так было, – подхватил высокий и худой Коннор. Волосы у него в куцый хвостик сзади резинкой были убраны. – Художника разве что стороннего привлекаем, кто рисовать не умеет. И тексты отдельный человек пишет. Но код в одних руках, иначе драки не миновать. Мы всегда друг с другом не согласны.
– Ребенка нельзя поделить на независимые блоки, а программу можно, как мы и сделаем. Лучше представьте, сколько времени уйдет на постройку небоскреба у строителя-одиночки в сравнении с девелоперской фирмой.
По лицам понял, что прониклись аналогией.
– Мы договоримся о строгих интерфейсах для общения между модулями. Внутри каждого – черный ящик, но с понятными всем входами и выходами. Второй важный принцип – открытость того, кто чем занят. Все задачи – только на доске. Взялись за что-то – прикрепили стикер и не лезем в модули, занятые другими. Нужна какая-то функция – подходим и говорим о ней.
– А если я найду чужую ошибку? Или кто-то напишет тормозящую дичь? – тут же уточнил Блейз.
– Сообщить словами через рот. Мы каждую неделю будем заниматься совместными код-ревью. Садиться вместе, читать код и обсуждать. Каждый должен понимать, как устроена игра. Чтобы если завтра меня похитят инопланетяне, вы пожелали мне приятного пути до планеты Вулкан, а не впали в ступор от отсутствия понимания, как работает мой модуль.
Ребята переглянулись не без скепсиса. Это будет больно и сложно. Я и сам во многом одиночка-эгоист, считающий, что лучше меня никто код не напишет. Но нужно себя преодолеть и довериться товарищам.
– Мы привыкнем не сразу. Не обойдемся без споров и конфликтов. Но напишем игру намного быстрее, чем единолично, заработаем много денег и получим какую-нибудь награду “игра года”.
Собственно, я точно так же уже с Джоном и Монти взаимодействовал, сейчас всего лишь масштабировал практику до четырех разрабов на проекте. На “Долине проклятий” моя роль выходит ближе к менеджерской, сам я хочу VVVVVV дописать, прежде всего.
От распределения задач отвлек телефонный звонок.
– Крис, привет! У меня потрясающие новости! Я сделал стабильный билд файлового менеджера под Эппл 2! Это что-то невероятное! Я должен тебе признаться, что недооценивал удобство работы в графическом интерфейсе. Давай пересечемся, поедим пиццы и вместе посмотрим код. Есть несколько крутых оптимизаций, ты обязан заценить, как элегантно я вывернулся!
– Привет, Рокки, – ну вот не поворачивается у меня язык называть этого человека Стивом. – Приедешь к нам в гости? Хочу показать тебе наш офис.
– Договорились! Уже прыгаю в машину!
Возняк словно на крыльях к нам летел, так как уже через сорок минут в двери особняка позвонили. Я выглянул через глазок – высоченная стопка коробок из-под пиццы, за которой не видно человека. Сомнительно, что это Консуэла за пиццей прячется, ей бы чичис всё держать помешали.
– Привет, Рокки, – открыл и сразу помог не уронить пиццу, прихватив половину коробок. – Спасибо, пахнет офигенно.
– Я знаю, где самая невероятная пицца в округе и не мог не поделиться знанием! Офигеть! Это самый потрясающий арт-объект по мотивам Лавкрафта, что я встречал. Крис, у тебя суперский дизайнер. Этот Ктулху такой жуткий, что я чуть коробки не выронил.
– Ого! Да ты тот мужик с фестиваля! – на звонок в дверь спустился Томми, проверить, не к ним ли пришли. – Ты сообщил про связь по спутнику с Советами. Чувак, ты крутой! Правительство пичкает нас дерьмом про злых русских, а ты раз – и показал, что там есть музыка и даже не отстойная.
– Ваша группа тоже невероятная и потрясающая, – вернул комплимент Возняк, – я бы и на второй фестиваль вас позвал, но мне сказали, что повторяться – дурной тон. Приходите, как гости! Вы приглашены! На этот раз я хочу собрать миллион зрителей! Я пришлю билеты, как только напечатаем. И телемост снова собираемся устроить. Если есть пожелания, кого хотите в выступающих – называйте!
– Ван Хален! – потребовал музыкант.
– Приглашен! – просиял миллионер. – У вас потрясающий великолепный вкус!
– Если будет кантри-секция, то Джонни Кэш, – назвал я легендарного певца. Обидно мне, что его так многие списали.
– Заметано! Скажу его пригласить!
А не подсказать ли ему Металлику позвать? Ну а что? Те для массовой культуры не меньше Кэша сделают. Но потом, не сейчас.
– Крис, дай твоему другу пару коробок пиццы, чтобы на всю группу хватило! И пошли смотреть мой порт твоего файлового менеджера!
– Пицца, чуваки! Я принес вам пиццу! – объявил Возняк, но смотрели три бывших программиста Сьерры не на картонные коробки, а на него самого.
– Вы тот самый? – нервно сглотнув, спросил Блейз.
– Тот самый Рокки Раккун Кларк, скромный инженер, придумавший несколько потрясающих штук.
– Компьютер Эппл 2, например? – спросил Майкл и протянул Возу ладонь, которую тот, не являясь расистом, незамедлительно пожал.
Все перезнакомились и мы воспользовались одним из немногочисленным Эппл 2 для демонстрации.
– Как вы знаете, в компьютерах Эппл нет того количества функциональных клавиш, что и у IBM, и потому для реализации копирования и вставки я выкрутился так, – начал рассказывать Воз, – вы нажимаете Контрол-Си и указатель на файл копируется в буфер. Далее на второй панели вы нажимаете Контрол-Ви и создается копия. Если нажать для копирования Контрол-Экс, то после вставки на новом месте в прежнем файл будет удален. Стив подглядел эти сочетания клавиш у Зирокс и они гениальные!
– Стив Джобс? – спросил Коннор, говоря с придыханием, как о небожителе.
– Ага, он умеет подмечать такие штуки лучше всех в мире! Крис на него в этом похож, такой же потрясающий. Вы видели этот текстовый интерфейс? Он ничем не хуже графического, который недавно для Эппл Лиза презентовали. Но для его работы не нужен компьютер за десять тысяч.
– Уже презентовали? – не удержался я.
– Ага, в июне стартуют продажи. Стив и его команда проделали огромную работу, создали потрясающую машину, а то, как они смогли удешевить мышку – это что-то с чем-то. Представляете, стальной обрезиненный шарик и фотодатчик внутри позволили снизить цену до пятнадцати баксов! Почти на порядок!
– Крис, может, нам подсуетиться насчет игр на новый компьютер? Раз мистер Возняк так его хвалит… – заикнулся Блейз.
– Десять тысяч долларов, – повторил я цену. Она, по мне, так прозвучала бы, как приговор, и в современности. “Нормальный комп стоит штуку-две баксов” – как повелось с начала восьмидесятых, так и продолжило оставаться актуальным до моего 2026-го.
– Ага, дороговато, – согласился Майкл, – мне тут хорошо платят, но я такой себе не позволю.
– Именно! – подтвердил я. – Его купят какие-нибудь крупные компании, а им не до игр. Вот Эппл 2 – народная платформа, несмотря на некоторые… кхм… оптимизации.
Рокки меня прямо-таки обнял за эти слова и прослезился, не позволив договорить вторую часть мысли – про то, что Коммодор 64 еще более близок простым людям.
– Чувак! Ты как мысли мои прочитал! Мы со Стивом для того и собирали первый компьютер, чтобы каждый мог себе его позволить и… стоп-стоп-стоп! Крис, прости меня! Я только сейчас сообразил, что кого-то важного не хватает? Где Линда? Я собирался взять у нее автограф для себя и Кэнди! Она ведь национальная чемпионка по аркадным играм! Куда вы ее спрятали?
– Приболела, сильная ангина, я попросил ее остаться дома, чтобы избежать осложнений, – пересказал историю поездки на концерт.
– Ох, как фигово. Мне тогда лучшее ее не навещать, чтобы малыша Джесси не заразить. Вы ведь ходили уже к доктору?
– И ходили, и пойдем еще. Рокки, а не хочешь поучаствовать в эту субботу в записи студенческого ТВ? Мы делаем программу об играх. Первые два эпизода уже отсняли, но Линда, потеряв голос, больше не годится на роль второй ведущей.
Надо ли уточнять, что моя идея оказалась невероятной, потрясающей и великолепной. Воз – особенный человек. Он так много сыплет восторженными эпитетами, что они, казалось бы, обязаны приесться и начать вызывать раздражение, но нет. Во-первых, он объективен и всякой ерунде не радуется, только стоящим вещам. Во-вторых – искренен. Вся похвала идет, как говорится, от сердца.
– Я расскажу про свои самые любимые игры на Эппл 2! – пообещал инженер. – А про те, что написал сам, совсем нескромно? Брикаут хорошо у меня получился. И ваш Тетрис! Он феноменален! Я влюбился с первой захлопнувшейся линии.
– И про игры от “Каналья Геймс” все же не стоит, – попросил я. – Мы не хотим обвинений в предвзятости.
– Тогда главная игровая жемчужина – “Пинбол конструктор” от Билла Баджа. Он раньше работал инженером в Эппл, но сейчас у него своя небольшая компания. Билл невероятный и потрясающий, его игры буквально перезапустили мой мозг после аварии. Вам обязательно стоит с ним познакомиться! Ох, и экономическая стратегия “Тайпэн!”, ее портировали с TRS-80 в прошлом году! Я ее просто обожаю. Морская торговля в ней дает ощущение настоящего пиратского приключения! Всем советую познакомиться, это одна из лучших текстовых игр всех времен.
Съемки назначили на субботу и пошли день за днем. Я писал код, нарезал задачи, занимался ревью и в целом делал свою работу. Нравится мне вот это вот всё.
Линда оставалась на больничном, и к пятнице уже избавилась от температуры, хотя говорила всё еще с трудом. Именно на этот день мистер Карлсон по просьбе Эдди записал нас к доктору. Нас – в смысле девушку и меня, как ее сопровождающего.
В этот день разыгралась сильная непогода. Налетевший тайфун сбрасывал на округу тонны воды, а если бы мы рискнули взять на улицу зонтик – ураганный ветер вынудил бы повторить фокус Мэри Поппинс.
От пробежки сегодня пришлось отказаться, а Дюке забрать домой, а то его будку внутри вольера прямо-таки заливало. Он хороший мальчик – мебель не портит, обувь не грызет.
Несмотря на белый день, понадобилось включить у Тойоты фары, чтобы добраться под ливнем до Сан-Франциско. Если такие “погожие деньки” в солнечной Калифорнии зимой – частое явление, то не переехать ли мне в Неваду или Техас? Справедлива истина из мультика – “лучше, чем Воронеж, нет города нигде!”.
Элитный медицинский центр в престижном районе “Пасифик Хайтс” обладал собственным подземным паркингом, потому мы еще и не промокли, как стихия ни старалась. Анкетные данные в регистратуре, триста долларов предоплаты за осмотр, заставляющие меня пожалеть, что я программист, а не врач – и наконец-то наше время в кабинете доктора медицины Розенталя. Ему бы с такой фамилией словарик какой составить.
– Линда Ким, входите, – пригласила медсестра, приоткрыв дверь в назначенное время.
Я шагнул внутрь и тут же последовал протест.
– Стойте! У меня что, двоится в глазах? Я вызывал одного пациента. Юноша, зрение с каждым годом меня подводит сильнее, но я даже без очков вижу, что вы не Линда Ким, – сказал полностью седой еврей, изучавший за столом медкарту.
– Я ее жених, помочь объясниться. Линде больно говорить.
– Молодой человек, я счастлив за то, что вам удались найти вторую половинку, это большая удача в нашем суетном мире. Но у меня только одно смотровое кресло. За пациентку скажут состояние ее горла и последующие анализы, если потребуется. Присядьте в приемной, почитайте журнал, выпейте кофе из автомата, скушайте шоколадку. Никто в моём кабинете вашу невесту не обидит.
И потекли долгие минуты ожидания, воспринимаемые как часы, месяцы и годы. Вот где бы портативный тетрис стал неоценим, хоть как-нибудь бы отвлекся. А так – пытался продумать архитектуру модулей для “Долины Проклятий”, но не очень успешно. Мысли всё время убегали туда, в кабинет.
– Войдите, молодой человек, пациентка просит, чтобы вы присутствовали, – наконец-то пригласили и меня.
Линду я нашел полулежащей в процедурном кресле, похожем на стоматологическое.
– И вот все в сборе. Позвольте же старику озвучить свой диагноз, – проворчал доктор Розенталь. – У вас, красавица, хронический узелковый ларингит, обычно характерный для людей, работающих голосом, например, певцов и дикторов. Очень запущенный, налицо клиническая картина фиброза связок. И как вы только говорили все эти годы?
Звучало очень неприятно, но не как название катастрофы.
– Это лечится? – спросил я.
– В настолько запущенной форме – только хирургическим путём. Как давно вы испытываете проблемы с голосом, милочка? Не меньше пяти лет, не так ли?
– Семь лет, – тихо-тихо выдала Линда.
– А вот это вам противопоказано, моя дорогая. Шепот, чтобы вы знали, нагружает связки куда сильнее, чем обычная речь. Лучше промолчать, чем шептать. Для того мы и позвали вашего кавалера, чтобы он сказал все необходимое.
– Хирургическим путем? – напомнил я главный вопрос.
– Микроларингоскопия. Операция очень сложная, требующая ювелирной точности, но в нашей клинике мы такие делаем регулярно. Срежем все узелки, образовавшиеся на связках, и буквально вернем вам ваш настоящий голос, юная леди. Дело в том, что все эти годы вы разговаривали не голосовыми мышцами, а мускулами шеи и гортани, совсем для того не предназначенными. Человеческий организм удивителен, не так ли? Мы вернем голосовым связкам их прежнюю подвижность и не стану обещать, что вы сможете выступать в опере, но впервые услышите свой истинный голос таким, как и положено в вашем возрасте.
– Каковы риски? – самый главный вопрос. Если проблема только в привычной хрипотце, как у закоренелого курильщика, то и плевать. Мне низкий голос Линды уже милее любого сопрано, контральто или как оно там называется.
– Любое оперативное вмешательство под общим наркозом имеет элемент риска. Но у нас огромный опыт, а у меня лично – ни одной неудачной операции за сорок лет практики, за то и беру большие деньги. Если же говорить о рисках отсутствия лечения – есть некоторые шансы полностью и навсегда замолчать. Плюс риск, что узелки переродятся в новообразования и потребуют более серьезной операции.
– Деньги! – прошептала Линда. Хотя они совсем роли не играют, вот ни капли. Я не бессребреник, но отдал сорок тысяч за дом для Елены и Гектора и ни о чем не жалею, а тут ситуация более важная.
– Операция и курс реабилитации у фонопеда обойдутся вам около двадцати тысяч. Во многих других клиниках попросят дешевле, не стану таить, но у нас условия намного лучше. И если речь зашла о деньгах, учитывайте, что страховая наверняка откажет в возмещении из за запущенности болезни.
Всего-то! Как быстро я перешел от подсчета каждого четвертака к безусловной готовности расстаться с парой годовых зарплат типичного работяги.
– Не вижу проблем в этой сумме. Мы посоветуемся и примем решение, – озвучил я.
Для себя согласился бы сразу, но тут на операционный стол лечь придется не мне. Я окажу всю нужную поддержку, поделюсь всеми силами и ресурсами, но решение за самой девушкой.
– Ближайшее окно в графике операций у нас на август, – уведомил врач. – Затянете время – и оно сдвинется еще на месяцы.
Линда сжала мою руку и прошептала “согласна”. Может, доктор нас и разводит, но ни о чем не жалею.
– Мы согласны, – подтвердил я вслух, – запишите нас в график.