Permacomputing (некоторые ранние заметки) Это коллекция случайных мыслей относительно применения пермакультурных идей в компьютерном мире. Некоторые пытались соединить эти миры раньше ( статья WikiWikiWeb о пермакультуре ; недолгая идея Кента Бека о пермапрограммировании ), но они в основном концентрировались на совершенствовании методов разработки программного обеспечения с помощью некоторых идей из садоводства. Меня больше интересует аспект культурного и экологического постоянства. То есть, как дать компьютерам значимое и устойчивое место в человеческой цивилизации, которое имеет значимое и устойчивое место в планетарной биосфере. 1. Проблема За последние несколько сотен лет человеческой цивилизации резко возросло потребление искусственно произведенной энергии. В общей истории это часто приравнивается к «прогрессу». В компьютерном мире это явление умножается само по себе: «прогресс» способствует увеличению плотности хранения данных и цифровой логики, что резко увеличивает доступность вычислительных ресурсов. Тем не менее, изобилие также вызвало эквивалентный взрыв расточительности, который проявляется в таких вещах, как невероятно нелепые требования к оборудованию даже для довольно тривиальных задач. В то же время компьютеры не оправдали своих утопических ожиданий . Вместо того чтобы усиливать интеллект пользователей, они скорее усиливают свою глупость. Вместо того, чтобы позволить сократить потребности материального мира в ресурсах, они стали основной частью проблемы. Вместо того, чтобы сделать мир более понятным, они скорее добавляют его непостижимости. И им часто даже удается стать медленнее, несмотря на то, что они становятся быстрее. Как в области вычислительной техники, так и в сельском хозяйстве основной проблемой является то, что проблемы слишком часто «решаются» за счет повышения управляемости и использования ресурсов. Пермакультура идет другим путем, отстаивая методы, которые «позволяют природе делать свою работу» и, таким образом, сводят к минимуму зависимость от использования искусственной энергии. Локальность и децентрализация также являются главными темами мысли. Что делает пермакультурную философию особенно привлекательной (для меня), так это то, что она не выступает за «возвращение во времени», несмотря на то, что выступает за резкое сокращение использования искусственной энергии. Вместо этого он верит в человеческое мастерство в поиске умных хаков для превращения проблем в решения, конкуренции в сотрудничество, траты ресурсов. Очень похоже на творческое мышление, которое я ценю в компьютерном взломе. Наличие разумной жизни в экосистеме может быть оправдано ее усиливающим эффектом. В идеале люди могли бы сделать экосистемы более гибкими и более устойчивыми из-за их способности совершать прыжки, которые являются трудными или невозможными для «неразумных» природных процессов. Существование компьютеров в человеческой цивилизации может быть оправдано их способностью увеличивать этот потенциал. 2. Физические ресурсы 2.1. энергии Permaculture подчеркивает чувствительность к ресурсам. Компьютеры в основном используют электроэнергию, поэтому для них ресурсная чувствительность в первую очередь означает 1) адаптацию к изменениям энергетических условий и 2) разумное использование доступной энергии. Современные компьютеры, даже мобильные, удивительно плохи в этом. Частично это связано с их наследием в качестве «расчетных фабрик», которым постоянно гарантированы все ресурсы, которые им «нужны». Интенсивные несрочные вычисления (такие как длительные партии машинного обучения) будут иметь место только тогда, когда производится много избыточной энергии или существует потребность в преобразовании электричества в тепло. Это требует, чтобы компьютер знал о состоянии окружающей энергетической системы. В периоды пониженного энергопотребления аппаратное и программное обеспечение предпочли бы сокращаться: фоновые процессы зависали, пользовательские интерфейсы становились бы более элементарными, тактовые частоты уменьшались бы, ненужные процессоры и банки памяти отключались. В это время люди предпочитают делать что-то еще, чем взаимодействовать с компьютерами. Часто целесообразно хранить энергию для последующего использования. Маховики являются потенциальной альтернативой химическим батареям. Они имеют одинаковую плотность энергии (МДж / кг), но не требуют редкоземельных материалов и длятся десятилетиями или веками, а не годами. 2.2. кремний Изготовление IC требует большого количества энергии, высокорафинированного оборудования и ядовитых веществ. Из-за этой жертвы полученные микрочипы следует ценить как драгоценные камни или редкие экзотические специи. Их активная продолжительность жизни будет максимально увеличена, и они никогда не будут сокращены до их сырья, пока они полностью не будут использованы. Вместо запланированного устаревания, должно быть запланированное долголетие. Сломанные устройства будут отремонтированы. Если сообществу необходимо какое-то устройство, которого нет, оно должно быть предпочтительно построено из существующих компонентов, которые вышли из употребления. Чипы должны быть открытыми и гибкими, чтобы их можно было повторно использовать даже для целей, для которых они никогда не предназначались. Сложные микросхемы должны иметь достаточно избыточных и обходных механизмов, чтобы они могли работать даже после того, как некоторые из их внутренних компонентов изнашиваются. (Например, в многоядерном процессоре многие частично работающие ядра могут объединиться в одно полностью работающее ядро.) Фишки, которые работают, но практическое использование которых не может быть оправдано, могут найти художественное и другое психологически значимое применение. Они также могут храниться до тех пор, пока они не понадобятся снова (особенно, если качество изготовления и условия хранения допускают десятилетия или столетия «срока годности»). Используйте то, что доступно. Даже фишки, которые делают «злые» вещи, заслуживают внимания, если на них есть свалка. Взломайте их замки DRM, перепроектируйте их черные ящики, разрушьте их философию. Может даже оказаться возможным присвоить что-то вроде биткойн-майнинга ASIC для чего-то художественно интересного или даже полезного. Минимизированный размер элементов на кристалле позволяет выполнять больше вычислений с меньшими затратами энергии, но часто это также означает увеличение хрупкости и сокращение продолжительности жизни. Следовательно, наиболее плотные микросхемы следует в первую очередь использовать для целей, где большее количество вычислений на самом деле дает больше. (Например, в развлекательных целях широкое использование ресурсов - не более чем декадентское эстетическое предпочтение.) Альтернативы полупроводникам следует активно исследовать. Живые клетки могут заменить микрочипы в некоторых задачах когда-нибудь в будущем. Как только будут использованы совершенно чистые способы получения эквивалентов микрочипов, потребность в «фетишизме мусора», вероятно, уменьшится. 2,3. Разное При наличии яркого внешнего освещения дисплеи должны иметь возможность использовать его, а не конкурировать с ним со своей собственной подсветкой. (См .: трансфлективный ЖК-дисплей ) Персональные компьютеры предназначены в первую очередь для тех, кто посвящает себя этой технологии и поэтому проводит с ней значительное количество времени. Большинство других людей были бы совершенно довольны совместным оборудованием. Даже если бы культура и общество охватили компьютеры больше, чем что-либо еще, требовать от всех обладателей компьютеров было бы излишним. 3. Наблюдение и взаимодействие Первый пункт во многих списках пермакультурных принципов - «Наблюдай и взаимодействуй». Я интерпретирую это как прежде всего относящийся к двунаправленным и кооперативным отношениям с природными системами: вы не должны ожидать, что ваш сад будет легко управляемым сверху вниз, как армейское подразделение, но примите его причудливость и адаптируйтесь к нему. 3.1. наблюдение Наблюдение является одним из самых важных человеческих навыков, которые могут увеличить компьютеры. Вещи, которые людям трудно или невозможно наблюдать, могут быть включены в когнитивные способности человека с помощью различных вычислительных процессов. Собранную информацию можно визуализировать, подчеркнуть небольшие изменения и отклонения от схемы, ускорить медленные процессы, рассчитать прогнозы. По словам Билла Моллисона, в «Информация критического потенциала ресурсы. Это становится ресурс только тогда , когда получено и обработано .» Компьютерные системы также должны делать свои внутренние работы как можно более заметными. Если компьютер производит визуальный вывод, он будет использовать часть своих ресурсов для визуализации своего собственного интро- и экстроспекции. Например, компьютер, который связывается с радиоволнами, может визуализировать собственный взгляд на окружающий радиопейзаж. Современные ориентированные на потребителя вычислительные системы часто идут на нелепые меры, чтобы фактически не дать пользователю понять, что происходит. Даже сообщения об ошибках стали немодными; многие веб-сайты и приложения просто делают вид, что все в порядке, даже если это не так. Этот вид крайней ненаблюдаемости является основным источником технологического отчуждения среди пользователей компьютеров. Визуализации, предназначенные для случайного и пассивного наблюдения, будут приятными и спокойными, позволяя легко увидеть общую картину и заметить небольшие изменения. Использование врожденной склонности человека наблюдать за природой может быть хорошей идеей при разработке визуализаторов. Когда пользователь хочет наблюдать что-то более пристальное, однако, нет предела тому, насколько яркой, технической и «неестественной» может быть презентация, если наблюдатель предпочитает это. 3.2. Инь и Ян взлома Традиционный компьютерный взлом часто очень "ян". Полное понимание и контроль целевой системы ценится. Изменение поведения системы часто является самоцелью. Есть предопределенные цели, к которым система подталкивается. Оптимизация имеет тенденцию фокусироваться на одном измеримом параметре. Найти абсолютные пределы системы важнее, чем найти ее сильные стороны или сущность. Напротив, хакинг инь принимает аспекты, которые находятся за пределами рационального контроля и понимания. Рациональность поддерживается интуицией. Отношения с системой более двунаправлены, подчеркивая экспериментирование и наблюдение. «Личность», которая проистекает из системных особенностей, привлекает больше внимания, чем измеримые характеристики. Также все более важно понимать, когда взламывать, а когда просто наблюдать, не взламывая. Разница между хакингом инь и ян похожа на разницу между пермакультурой и индустриальным сельским хозяйством. В последнем случае часть природы (поле) вынуждена (посредством огромных инвестиций в энергию) в слишком упрощенное состояние, которое является как можно более предсказуемым и контролируемым. Permaculture, с другой стороны, подчеркивает кооперативные (наблюдающие и взаимодействующие) отношения с природной системой. Взлом Ян очень важен для вычислений. В конце концов, компьютеры основаны на понятных и детерминированных моделях, которым «вынуждены» следовать крошечные кусочки природы. Однако существует много видов систем, в которых путь инь имеет гораздо больший смысл (например, поведение нейронных сетей часто очень сложно рационально анализировать). Даже самые простые программируемые системы имеют аспект «инь», который вытекает из самой программируемости . Кроме того, доводя до минимума оптимизацию по типу ян (как в категориях демо-сцены размером менее килобайта), часто сталкиваются с ситуациями, когда путь инь - единственный путь вперед. Интеллектуальная лень может иногда приводить к вычислениям, которые слишком иньские. Примером может быть попытка использовать систему машинного обучения для решения проблемы, даже не рассматривая ее аналитически. 3.2.1. Процессы Существует много видов вычислительных процессов. Некоторые дают окончательный окончательный результат, некоторые постепенно улучшают свой результат. Некоторые дают результаты очень быстро, некоторым нужно больше времени. Вычислительный мир все еще склонен отдавать предпочтение классическим процессам в стиле мэйнфреймов, которые одноразовы и конечны. Никаких улучшений по сравнению с предыдущими результатами, просто перезапустите всю партию с нуля. Даже когда процесс натуралистический, медленный, постепенный и открытый - как во многих типах машинного обучения - компьютерные люди часто вводят его в мейнфрейм-сумасшедшую систему управления. Определенно понадобится еще какое-то отношение типа «инь». 4. Прогресс Ископаемо-промышленная история линейного прогресса заставила многих поверить, что основным драйвером компьютерных инноваций будет постоянное увеличение вычислительной мощности. Я категорически не согласен. Я на самом деле думаю, что было бы точнее утверждать, что некоторые инновации были возможны, несмотря на сдерживающий эффект быстрого роста аппаратного обеспечения (хотя это тоже не совсем точное утверждение). Пространство технологических возможностей - это не дорога или даже дерево: новые изобретения не требуют «продвижения вперед» или «ветвления на вершине», но часто могут быть сделаны даже из довольно «примитивных» элементов. Пространство поиска можно было бы лучше представить как многомерный ризоматический лабиринт: можно ожидать, что неоткрытые области можно найти где угодно, а не только на «границе». Способность быстро двигаться «вперед» по «технологическому шоссе», как правило, делает людей слепыми к разнообразию корневищ: одни и те же скучные идеи заново изобретаются с еще более высокими характеристиками, а подлинно новые идеи преуменьшаются. Линейно-прогрессивистская идея технологического устаревания может исходить из авторитарных метафор: одновременно может быть только один король. Эта идея легко приводит к обнищавшему и монокультурному взгляду на технологии, в котором одновременно можно найти лишь несколько идей. Вместо технологического «прогресса» (что подразумевает постоянный отказ от старого), мы должны рассмотреть возможность расширения разнообразия и обилия идей. Различные виды технологий должны рассматриваться как поддерживающие друг друга, а не конкурирующие друг с другом за доминирование. В природе все взаимозависимы, и эти взаимозависимости имеют тенденцию укреплять целое. В технологии, однако, большие сети зависимостей и «разнообразие вариантов» часто делают систему более хрупкой. Поэтому цивилизация должна попытаться найти способы заставить технологические зависимости работать больше, чем в природе, а также способы плодотворного использования технологического разнообразия. 5. Программирование Программируемость - это ядро ​​вычислений и сущность компьютерной грамотности. Поэтому пользователи не должны быть намеренно удалены от него. Вместо этого компьютерные системы и культура пользователей должны сделать программирование как можно более актуальным, полезным и доступным. Любое сообщество, которое использует компьютеры, будет иметь возможность создавать свое собственное программное обеспечение. Локальное программное обеспечение будет отвечать местным потребностям лучше, чем универсальные решения «один размер подходит всем». Вместо огромных сложных «движков», которые можно перенастроить для различных требований, будут существовать наборы строительных блоков, которые можно использовать для создания программ, обладающих только теми функциями, которые необходимы для выполнения их заданных целей. Большинство современных методов и инструментов разработки программного обеспечения были изобретены для «мира законов Мура», где накопление, универсальность и продуктивность важнее, чем простота и чувствительность к ресурсам. Новые методы и инструменты будут необходимы для будущего мира, который больше не будет одобрять расточительное использование ресурсов. Оптимизация / рефакторинг жизненно важна и должна происходить на всех уровнях абстракции, как создателями кода, так и людьми. В идеале можно было бы изобретать и применять эзотерические приемы, не подвергая опасности ясность или правильность основного кода (например, путем отделения определения проблемы от деталей реализации). Возможно, было бы целесообразно поддерживать базы данных для решения проблем, приемов оптимизации / рефакторинга и правил сокращения и разрабатывать способы (полу) автоматического их поиска и применения. 6. Программное обеспечение Существует много видов программного обеспечения, и очень немногие принципы применимы ко всем из них. Некоторые программы похожи на портативные инструменты, некоторые программы похожи на интеллектуальные решения проблем, некоторые программы похожи на механизмы в движке, а некоторые программы не похожи ни на одну из них. 6.1. Тупые программы Программа, которая должна быть похожа на инструмент, должна быть понятной, предсказуемой и громоздкой. Это должно быть достаточно просто, чтобы опытный пользователь мог дать однозначное и полное описание на естественном языке того, что он делает (и как). В идеале, фактическая исполняемая программа не должна быть больше, чем это описание. Идеальную силу можно сравнить с таковой у музыкального инструмента. Пользователь разработал бы на уровне мышечной памяти функции программы, которые заставили бы программу работать как расширение тела пользователя (независимо от типа оборудования ввода). Там будет очень мало препятствий между воображением и выражением. Абсолютное количество функций не так важно, как гибкость их объединения. В идеале эта гибкость намного превысила бы намерения первоначального автора программы. 6.2. Умные программы В дополнение к тому, что обычно называют искусственным интеллектом, требуется интеллектуальность в таких задачах, как сжатие видео и компиляция программного обеспечения. Любой / кто-либо, кто намеревается выполнить эти задачи идеально, должен знать множество различных приемов и приемов, некоторые из которых могут быть трудны для обнаружения или очень специфичны для определенных условий. Это всегда хороший бонус, если умная программа понятна и / или использует минимальные ресурсы , но эти атрибуты ни в коем случае не являются приоритетом. Результаты являются наиболее важными. Один из способов оправдать большое потребление ресурсов интеллектуальной программы - оценить, сколько ресурсов экономит ее интеллектуальность в другом месте. Наибольшие сбережения можно ожидать в таких областях, как планирование ресурсов и экосистем, поэтому здесь можно оправдать довольно большой искусственный мозг. Мозги, задачей которых является оптимизация / рефакторинг больших мозгов, также могут быть большими. Разумно расширяя «глупую» программу, похожую на инструмент, она никогда не должна уменьшать понятность и громоздкость основного инструмента. Также должно быть возможно отключить умность в любое время. 6.2.1. Искуственный интеллект Искусственный интеллект не следует рассматривать как человека, конкурирующего с людьми. Их самая большая ценность в том, что они отличаются от человеческого разума и, таким образом, способны расширять интеллектуальное разнообразие мира. ИИ могут быть в состоянии предложить идеи, проекты и решения, которые очень трудно постичь человеческому уму. Они могут также уменьшить человеческое бремя в некоторых интеллектуальных задачах, особенно тех, которые не особенно подходят для людей. Поскольку в настоящее время мы находимся в центре глобального экологического кризиса, который нуждается в быстром и полном пересмотре цивилизации, мы должны как можно больше сотрудничать с технологией искусственного интеллекта. ИИ также может быть важен как искусственное иное. Чтобы избежать своего рода «антропологической сингулярности», в которой весь смысл создается человеческим разумом, мы должны научиться принимать любую нечеловеческую инаковость, которую мы можем найти. Дикая природа является традиционным источником инаковости, и контакт с инопланетными формами жизни обеспечил бы другое. Взаимодействие с искусственным интеллектом поможет людям обогатить свои отношения с инаковостью в целом. 6.3. автоматизация Permaculture хочет разработать системы, в которых природа выполняет большую часть работы, а люди в основном занимаются такими вещами, как техническое обслуживание, проектирование и строительство. Поэтому хорошее место для компьютеризированной автоматизации будет где-то между естественными процессами и человеческим трудом. Простая лень не оправдывает автоматизацию: современные домашние хозяйства полны устройств, которые экономят относительно мало времени, но тратят много энергии. Автоматизация наилучшим образом справляется с непрерывными и повторяющимися задачами, которые требуют большого количества времени и / или усилий от людей, но лишь незначительного количества ресурсов от программируемого устройства. 6.4. Обслуживание Многие программы требуют длительного обслуживания из-за меняющихся требований и условий. Это область, где садоводство может быть полезным. Основным отличием является то, что программное обеспечение гораздо проще (заново) создать с нуля, чем в саду. Большинство изменений в программе имеют тенденцию увеличиваться в размере / сложности. Этот эффект должен быть сбалансирован с рефакторингом (что уменьшает размер / сложность). Необходимость в рефакторинге часто игнорируется в современном мире «Мурен», где распространение программного обеспечения оправдывается постоянными обновлениями оборудования. В идеальном мире, однако, постоянное обслуживание программы, скорее всего, сделает ее меньше и быстрее, чем раздувает ее. Программы, функциональность которых не изменяется, не должны требовать обслуживания, кроме сохранения. Чтобы устранить «гниение платформы», которое мешало бы работе старого программного обеспечения, были бы платформы совместимости, которые однозначно определены, полностью статичны (заморожены) и легко эмулируются / виртуализируются. 7. Культура 7.1. Отношения с технологиями Любое сообщество, которое использует технологию, должно развивать с ней глубокие отношения . Вместо того, чтобы создавать для конкретных приложений, технологии будет позволено свободно подключаться и укореняться во всех сферах человеческой и нечеловеческой жизни. Ничто не является «просто инструментом» или «просто игрушкой», никто не является «просто пользователем». Там будет локальное понимание каждого аспекта технологии. Не только практическое использование, обслуживание и производство, но также культурный, художественный, экологический, философский и исторический аспекты. Каждое местное сообщество сделает эту технологию актуальной на местном уровне . Каждая технология будет иметь одну или несколько «сцен», где поддерживаются и развиваются соответствующие навыки и традиции. Практикуется фокусная практика, создаются культурные артефакты, пробуждается и направляется энтузиазм, создаются изобретения. «Сцены» не заменят формальные институты или утилитарные практики, а скорее обеспечат рост для их поддержки. Ни одна технология не должна создаваться для определенного демографического сегмента или определенного типа людей. «Сцены» должны охватывать и активно расширять разнообразие своих участников. Теоретическое и практическое понимание одинаково важны и поддерживают друг друга. Даже самый глубокий академический теоретик иногда пачкал руки, чтобы укрепить свою теорию, и даже самый прагматичный тинкер мог углубить свою практику с некоторой теоретической мудростью. 7.2. телекоммуникация Самым простым способом передачи информации между двумя компьютерами всегда должен быть тот, который потребляет наименьшее количество энергии и не требует слишком много времени. Допустимое время будет зависеть от контекста: в некоторых случаях, секунда будет слишком много, в то время как в некоторых других, даже несколько дней будет хорошо. Если компьютеры находятся в одной и той же физической зоне, предпочтительнее использовать прямые одноранговые ссылки. Когда существует несколько одновременных получателей для одних и тех же данных, предпочтительны широковещательные протоколы. Для передач с высокой скоростью передачи битов (например, потоковое видео) совместное вещание также будет поощряться в культурном отношении: лучше присоединиться к общему каналу вещания, чем запрашивать отдельную порцию файла. У коммуникационных платформ общего назначения не было бы развлечений в качестве приоритета дизайна. Обмен сообщениями и информацией будет медленным и созерцательным, а не быстрым и реактивным. В публичном обсуждении наиболее уважаемыми и заметными будут наиболее продуманные и основанные на фактах взгляды. Сети связи вполне могут быть глобальными, а протоколы - стандартизированными, но отдельные сайты (платформы, форумы, интерфейсы, BBS) будут в основном локальными. Глобальные проприетарные сервисы социальных сетей нежелательны, поскольку они обеспечивают одинаковую монокультуру «один размер для всех» повсюду. Все наиболее необходимые информационные ресурсы будут доступны на коротких или умеренных расстояниях. Большинство пользователей даже не заметят временную потерю межконтинентального сетевого соединения. Должно быть легко сохранить что-либо из сети в локальные файлы. «Потоковое» или другое DRM-заблокированное медиа не существовало бы. Люди будут знать, где физически расположены их данные, и предпочитают иметь локальные копии всего, что они считают важным. Любой компьютер должен использоваться без подключения к сети. 7.3. Аудиовизуальные медиа Многие люди предпочитают использовать свои аудиовизуальные носители с максимально высокими разрешениями и скоростями передачи данных (таким образом, потребляя как можно больше энергии). Это, конечно, крайне неустойчивое предпочтение. Существует бесчисленное множество способов, большинство из которых до сих пор не обнаружено, для того, чтобы сложность данных с низким и средним значением выглядела хорошо - иногда достаточно хорошо, чтобы увеличение разрешения больше не улучшало их. Даже артефакты сжатия могут выглядеть настолько приятными, что люди на самом деле предпочитают их иметь. Для крайнего реализма, совершенства, детализации и резкости люди предпочитают смотреть на природу. 7.4. Commons Общества должны поддерживать разработку программного обеспечения, оборудования и других технологий так же, как они поддерживают научные исследования и образование. Результаты публичных усилий будут в свободном доступе, свободно доступны и могут быть изменены. Черные ящики, блокировки, чрезмерное производство и многие другие мерзости будут маргинализированы.