– Мистер Колон, раз вы уже достигли цели, подойдите, мне есть что вам сказать по поводу статьи о вашем алгоритме сортировки.
Сэм утянул меня за дверь, но как и ожидалось, говорить начал не о джулайсорте.
– Объясните ваш код. Кратко, если возможно. Он просто не должен работать, а вместо этого приблизился к ассемблерному по производительности.
– Всё дело в goto…
Не стал самоутверждаться и утаивать знания. Это ведь мой будущий соавтор научной статьи. Коллега-ученый. Ну и у него достаточно крепкие хуэвосы, чтобы переобуться и начать относить к цветному каналье и даже к женщине, как к человеку. Не всем дано признать свою неправоту, а вот Сэм справился.
Под мой рассказ аспирант опустошил торговый автомат. Три десятка разных шоколадок – всё, что оставалось в продаже. Всё купленное тут же сгружал мне.
Когда мой рассказ закончился, Гарланд задал явно волнующий его вопрос.
– Мисс Джулай, ты не нашел ее контакты? Расскажи о ней.
– Ну… она блондинка с карими глазами, примерно ваша ровесница, – честно описал я девушку с обложки журнала за июль восемьдесят первого. – Номера телефона она не оставила. Простите.
– Значит, придется указать ее анонимно. Написать, что ты благодарен своей наставнице. Этика научных статей требует получения разрешения для указания имен.
– Ну… ладно. Мисс Джулай не тщеславна.
– Теперь о названии статьи. Ты, как соавтор, обязан согласовать. Как тебе “Трехпутевое разделение в быстрой сортировке: преодоление квадратичной деградации на данных с высокой избыточностью”.
– А не слишком длинно? Отпугнет неготового читателя.
– Это научный журнал, а не Плейбой или Байт, его читают только люди с теоретической базой за плечами.
Далее парень вывалил на меня основные тезисы и мне оставалось лишь кивать. Единственное подобие научной работы, что я писал – мой собственный диплом, и там я описывал простую базу данных из проекта с работы. Арбайтен кодером я устроился, еще будучи студентом.
Что ж так сложно-то? Такое впечатление, что в академической среде есть правило специально излагать простые идеи максимально сложным языком. С формулами, отсылками на других ученых и цитированием.
Элементарное “мы добавляем третье ветвление для проверки на дубликаты” превратилось как бы не в доклад на нескольких листах. Я так не умею изъясняться, я не Водолей по гороскопу. А кто я по гороскопу? Понятия не имею, какой знак зодиака за двадцать пятым августа закреплен и какие баффы он даёт. Даже интересно стало, несмотря на то, что Макаронный Монстр и то реальней астрологии с гомеопатией.
– Со всем согласен, корректировок нет, – устало сказал, дослушав Сэма. Его спич про “релокацию скалярных и векторных величин в рамках итеративного контура” звучал не лучше, чем знаменитое “С точки зрения банальной эрудиции каждый индивидуум, критически мотивирующий абстракцию, не может игнорировать критерии утопического субъективизма”.
– Отлично, тогда на следующем занятии дам почитать черновик и понесу на рецензию доктору Стерлингу. Колон, вынужден признать – я в тебе ошибся. Думал, что ты очередной выскочка из МЕЧА и пришел на курсы ради продвижения целей вашей организации. Но ты… ты отличный программист. Тебе нужно поступить в университет официально, займешь моё место.
Вот уж спасибо, вот уж не надо. Не понимаю, в чьи головы вообще пришло смешивать науку и образование. Никак не додумаюсь, зачем ученому, имеющему свои научные задачи, тратить время на преподавание, с которым могли бы справиться специально обученные экстраверты.
Раздал почти все сладости соученикам, как и собирался. Прокачал, так сказать, репутацию с неписями. В штатах меня бы, скорее всего, не обвинили в том, что закрысил, но всё одно “щедрая душа” и всё такое.
– Крис… босс… я только сейчас поняла, насколько ты сильный программист. Я тупая? – это у меня Бренда спросила, когда я вызвался подвезти ее до станции БАРТ.
– Мне стоит сменить гардероб, чтобы выглядеть внушительней, – признал я. – Ты справилась сегодня не хуже прочих. Считай, что прошла стажировку, жду тебя завтра утром на работе.
По пути к парковке, чисто поржать, купил газету с гороскопом. А то вдруг у меня несовместимость с издателем из-за Венеры в Марсе и Луны в противофазе, а я и не знаю.
Ушлые астрологи в своих прогнозах даже даты, под которые каждый знак попадает, подписали.
Как рожденный 25-го августа, я Дева, знак стихии Земли, которым управляет планета интеллекта и логики – Меркурий. Какие-то странные рассуждения. Раскаленный от близости солнца Меркурий я бы к огненной стихии отнёс. И при чем тут логика и интеллект? Хотя, чего скрывать, с этим они попали в точку.
Хитрые же пендехо. Прочитав описание остальных знаков, я понял, что они тоже попадают в яблочко. Удачливость Юпитера, твердость Урана, изобретательность Плутона, харизматичность Венеры.
Добрел до знакомой пиццерии и совершил еще одну попытку дозвониться до Лео. Успех.
– Больцман и партнеры, слушаю вас, – взяла трубку “тетя Глаша”.
– Привет, Глория, это я, Крис. У меня тут небольшой юридический казус – я ударил человека, но он первый начал, очень агрессивно себя вел и избивает мою новую сотрудницу.
– О Тобалито! Ты настоящий рыцарь! И идиото. Драка может иметь конкретные юридические последствия. Мой второй муж оказался за решеткой после того, как ввязался в разборки и пырнул отверткой такого же каброна, как он сам. Лео! Возьми трубку, это Кристобаль!
– Как удачно, что ты позвонил, пацан, – услышал я голос Больцмана. – Докладываю – второе заседание Гектора назначили на 4-е октября. Совсем скоро. Во-первых, и тебе необходимо притащить свой зад в Эл-Эй, лично полюбоваться тем, как я размажу прокурора по трибуне.
– Просто увидеть торжество правосудия?
– Нет-нет, пацан, не только поэтому. Едва Гектор выйдет из дверей суда свободным человеком, его снова арестуют. На этот раз миграционная служба. Ты нужен, чтобы внести новый залог. Либо передай деньги миссис Колон, пусть она займется. Упреждая вопрос – я, как адвокат, не имею права стать залоговым поручителем.
Кажется, пендехостанская судебная система целиком нацелена на то, чтобы выкачивать деньги из населения. С другой стороны, повидаюсь с Джоном и при личной встрече текстовый редактор с ним обсудим. Плохо, что ли?
– Принято. Я внесу залог, что дальше?
– Новое разбирательство. Мы с миссис Флорес на месте не сидели и подали все необходимые ходатайства о воссоединении семьи. Еще до рождества мы выбьем Гектору гринкарту, особенно если они докажут беременность.
– Тут еще такое…
Кратко ввел адвоката в курс дела с бухгалтершей и “демоном-парикмахером”, здорово напомнившим мне Биффа Таннена.
– Давай по порядку, пацан. То, что ты заехал по тестикулам напавшей на тебя деревенщине – классический пример необходимой самообороны. Ты действовал полностью в своём праве на самозащиту. Рисков с юридической стороны тут нет. И нужно оказаться клиническим имбецилом, чтобы пойти жаловаться копам на то, что жертва дала отпор.
– Меня больше волнует его ситуация с Брендой. Девушку жалко, но сама она не хочет выбираться из ямы.
– Найм детектива совершенно легален. Риски лишь в том, что он может прибегнуть к незаконным методам. Но мы легко тебя отмажем от обвинений, если они возникнут, свалив всё на исполнителя. Я бы рекомендовал оформить судебный запрет приближаться к ней. Даже криворукие растяпы из Сан-Франциско справятся с ним, когда доказательства налицо. Но она обязана сама захотеть. Без личного желания жертвы ничего добиться нереально. Печальная правда жизни, пацан.
– Спасибо, Лео, увидимся в начале октября.
– Кристобаль, как только мы закончим с делом Гектора, приедем к вам в Эль-Серрито и я вправлю дурочке мозги, – взяла трубку Глория.
Новых синяков на нашей Брунгильде к следующему утру не прибавилось, но это не повод расслабляться. Продолжили трудиться в поте лица. Как говорил Джейсон Cтетхем: “Работа не волк, работа – work!” Блондинка активно принялась наводить порядок в отсутствующей у нас пока бухгалтерии и… я идиот.
– Крис, что значит, ты не сохраняешь чеки из супермаркета? – спросила Бренда таким тоном, будто это она тут главная. – Как мне тогда включить затраты на питание в расходы твоей фирмы? Любую, абсолютно любую покупку мы обязаны декларировать, чтобы заплатить меньше налогов. На технику чеки хотя бы сохранил? Компьютер, принтер…
Бухгалтерия… бухгалтерия никогда не меняется. Хвала Императору, чеки на крупные покупки у меня в самом деле есть, копам их совсем недавно показывал.
– А квитанция об оплате обучения на курсах университета? За тебя, за Линду… мне надо уточнить, подойдет ли моя. Я всё-таки тоже сотрудник. Чеки с заправок ты что, тоже не собираешь? Так поступать нельзя. Жду от тебя к концу месяца отчет по всем личным расходам, подкрепленным документально. Уяснил?
Идея сидеть в Оукхерсте и довериться Кену вдруг показалась не такой и дурной. Ну куда я со своей наивностью лезу в большой бизнес?
И несмотря на все успехи в бухучете и то, что экономическая модель жизни студента становилась каждый день всё лучше и детальнее, немного напрягало само присутствие посторонней девушки у нас дома. Мой дом – моя крепость, и превращать его в офис разработки – не совсем правильно. Линда уже обеды и ужины на троих готовить стабильно начала. А пышка Бренда ест, как мы двое вместе взятых. Нет, не настолько я жадный, не объест нас еще один голодный рот, скорее, хочу выдержать личные границы.
В субботу сходили в гости к Монти и Селесте и застряли у них почти до вечера, ковыряясь с шашками. Я притащил свой квестовый движок и мы начали дружить модуль визуализации картинок из него с игрой. Вот реально до вечера провозились и справились так быстро лишь потому, что Синклер – настоящий вундеркинд, а у меня почти тридцать лет опыта в разработке.
Девушки, впрочем, тоже не отлынивали – взялись за внесение в комп результатов редактуры Селесты текстового квеста. И ей я тоже выписал чек. Какой-то человек-банкомат, постоянно разбрасываюсь деньгами.
Еще в копилку расходов – Джон купил-таки текстовый редактор MINCE и перекинул мне по прямому модемному соединению исходники. А я, как честный человек, отправил ему почтой банковский чек на двести пятьдесят баксов.
1200 бод – это шикарно! Не такие и маленькие исходные коды на Си передались за какой-то час. На оплате межгорода разорюсь, но ни о чем не жалею. Каналья Эдитор всё ближе.
Присланный код на Си – просто песня, поэма из операторов и скобочек, грамотно разбитая по модулям. У меня даже закрались сомнения в собственной исключительности. Больно уж хороша реализация. Неведомый мне Крейг оказался очень крут, как кодер. А ведь у него нет десятилетий опыта, то есть на одних таланте и знании предметной области накодил.
Зарывшись в исходники, я понял, почему компания-разработчик отдает их за жалкие 250 долларов. Да похвастаться ребятам офигенно написанным кодом захотелось. Я, вероятно, по той же причине собираюсь сделать свои программы опенсурсными. Ох, как всё документировано! Ни одной лишней буквы. Комменты поясняют, “почему так сделано”, а не очевидное “Алиса – это пудинг”.
Разрабы работали напрямую с видеопамятью и сделали всё самое сложное. Я даже нашел, где и в какую ячейку передать значение, чтобы поменять цвет каждой буквы. Читается, как толковая книга. Пожму этому самому Крейгу руку при встрече. Специально в Бостон слетаю. Ну, когда деньги появятся.
Применил свой хак, изменив цвет на рандомный для каждой буквы. Подождал десять минут, пока закончится компиляция и… вуаля. Случайно открытый файлик, у которого каждый символ окрашивался в рандомный цвет, смотрелся кошмаром эпилептика и даже у здорового меня голова кружиться начиналась. Но, во имя Великих Древних, сработало! Осталось прикрутить к делу анализатор, портировав его на Си и научив работать с разными синтаксисами. И это не такая простая задача. Главным нашим врагом станет производительность, исключающая парсинг всего файла на лету. Пофиг, пляшем! Джон умный, гений ассемблера, что-нибудь придумает.
А в воскресенье поутру около нашего домика притормозил черный ктулхомобиль. Из фургона выбрались четыре рокера. Все они в кожаных куртках, все они большого роста, как у Цоя пелось. Уверен, кто-то из соседей снова вызвал полицию на подозрительную активность, но, возможно, диспетчер уснул по воле щупальцатого космического ужаса и не ответил, валяясь в болезненном кошмаре.
– Си-Си! Чувак! – Эдди прямо-таки обнял меня на пороге дома. Остальные тоже все подошли поприветствовать.
– А Трейси не приехала? – печально спросила Линда, которую все тоже поспешили по-дружески хлопнуть по плечу.
Увы, отважная Пенелопа Смит к музыкантам, по всей видимости, не примкнула. За рулем фургона место занимал клавишник Гарри, уже полностью оправившийся от перелома ноги.
– Нет, у тыковки съемки в сериале, и в еще одном сериале, который про чувака, разговаривающего со своей тачкой. И в журнале, – рассказал Эдди.
– У них с кудряшкой совместная фотосессия будет. Ууух! Уже хочется увидеть фоточки. Я на эту Изабеллу прямо запал, – добавил Гарри.
– Мы тоже переезжаем в Эль-Серрито, чуваки! – провозгласил солист. – Менеджер от лейбла снял нам крутейшее здание. Прикиньте, реальный проклятый старый дом! Там даже хозяин потерялся. Вот кора выйдет, если он от голода на чердаке или в подвале помер.
– Крутяк, – подтвердил, наверное, все еще не басист Томми. Рука у него больше не перевязана, но держал кисть он периодически неестественно, как будто бы баюкая.
– Поехали посмотрим, – позвал Гарри, – чуваки, вы же с нами.
– Не великоват домик? – спросил я.
– В самый раз, нас же четверо, – флегматично подтвердил Билли, – а еще надо где-то репетировать, девчонок куда-то водить и всё такое.
– И клип на Проклятый Старый Дом снимем прямо там, – это уже Эдди. – Си-Си, Эль-Кей, не желаете сняться? Типа, вы спрятались от непогоды в дождливую ночь, а там голодный дед. Деда кто-то из нас сыграет.
– Мы не актеры, – вздохнул я. – Трейси позови.
– Без шансов, чувак, тыковка у нас занятая. Прямо нарасхват. Ее какой-то продюсер на фестивале заприметил и прям работой завалил.
Линда тяжело вздохнула и насупилась. Видимо, ей, как и мне, неуютно от того факта, что пара из Трейси и Эдди под угрозой.
– Ну так что, вы с нами? Риэлтор обещал по дому провести! – позвал бывший мусорщик Томми.
– Поехали! – ответили мы с Линдой синхронно.
Удивительная штука. Сто лет уже дружим с группой, но в их фургоне пока не катались. А внутри ничего так. Не как в маршрутке. Позади пара длинных диванов стоит, мини-бар. Ударные заняли кучу места, но всё равно для комфорта простор остается. Экрана только не хватает для полного фарша. И чтобы комп с джойстиком к нему подключался.
Я перебрался на переднее сиденье и показал Гарри дорогу к тому самому дому Катценьяммера.
Если группа его займет, не примазаться ли и мне? Под офис компании, имею в виду. Я ведь тоже часть коллектива? Так что я не халявщик, а партнер. Займем какой-нибудь чердак, выселив с него призрака. Или призраку в подвале положено найтись? Да неважно!
Нам и нужно всего несколько комнат из расчета по два-три сотрудника в каждой. Компы поставим, локалку протянем, начнем по сети гамать. Многопользовательские игры напишем. Размечтался! Не пришло еще время Квейка и Контр-страйка. Хотя что-то двумерное с видом сверху, да на Коммодорах – почему бы и нет.
Героев Меча и Магии! Их предка – Кингс Баунти! Вроде бы как раз в восьмидесятых крутая пошаговая стратегия родилась, правда, для нее довольно и одного компа с режимом “горячего кресла”, то есть ходами по очереди.