Покурив и вернувшись, Джефф спросил из-за спины Ёнхо.
- Ты понимаешь, что это? - как всегда его язвительный тон. До сегодняшнего дня Джефф не встречал никого в компании, кто понимал бы его объяснения.
И таким образом, можно сказать, что все основы он разрабатывал сам.
По этой причине он задерживался на работе до полуночи.
Джефф подумал, Ёнхо действительно ничего не понял.
Все совпадения закончились здесь и сейчас.
Так или иначе, Джефф знал это лучше других. Ведь это он занимался с ним. Он ставил Ёнхо на ступень ниже программистов с которыми работал сам.
Неясно, понял ли Ёнхо, что, восхищаясь начал говорить:
- Это действительно великолепно. Вы добавили элемент предсказания в алгоритм Хаффмана. Но... проблема в том, что процент предсказания слишком низок.
-....Что? Скажи это снова.
- Подождите минутку... я еще немного посмотрю.
Отмахнувшись от вопроса Джеффа, Ёнхо сосредоточился на коде.
По его лицу казалось, будто он любуется произведением искусства.
Такие одухотворённые лица можно увидеть у посетителей музеев и картинных галерей; у людей, молчаливо застывших возле произведений искусства, которые вышли из-под кисти настоящих мастеров.
Восхищение и преклонение.
Но Ёнхо чувствовал еще кое-что.
Вызов.
Его душу наполнило яростное желание завершить программу, решить проблему Джеффа.
-...
Теперь даже Джефф ничего не мог сказать и просто тихо наблюдал за ним.
Юй Сохён, которая подслушивала их разговор, тоже встала и тихо подошла к Ёнхо.
Пальцы Ёнхо порхали над клавиатурой, и новые коды появлялись на экране.
Исчез тот код, который писал Джефф, и начал появляться тот, который делал Ёнхо.
Джефф стоял позади и не мог ничего понять.
«Быть того не может...»
Всего несколько раз, когда они занимались, он мог с уверенностью сказать, что у Ёнхо нет таких навыков.
Казалось, будто Ёнхо решил показать все свои навыки, которые скрывались в нём до сегодняшнего дня, и молча старался сделать то, что хотел.
«Он ведь этого не сделает, правда...?»
Джефф подумал, что Ёнхо понял, по каким принципам устроена программа.
Но редактировать её код и просто понимать - это абсолютно разные вещи.
Можно привести следующий пример: знать математическую формулу и решить её - это не одно и то же.
«Хм...»
Джефф не мог в это поверить.
Однако, кажется, ему придётся.
Ёнхо видел саму суть его программы. В отличие от других, кому приходилось всё разъяснять, Ёнхо
видел саму суть через код.
И таким образом, он мог воплотить задумку Джеффа в его же коде.
Построение программы для сжатия Вдек.........(10%)
Построение программы для сжатия Вдек.........(41%)
Построение программы для сжатия Вдек..........(98%)
Программирование было завершено, как и построение программы.
Построение.
Процесс применения кода таким образом, чтобы он запускался на компьютере.
Только когда построение завершено, программу можно запустить.
И этот процесс только что завершился.
- Теперь я запущу её.
Кажется Ёнхо нервничал, потому что его голос дрожал. Даже несмотря на то, что он всё перепроверил на много раз, он не взял себя в руки.
- Сделай это! Сейчас же!
Кажется, Джефф тоже чувствовал нетерпение и подгонял Ёнхо. Даже сейчас он всё еще не мог избавиться от сомнений.
Сжатие файлов.
Чтобы протестировать программу, он нажал на единственную кнопку в программе.
Там была предусмотрена только одна кнопка.
Тогда подготовленные файлы, которые изначально весили 10 мб, 100мб и 500 мб, появятся на экране, и там отобразится, сколько места они займут после сжатия.
Снова возник загрузочный экран.
Сжатие файла....
Чем быстрее заполнялась полоска, тем напряжённее становилась атмосфера в офисе. Не прошло и одной минуты, как результаты возникли на экране.
4 мб, 43 мб, 212 мб.
!!!!! Пройдено успешно!!!!!
Это был критерий успешного прохождения (правила решения, используемые для определения того, прошли ли тестирование элемент тестирования или функция элемента тестирования или перестали работать после тестирования)
Это значило, что критерии, которые Джефф обозначил как минимальные, пройдены.
Не неудача, а успех.
Чем больше был файл, тем сильнее он сжимался.
Как и сказала запись в логе, всё прошло успешно. Джефф изо всех сдерживал радостный крик, кусая губу.
А вот Юй Сохён прыгала от счастья, едва увидев слова на экране.
- Что? Вышло, да? У меня получилось?
Ёнхо сделал вид, что не заметил бурную реакцию Юй Сохён, поднял голову и посмотрел на Джеффа
сияющими глазами.
- Ну как?
Ответа он не услышал.
Вместо этого Джефф несколько раз кивнул. Он с трудом открыл рот и выдавил несколько слов.
- Давай работать вместе. Я дам тебе всё, что ты захочешь.
- Сперва мне нужно отдохнуть.
Время уже подбиралось к часу ночи. Усталость завладела им. Возможно еще и потому, что он так неожиданно сосредоточился на работе и потратил много сил.
Кажется, сегодня ему нужно немного поспать.
Глава 100
Ему казалось, будто он спит.
Даже если это случилось лишь пару часов назад, Ёнхо казалось, будто прошло, по меньшей мере, несколько лет.
«Что это было?»
У него возникло впечатлением, будто его телом кто-то завладел. Будто он был одержим. В тот момент, когда он начал программировать, возникло ощущение, будто всё, что мешало ему, рассыпалось в пыль.
После этого он просто позволил своему телу делать то, чего оно хочет, а когда пришёл в себя, то всё прошло.
«По крайней мере, это был не сон».
Уже лёжа в кровати перед сном, он проверил телефон, где обнаружилось сообщение от Джеффа.
Тот не так уж и часто писал ему по собственной инициативе.
Очевидно произошедшее оказалось большим шоком для Джеффа.
«Спасибо. Я был серьёзен, когда предлагал работать вместе. Так что, если у тебя появятся какие-либо идеи, можешь писать мне в любое время».
Это прозвучало как предложение руки и сердца.
Хотя раньше ему никто предложения не делал, он подумал, что это даже лучше.
«Приятное чувство».
Впервые за достаточно долгое время он крепко спал.
Едва добравшись утром до работы, Ёнхо собрал всех разработчиков. Он собирался использовать алгоритм Джеффа для нынешнего проекта.
- Я буду краток. Я нашёл способ использовать в два раза меньше данных. Чтобы использовать эту библиотеку, нужно внести небольшие изменения в клиент.
-....
- Я разберусь с этим вопросом в течении недели, так что учитывайте это в своей работы.
- Ёнхо! Что ты имеешь в виду? Я не понимаю.
Дэйв только что появился на собрании и никак не мог взять в толк, что происходит. На Дэбан и Джеймс тоже были растерянны.
На их лицах явственно отображалось любопытство.
Снизить объём данных вполовину?
Революционный метод, который поверх всех присутствующих в шок.
Этим миром управляли данные.
Бесчисленное количество людей искали новые идеи для бизнеса с помощью данных и анализировало действия людей, чтобы понять, в каком направлении двигаться.
И для этой цели требовалось огромное количество данных. Поэтому данные нужно было беречь.
Уменьшить вполовину.
Такое невозможно использовать на серверах.
Будь это правдой, везде бы его применяли.
- Есть программист по имени Джефф. Это от него. Я собираюсь адаптировать эту библиотеку под наш проект. На данный момент тесты показали, что с нормальными файлами она успешно работает, - Ёнхо проигнорировал Дэйва и продолжил объяснять.
После в конференц-зале воцарился хаос.
Впрочем, собрание шло не долго - и десяти минут не прошло, как все разошлись. Но многие не могли скрыть предвкушение в ожидании такого чуда.
Те, кто имели определённый опыт в данной области или схожих областях прекрасно понимали, как удивительны слова Ёнхо.
Одним из этих людей был, конечно же, Дэйв.
- Это правда?
- Да, правда. Я вчера встречался с Джеффом и сам видел, как работает программа.
-...Джеффом? Тем самым Джеффом Даном?
- Да, этот тот Джефф, о котором ты думаешь.
- Джефф, Джефф Дан.
Кажется, имя Джеффа застряло у него в голове, потому что он беспрестанно его повторял.
- Мне дали разрешение сослаться на источник, так что я попробую использовать его в нашем проекте. Возможно, нам удастся очень сильно улучшить производительность. Его можно использовать даже для работы с БЗ.
- Да, это правда...
Дэйв выглядел каким-то расстроенным, но Ёнхо слишком сильно задумался, чтобы обратить внимание на то, как изменилось его лицо. Код не принадлежал ему, поэтому ему нужно было как можно быстрее его записать, пока он всё не забыл.
Точно так же как профессиональные шахматисты проигрывают матч уже после самого матча, ему нужно написать программу по памяти.
Он чувствовал, что если продолжит говорить, то забудет и без того те смутные воспоминания, что у него оставались.
- Мне нужно просто вытащить всё это из своей головы, - сказал Ёнхо, указав пальцем себе в висок. Затем он ловко устроился на сидении, запустил ИСР (Интегрированную среду разработки от IDE - integrated development environment).
Снова настало время программировать.
Он не помнил код на 100%.
Джефф ведь написал не пару строчек.
Да и изучал его Ёнхо совсем недолго. К счастью, в журнале Окна Багов осталась информация об ошибках.
Там оставалась информация обо всех багах, которые он исправил.
С помощью неё, Ёнхо смог воссоздать то, что произошло вчера.
«Выстроить структуру с помощью Алгоритма Хаффмана и... использовать элемент предсказания».
Основой программы была одна-единственная короткая строка кода. Ёнхо начал медленно восстанавливать её по памяти именно отсюда.
Прошёл уже не один день, и его воспоминания были нечёткими, но большую часть он всё же вспомнил.
«Самое важное... это понять, как запустить механизм прогнозирования... потому процент успешности предсказания сильно зависит от этого».
Если настроить эту часть программы не так как нужно, она сама будет работать неправильно. Если предсказание выдаст, например, 5, а исходная цифра была 2, то сам файл изменится.
«И скорость тоже».
Помимо низкой скорости прогнозирования, существовала ещё одна проблема. Если сжатие файлов занимает много времени, никто не сможет использовать программу.
«Мне будет непросто сделать то же самое».
Ёнхо старался вспомнить изо всех сил и сосредоточился на программировании. Его версия программы будет отличаться, но он был уверен, что сможет повысить производительность сервера, когда закончит разработку.
***
Проиграв в соревновании по программированию, Марк полностью прекратил сексуально домогаться до Люции.
Кеннет выглядел разочарованным, но Марк не показывал никакого недовольства. По крайней мере, по нему было незаметно. Вместо этого он сосредоточился на работе.
Кеннет тихо обратился к нему.
- Марк, ты в порядке? - Изначально это было твоё место.
- Ну, я недостаточно талантлив, так что ничего не могу сделать по этому поводу.
- Да кто посмел тебе это сказать?!
- Ты видел это в тот день своими собственными глазами.
Кажется, Марк признал своё поражение. Пусть он потерял немного, проигрыш оставался проигрышем.
Раз уж это было честное соревнование, о каких возражения может идти речь?
А уж после того собрания, на котором он недавно был, заставило Марка думать, что он куда хуже Ёнхо.
- Ты знаешь, что Ёнхо только что сказал?
-...
- Он сказал, что нашёл что-то, что поможет улучшить мощность программ уплотнения по меньшей мере вполовину. Кажется, он собирается применить этот метод для нашего сервера.
-Уплотнения?
- Великолепно, правда? Мы тратим столько денег из бюджета на хранение данных, и их количество растёт... но попробовать решить эту проблему с помощью программы... Теперь я даже не жалею, - мечтательно проговорил Марк, будто витая в облаках. Хотя он и признал поражение, он чувствовал, что смог бы выиграть, если бы они снова соревновались. Он жалел, что мог бы выиграть, если бы они снова затеялись соревнование.
Но сейчас ушли даже сожаления.
Марк обратился к притихшему Кеннету:
- И ты тоже прекрати приставать к Люции. Веди себя честно. Если и это не сработает, ну... хорошо. Она всё же не единственная женщина на свете.
-...
- Хорошо. Я пойду первым. Ёнхо попросил меня подготовить клиент для этой программы, так что я пойду взгляну на код.
Марк встал и ушёл, а Кеннет всё еще сидел на одном месте. Когда он уже почти скрылся из виду, Кеннет тихо пробормотал:
- Если и это не сработало, то...
Затем он встал, хотя ему и не стоило.
Кеннет оправдывал все свои действия только одной причиной.
Всё потому что ты мне нравилась.
Но слишком поздно. Даже если бы всё началось не так плохо, вряд ли всё закончилось легко и прости.
- Прошу, прости меня.
-...
Люция ничего не ответила и просто опустила голову. Кеннет вёл себя так, будто ничего не происходит, но так и не смог скрыть, что его лицо покраснело.
- У меня уже есть человек, который мне нравится.
Люция отвергла Кеннета, сказала ему причину, о которой он не спрашивал. Можно было бы подумать, что это всего лишь предлог, но он так не считал.
- Это... тот человек, о котором я думаю?
-...
Теперь Люция промолчала. Она не хотела разговаривать о таких деталях личной жизни.
Особенно с чужаком.
Кеннет был всего лишь коллегой и не более того.
-... В любом случае, я понял, что ты имеешь в виду.
Вернувшись в офис, Кеннет посмотрел на сидящего на своём рабочем месте Ёнхо.
Тот смотрел в монитор и что-то печатал как одержимый. Вероятно, он занимался разработкой той вещи, о которой говорил Марк.
«В Америке для тебя нет места. Всё, что ты здесь заслужил, тебе не принадлежит».
С некоторых пор в Силиконовую Долину начали приезжать иностранцы. Люди из Индии, Китая, Южной Кореи и т.п стран получили рабочие визы H1B и в буквальном смысле наводнили её.
И забирали работы у Американцев.
«Без H1B Силиконовая Долина исчезнет», - сказал какой-то диктор в новостях.
Что если не будет H1B, то не будет и Силиконовой Долины. Но Кеннет думал иначе.
Могущество сильнейшей страны мира никак не зависело от мигрантов.
Кеннет произнёс эти слова так тихо, что никто вокруг его не услышал.
Ёнхо тоже.
Казалось, будто он был заперт в каком-то месте вне времени и пространства. В виду того, что он являлся счастливым обладателем гениальных мозгов, как некоторые другие люди, ему приходилось прикладывать усилия, чтобы сосредоточиться.
Он старался куда сильнее, чем другие люди, и чем сильнее он старался, тем быстрее росли его навыки.
Ёнхо слишком погрузился в работу, чтобы обращать внимание на то, что происходит вокруг.
«Чего-то не хватает».
Он чувствовал, что сделал программу почти такой же, какую он помнил. Но чего-то недоставало. 2% не хватало.
«Я не помню...»
Он не помнил код идеально. Если бы он смог скопировать его от начала и до конца, то он был бы гением.
К сожалению, Ёнхо к числу сверходарённых людей не относился.
«Хм...»
Учитывая, что он сделал прототип, производительность тоже была невысока. Коэффициент сжатия не дотягивал и до 50%, и скорость тоже, чисто по ощущениям, намного снизилась.
«При встрече нужно спросить у него снова».
В такое время ему нужно было увидеть Джеффа. Тот разрешил ему использовать код. И раз уж Ёнхо оказал ему такую услугу, то Джефф согласится его учить.
Он же предложил ему место у себя в компании.
Он в буквальном смысле выдал ему карт-бланш, когда написал, что будет готов выслушать любую просьбу. Ёнхо проработал в этой компании почти год. И хотя он и не знал всё устройство компании и не изучил всю их работу, он смутно понял общее направление её работы.
Ёнхо чувствовал, что у Джеффа он научишься куда большему, чем здесь.
«Мне нужно с ним встретиться хотя бы раз».
Сегодня луна стояла в небе высоко, и он поднял голову и посмотрел вверх. Сейчас ему нужно было идти домой.
$ git add *
Он добавил код, над которым работал всё это время.
$ git commit -m "Added compression-related library". (добавлена библиотека для сжатия).
И написал пояснение к коду.
$ git push origin master
Затем он сохранил написанный код на удалённом сервере.
Мастер.
Ёнхо был владельцем проекта.