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