Чем разрезал сонный морок аудитории и привлек мое внимание, до сего знаменательного момента всецело поглощенное страстной перепиской с Артуром, моим парнем.

Преподаватель, средних лет мужчина, безразлично считывающий текст со слайда, явно подвис, не ожидая проявления активности от аудитории, что на его лекциях привычно находилась в режиме скрытой жизни. Он нахмурено наблюдал, как сквозь тесный ряд с невозмутимым лицом направляется на выход Киселев.

— Молодой человек, вы куда так торопитесь? — подал голос преподаватель, когда Денис уже прошел ряд с краю которого, у прохода на выход, сидела я.

— Мне неинтересно. — Отозвался Киселев не глядя на преподавателя, протискиваясь между последним сидением и моими отведенными коленями. В проходе накинул на плечи куртку и пошел к дверям.

— Вам болеть интереснее, конечно. — Кивнул лектор, прохладно глядя на почти уже коснувшегося дверной ручки Дениса.

Киселев остановился и повернулся к преподавателю. В аудитории воцарилась тишина в ожидании анархической и, вероятнее всего, заранее проигранной битвы между лектором, поднявшимся с места, и студентом, появляющимся, когда захочет. И теперь, видимо, удаляющимся, когда захочет. Денис несколько мгновений смотрел в глаза преподавателю, а потом заявил:

— Мне не интересно, потому что вы даете не просто устарелую, но и ложную информацию. Мне не интересно слушать глупость, что фреймворк это инструмент для новичков, которые с помощью него смогут быстро и легко создать полноценный сайт. Мне неинтересно, потому что это полный бред и начинать с фреймворков равно тому, что никогда не научишься программировать. Фреймы это каркас, это надстройка над языком, набор библиотек, это админка, которую надо самому прописывать, как и самостоятельно продумать построение взаимодействия пользователя с функциями и данными. ЦМС, который вы тут обделили своим вниманием, это, по сути, готовый сайт, костяк, шаблон, и вот с него как раз и надо начинать новичкам, потому что там уже все продумано по взаимодействию пользователя и сайта, но не стоит забывать, что если в ЦМС есть сторонние модули, а их может быть два-четыре и больше, то может быть дикий ад в коде, вредоносные коды и прочие радости жизни. Фреймворк для опытных, пишущих сайты под активно развивающиеся, быстро меняющимся проекты. ЦМС для штамповки типовых сайтов. Это я сократил сорок минут вашей лекции и перевел ее на нормальный язык. Основное, после чего мне стало неинтересно — то, что вы говорите, что с фрейворков надо начинать, а факт в том, что к фреймам приходят постепенно, по мере накопления опыта. Как вообще можно отладить чужой код, если кроме фреймворка ничего не знаешь?

Не сказать, что я была ошеломлена тем, что мажорик Киселев, оказывается, кое-что смыслит, но это определенно изумило. И не только меня. Преподаватель тоже был удивлен, а еще уязвлен и не хотел уронить лицо:

— Начинать с фреймворков, значит использовать уже проверенные и лучшие практики написания сайтов, а не наступать на те же грабли, на которые уже наступили другие. И зачем вам копаться в чужом коде? Который, к тому же, наверняка не тестирован и не задокументирован, не говоря уже о неизвестности степени адекватности взятых шаблонов.

— Зачем мне копаться в чужом коде, — едва слышно повторил Киселев, склоняя и отводя голову так, чтобы лектор не заметил, как он быстро подавил усмешку. А у меня в голове всплыли его слова о модулях, вшитых вредоносных кодах и подозрение, что у кого что болит, тот о том и говорит, а это, вероятно, именно тот случай, иначе бы к чему поминать всуе такие аспекты? Киселев посмотрел на преподавателя и спросил, — как вы считаете, шаблон проектирования имеет прямое отношение к архитектуре приложения?

— Разумеется. — Сжав губы и строго глядя на приподнявшего бровь Киселева, ответил преподаватель. И я едва сдержалась от фейспалма, потому что вообще нет, шаблон к архитектуре имеет отношение, это верно, но косвенное и поверхностное, но уж никак не прямое.

— Мне окончательно неинтересно. — Снова едва не рассмеявшись, сказал Денис и вышел из тишины аудитории.

У меня так и вертелись на языке аргументы, почему именно шаблоны и архитектура не в тесной связке, однако, голос подать я так и не рискнула, глядя на преподавателя, с неодобрением смотревшего на дверь за которой скрылся Киселев. Хотя очень хотелось сказать, но у меня впереди еще была сессия и уже стало немного страшно от того, как именно я ее сдам, если на экзамене попадусь к этому преподавателю. Киселев-то сессию сдаст, институт у нас продажный, но от выявленной Денисом степени дилетантства отдельных преподов мороз по коже шел.

Киселев все так же «часто» появлялся в институте, на семинарах и практиках. Говорил всегда скупо, но иногда у него прорывалось. Редко, но метко прорывалось то, как он писал программы, а то, что он их писал, явно говорило то, что он знал, как их писать. И это наталкивало меня на определенного рода мысли.

Я почти уже не сомневалась в своих подозрениях, когда он фактически едва не сдал себя. В перерыве у парней из моей группы зашел разговор с молодым и не очень толковым аспирантом. Тема обсуждений касалась DDos-атак — незаконных и уголовно наказуемых действий против интернет-ресурса. В результате таких атак ресурс не справляется с массивными запросами пользователей и происходит перегруз, если не обвал сервера. Опасность сего действа в том, что при этом случается потеря легитимного траффика, то бишь посетителей, и, как само собой разумеющееся, следствие — потеря клиентов и денег. С помощью таких атак можно отключить несколько сайтов, нарушить работу всего сегмента, да и вообще отрубить интернет в приличном населенном пункте.

Аспирант заявил, что на данный момент такие атаки невозможно провести в одиночку, что нужна группа хакеров. Киселев возразил ему и «предположил» один интересный способ. Предположил, потому что сделал вид, что он теоретик, а я, сидя на подоконнике рядом, якобы вообще не заинтересованная очень занимательными вещами, которые они там обсуждали, посмотрела на Киселева уже совсем другим взглядом.

В нем не было наглости, не было нахальства, как у оборзевшего отпрыска, которого при любой его выходке прикроют замученные им родители. В нем не было налета интеллигентности, как у ребенка обеспеченных родителей, в целом, по законам жанра, получившего хорошее образование, но почему-то впихнутого не в заморскую академию, а в местный универ. В нем была некоторая броскость во внешнем виде, были акценты на этом, но это вовсе не показушничество, а, скорее, для собственного упоения. Как у человека, внезапно смогшего себе позволить прежде недоступное. Внезапно… И он стремился упиться плодами этого события. Поэтому он не имел друзей в универе, равнодушно относился к стае обожателей и плевал на все слухи. Таким людям не требуется окружение. Потому что это, зачастую, еще и опасно в некоторых сферах.

Самое главное, что меня утвердило в подозрении, на чем именно подняты средства, позволяющие ему это — его осведомленность. То, как он говорил, когда вступил в полемику с преподавателем. Уверенность. Не потому что он хам и думает что ему можно все, а уверен, потому что он знал и знал твердо. Так говорит человек, имеющий опыт. Знание.

Сидя на подоконнике и глядя на едва ощутимую тень снисходительности в глазах Киселева, смотрящего на распинающегося аспиранта, я понимала, что тогда, на лекции, был спор теоретика и практика. Как и сейчас, когда он «предполагал», как «возможно» обойти фильтры и прочие маневры, которые могут защитить ресурс от полной парализации DDos-атаками. Ага, конечно, великий теоретик Киселев. С машинами под окнами стоимостью с корпус универа.

Прошла сессия, время плавно подходило к следующей. Киселев все так же по настроению появлялся в ВУЗе. В один день, после пар, я садилась в свою немолодую, но бодренькую четырку, и, оглянувшись, хотела сдать назад с постепенно пустующей парковки, но кто-то хлопнул по моему капоту:

— Эй-эй-эй! Погоди, паровоз!

Я рефлекторно нажала на тормоз, резко повернула голову, чтобы посмотреть на смертника, неосмотрительно стукнувшего мне по капоту и слегка растерялась, узрев будущую жертву моего насилия.

Киселев белозубо и вполне дружелюбно улыбнувшись, подошел к полууоткрому окну с водительской стороны.

— Ты Венедиктова Женя, так? — осведомился он, опираясь рукой о крышу моего автомобиля.

Кивнула, все так же удивленно глядя на него.

— Я Денис Киселёв, на одном курсе мы, в разных группах. Проболел месяц, в деканат справку принес, а они меня на отработки послали, прикинь. — Ухмыльнулся он, пытливо ощупывая взглядом мое натурально изображающее соболезнование лицо. — Типа дохрена часто болею, вся учебная программа мимо идет, хоть на отработках подучу. — Хохотнул, когда я, под испытывающим взглядом темных глаз все еще удерживала сопереживающий вид. — В общем, преподы были не так суровы и Никоноров, по базам который, сказал мне, что у него в кабинете надо доклады расфасовать, то есть листы в помойку, а папочки с файлами в кучку ему. Я там на твой реферат наткнулся. — Он, не отрываясь, смотрел в мое лицо и довольно улыбнулся, когда я вопросительно приподняла бровь. Но меня наверняка выдали глаза. То, как я внутри горько вздохнула, предполагая, к чему сейчас все пойдет. — Можем перетереть?

— Падай, — кивнула, снова перевела коробку в нейтралку и подняла ручник, думая о Никонорове нехорошие вещи, потому что реферат я писала страстно и с упоением, едва себя тормозя и напоминая свой главный муд по жизни — когда я слишком увлекаюсь процессом, то нередко ошибаюсь в деталях, а палиться в вещах которые меня интересуют иногда уголовно-наказуемо. Поэтому, догадываясь, что от меня нужно усаживающемуся в машину Киселеву, с грустью закурила.

— Могу тоже? — спросил он, доставая сигареты и, дождавшись моего кивка, приоткрыл окно, разглядывая щербатый каменный забор невдалеке. — Пока твой реферат из файлов вытаскивал, зацепил краем глаза пару моментов. Заинтересовался и весь прочел. Я прекрасно понимаю, что он не скачен из инета, потому что там мелькали вещи, которые в открытом доступе не сыщешь. По уязвимостям некоторых корпоративных баз данных.