Меню Закрыть

Чар Стайлз исследует инструменты для выражения и переживания

Последнее изменение: 29.10.2023
Вы здесь:
Расчетное время чтения: 42 мин

Чар Стайлз — художник, педагог и программист, в своей работе использует новые технологии, чтобы показать, как работают компьютеры. Шар работает и сотрудничает в таких формах, как интерактивная инсталляция, видео, перформанс и веб. Она является членом коллектива Livecode.nyc, где организует шоу и занимается livecodes музыки и визуальных эффектов. Она выступала с докладами и вела семинары в Университете Карнеги-Меллона, Университете Дьюка, Университете Лимерика, Массачусетском технологическом институте и Нью-Йоркском университете. В настоящее время она находится на стажировке в STUDIO for Creative Inquiry при Университете Карнеги-Меллона, финансируемой NEA, и занимается разработкой инструментария с открытым исходным кодом для художников.

Чар Стайлз исследует инструменты для выражения и переживания
Выступление Чар Стайлз. Изображение с сайта Codame.

ДЕВОН: Здравствуйте, меня зовут Девон, и вы слушаете программу Tools & Craft. Сегодня я беседую с Шар Стайлз, художником, педагогом и программистом, работающим в области вычислений. Мне очень интересно поговорить с Шар, потому что она работает на нижних уровнях вычислительных систем, что очень отличается от большинства программистов. Она подходит к этому в высшей степени эстетично, интуитивно, переосмысливая то, для чего нужны эти инструменты. Еще одна причина, по которой мне не терпится поговорить с ней, заключается в том, что живое кодирование — это нишевая, но быстро развивающаяся форма искусства, поэтому набор инструментов также быстро развивается, чтобы удовлетворить потребности этих художников. Шар создала инструменты для себя и для более широкого сообщества живого кодинга, и мне не терпится расспросить ее обо всем этом. Наконец, я также с нетерпением жду возможности расспросить Шар обо всех ее забавных и причудливых проектах, которые демонстрируют, что возможности программного обеспечения гораздо шире, чем большинство программистов используют. Итак, Шар, большое спасибо за то, что нашли время для беседы.

ЧАР: Спасибо, Девон. Я так рада быть здесь.

ДЕВОН: Итак, чтобы начать, наши слушатели, возможно, не знакомы с некоторыми вещами, которыми вы занимаетесь, или даже с тем, что такое живое кодирование. Поэтому не могли бы вы начать с определения некоторых терминов, например, что такое GPU-кодирование и что такое живое кодирование?

ЧАР: Да. Итак, что такое живое кодирование — это способ выполнения написания кода. Обычно кто-то пишет музыку, а кто-то — визуальные эффекты. И по мере того, как они это делают, они активно изменяют живой документ, чтобы постоянно перекомпилировать код, и их код отображается для зрителей, так что есть эта переписка один на один. Вы видите код, который пишется, который создает музыку и визуальные образы, которые вы видите. Эти выступления обычно происходят на мероприятиях, которые мы называем algoraves, что является портманто от algorithm и rave.

ДЕВОН: Мне это нравится.

ЧАР: И… Да.

ДЕВОН: Я не слышал этого термина раньше.

ЧАР: Да, верно. Это действительно здорово. Мне оно тоже очень нравится. Его придумал Алекс Маклин. На самом деле, 10 лет назад, примерно в это время, потому что у нас как раз 10-летний юбилей, но конкретный тип живого кодинга, которым я занимаюсь, — это шейдерный кодинг, а шейдерный кодинг — это способ написать программу непосредственно на GPU. То есть я пишу код, который выполняется один раз на пиксель, 60 раз в секунду. И если, допустим, у вас обычный HD-экран, то тот кусок кода, который я пишу и который постоянно компилируется, компилируется более 100 миллионов раз в секунду. Таким образом, шейдерное кодирование обычно используется в графике реального времени. Благодаря своей мощности, поскольку он может выполняться один раз на пиксель в течение 60 раз в секунду, он позволяет создавать эффекты реального времени. Таким образом, дефакто примером популярного использования шейдеров являются видеоигры. Почти все 3D-видеоигры, я бы сказал, все 3D-видеоигры, в той или иной мере используют шейдеры. А я просто использую их для создания интерактивного абстрактного искусства.

ДЕВОН: Это действительно здорово. Я смотрел некоторые из ваших живых выступлений по кодингу на YouTube и заметил, что вы проецируете свой код на экран, а также графику, которую вы создаете. Помимо того, что это выглядит очень круто, почему вы сделали такой эстетический выбор?

ЧАР: Я действительно верю в прозрачность разработчика и в возможность быть действительно уязвимым в процессе кодирования, включая ошибки, медлительность, разочарование и, в общем, просто человеческие составляющие программирования. И я знаю, что это не всегда самый эффективный способ показать кому-то, кто программирует, возможно, самым эффективным способом было бы просто посадить кого-то рядом со мной и просто все объяснить. Но я думаю, что любой вид воздействия, даже через танец и музыку, — это способ, я полагаю, реконтекстуализировать программирование и все остальное… В общем, я большой сторонник демистификации вычислений. И поэтому просто увидеть меня как человека, как я есть, просто программирующего и показывающего код, как я программирую, показывающего свой экран, я думаю, что это очень мощная вещь для меня, особенно потому, что я очень стесняюсь на сцене. Это был способ поделиться своим процессом и кодом, а также преодолеть этот страх.

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

ДЕВОН: Одно из описаний, которое я прочитал у Вас о том, что такое живое кодирование, это как будто Вы кодируете графическую программу, при этом все видят процесс, видят язык Вашего тела. И это действительно интересно, потому что… Обычно мы взаимодействуем с программным обеспечением на телефоне или на компьютере. Мы понятия не имеем, кто его создал, мы понятия не имеем, каково было его создавать. И нам очень трудно сопереживать этому человеку, а значит, в свою очередь, трудно представить себя создающим эту вещь.

ЧАР: Именно так. Да. И я хочу вкратце процитировать одну художницу, Мелани Хофф, она говорит об обучении вычислениям в художественной форме. Она говорит: «Что, если бы человек, написавший код, любил вас? Как бы выглядел этот код? Что, если бы вы любили человека, написавшего код, который мы используем сегодня?»

ДЕВОН: Это очень интересно. Как изменилось бы программное обеспечение, если бы все программисты принимали это близко к сердцу?

ЧАР: О, вау. Это было бы совсем по-другому. Я думаю, что было бы меньше темных шаблонов. Было бы меньше, я полагаю, перетасовок, было бы больше эмпатии в коде и в вашем опыте. Но я твердо уверен, что не было бы ни одного источника… В принципе, было бы меньше… Извините. Я немного спотыкаюсь на этом. Но, в общем, я думаю, что если бы все программисты писали с любовью и намерением, то было бы меньше централизации. Было бы больше личного опыта, больше индивидуального опыта в меньших масштабах, больше… Может быть, это немного больше, я думаю, рассеивание. Но я думаю, что это… Честно говоря, я думаю, что масштаб — это тоже своего рода антитеза, или быть огромной сущностью — это своего рода антитеза вычислениям с любовью, потому что любовь — это намеренное действие, и трудно приспособить ее к какому-то конкретному человеку, если вы просто пытаетесь создать этот широкий опыт.

ДЕВОН: Одно из моих любимых эссе, которое я перечитал сегодня утром, называется » Приложение может быть домашней едой«.

ЧАР: Да.

ДЕВОН: Вы читали это эссе?

ЧАР: Не видел, но мне это очень нравится. Мне нравится эта терминология. Я всегда думал о кодировании как о кулинарии.

ДЕВОН: Именно в этом и заключается метафора. По сути, когда мы говорим людям: «Вы должны научиться кодить», мы неявно подразумеваем: «Вы должны научиться кодить, потому что это будет полезно для вашей карьеры. Вы получите хорошую работу», что является совершенно правильной причиной для того, чтобы что-то сделать. Но если вы скажете: «А что, если бы вы научились готовить?» Большинство людей не подразумевают, что вы должны стать шеф-поваром. Вы можете это сделать, но большинство людей не говорят об этом, когда учатся готовить. Скорее, я хочу научиться готовить, чтобы приготовить что-нибудь для мамы, для мужа, для кого-то, кого вы действительно любите. И это гораздо больше похоже на подарок, который вы делаете кому-то, или на разные контексты, или просто на то, чтобы быть здоровым.

Чар Стайлз исследует инструменты для выражения и переживания
Чар выступает. Изображение от Char Stiles.

ЧАР: О, боже мой. Да. И еще один способ, которым это… Это такая замечательная аналогия. Еще один способ расширить сферу питания — это то, что мы каждый день потребляем то, что люди кодируют. Прямо сейчас, используя компьютер, мы в некотором смысле потребляем код. А еще мне нравится думать об этом, как в фильме «Рататуй», где главный повар говорит: «Каждый может готовить». Вот так же я отношусь к коду, как будто каждый может его приготовить. И это просто что-то, что… Это такой личный путь и личный опыт. И то, как вы подходите к изучению кода, должно быть таким же разным, как и люди, которые этим занимаются. Поэтому я считаю, что должно быть много разных путей к изучению кода. И на данный момент не существует какого-то определенного пути, который можно рекомендовать для изучения кода. И я думаю, что часть моей работы заключается в том, что я действительно хочу создать эти альтернативные пути к изучению технологий, если вы этого хотите.

ДЕВОН: Да. Это действительно интересно. Один из моих любимых теоретиков в области образования — Сеймур Пейперт (Seymour Papert), и он противостоял тому, что многие люди говорят: «Я не математик. Я не могу выучить математику». Есть одна его цитата, где он говорит: «Да, конечно. Люди на уроках математики часто не могут выучить математику, но верно и то, что если вы учитесь на уроке французского языка, вы не сможете выучить французский язык, но мы не говорим, что у вас нет способностей к изучению французского языка. Мы говорим: «О, они выросли не во Франции». И вот у него возникла идея: «Как бы выглядело создание страны математики?» Место, где все вокруг вас как бы содержит математику, и вы сталкиваетесь с ней в течение дня самыми разными способами. Вероятно, математику можно изучать гораздо более интуитивно, подобно тому, как вы изучаете французский язык, находясь во Франции. Думаете ли вы об этом в контексте живого кодирования?

ЧАР: О, боже мой. Да. Мне это так нравится. Поэтому я немного отступлю назад. Помните, я говорил о том, что код GPU — это очень мощная функция или очень мощная программа, которая выполняется сотни миллионов раз в секунду. Недостатком этого является то, что вы должны говорить больше как компьютер. Поскольку вы работаете на таком сверхнизком уровне, код должен пройти через меньшее количество уровней абстракции, чтобы получить результат на экране. И поэтому язык компьютеров — это математика. То есть вы, по сути, работаете с линейной алгеброй, тригонометрией и прочими… Математики здесь гораздо больше, чем в обычном программировании.

ЧАРИтак, на входе — координата пикселя, то есть положение X, Y, а на выходе — красный канал, зеленый канал и синий канал. То есть, по сути, вы просто пишете большую функцию, входной параметр которой — декартово пространство, а выходной — цветовой канал. И используя это очень, очень ограниченное, очень жесткое творческое ограничение, вы используете математику, чтобы как бы расширить это и создать различные особенности в пространстве и времени. И я постоянно думаю об этом, когда занимаюсь GPU-кодированием, когда пишу шейдеры. Я думаю о том, что это очень увлекательный способ изучения математики. Например, когда я изучал точечные произведения в классе линейной алгебры. Когда вы узнаете о точечном произведении, вы думаете: «О, это…»

ЧАР: . .. «чтобы получить визуальный результат, что сила цвета на вашем материале прямо соответствует точечному произведению нормали к этой поверхности и угла падения света». Позвольте мне быстро определить, что такое нормаль. На поверхности объекта, трехмерного объекта, нормаль — это вектор, перпендикулярный мгновенной точке на поверхности. Извините, если это было слишком много. Это довольно сложно… Как я уже сказал, трудно думать об этом без визуального представления. Я очень наглядный человек, поэтому мне хотелось бы…

Чар Стайлз исследует инструменты для выражения и переживания
Шар выступает в Чикаго. Изображение из Instagram.

ДЕВОН: Нет, это очень напоминает мне… Я занимался классической гитарой, когда был моложе. И я помню, когда мы начали изучать дроби в школе, у меня был момент, когда я подумал: «Подождите, четыре четвертные ноты — это то же самое, что и четверть, умноженная на четыре, равная одному. Это одно и то же». Я помню, как легко прошел эту часть урока математики, потому что я просто сказал: «О, да, я делал это годами. Ничего особенного». И я мог думать об этом с музыкальной точки зрения. И это было очень здорово — иметь возможность связать это с чем-то, что мне действительно нравится, в отличие от математики, которая обычно кажется такой абстрактной в школе.

ЧАР: О, боже мой. Да. Они придумывают сценарии, которые никогда не произойдут, чтобы научить вас этим супер абстрактным понятиям, в то время как на самом деле есть очень конкретные примеры дробей. Это не классический пример, когда у Тимми есть 12 бананов и 13 яблок, а потом он забирает их оба. Это что-то вроде: «Почему у тебя 13 яблок?». Это буквально просто немного творчества и размышления о том, сколько 13 яблок у вас было бы в любом случае.

ДЕВОН: Верно. И еще, как вы можете связать это с чем-то, что люди могут чувствовать и испытывать эмоции? Музыка — идеальный пример этого.

ЧАР: О, боже мой, да. Я недавно начал изучать музыку. Я еще ничего не выкладывал, потому что все еще нахожусь на стадии впитывания, но это как… Мне так нравится изучать музыку, узнавать о пятых и сильных аккордах и всем остальном, потому что, как ты говоришь, это просто еще одно приложение. Ну, это не просто еще одно применение, но я уверен, что теоретики музыки, наверное, скривятся, когда я скажу это, но я просто вижу параллели между математикой и музыкой, когда я… Я еще совсем ребенок в мире музыки. И когда вы сказали, что изучали классическую гитару, я подумал: «Боже мой, это так круто». Но я также… Надеюсь, я не говорю вещей, от которых у тебя просто закладывает уши.

ДЕВОН: Нет. Музыка — одна из причин, почему мне всегда нравилась математика в школе, потому что там было так много связей, и я мог подумать: «Хорошо, что я могу предсказать об этом?». Или она делала математику ритмичной, по сути. И я мог почувствовать ее в своем теле, в отличие от абстрактного представления: «Хорошо, я думаю, что мы должны сложить эти бананы или яблоки» или что-то еще.

ЧАР: Верно.

ДЕВОН: Еще один аспект обучения, который, на мой взгляд, может быть очень полезен, — это взгляд на одну и ту же проблему под другим углом. Есть ли еще какие-нибудь математические концепции, которые вы, возможно, не так хорошо понимали интуитивно, когда изучали их в школе, но гораздо быстрее поняли, когда начали писать шейдеры?

ЧАРЯ думаю, что еще один вариант — это кросс-продукт. Я знаю, что оно очень похоже на точечное произведение, но в кросс-продукте я узнал его очень хорошо, потому что с его помощью можно вычислить фрустум камеры в шейдере с марширующим лучом. Позвольте мне немного отступить назад. Ray marching — это способ написания небольшого рендерера внутри одного шейдера. Это означает, что… Я повторюсь, я веду много семинаров по шейдерам и всегда стараюсь вдолбить это своим студентам: на входе — позиция пикселя, а на выходе — цвет. Поэтому, если ограничиться только этим, можно создать 3D-мир.

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

Чар Стайлз исследует инструменты для выражения и переживания
Кадр из живого выступления Шар. Изображение из альбома Char Stiles.

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

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

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

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

ЧАР: Именно так. Да. Я большой сторонник того, чтобы приоритет отдавать удовольствию, а не точности, точным мельчайшим деталям или чему-то еще. Но да, это мой длинный способ сказать, что я узнал, как вычислить фрустум камеры через кросс-продукт.

ДЕВОН: Когда Вы проводите семинары, сталкивались ли Вы с тем, что люди, приходя на них, говорили: «Извините, я не математик», а потом, уходя, говорили: «О, математика — это очень весело».

ЧАР: О, боже мой. Да. Я чувствую, что это так проверяет моих студентов, особенно потому, что я действительно люблю держать своих студентов за руки, когда мы проходим через это. И я действительно связываю это с тем, что у многих людей математическое образование как бы обрывается в средней школе. И именно здесь я люблю брать пример. Я ссылаюсь на то, чему нас учили в школе, на своих занятиях по математике, чтобы они не чувствовали себя отстающими, потому что очень легко быстро почувствовать себя отстающим или не иметь никаких ориентиров, когда впервые за много лет изучаешь математические понятия заново. Многие из моих студентов — программисты и дизайнеры.

ЧАРИ забавно, что программисты… Да, программирование, в программировании вы не часто сталкиваетесь с линейной алгеброй и тригонометрией, так что это действительно как… Все как бы… Несмотря на то, что это школа на одну комнату, я могу понять, каковы общие знания дизайнера и программиста в области математики. И да, мне нравится, когда у студентов появляется новое… Или даже просто очень сильное желание узнать больше о математике. Это одна вещь, которую я вижу снова и снова, это то, что студенты говорят: «Я вижу, как знание математики применимо здесь, и это действительно мотивирует меня узнать больше». Именно поэтому в разделе «Дальнейшая работа» на своих семинарах я всегда включаю три… Что это? 3Blue1Brown, это канал на YouTube. Может быть, все наоборот, но…

ДЕВОН: Это отличный канал на YouTube для всех, кто его слушает. Мне он очень нравится. Он делает такую хорошую работу, чтобы сделать математику красивой, как визуально, так и с точки зрения лирики.

ЧАР: Угу.

ДЕВОНКак Вы впервые столкнулись с GPU и шейдерным кодированием?

ЧАР: Боже. О, это отличный вопрос. Честно говоря, я просто гуглил. Я просто путешествовал по Интернету, просматривал сайты и вроде как наткнулся на это. И я подумал: «О, это то, что действительно имеет для меня смысл». Это был как бы момент, когда я подумал: «Это действительно то, чем я хочу заниматься». А причина была в том, что мне посчастливилось изучать информатику и изобразительное искусство в бакалавриате, и эти два направления, объединенные вместе, имели большой смысл. Я очень скряга, мне нравится использовать все, что у меня есть под рукой.

И я не хотел заниматься только искусством и только информатикой, потому что я изучал и то, и другое. И я подумал: «Как я могу совместить их и быть изобретательным?». И кодирование с помощью графического процессора как нельзя лучше подходило для этого. Думаю, меня также привлекла сложность или некая загадка, связанная с этим, потому что многие люди просто говорят, что шейдеры — это волшебники на вашем компьютере, и вам не нужно знать, что именно происходит, или, скорее, это что-то вроде того, где ваши знания, где люди говорят: «На этом мои знания заканчиваются», — это так… Есть просто волшебники на GPU, вычисляющие пиксельную магию».

«Думаю, меня также привлекла сложность и загадочность этой работы. Многие говорят, что шейдеры — это волшебники на вашем компьютере, и вам не нужно знать, что именно происходит. Люди говорят: «На этом мои знания заканчиваются»».

ДЕВОН: О, интересно. Правильно ли будет сказать, что многие люди, занимающиеся GPU-кодированием, на самом деле не очень хорошо понимают, что происходит в компьютере, или им это не так интересно?

ЧАР: Я думаю, что дело скорее в том, что GPU-кодирование и программирование шейдеров очень распространены, так что люди, которые обычно занимаются разработкой игр или любыми другими видами 3D- или видеотехнологий, всегда видят шейдеры, потому что они присутствуют во всех видах визуальной графики реального времени. Я действительно верю, что любой, кто поставит перед собой цель изучить шейдеры, обязательно сможет их освоить. Да.

ДЕВОН: Что для вас было первым делом?

ЧАР: Это была его главная вещь, и он был подписан на PC Music. Его зовут Lil Data, очень хороший человек. Но я очень нервничал, потому что это был мой первый алголэйв, и я был как бы брошен… Не то чтобы бросили в глубокий тупик, просто у меня была прекрасная возможность поиграть с людьми, которые занимаются этим очень много и это их основная практика. И я помню, как он подошел ко мне и сказал: «Что здесь происходит?». И как бы недоуменно спросил «О, что ты делаешь?». А я просто не мог обрабатывать человеческий разговор и одновременно писать код шейдера. Думаю, я просто отмахнулся от него, но это было очень волнительно… Все это очень захватывающе. И я думаю, что мой страх перед сценой не давал мне покоя, потому что я… Это похоже на катание на американских горках.

Чар Стайлз исследует инструменты для выражения и переживания
Фон из живого выступления Чара. Изображение из альбома Char Stiles.

ДЕВОН: Это, я думаю, отличается от того, что испытывает большинство людей при страхе сцены, когда они хотят как можно скорее избавиться от него и никогда больше не делать этого. Но да, как только вы сформулируете это так: «Да, это как американские горки. Что самое худшее может случиться? Ты не умрешь, так что…»

ЧАР: Да. Наверное, американские горки — это немного страшнее, чем мой случай.

ДЕВОН: Итак, когда вы только начинали, какие инструменты вы использовали, и как они развивались?

ЧАР: Да. Когда я только начинал, я использовал… Мое первое шоу, которое не было обязательно живым кодированием, но это было мое первое визуальное шоу. Я использовал просто ряд готовых шейдеров. Я не обязательно кодировал шейдеры, но я вызывал их в функциях, и у меня была обёртка JavaScript. Это было очень сложно, потому что я не знал, что делаю. Так что это был проект на трех JS, в котором было множество различных шейдеров, как бы выстроенных в ряд. А затем у меня была программа, которая применяла различные шейдеры в разное время.

ЧАРЯ открывал консоль и затем просто вызывал различные функции через консоль. Потом это развивалось, я использовал ADAM, а первым редактором живого кодера, который я использовал в выступлении, был glsl-live coder от Takayosi Amagi. Он был сделан в 2017 году, и именно тогда я его использовал. Это отличный инструмент. Сейчас я его уже не использую. Я использую другой инструмент под названием KodeLife, который был создан компанией Hexler, создавшей OSC, и который позволяет вводить гораздо больше нюансов. Вы можете вводить аудио, видео или шумовое поле. Таким образом, я использую комбинацию этих инструментов, а также свой собственный редактор шейдеров на JavaScript под названием Shader.Place.

ДЕВОНЧто побудило Вас создать свой собственный инструмент?

ЧАРИменно преподавание во время пандемии побудило меня создать Shader Place. Shader Place — это совместный редактор кода, который похож на Google Doc для шейдера. Вы можете находиться на одной странице и одновременно редактировать шейдер. Если шейдер может скомпилироваться, то он скомпилируется, а если нет, то по умолчанию будет выбран последний шейдер, который смог скомпилироваться. Он пытается компилировать каждый раз, когда в документе происходят изменения. В некотором роде это алгоритм сжатия, потому что я преподавал шейдеры через Zoom или что-то в этом роде, и я делился своим экраном, а он просто сжимался до чертиков, и я говорил: «Так, все, это выглядит очень плохо, но поверьте мне, это очень, очень плохо. Вот этот шейдер просто ужасен».

ЧАРИ я был в некотором роде расстроен, а кроме того, частота кадров была не очень хорошей, потому что многие интересные визуализации компьютеров происходят за счет использования плавного времени, так что они плавно перемещаются, но частота кадров отрубает это. И тогда я подумал, что было бы гораздо меньше работы, если бы мы просто посылали друг другу код, а потом он рендерился бы локально на наших машинах, и так мы и поступили, и именно это позволяет Shader Place. Кроме того, он позволяет организовать очень интересную удаленную совместную работу, или даже, если вы находитесь в одной комнате, просто быть на своих компьютерах, работая над шейдером вместе.

ДЕВОН: Я видел, что многие Ваши выступления проходят с участием другого человека. Можете ли Вы рассказать о том, как это происходит? Что вы делаете вдвоем? Как вы общаетесь?

Чар: Ах, да. Обычно я сотрудничаю с живым кодером, музыкантом. В частности, я тесно сотрудничаю с Дэном Гореликом. У нас много выступлений. Мы много выступали во время пандемии, и я на самом деле… Это его микрофон. Так что спасибо, кричите Дэну. И он будет писать код циклов заголовков, а я буду писать код GLSL. А потом, поскольку мы оба творческие технологи, мы можем сделать так, чтобы он прислал мне… Например, в одном из перформансов мы попросили его произнести слова голосом из текста в речь, а затем он отправил эти слова мне, и я смог визуализировать их. Таким образом, у нас получилось что-то вроде: «О, мы слышим слово, мы видим слово, и оно используется как музыкальный компонент в визуальном компоненте».

ЧАР: В других моих совместных проектах я работал с Даниэль Рагер. Она специалист по вычислительной нейробиологии, живой кодер и исполнитель. Или если один голос просто… Она присылала мне MIDI своей музыки, и я использовал этот MIDI-вход, этот MIDI-сигнал, чтобы затем появились различные особенности визуального ряда. И я думаю, что это очень, очень, очень, очень, очень, очень, очень уникальная вещь. Ну, не очень. Думаю, уникальность того, что программисты могут создавать музыку и визуальные эффекты, заключается в том, что мы можем заставить наши программы разговаривать друг с другом очень запутанными способами. В принципе, каждый раз, когда я делаю что-либо, выходящее за рамки «О, у тебя есть только перемотка вперед, трансформация, сгибание аудио, аудиоспектр, а затем ты просто делаешь что-то на основе этого». Это всегда похоже на то, как вы прокладываете маршрут, посылаете его через MIDI на джек, затем через джек на OSC, а затем OSC посылает его через Spout, а затем Spout посылает его… Это все эти безумные цепочки инструментов, но они делают свою работу.

ДЕВОН: Сколько времени вы тратите на то, чтобы заставить цепочку инструментов работать?

ЧАР: О, боже мой.

ДЕВОН: Против того, чтобы действительно делать то, что вы пытаетесь сделать?

ЧАР: Я бы сказал, что их становится все меньше и меньше. Раньше, когда я только начинал этим заниматься, я начал заниматься живым кодированием в 2017 году. Большая часть времени уходила на создание цепочки инструментов, создание системы коммуникаций, инструментов. Но сейчас, я бы сказал, что это, возможно, около 30%, если бы я мог назвать цифру. И оно становится больше, если я пытаюсь сделать что-то другое. Поэтому я сотрудничаю с DJ_Dave. Благодаря ей, если я скажу «живое кодирование», некоторые люди скажут: «О, я знаю, что это такое», потому что она объясняет это и как бы показывает на TikTok. И если люди находятся в этом мире TikTok, они могут знать. Но я работаю с ней над созданием визуального набора ASCII-арта, который соответствует ее аудиокоду. То есть она кодирует в Sonic Pi, а я буду кодировать визуальные образы. А затем ASCII-арт будет наложен поверх ее кода, чтобы как бы приукрасить его, а также как бы слить их воедино и создать визуальный ландшафт, подобный этому.

ДЕВОН: О, это звучит так здорово. Я с нетерпением жду возможности увидеть это. Вы сказали, что цепочка инструментов стала быстрее. Это просто потому, что вы стали лучше работать со своими инструментами, или вы создали библиотеку вещей, которые можно компоновать вместе, или просто инструменты стали лучше, чтобы абстрагироваться от некоторых сложностей?

ЧАР: Я бы сказал, что и то, и другое. Чем больше людей вникает в живой код, тем больше они понимают, что все сломано, и создают инструменты для исправления ситуации. Так что на данный момент я чувствую, что стою на плечах гигантов, но в то же время я уже некоторое время работаю с этими инструментами, особенно как творческий технолог. Заставить вещи разговаривать друг с другом, я думаю, — это большая часть работы творческого технолога, включая человека.

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

ДЕВОН: Судя по всему… Я никогда не писал настоящих шейдеров, но, судя по всему, большинство инструментов с открытым исходным кодом и на GitHub, так ли это, или есть много проприетарных инструментов?

ЧАРЯ думаю, что существует много проприетарных инструментов просто потому, что… Кодирование шейдеров действительно распространено повсеместно. Оно повсюду. Люди постоянно пытаются найти способы не кодировать шейдеры или делать патчи вместо них. Поэтому часто люди не знают, что они кодируют шейдерный код, но на самом деле это так. Так что любой язык программирования узлов обычно является своего рода шейдерным кодом. Вас обманывают, заставляя писать шейдерный код. Таким образом, существует множество собственных цепочек инструментов, алгоритмов и всего подобного. Потому что, например, у студии Epic Games, вероятно, есть свой собственный движок рендеринга, и для любых VR вещей вам нужен свой собственный рендеринг.

ЧАР: А первый пиксельный шейдер, первый программируемый код для GPU был создан в 2001 году. Так что люди занимались этим около двух десятилетий. Так что на данный момент существует множество открытых исходных кодов, что просто замечательно, и я очень благодарен за это. Если бы их не было, вы бы не смогли в них разобраться, но есть и множество собственных программ, которые используются в студиях и тому подобное.

ДЕВОН: Понятно. Используете ли Вы сами какие-либо проприетарные инструменты?

ЧАР: Ну, да. Я думаю, KodeLife. KodeLife с закрытым исходным кодом. Да. Но его пишут два человека, так что это не супер… Его пишет один человек, а потом, я думаю, есть еще один человек в команде. Я рад, что они в какой-то мере получают деньги за свою работу. Да, да, да.

ДЕВОН: Да. Здесь очень сложный баланс между прелестями открытого кода и возможностью платить за аренду. Как вы подходите к практике?

ЧАР: Многие из моих практик построены на сотрудничестве. Кроме того, еще одна замечательная вещь в живом кодировании — это то, что… Я как бы практикуюсь, пока делаю это. Я делаю много шоу и много быстрых итераций, и, возможно, это удешевляет мою работу, но меня это не волнует. Поэтому часто у меня бывает три выставки за неделю, и я просто делаю выставки, и это моя практика.

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

Чар Стайлз исследует инструменты для выражения и переживания
Шар за работой. Изображение из Instagram.

ДЕВОН: Нет, я так не думаю.

ЧАРТо есть, по сути, вы готовите суп, потом съедаете часть его, а потом остаются остатки, и вы просто используете их в следующем супе, и так продолжается все дальше и дальше, и дальше, и дальше. То есть, вы можете делать это только очень долго, потому что это еда, но я думаю, что есть случаи, когда в ферментированных вещах, матери… Как мы называем мать комбучи?

ДЕВОН: Липкая штука. Да.

ЧАР: Липкая штука. Да. Липкая мать, которую вы просто сохраняете, используете снова, снова и снова, и по мере того, как вы ее используете, она превращается в другую вещь для создания новых вещей. И поэтому я думаю, что это еще одна замечательная аналогия с приготовлением пищи. Это заставляет меня… Мне придется… Я хочу сделать забавную шейдерную кухню после этого.

ДЕВОН: Я посмотрел, это называется SCOBY.

ЧАР: SCOBY. Да. У меня есть свой шейдер SCOBY, который я развиваю, и он как бы является частью моего выступления в моей практике.

ДЕВОН: То, что вы говорите о тренировках перед аудиторией, очень похоже на то, как комики часто готовят свои…

ЧАР: Ах, да.

ДЕВОН: . .. стендап. Они, конечно, много готовятся заранее, до выхода на сцену, но затем оттачивают и делают выступление по-настоящему смешным, оттачивают ударные фразы, а затем часто выступают перед людьми и получают обратную связь: «Ну что, они смеялись?». И если они не смеются, значит, надо что-то менять. Да. Или, может быть, они смеялись над той частью, которую вы не ожидали увидеть, и тогда, возможно, в следующем выступлении вы сделаете больший акцент на этой части. Когда я в последний раз был в Нью-Йорке… Я очень люблю стендап.

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

ЧАР: Мне это нравится. Стендап — это то, что меня пугает, и поэтому поначалу меня очень тянет к нему.

ДЕВОН: Похоже, у вас есть склонность к подобным вещам. Поездки на американских горках, живое кодирование и стендап, возможно, будут следующим делом.

ЧАР: Да. Посмотрим.

Чар Стайлз исследует инструменты для выражения и переживания
Шар с подругой за работой. Изображение из Instagram.

ДЕВОН: Чем же отличается практика живого кодирования от практики с более традиционным инструментом, например, скрипкой или саксофоном, или чем-то подобным?

ЧАР: Это сложный вопрос. Я бы с удовольствием задал его музыканту. Я имею в виду, что я каждый день занимаюсь на гитаре, так что у меня есть свое мнение, но я нахожусь в самом начале своего музыкального пути. И пока что я действительно применяю в нем такие вещи, когда иногда тебе нравится возвращаться к классике и пересматривать песни Cat Power, которые ты выучил, когда учился в школе, и сравнивать их с тем, где ты находишься сейчас. Но, кроме того, научиться джемовать и импровизировать — это очень сложный и непрерывный процесс. И это определенно то, что я видел и в своем кодировании, а именно… Когда я только начинал… Многие люди думают, что при живом кодировании вы всегда начинаете с нуля и кодите только из своего мозга, ничего больше, никаких заметок, ничего, что является стилем живого кодирования.

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

ДЕВОН: Да. В этом есть смысл. Вы упомянули стиль Мехико. Как отличается культура живого кодирования в разных городах мира?

ЧАР: О, Боже, это так здорово. Так где же она возникла, в… О, Боже мой, здесь так много истории. Я просто помешан на истории, когда дело доходит до этого. В Великобритании, в Шеффилде, я думаю, именно там она зародилась благодаря таким людям, как Алекс МакЛин, Hellocatfood и Шелли Ноттс, у них там более академический подход к этому. Поэтому они могут много говорить о взаимодействии компьютера и человека, когда они сотрудничают друг с другом, чтобы создать новую форму, и у них есть красивые слова об этом. И я поехал на конференцию по кодингу в Ирландию и познакомился со всеми этими людьми. И это было очень, очень здорово — видеть, как они увлечены этим, академической стороной живого кодирования. А потом в Нью-Йорке мы как бы спрашиваем: «Что такое живое кодирование?».

ЧАР: У нас есть люди, которые занимаются модульным смыслом. Мы считаем модульный синтезатор живым кодированием, хотя я уверен, что некоторые люди так не считают. Мы считаем узловое программирование живым кодированием. Мы считаем… У нас есть диджеи, которым просто нравится компьютерная эстетика. Мы их пускаем. Мы их приглашаем. Даже не пускаем, а приглашаем их на наши шоу и выступления. И поэтому мы как бы повсюду, очень красочные, очень… А еще у нас есть рейвы, алгоравы, где акцент делается на рейве, я думаю. Гош. Это действительно глобальный феномен, это действительно интересно. В Калифорнии есть AV Club, и люди здесь действительно много говорят о… Они используют множество различных цепочек инструментов и интересных приложений к своим собственным программам.

ЧАР: Это тоже, как мне кажется, повсеместное явление. Все всегда заканчивают тем, что создают свой собственный инструмент в живом кодинге, и это неизбежный финал, потому что у всех просто есть… По мере того как вы используете чужие инструменты, у вас появляются идеи, как создать свой собственный. В Индии тоже есть сцена живого кодирования. И, насколько я могу судить отсюда, это также очень ориентировано на образование и обучение кодированию через образование, или, скорее, через живое кодирование. Есть одна художница, Computational Mama, я ее знаю. В Интернете она называется Computational Mama. Я не встречался с ней лично, поэтому не знаю ее имени. Но она преподает p5 и все остальные классные вещи, и она участвует в сообществе там. Да, это повсюду. Мне это очень нравится.

ДЕВОН: Что такое p5?

ЧАРО, p5, это JavaScript, визуальный язык JavaScript. То есть это обертка для создания элементов на холсте HTML5, и она также позволяет… Это целый мир. Так что он также позволяет очень быстро получать временные данные, чтобы иметь возможность получать изображения. Это что-то вроде обработки. Я не знаю, знакомы ли вы с Processing.

ДЕВОН: О, да. Я его не использовал, но, кажется, он есть на GitHub.

ЧАР: Именно так. Идеально. Да. Итак, это Processing, но для JavaScript, а не для Java.

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

ЧАР: О, боже мой. Ну, во-первых, я полностью согласен с тем, что живое кодирование становится все более и более популярным. Это как момент. На самом деле, я сейчас нахожусь в турне, потому что у меня выступление… Потому что все эти шоу выстроились в очередь на этой стороне Соединенных Штатов. И это действительно удивительно, такого со мной еще не случалось. Но это определенно благодаря распространению живого кодирования, люди слышат о нем, а затем обращаются ко мне, и я получаю шоу или что-то еще. Я думаю, что это определенно растет и становится все больше. Отвечая на ваш вопрос о том, как меняются сообщества, хочу сказать, что живой код растет. Он действительно становится все более разнообразным, и у каждого есть свой взгляд на него. Так, например, DJ_Dave, с которым я гастролирую в качестве лайв-кодера, частично работает с сэмплами. То есть она сэмплирует песни и использует живой код для диджеинга наряду с созданием своей собственной музыки.

Она создает своего рода продюсерскую музыку, которая затем выходит на Spotify и тому подобное. И она записывает каждый компонент в Sonic Pi, который представляет собой фреймворк для живого кодирования на языке Ruby, чтобы затем отдать его продюсеру для последующего мастеринга. Это похоже на применение живого кодирования в качестве… А еще есть такие люди, как Kingdom, которые начинают с нуля, чувак, в стиле Мехико, и кодируют брейк-биты с нуля на глазах у аудитории. Да. Есть много различных эволюций живого кодирования. И я думаю, что самое прекрасное в том, что все, что каждый привносит в это, одинаково ценно и имеет что-то свое, особенное. Когда я работала ассистентом, преподаватель, у которого я работала ассистентом, не разрешал мне помогать или не просил меня помочь ему с оценкой, потому что он знал, что я просто скажу: «Они все особенные снежинки и все получают пятерки». И вот что я сейчас хочу сказать: я думаю, что все, что каждый сделает, будет просто прекрасным и удивительным.

ДЕВОН: Это очень здорово, потому что вы можете использовать приемы, которые используют другие люди, в своей собственной музыке, если это соответствует вашей атмосфере, или просто наслаждаться ими со стороны, если вы думаете: «Знаете, это не совсем подходит для того, что я пытаюсь сделать, но это интересно посмотреть».

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

Чар Стайлз исследует инструменты для выражения и переживания
Кадр из выставки Char «Empathy Machine Interaction». Изображение от Char Stiles.

ДЕВОН: Этот вопрос скорее ко мне, но зрителям он тоже может показаться интересным. Для справки: мой парень родом из Аргентины, поэтому я провожу там много времени каждый год. Мне интересно, какова сцена живого кодинга в Аргентине и как они подходят к этому по-другому?

ЧАР: О, боже. Я знаю только несколько человек в Аргентине, которые занимаются этим, но, кажется… Моя подруга Дуся занимается этим, она математик по специальности. И она пишет фракталы и системы с обратной связью. И я думаю, что, судя по тому, что я знаю, там используется много крутой математики, но, может быть, это только мои друзья, которые там есть и которые этим увлекаются. О, и она играет в группе, которая называется, кажется, Three Amigos или, может быть, это по-испански, но это три друга, и они устраивают там аудиовизуальные представления. Я пришлю тебе ее материалы.

ДЕВОН: Я бы с удовольствием посмотрел. И если она будет выступать лично, может быть, когда я в следующий раз буду в Буэнос-Айресе, я пойду посмотреть. Звучит очень весело. Я представляю, что во время блокировки в начале пандемии Ваши возможности для личных выступлений были ограничены. Как Вы работали в этих условиях, и есть ли какие-то приемы, которые Вы переняли за это время, и которые Вы перенесли теперь, когда очные выступления возобновились?

ЧАРСамой большой проблемой в стриминге было сочетание визуалиста и музыканта-кодера, потому что вы хотите иметь возможность видеть и то, и другое. Поэтому, в основном, я просто усовершенствовал свой набор инструментов, чтобы иметь возможность объединить оба куска кода в один выходной поток, чтобы вы могли отправить его на Twitch или куда-то еще. И на самом деле, это большая часть магии OBS. Так что я много изучал OBS во время пандемии и OBS.Ninja, который является действительно… На самом деле это просто другой инструмент, но он делает то же самое, но в режиме онлайн. И я определенно собираюсь использовать его гораздо чаще, потому что он уменьшает… Все становится намного проще, когда у вас есть только один выходной поток. Его можно зеркально отобразить на проекторах, использовать HDMI-разветвители и просто быстро набросать туда код.

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

ЧАР: Именно так. Да. Да, это перекладывает большую часть работы на компьютер и меньшую — на людей, которые устанавливают проекторы, прокладывают провода и т.д. Это всегда приятно. Это большая часть того, чем хороши компьютеры. Именно так.

ДЕВОН: Перед этим интервью Вы прислали мне ссылку на сайт toplap.org. Надеюсь, я правильно выразился. Это организация, которая занимается продвижением живого кодинга, и расшифровывается она как «Временная организация по прагматике программирования живого искусства». И это название меня очень заинтересовало. Мне стало интересно, почему здесь присутствует слово «временная»? И что это говорит о культуре людей, которые ее основали?

ЧАР: Мы все приняли эфемерность, даже в нашем манифесте. Так что то, что должно нас объединить, мы назвали «Черновик манифеста Live Coding», и это всегда будет черновик. Это никогда не будет окончательной версией, потому что все постоянно редактируется. И я думаю, что именно поэтому это временная организация, потому что мы просто… Все постоянно меняется. Единственное, в чем можно быть уверенным, так это в переменах. И я думаю, что это также как бы проливает кровь… Может быть, это просто потому, что я живу в Калифорнии и состою в этом своеобразном кооперативе, и это действительно ведет к моей практике медитации о том, что все всегда будет меняться. И это единственное, в чем можно быть уверенным. Звучит как… Не знаю. Наверное, это мое мнение на данный момент.

«То, что должно нас объединить, мы называем проектом манифеста Live Coding, всегда будет черновиком. Это никогда не будет окончательной версией, потому что все всегда редактируется».

ДЕВОН: С этим трудно спорить. Как вы думаете, почему живые кодеры принимают это и подчеркивают этот факт? Потому что я не знаю, слышал ли я когда-нибудь об организации, которая официально называлась бы временной организацией для бла-бла-бла.

ЧАР: О, боже мой. Я думаю, что это очень разумно, особенно в случае с компьютерами, просто принять тот факт, что все когда-нибудь заканчивается… Все когда-нибудь заканчивается, и нужно быть готовым к этому, особенно потому, что компьютеры — это постоянно меняющиеся объекты, и любой художник, работающий в новых медиа, знает, что главная боль — это просто сохранить свои работы в Интернете. Так, когда Flash был выведен из употребления, целая эпоха произведений искусства просто исчезла. И я думаю, что нужно просто прийти к пониманию того, что все меняется, и все ваши инструменты будут ломаться и в конечном итоге деградировать, даже диски на жестких дисках в конечном итоге выйдут из строя. На самом деле они служат меньше времени, чем печатные издания. Так и весь код, который мы пишем, на самом деле прослужит меньше времени, чем если бы вы написали его на листе бумаги.

ДЕВОН: Это действительно интересно. Да. Вы были в Архиве Интернета в Сан-Франциско?

ЧАР: Я не был, но у меня есть друг, который там работает.

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

ЧАР: Именно так. Я чувствую это очень сильно. А еще — просто принять это и сказать: «Это не будет длиться вечно. Я не собираюсь жить вечно».

ДЕВОН: Что ж, это хороший переход к другой теме, которую я хотел затронуть, и которая, похоже, будет существовать вечно, — это электронная почта. Да. Она существует уже очень давно, по крайней мере, в эпоху Интернета. И Вы провели много исследований на эту тему. Я видел, что Вы писали о том, что считаете электронную почту очень радикальной. Не могли бы Вы поделиться, почему Вы считаете электронную почту радикальной?

ЧАР: Электронная почта — это ее распространение и децентрализация. Если задуматься, то все, что хочет сделать каждый новый радикальный протокол, уже встроено в него. Так, электронная почта была создана в 70-е годы, и она никуда не денется. По сути, это наши цифровые паспорта, и это децентрализованный протокол, основанный только на праве. Я нахожу электронную почту интересной, потому что понимаю, что это единственная форма общения на расстоянии, которую я использую каждый день и которая не обязательно зависит от крупной технологической компании или правительства, включая почтовую почту. Электронная почта, по сути, представляет собой протокол, который может написать любой человек, но при этом существует множество препятствий для того, чтобы научиться создавать почтовый сервер. Но, по сути, в своей основе это действительно демократизированный протокол.

Чар Стайлз исследует инструменты для выражения и переживания
Первое электронное сообщение ARPANET было отправлено между этими двумя соседними компьютерами PDP-10 в компании BBN Technologies (соединенными только через ARPANET). Изображение из Википедии.

Я думал об этом и подумал: «О, вау». Я думал о том, насколько классной является электронная почта, и почему мы так ее ненавидим, и почему этот список электронной почты мы превращаем в нечто, о чем жалеем каждый день. И я подумал о том, как я могу поделиться своей любовью к электронной почте с другими людьми? И я решил создать этот почтовый сервер, чтобы, А, узнать больше об электронной почте и трудностях создания собственного почтового сервера, а также чтобы распространить информацию о том, что такое электронная почта и как она существует в истории. Так я придумал этот почтовый сервер под названием Computer Faith, и, по сути, он работает на сервере, который… Он не управляется Google, Amazon или какой-либо крупной технологической компанией.

Это озорной почтовый сервер, который при использовании его для отправки электронной почты будет как бы шифровать ваши слова, используя словарь для замены некоторых слов или просто шифруя их, переводя на другой язык и переводя обратно. Но, по сути, это возвращение веры, веры в технологии, потому что я думал о том, какие вещи сейчас актуальны в технологиях? У вас есть биткойны, очень горячие. У нас есть 3D-печать — очень… Я имею в виду, что 3D-печать сейчас не так актуальна, но 3D-печать и машинное обучение — все эти три вещи очень актуальны, верно?

И вещь, которая как бы пересекается со всеми ними, — это неопределенность, верно? Вы не знаете, будет ли ваша 3D-печать работать по принципу «Эй, почему…». Вы не знаете, не опознает ли ваше машинное обучение утку за автомобиль, или вы не знаете, упадет ли биткойн. И тогда я подумал: «Да, а что если сделать электронную почту такой же рискованной, как и все эти горячие технологии?». С этого я и начал создавать Computer Faith. Это был мой очень сумбурный способ описать, как я взволнован электронной почтой.

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

ЧАР: Да.

ДЕВОН: Это хороший материал.

ЧАР: Да. Вы помните, каким был ваш первый адрес электронной почты?

ДЕВОН: Это был просто devon@zuegel.us, который является сервером электронной почты моей семьи.

ЧАР: Стоп, подождите, у вашей семьи был сервер электронной почты?

ДЕВОН: Да, мой отец установил его, когда я был ребенком.

ЧАР: Это так здорово.

..спросите его, почему. Я не знаю, почему он это сделал… Я не думаю, что у него была какая-то особая причина для этого, кроме желания, чтобы она принадлежала ему.

ЧАР: О, мне это нравится. Мой первый адрес электронной почты был kinggagu2, потому что kinggagu уже занят, и я подумал: «Наверное, мне придется быть kinggagu2».

ДЕВОН: Я всегда очень завидовал своей подруге Анне. Ее электронный адрес был… Я надеюсь, что никто не пошлет ей кучу спама, раз уж я это говорю, но это был… Ее фамилия была Голдберг. А ее — horsingaround@thegoldbergs.com или…

ДЕВОН: Да. А знак @ использовался как «подковырка». Я подумал, что это самая умная вещь, которую я когда-либо видел. Я думал, что она гений.

ЧАР: Есть кое-что, что я начал делать. Когда я изучал электронную почту, я просто читал RT… В смысле, RFC, что расшифровывается как request for comments. И это похоже на то, как интернет-протоколы помещаются в RFC просто для… Может быть, есть люди, которые слушают, но не знают. В принципе, если вы добавите плюс в конце своего письма перед знаком @, то есть после вашего имени и перед знаком @, вы можете добавить плюс, и тогда вы можете написать все, что хотите. Так, например, можно указать, кому вы дали свой адрес электронной почты, когда давали его. Так, если я подписываюсь на какую-либо услугу, я просто поставлю плюс, а затем название услуги. Тогда, если мне на этот адрес придет спам, я буду знать, кто его слил. Я также использую его в качестве небольшого дневника. Можно написать, например, Chars, контакт, плюс feelinggoodtoday@charstiles.com, чтобы, получив оттуда письмо, я подумал: «О, да». Это небольшое воспоминание о том, когда мне было хорошо.

ДЕВОН: Это очень мило. Я и не думал использовать эту идею в качестве дневника. На своем личном сайте Вы говорите, что часть Вашего интереса к электронной почте заключается в том, что Вы хотите призвать людей ценить обслуживание, а не изобретения, поскольку обслуживание само по себе может быть инновационным. Не могли бы Вы немного рассказать об этом и о том, как это связано с электронной почтой?

ЧАР: О, боже мой. Да. Я всегда говорю, что эта постоянная технология изобретать автобусы или изобретать то, что уже существует, становится скучной, и я говорю это с подмигиванием. Это становится, подмигивая, скучным, потому что такие люди, как Элон Маск и его скучная компания, это просто, как мне кажется, «Это просто ваш стандартный способ захватить власть» или что-то в этом роде. В то время как на самом деле существуют все эти структуры, которые, если уважать предыдущих мыслителей и людей, которые пришли до нас, то можно сказать: «О, они уже давно думали об этом, и мы можем построить на их основе», вместо того чтобы начинать с нуля. Ведь в каком-то смысле можно начать с нуля, но при этом использовать уже имеющуюся инфраструктуру, которая работает для людей. На самом деле нужно просто внимательно относиться к тому, как вы используете технологии, а также с уважением относиться к прошлому. Я думаю, что это может помочь.

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

ДЕВОН: Как выглядит для технолога акцент на техническом обслуживании? Какие действия вы могли бы предпринять в своей повседневной жизни, чтобы следовать этой ценности?

ЧАР: Выделять время на изучение. Я имею в виду, что все мы в какой-то степени делаем это, но просто, я полагаю, делаем из этого ритуал, чтобы узнать о прошлом, чтобы в какой-то степени уважать прошлое. Я говорю это, но я также… Это одна из причин, по которой я не очень люблю веб-разработку, потому что при веб-разработке приходится так много узнавать о прошлом. Это может оказаться слишком сложным, в отличие от изучения чего-то вроде нативных приложений или С++… Не то, чтобы изучение C++ было менее трудоемким, чем изучение JavaScript, но просто в моем мозгу, в отличие от веб-разработки, вам приходится меньше узнавать об истории протоколов, о том, почему они такие, какие они есть. Наверное, это не самый лучший ответ, но увы. Наверное, у меня нет хорошего ответа на этот вопрос.

ДЕВОН: Нет, я думаю, в этом что-то есть. Я имею в виду, что когда я работал инженером-программистом, то всякий раз, когда я сталкивался с новой системой, я говорил: «Хорошо, я думаю, мы должны просто переписать ее», потому что тогда я буду понимать ее. И это ужасная идея по многим причинам. Иногда переписывание — хорошая идея, но очень редко. И причина такого несоответствия, я думаю, заключается в том, что многие люди, в том числе и я, будут переходить на систему, которую вы еще не понимаете.

И вы говорите: «Ну, это не…» Причина, по которой я не могу это понять, заключается в том, что это плохо, и дело не во мне, который ленится и не хочет этому учиться, должно быть, что-то не так, поэтому мы начнем с нуля. Иногда для этого есть время и место, но чаще всего, я думаю, важно отступить и подумать: «Ладно, может быть, в этом есть какая-то причина. Может быть, я просто совершу те же ошибки, что и они, или даже хуже, так что дайте мне посидеть и понять это, прежде чем я буду иметь действительно сильное мнение о том, как это должно быть по-другому».

ЧАР: Да. Я согласен с этим, но я также вижу ценность в том, чтобы переписывать вещи. Я думаю, что на микроуровне это нормально, но на макроуровне, когда у людей есть куча власти и они принимают грандиозные решения об инфраструктуре, технологиях и прочем, я думаю, что именно тогда нужно больше думать и уважать прошлое. Но если вы пытаетесь чего-то добиться, я много переписываю. Иногда я даже переписываю свои собственные материалы, потому что, когда ты их переписываешь, ты учишься по-другому.

ДЕВОН: Не могли бы Вы рассказать об этом немного подробнее? Примеры, которые приходят на ум?

ЧАР: Да. Думаю, канонический пример, на который я уже ссылался, — это как Элон Маск изобретает автобусы и говорит: «Да, мне нужен способ… Ни один человек не может победить пробки». И есть универсальная проблема, что ни один человек не может победить пробки и все такое. Это просто что-то вроде: «Элон, это автобус. Это автобус, чувак». Это не модно. Это не сексуально, но это есть, и у этого есть решения, если вы используете более ориентированный на сообщество подход к решению проблем. Наверное, я вхожу в… Я все еще… Я думаю, что я вхожу в свои политические рамки.

ДЕВОН: Конечно. В 2019 году вы сделали очень крутой проект под названием Empathy Machine, в котором вы работали с танцорами и имели кольцо. Можете ли вы описать этот проект и инструменты, которые вы использовали для его создания?

ЧАР: Да. Это было с танцевальной командой slowdanger, и они создали танцевальную композицию, которая была посвящена отношениям с технологиями, почти технологиями и массовой истерией людей. В частности, они ссылались на истерию Y2K, которая произошла. Они создали танцевальную пьесу, чтобы рассказать об этом, создать дискуссию вокруг этого. И они наняли меня и еще одного технолога, Нила Хинки, для создания системы, которая фактически добавляла бы свет в танец в качестве помощника, то есть тени и движущийся прожектор. В материальном плане это выглядит так: светодиодное кольцо диаметром 12 футов, которое находится над танцорами, и это светодиоды с возможностью адресации. Таким образом, можно создать свет, который перемещается по пространству. Можно создать флуктуационный шум или использовать несколько источников света.

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

Чар Стайлз исследует инструменты для выражения и переживания
Кадр из шоу Чар «Devices». Изображение от Char Stiles.

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

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

ЧАР: Именно так. И я думаю, что идея о том, что это раздражающая часть, приводит к тому, что все эти люди пытаются выкачать данные у людей, которые не согласны на то, чтобы их данные попали в алгоритм машинного обучения, потому что это воспринимается как скучная часть или утомительная работа или что-то в этом роде. Это приводит к тому, что люди просто… Я не знаю. Я думаю, что более целенаправленный сбор данных и сбор данных по обоюдному согласию — это прекрасная часть машинного обучения.

ДЕВОН: Какие существующие системы, с которыми человек мог бы столкнуться в повседневной жизни, вы бы использовали для сбора данных по-другому?

ЧАР: О, Боже мой. Это действительно замечательное возвращение. К предыдущей теме, к электронной почте. Многие модели обработки естественного языка и любые другие модели, которым требуется большой объем текстовой информации, связаны с так называемым набором данных Enron. Так что с «Энроном»… Вы слышали об этом?

ДЕВОН: Да, но продолжайте. Это действительно хороший материал.

ЧАРЭто действительно хорошо. Итак, набор данных Enron — это электронные письма, которые были опубликованы… Я думаю, это была какая-то энергетическая компания. Вы знаете, что за компания была Enron? Это была нефтегазовая компания или что-то в этом роде.

ДЕВОН: Да. Угу.

ЧАР: Да. Итак, эта нефтегазовая компания была привлечена к суду за ряд незаконных растрат или налоговых махинаций, в общем, действительно преступлений «белых воротничков», недобросовестных действий. И поскольку они предстали перед судом, вся их система электронной почты была обнародована, поскольку это было доказательством. И поскольку эти электронные письма представляли собой массивный набор данных о переписке, ученые, занимающиеся машинным обучением, увидели в них нечто, что можно использовать для обучения своей сети. Но тут возникает вопрос: вы обучаете сеть на компании, которая совершала мошенничество. И не то чтобы все в компании этим занимались, но мы можем долго рассуждать о культуре компании и о том, как она меняется…

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

ДЕВОН: Да. Особенно если они перепредставлены. Одно дело — собирать данные, которые как бы отражают всю человеческую деятельность, и одно дело — мошенничество, но другое дело, если один из основных источников…

ДЕВОН: Да. Да. Немного дико.

ЧАР: Вы помните, за что их судили? Кажется, это было мошенничество или…

ДЕВОН: Это было связано с их бухгалтерией. Да, это было за мошенничество. Они лгали о том, что у них точно есть деньги, и они вот-вот должны были обанкротиться или что-то в этом роде. Так что они не только зарабатывали меньше денег, но и были совершенно неустойчивым бизнесом. Думаю, были и другие нечистоплотные дела, но, по-моему, именно за это их и привлекли. Кстати, на Netflix есть очень хороший документальный фильм, весьма интересный. Когда вы создавали Empathy Machine вместе с группой Dance to, я слышал, что система ML сломалась в процессе работы. И вы выступили за то, чтобы оставить ее в шоу и принять любые казусы, что очень созвучно со многими другими вещами, о которых вы говорили ранее. Не могли бы Вы подробнее рассказать о том, почему Вы хотели сделать именно так и что, по Вашему мнению, могло бы получиться?

ЧАР: Поскольку машинное обучение — это «черный ящик», в нем всегда происходят неожиданные результаты, и мне очень нравится, как танцоры умеют приспосабливаться. И это как раз то, что танцоры умеют делать лучше всего — создавать что-то прекрасное из части ошибки или не ошибки… Да, ошибка компьютера, они могут работать с этим, адаптироваться к этому и создавать из этого что-то прекрасное. Я не уверен, что это ответ на ваш вопрос.

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

ЧАР: Мне бы хотелось воплотить свои выступления по-другому. В последнее время я часто занимаюсь воздушной гимнастикой. И мне бы хотелось иметь возможность находиться в воздухе и как-то кодировать, может быть, с помощью движений. Может быть, будет задействована клавиатура, но мне бы хотелось, чтобы это был некий гибрид. Может быть, я подвешен вместе с клавиатурой, а также клавиатура встроена в шелк. Это что-то вроде безумной мечты, которую я хочу осуществить перед смертью.

ДЕВОН: А когда вы говорите «воздушные шелка», вы имеете в виду цирковые шелка, когда вы поднимаетесь в воздух?

ЧАР: Да, именно так.

Круто. Вы слышали о… По-моему, они называются MiMU Gloves или MiMU, точно не знаю.

ЧАР: Это как нарукавная повязка Майи или нет?

ДЕВОН: Я не слышал об этом, но я знаю только, что недавно видел видео, где Ариана Гранде в этих перчатках меняет громкость музыки. И я думаю, что это позволяет пальцам делать крутые вещи, и это звучит… Это не совсем то, что вы описали, но это самое близкое к тому, что я когда-либо видел.

ЧАР: Да. Нет, я думаю, что это очень близко. Это как у Имоджен Хип есть перчатки, в которых она часто выступает.

ДЕВОН: Да. Да. Я думаю, что это точно такие же перчатки.

ЧАР: Я думаю, это было бы очень здорово. Да, что-то в этом роде. Мне кажется, я постоянно думаю о своей физической практике и о том, как я могу интегрировать ее в свою вычислительную практику. Моя самая большая мечта — вернуть компьютеры машинного или комнатного размера. Я хочу иметь возможность пробежать через всю комнату, чтобы нажать клавишу Enter, и чтобы там был просто огромный рычаг, на который я должен нажать, чтобы запустить свою программу. Я знаю, что это полная противоположность тому, куда движутся компьютеры. Я действительно верю в важность воплощения и знаний, которые хранятся в различных частях тела. И я не знаю, можно ли это сделать именно таким образом, но это просто моя мечта.

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

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

ДЕВОН: Я думаю, что многие люди разделяют эту интуицию. Вы когда-нибудь видели Железного Человека, и как он использует все различные дисплеи вокруг себя, и как он использует свои руки и все остальное. Я думаю, что это очень… Это просто выглядит круто, это часть дела, но я думаю, что одна из причин, почему это выглядит круто, заключается в том, что вы чувствуете, что вы действительно часть системы, а не как бы вне системы, глядя в маленькое окошко.

ЧАР: Именно так. Да. И у тебя просто есть маленькие палочки, которые ты пытаешься собрать вместе. Это как корабль в бутылке.

ДЕВОН: Да. Мне очень нравится эта метафора. Итак, теперь я должен буду познакомить вас с Омаром, когда вы вернетесь в Нью-Йорк. С Омаром, о котором я упоминал в начале, потому что он много работает в этой сфере. Если бы вы использовали эти перчатки, как, по-вашему, это повлияло бы на результат вашей музыки и результат визуальных эффектов на экране?

ЧАР: А, я думаю, что… Боже. Это было бы намного органичнее, так что было бы намного больше… Меньше знаковых волн, потому что именно так я создаю движение в шейдере — просто ставишь знак времени, и получается идеальная осцилляция. Но если бы я создал движение с помощью входного соответствия, то, на мой взгляд, в нем было бы гораздо больше случайности и как бы человеческих движений, которые наш мозг может уловить, потому что у нас есть определенные нейроны для обнаружения вещей, с которыми мы связаны, будь то наши движения или наши лица. Так что это определенно будет более человечным. Один из художников, который мне очень нравится, — это группа художников Team Rolfes, они делают VR-перформансы, но используют VR-контроллеры как ручные камеры. И я думаю, что это очень красиво. Они очень хаотичны и максималистичны, но то, как они используют человеческий ввод и mocap в своей работе, действительно вдохновляет, поэтому я думаю, что это было бы…

ДЕВОН: И последний вопрос: как вы использовали технологию не по назначению?

ЧАР: Ах, я всю жизнь неправильно использую технологии, поэтому я очень рад, что мне задали этот вопрос. Чаще всего я использую технологию не по назначению, когда пишу код шейдера, допускаю ошибку, что-то, что я не планировал, но я опираюсь на эту ошибку и создаю что-то красивое и что-то, что я люблю больше, чем я хотел бы сделать. Я всегда говорю, что если бы Боб Росс был программистом, я искренне верю, что он был бы программистом шейдеров, потому что ваши ошибки так прекрасны, и любой тип… И я действительно не сталкивался с этим ни в одном другом виде вычислений, где… Особенно в графике, в программировании графики. Ваши результаты могут быть настолько визуально привлекательными или ваши ошибки могут быть настолько визуально привлекательными и даже нести в себе юмор. Одной из причин, по которой я занялся программированием графики, было то, что глюки, о боже, они приносят мне столько радости. Персонаж, уходящий в закат, в то время как его треугольник рассыпается. Это просто вершина комедии.

Может быть, именно поэтому я не могу быть комиком, потому что я буду говорить только о графических глюках, потому что это приносит мне столько радости. Другие способы использования технологии — это попытка разгадать ее, чтобы рассказать о том, как она работает. Так, я использую электронную почту, создавая сломанный почтовый сервер, потому что хочу узнать о нем. Так что ломать что-то, чтобы узнать об этом, я считаю очень важным, а также частью игры. Я верю в огромную важность игры и обучения программированию. Есть ли еще какие-то вещи, которые я забыл? Кстати, Вы провели такое замечательное исследование. Мне очень понравилось все то исследование, которое Вы провели в отношении меня. Это просто восхитительная беседа. У меня еще никогда не было такого приятного интервью.

ДЕВОН: О, спасибо. Мне очень приятно это слышать. Легко задавать интересные вопросы, когда я разговариваю с человеком, который проделал действительно интересную работу. Так что это просто вылилось в… В основном, я просто читаю что-то, что вы написали, или смотрю что-то, и думаю: «Ну вот, теперь у меня есть куча вопросов, и я должен задать их ей». Но да, это так. Это отличные ответы на вопрос. Хорошо. Итак, это все вопросы, которые я подготовил. Большое спасибо, что пришли на передачу. Это была такая интересная беседа.

ЧАР: Да. Мне было очень весело.

Была ли эта статья полезной?
Нет 0
Просмотров: 27

Читать далее

Предыдущий: Сюзанна Чиани рассказывает о композиции своей сенсорной карьеры
Следующий: Путешествие Лоретты Стейплз через цифровые и культурные интерфейсы