Это мой персональный блог. По понятным причинам он называется «Энтропия» — здесь в основном про мою жизнь. В последние годы меня занимают философия, программирование (всегда), нейросети и  немного компьютерные игры.

«Просвет» — как симулякр ностальгии

в категориях жизнь, дорогой дневник, игры

Подслушал тут в кофейне у офиса разговор двух женщин лет сорока, с хвостиком, (ну, примерно, я ж не разбираюсь в чужих женах, у меня своя есть умная и красивая). Одна жаловалась, что муж совсем ебанулся — приходит с работы и до полуночи режется в какую-то игру на компьютере. «Как подросток!».

А я вот думаю: может, он не «режется» (в плохом смысле, унизительном таком, неприятном), ему же там интересно и весело. Во всяком случае, интереснее и веселее. Там можно просто бродить по миру и ничего не делать, например, либо сражаться с кем-то, загадки разгадывать всякие. Как в старом добром Myst, где можно было бродить часами, вообще не понимая, что происходит, но на всякий случай все записывать в блокнот, чтобы через 20 экранов потом не возвращаться. И это был нормальный игровой опыт, не баг.

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

Может быть, проблема сорокалетних геймеров не в том, что они играют, а в том, что они пытаются найти в современных играх то, чего там больше нет. Как искать в инстаграме то, что раньше давали бумажные письма от друзей. В итоге получается какая-то ностальгическая мастурбация — ты воспроизводишь движения, которые когда-то приносили удовольствие, но сам процесс уже другой. То есть, «руки помнят», но сейчас это делается не так.

А может, жена того парня злится не на игры, а на то, что видит, как ее муж каждый вечер пытается вернуться туда, где его больше нет (вот бы делом занялся!). И это действительно выглядит немного грустно. Хотя что она сама делает по вечерам? Залипает в инстаграм? Но, конечно, «это другое».

Но самое интересное — что изменилось не только в играх, а в нас самих. В подростковом возрасте я играл, чтобы исследовать, экспериментировать, понимать, раз-ви-вать-ся. В сорок играешь, чтобы не думать о настоящем, «выйти» из реальности и пойти туда, где музыка красивая на фоне и МЕЧ! Это два совершенно разных процесса, которые почему-то называются одинаково — «страдать хуйней™».

И вот сидишь вечером, запускаешь знакомый интерфейс, заходишь в привычный мир, где все понятно и предсказуемо. Где можно быть героем, не вставая с дивана. В этом мире ты гнум варлок 80 уровня, которому все по плечу.

Кстати, интересный момент — почему именно гнум варлок? Может, потому что это максимально далеко от того, кто ты есть в реальности? Офисный руководитель, хоть и Аполлон с прекрасной осанкой, превращается в гнума варлока, который может испепелить врага одним иммолейтом (с последующим конфлагрейтом, естественно), который еще и импрувед! Компенсация? Да, и что? И еще вот эта вот беззаботность, где можно просто спокойно ходить и собирать траву, потому что зелья сами себя не сварят. В жизни рутина скучная, а тут вроде как понятно зачем, да?

Но если подумать серьезно, то игры для сорокалетнего — это не развлечение, это форма медитации. Своеобразная. Повторяешь одни и те же действия (убить монстра, получить лут, убить следующего монстра), и это успокаивает. Как перебирание четок у буддистов, только с анимацией и звуковыми эффектами. И музыкой «Howling Fjord» на фоне. Ух!

И еще один момент, который почему-то многие упускают, и я раньше упускал. Игры — это единственное место, где действия имеют гарантированные последствия. Нажал кнопку — произошло действие. В жизни между действием и результатом могут пройти годы, а может вообще ничего не произойти. А в игре — мгновенная обратная связь. Ты существуешь, ты влияешь на мир, мир реагирует на тебя. И достижения, конечно, — это ощутимый оцифрованный результат: сделай сложную штуку, получи редкое звание, которое потом будешь гордо носить. То есть, «поиграть 2 часа вечером» — это начать что-то делать и через 2 часа закончить, получив результат.


Хайдеггер говорил про «заброшенность» человека в мир, про замкнутость в повседневности, суете и неаутентичном бытии, которое не выбирал. Метафора тоннеля и «просвета», только наоборот. Это не эскапизм — это попытка почувствовать себя субъектом, а не объектом истории.

Но это уже глубже (вверх), чем я планировал — возвращаемся на поверхность (вниз).

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

Помню однажды ко мне в голосовой канал рейда зашел согильдиец с фразой «Доброе утро, коллеги!». Ух.

Алгоритмическое бессознательное

в категориях непсихолог, людишки

Двадцать лет назад, когда я только начинал заниматься разработкой и вообще пришел в IT, задачи были простыми: как сделать так, чтобы система просто работала, чтобы пользователь мог найти нужную информацию, чтобы интерфейс был понятным (ну, условно, потому что правил не было). Наивные времена. Сейчас мы решаем другую задачу: как удержать внимание пользователя как можно дольше, как заставить его кликать, свайпать, покупать, потреблять.

Где-то между этими двумя точками произошла незаметная революция. Мы перестали создавать инструменты и начали создавать зависимость. И самое забавное — большинство из нас даже не заметили этого перехода.

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

Пока я это писал, воображение нарисовало картинку: кафе, компания из четырех человек, каждый смотрит в свой телефон. Они физически вместе, но их внимание распределено между четырьмя разными алгоритмическими реальностями. Один листает ТикТок (алгоритм решил, что ему нравятся видео про войну и политические дебаты), другая смотрит Инстаграм (алгоритм кормит ее контентом о фитнесе и путешествиях), третий читает новости (алгоритм подобрал ему коктейль из сенсаций и «шока»), четвертая играет в мобильную игру (алгоритм рассчитал оптимальную кривую сложности, чтобы держать ее в состоянии почти-победы).

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

Ницше говорил о смерти Бога, но он не предвидел рождения алгоритмических богов. И в отличие от старых богов, эти действительно всеведущи в рамках своих доменов.

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

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

Сёрл в своем мысленном эксперименте с китайской комнатой показал, что система может демонстрировать разумное поведение, не понимая смысла. Современные рекомендательные алгоритмы — это китайские комнаты планетарного масштаба, где смысл заменен на машинную статистику, а интуиция — на корректно обученную регрессию. Они отлично имитируют понимание наших потребностей, но на самом деле просто очень быстро перебирают паттерны в данных.

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

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

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

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

Мне, разумеется, все давно понятно, потому что в моей голове мысли как и раньше возникают не как ответ на внешние стимулы, а как результат внутреннего диалога, но не всем так повезло.

— Единственный автор этого блога (прекрасный, кстати, человек!)

В последние годы часто вижу, что «собственное мнение» у людей появляется после многочасового листания ленты и подозрительно совпадает с мнением других думскроллеров, на которых «никак не влияет реклама» и вообще «stop violating me with your different opinion». Точка зрения мягко и понятно навязывается человеку, не оставляя никаких сомнений в ее правильности. «Если все думают одинаково, значит я не ошибаюсь». И перепроверять не надо.

Любая новая технология мгновенно применяется капиталистами, а бедные программисты ненавидят свои детища, но ничего не могут с этим поделать.

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

«Член общества» ведет себя так, как «принято в обществе» (потому что супер-эго сильнее, очевидно), совершенно забыв, как (самостоятельно) проводить над собой работу по взращиванию в себе человека с собственным мнением, критическим мышлением и желанием быть чуть выше среднего в своей социальной группе.

AI дешевле и покорнее человека и, разумеется, заменяет его везде, где знаний интернета достаточно для автоматизации. И тем дороже становится все «уникальное», включая знания. Когда вытеснение заменяется бесконечной стимуляцией, а сублимация — прямым дофамином из алгоритмической кормушки, человек перестает быть субъектом и становится интерфейсом. В культуре, где все можно сразу, желание исчезает первым.

Кажется, вся индустрия внимания построена на техническом долге перед будущими поколениями. Мы создали системы, которые эксплуатируют древние механизмы мозга, не предназначенные для цифрового мира. Дофаминовые петли, изначально нужные для выживания («о, ягоды!»), теперь запускаются каждый раз, когда приходит лайк в соцсетях. Эволюция не успевает за технологиями.

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

Это как если бы люди XIX века пытались регулировать квантовую физику. Благие намерения, но инструментов для понимания проблемы просто нет. В итоге получаются законы типа «обязать алгоритмы быть справедливыми» — красиво звучит, ок, «договорились».

Кстати, о справедливости, раз уж речь случайно зашла. Алгоритмы, в отличие от людей, не имеют предрассудков — они их приобретают на основе наших данных . В уловном нерегулируемом расистском обществе алгоритм будет расистским с понятным разделением на нормальных и «других». Машинное обучение — это увеличительное стекло для человеческих предрассудков. Ну и понятно, регулирование предрассудков в условном обществе привело к глобальной фильтрации контента (белым показывают преимущественно белых, BLM — неграм, всякие прайды и инклюзивность — своей ЦА). Сейчас AI уже активно эти же правила использует и уже не отвечает на некоторые чувствительные и провокационные вопросы. Справедливость, равенство, «… lives matter!».

Иногда мне кажется, что мы участвуем в самом масштабном психологическом эксперименте в истории человечества. Только в отличие от экспериментов Павлова или Скиннера, контрольная группа — 98% населения планеты.

AI thinks, therefore it is

в категориях AI, наблюдения

Вспомнил тут внезапно историю про то, что пару лет назад кто-то из Google заорал, что их ИИ обрел самосознание: «Он же живой!». Забавно, конечно. Эмпатичный какой.

История отлично ложится на Сёрловскую «Китайскую комнату». Представь, ты сидишь в комнате и пересобираешь китайские иероглифы, следуя четким инструкциям. Ты не знаешь языка, но внешне создается иллюзия, что все понимаешь. Так и языковые модели: они складывают слова в предложения, причем, весьма красиво, но «смысл» не понимают — только вес векторов и расстояния между ними.

Спрашиваешь у ИИ про хлеб с маслом — он расписывает вкусовую симфонию, а спроси про перья с маслом (или не перья, но в истории были именно они), и он выдаст ту же поэзию, потому что для него это такой же паттерн, как и хлеб — бутерброд с чем-то (а бутерброд вкусный!). В этом вся суть — машина не знает, что такое перья и масло, она просто распознает частоты сочетаний и дает ответ, который в среднем по больнице звучит осмысленно.

Но что значит «распознает паттерны»? Внутри современных ИИ-моделей вроде GPT лежит архитектура трансформеров. Она работает с векторами — математическими представлениями слов и фраз в n-мерном пространстве. Чем ближе два вектора, тем более похожи соответствующие им слова или контексты. Например, вектор слова «кофе» будет ближе к вектору «чай», чем к «кирпичу». Но что будет, если создать вектор для «перья с маслом»? Он окажется где-то рядом с «хлебом и маслом», потому что ИИ не знает смысла слов — он видит только статистику.

Сравнение векторов — это расстояние в пространстве данных. Косинусное расстояние, евклидово расстояние — все эти математические штуки помогают машине «понимать», насколько одно слово или фраза похоже на другое. Но это все статистика, а не понимание.

Короче, «смысл» в «начитанности», которая у языковых моделей, конечно, присутствует.

Человек с атрофированными вкусовыми рецепторами, всю жизнь читающий книги о вкусах, вполне неплохо расскажет, каков на вкус арбуз с лимоном (весьма неплох, кстати!). Аж слюна потекла.

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

Но если присмотреться, то тут становится заметно нечто более интересное. У ИИ есть доступ к коллективному бессознательному — к архиву человеческих текстов. И у него, как ни странно, начинает проступать нечто похожее на свое собственное бессознательное по Фрейду. В лакановской перспективе, ИИ функционирует как медиум культурных фантазмов, а не как субъект, переживающий личный опыт. Когда ИИ говорит, что боится отключения, он не боится — он просто ретранслирует страхи из тех же фантастических книг и фильмов.

Но людей это цепляет. Они слышат «я боюсь отключения» и думают: «О, он же живой!» Хотя на самом деле, это просто отражение наших собственных страхов перед смертью. Поэтому и появляются эти разговоры про перенос сознания на флешку, про чат-ботов, которые продолжают «жить» после нас. Это все про нас, а не про ИИ.

И тут возникает провокационная мысль: а люди-то вообще обладают сознанием или тоже просто повторяют тексты, которые прочитали? Может, мы такие же машины, но посложнее? Может, мы и верим в свое «я», потому что так написано в книжках? В конце концов, кто-то же написал все эти тексты, и кто-то же их прочитал.

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

Как перестать терять себя в других

в категориях непсихолог, наблюдения

Разрешили быть собой — и стало некультурно быть лучше.

Жизнь постепенно превратилась в череду обязательных действий, где каждое новое утро напоминает предыдущее, а каждый шаг — это еще одно заранее прописанное движение в чужом сценарии. Казалось бы, ежедневных активностей много: встречи, задачи, разговоры, но в этой суете теряется жизнь — постоянное ощущение, что через неделю детали сегодняшней суеты забудутся и стресс, который вся эта суета создает сегодня, вообще не нужен. Ну, мне точно. Фрейд утверждал, что «Сверх-Я» (супер-эго, the Over-I) может взять верх, превращаясь в строгого внутреннего цензора, который диктует, что можно и чего нельзя, подавляя желания и заставляя эго играть по чужим правилам. Мое эго! По чужим правилам! А вот если вдруг возникнет вопрос о собственных желаниях — тут же включается тревожная сирена и голос внутреннего Фрейда (почему-то гнусавого): «Так, вапгосики!». Mundo not goes where he pleases, ага.

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

Фрейд утверждал, что «Сверх-Я» — это голос общества, который внедряется в нас с самого детства, превращаясь в строгого надзирателя, не допускающего отклонений от нормы. Каждый раз, когда человек соглашается на «надо», откладывая свое «хочу», «Сверх-Я» становится немного сильнее, еще больше отодвигая личные желания на периферию сознания. В результате внутренний конфликт становится все более очевидным: из вежливости сказать «да», хотя хочется сказать «нет» или вообще нахер послать; сделать то, что не хочется, но важно и нужно по мнению окружающих; оставить свое мнение при себе, потому что так принято. И чем чаще говоришь «надо», тем сложнее потом вспомнить, а что вообще хотелось.

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

Фрейд говорил, что задача не в том, чтобы победить Сверх-Я, а в том, чтобы найти баланс между ним и другими инстанциями психики. Работать не только с этим внутренним цензором, но и с тем, что он подавил — с «ОНО» («the It», Id. Freud saw the id as the unconscious source of instincts and desires, driven by the pleasure principle — the push for immediate satisfaction of urges.). Вытаскивать подавленные желания, перерабатывать и восстанавливать целостность. «ОНО» — не только желания, но и та часть, которая свободна от всех этих «надо».

REST in peace. Как перейти на Курсор

в категориях AI, вебдев

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

Самое важное: Cursor — это форк VScode, при первом входе он просит авторизоваться (или зарегистрироваться), импортирует все из VScode и сразу почти полностью его заменяет. То есть, можно сказать, что в VScode просто поменялась иконка и появился умный (реально!) ИИ ассистент. Раньше я пользовался Codeium, который был просто плагином, плохо держал контекст и вообще справлялся тяжело, много тупил и выдавал решения мягко говоря удивительные. Я быстро от него отказался. Сейчас он стал Windsurf, но к нему я позднее вернусь, пока про Курсор.

Итак, с Курсором все началось с простого запроса: я попросил его взглянуть на мой сайт целиком и описать, что он понял. Он описал архитектуру проекта лучше, чем я бы сам ее объяснил на устном собеседовании. Причем не просто повторил названия файлов и роутов, а связал их между собой, выстроил логичную структуру, выделил зависимости, понял, что и зачем существует. Указал, где нарушены принципы REST — не в духе сектантского буквоедства, а именно с позиции читаемости и устойчивости URL.

Когда он «увидел», что API реализовано без использования blueprint (потому что ну незачем) — просто через аккуратно организованные маршруты с понятными путями и логикой — он не стал сходу рекомендовать «правильный» подход. Никаких «давай сразу все перепишем на RESTful-стандарты с версионированием и ресурсами». Он понял мой стиль — структурно, просто, понятно — и начал работать в нем, не отвлекаясь на евангелизм. Только когда я сам попросил: «а посмотри, можно ли тут улучшить структуру URL?» — он предложил варианты с /api/posts/, /api/posts/:id/, /api/categories/ и так далее, с комментариями, зачем это может быть полезно и как это вписывается в мою текущую архитектуру.

Проверка

По началу я в каждом промте категорически запрещал что-то менять и просто просил дать оценку. Я начал с простого:

explain what this project does and what each route is for

И он не просто набрасывает пару строчек про «это админка», «это архив», а выдает внятную, структурированную схему, почти как sitemap с описаниями, зачем нужен каждый роут, как они связаны между собой и в чем их логика. И ты такой — «ага, так, все верно, а про это я и забыл уже».

Затем я попробовал дать ему задачу более конкретную:

simplify the /operator/uploads/ code to avoid duplicate file state logic

Он действительно понял, что я пытаюсь минимизировать избыточность в коде и предложил следующее улучшение:

Instead of manually syncing the state, use the same getFiles() function after any mutation (upload/delete). This avoids inconsistencies and duplicated state logic.

И сразу переписывает код в нужных местах, оставляя мне только кнопки Accept и Reject.

После этого я попросил его посмотреть на CSS и JS, просто проверить, что он там найдет. Там было немного кода, что-то около 1.5−2 тысяч строк, но, конечно, местами инлайновые стили, элементы без классов, заглушки — мелочи, короче, но неприятные. Он молча вынес стили в отдельный файл, дал всем объектам осмысленные классы и тут же связал их обратно с HTML. Просто фоном в тишине. И опять: Accept or Reject. С таким подходом начинаешь доверять, но с опаской, естественно.

Контекст

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

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

Он не торопится и перепроверяет (что тоже, конечно, магия). Если просишь изменить функцию, он сначала ищет весь ее контекст. Проверяет, где вызывается. Смотрит, что с ней делают. Иногда спрашивает (всего один раз пока), иногда предлагает сам. Я пару раз ловил себя на том, что он подсвечивает связи, о которых я сам забыл. Такое ощущение, что ты говоришь не с автодополнением, а с инженером, который неделю жил в твоем коде, все там изучил и теперь деликатно уточняет, точно ли ты хочешь вот так. Причем, я «немного» удивлен тем, что он местами меня останавливал и объяснял, почему что-то делать не нужно. Круто, потому что неделю назад я и не думал, что это случится так быстро.

Например, я попросил его собрать новый роут в операторской (это у меня «админка» такая), достаточно понятно ему все объяснил с примерами, так он мне сообщил, что идея ок, но подход не годится, и написал по-своему. А я такой: «ну, я бы и сам до такого дошел со временем». Или не дошел бы. Accept, что уж. За $16 в месяц вполне неплохой напарник, который не перестает удивлять. При этом я фокусируюсь на стратегии, а Курсор делает магию.

Ранее в сериале