Ретро бит 5 (СИ). Страница 50
Линда рисовала векторную эротику, Бренда просчитывала очередной показатель виртуальной экономики, Монти на занятиях в университете. Идиллия.
— Ну, какие новости? — взволнованно спросила моя девушка, оторвавшись от планшета, точно такого же, как у Роберты Уильямс, между прочим. Ее прелесть.
— Отличные. Перед выступлением Стерлинга я смогу взять автограф Дональда Кнута.
— Кого? — переспросили обе девушки сразу.
Стена непонимания. Пришлось устроить небольшую лекцию о величии человека, сравнившего программирование с поэзией и придумавшего современный подход к оценке эффективности алгоритмов.
А далее я сел за комп, открыл редактор кода и выпал из реальности. Остались только я, Си и два в шестнадцатой способов отстрелить себе конечности. Вынырнул из состояния потока, когда за окном уже стемнело, Бренда ушла домой, а Линда принесла мне на ужин макарошки, приготовленные Селестой. Раминь!
Но зарелизить сам алгоритм и убедиться, что он не производительней обычного квиксорта — половина дела. Нужно подготовить тесты, множество тестов, доказывающих, что дюкесорт абсолютно стабилен на любых данных и не сваливается в бесконечную рекурсию там, где джулайсорт поднимает лапки кверху, например, на предварительно отсортированном массиве.
Ночь, она опять звала меня. Я попросту не засну, пока не покрою код тестами и не убежусь, что всё работает, как задумано, на разных наборах данных, подходящих под критичные случаи. Ктулху, может быть, и спит, а мне некогда.
Глава 26
Внутренняя злость меня отпустила утром следующего дня, когда я, вынырнув из состояния потока, нашел Линду спящей на диванчике в рабочем кабинете. От планов утереть нос Стерлингу не отказался, но уже с другой мотивацией. Не потому, что тот сплагиатил у плагиатора, а чтобы в целом желание обкрадывать людей у профессора отбить.
Еще перед Дюке стыдно стало. Не потому, что не спросил у него разрешения по поводу герцогской сортировки, а из-за того, что я даже не знаю, кто с ним вчера вечером гулял. Линда, скорее всего, они с питбулем очень хорошо подружились.
Две недели пролетели, как один миг. Код, тесты, написание собственной статьи, по шаблону Сэмовой, но понятным языком и без лишней воды. Много раз мануалы писал и привык всё упрощать. Хотя, признаться, не очень люблю это дело. Пришлось в библиотеку съездить и Кнута почитать, по поводу оценки эффективности, чтобы все хотя бы по минимуму академических стандартов оформить. Ни о чем не жалею.
С юридической стороны, как только возможно моё авторство закрепили. Даже засняли на видеокамеру, как я читаю вслух свою же работу. Это, скорее всего, лишнее, но в библиотеку Конгресса Лео и тексты и пленку отправил. Патенты я пока решил придержать. Ну мерзко это, алгоритмы патентовать! Не зря верховный суд запретил. А то, что можно извернуться, убрав слово «алгоритм» из формулировки, ничего не меняет.
В означенную субботу 23 октября мы с Линдой сели в тойоту и поехали в кампус Стэнфордского университета. Следом за нами выдвинулись Монти с Селестой, «Бесконечность тьмы» и севшие в тот же фургон Рамон с Брендой. И Рокки пообещал явиться.
Стэнфорд мне очень понравился, как в декорациях для исторического кино оказался. Башенки, черепица, колонны и портики, желтый песчаник. Колониальный такой стиль, причем все постройки в едином ключе выдержаны. Мой внутренний перфекционист аж возликовал от эстетического экстаза.
Еще и площади гигантские. Беркли, оказалось, территориально маленький в сравнении с еще одним знаменитым университетом. Потому и сделали самые новые корпуса большими человейниками, чтобы меньшие площади отыграть. А в Стэнфорде повсюду велосипедисты рассекали. Как в Голландии или азиатских странах, где я путешествовал при помощи ютуба. Воздух чистый, никакого смога. Зеленые парки вокруг университетских корпусов. И что я в этом душном логове плагиаторов, плотно встроенном в городскую среду, вообще позабыл? Хотя… кто сказал, что надо искать сотрудников только в одном универе? Вот сейчас как блесну выступлением и отсюда люди тоже подтянутся. Правда, сложилось впечатление, что студентов здесь в разы меньше. Может быть, из-за громадной территории.
Нам — мне и всем знакомым — пришлось основательно поработать ногами от парковки, пока не добрались до аудитории Тьюринга — большого амфитеатра. Для себя, Линды и моих сотрудников я статус участников заранее проплатил, отправив чек по почте. Группа, принявшая решение спонтанно, оплатила по двадцать баксов с носа при входе.
Зашли, послушали первого спикера, не самого хорошего оратора с неплохим докладом об алгоритмах поиска пути — очень полезной темы для геймдева. Его бы тоже стоило послушать всем моим сотрудникам и мне самому, хотя бы ради того, чтобы я сделал себе зарубку уделить время теме. В докладе поднималась извечная тема — экономия ресурсов, а именно — памяти. И мне есть, что сказать по данному вопросу. Алгоритм поиска пути по опорным точкам из 2011-го я криво-косо, но помню.
Докладчик предложил задавать вопросы и прозвучало несколько вежливых и не особенно интересных уточнений. Даже жалко стало этого доктора Перкинса из Стэнфорда — пусть ораторское мастерство ему и не дано, темы он поднял важные.
А далее на трибуну вышел круглолицый дядечка слегка за сорок. В больших очках, с глубокими залысинами, одетый в простую бежевую рубашку и серые брюки, даже без галстука. Похожий внешне на главу семьи Таннеров из сериала Альф.
— Здравствуйте, меня зовут Дональд Кнут и я программист, — начал он с шутки.
Сколько же в этом человеке научной харизмы. Великий ученый стартовал своё выступление и я как отрубился, растворился в доводах и тезисах. Еще и тема, как на заказ, интересная оказалась — алгоритмы выравнивания текста для наилучшего расположения на странице. Строки, абзацы, кегли, система Метафонт для генерации шрифтов. Всё то, с чем он столкнулся при разработке типографского «Ти-Экса». Точнее, сегодня я узнал, что правильно говорить «тех», со звуком «ха» в конце.
— Я ничего не понял, но этот чувак нереально круто говорит, — шепотом высказался Эдди, когда возникла небольшая пауза — докладчик решил попить воды. — Так и хочется дослушать, а потом перед тыковкой выпендриться — типа я умный и научные слова знаю.
Группа вела себя тихо и смирно, оделись ребята более-менее прилично, в чистые рубашки. И никто их не узнал. Вполне типичные молодые студенты, среди тех тоже встречаются патлатые и бородатые.
И, наконец, настал важный момент.
— Сейчас я готов ответить на абсолютно любые ваши вопросы, — произнес математик.
Я решительно встал в очередь к микрофону. И, что удивительно, вслед за мной пошла Линда. Как настоящий джентльмен, пропустил девушку вперед. Очень уж интересно стало, что она хочет спросить у легенды.
Пришлось подождать, пока Кнут ответит опередившим нас академикам. Обстоятельно и не торопясь, с математической точностью. Ни о чем не жалею, хотя нога от долгого стояния на месте начала ныть.
— Здравствуйте, мистер Кнут! Я Линда Ким, художница из студии «Каналья Геймс», — девушка изо всех сил старалась звучать позвонче, но старая астма-не-астма, как назло, заставила ее говорить в привычной хрипящей манере.
— Каналья Геймс, знакомое название. Ваша игра 2048 лишила меня сна на несколько ночей, мисс. Очень изящная демонстрация экспоненциального роста. Я даже высчитал теоретически максимальный размер плитки — два в семнадцатой степени, возможный в том случае, если игроку улыбнется удача.
ШОК! Обладатель премии Тьюринга играл в нашу игру. И ему, черт подери, понравилось.
— Спасибо, это всё придумал Крис… основатель студии. Вот он, следующий в очереди, — Линда очень мило покраснела. — Но спросить я хотела о другом…
— Подождите несколько секунд, Линда.
Кнут достал из кармана брюк чековую книжку и выписал чек.
— Здесь ровно 2048 центов, — сказал он. — Пожалуйста, передайте юной мисс. Достойная награда за прекрасное упражнение для ума. Только попрошу вас, поступите, как остальные — не обналичивайте чек. Я раздал их столько, что рискую обанкротиться в случае, если все обратятся в банк. Простите, вы хотели задать вопрос.