Metaprogramming
616 subscribers
103 photos
1 video
157 links
μετά- «между, после, через» (греч.)

Жизнь программиста за пределами программирования: алгоритмы, психология, инвестиции, иное.
Download Telegram
Срок годности криптографии

У современного нотариуса есть услуга "оцифровать бумажный документ" и "распечатать цифровой документ". В первом случае, после обыкновенных проверок подлинности, нотариус создаёт файл со своей электронной подписью. Во втором, сверяя электронную подпись какого-либо нотариуса, воспроизводит её содержание вместе с текстом документа на бумаге, поверх делая собственную удостоверительную надпись.

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

Но следует ли торопиться?

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

Конечно, в "большой истории" возникают казусы типа "Краледворской рукописи": в 19-м веке "за шкафом на чердаке церкви" нашли древнечешский эпос, который 70 лет пытались прописать в мировой исторический блокчейн, но в итоге свою ноду-валидатор чехам не утвердили, рукопись окончательно объявили подделкой в начале 20-го века. (Понятно, что через 100 лет весь "национальный эпос" Европы будет считаться подделкой 18-го века. А всех других стран – 19-го.)

В частных делах, однако, где нет мешающего химическому анализу политического фактора, возраст документа установить можно вполне точно. (Подобные вопросы, кстати, фоном ставятся, среди прочего, в недавнем рассказе Д.Е. Галковского.)

А как установить возраст цифрового документа?

Во-первых, где электронный документ хранить? Облака становятся платными, закрываются, сбоят. Флешки и SSD-накопители теряют заряд. HDD размагничиваются. Кассетные системы хранения дорогие, неудобные, стандарты слишком часто обновляются. Остаётся, выходит, пытаться среди казалось бы вышедших из употребления BluRay дисков выбирать хорошие бренды специальных архивных болванок и верить на слово, что заявленный срок хранения в 50 лет они выдержат?

Так 50 лет это срок небольшой. Не уберёшь в шкаф "навечно", надо раз в 30 лет доставать и перезаписывать. Желательно в том же шкафу хранить привод. А к приводу компьютер, т.к. для его подключения не будет разъёмов. А к компьютеру сисадмина нанять, который раз в 10 лет будет перезапись делать.

Во-вторых, как подтвердить подлинность цифрового документа?

Экспертизу намагниченности пластин диска проводить вероятно теоретически возможно, но достаточно бессмысленно, получается ещё более неудобная бумага. А экспертиза цифровой подписи ничего не даст. Через 50 лет текущие алгоритмы, как мы обсудили ранее, не будут считаться стойкими. Следовательно, можно будет задним числом производить подделки, неотличимые от подлинников. Следовательно, никакие старые цифровые документы не будут приниматься к рассмотрению.

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

О чём в другой раз.

#programming #philosophy
Цифровые реестры и блокчейн

Итак, примем, что цифровую подпись, сделанную по стандарту года X (например, 2020-го) всегда можно задним числом подделать в году Y (например, 2050-м). Для простоты условно вообще будем считать, что "срок годности" криптографии 10 лет.

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

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

1. Подпись от 2020 - подлинная
2. Подпись от 2030, подтверждающая предыдущую - подлинная
3. Подпись от 2040, подтверждающая предыдущую - подлинная
4. Подпись от 2050, подтверждающая предыдущую - подлинная

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

Если пропущен хотя бы один интервал, например в 2050-м году мы спохватились, что документ от 2030-го не был подписан в 2040-м, документ оказывается безвозвратно утрачен. Поскольку очередной нотариус не может проверить подпись двадцатилетней (в нашем условном описании) давности, ведь настолько старые документы уже могут оказаться подделкой из-за устаревания алгоритмов.

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

Чем длиннее цепочка, тем больше шансов что в ней будут недочёты.

Наконец, отдельная проблема возникает, если документ должен доказать не только то, что было, но и то, что ничего сверх того не было. "Вася владел квартирой всё это время и никто другой". Вася ведь может продать квартиру, но при этом сохранить свой оригинальный документ (до внесения изменений), и принести его в очередной раз на валидацию через 10 лет... Т.е. формальной проверкой верности подписей не обойтись.

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

Не трудно видеть, что ни один "электронный государственный реестр" чего бы то ни было в мире (да хотя бы денег на банковских счетах) не соответствует этому требованию.

Блокчейны, впрочем, периодически "форкаются", т.е. разветвляются. Когда какая-то из операций вызывает несогласие значительного количества участников системы, они делают свою копию реестра, исключая операцию, вызвавшую разногласия. Форки расходятся и никогда больше не объединяются вместе из-за технических особенностей технологии.

Если разделение одной "монеты" на две параллельно существующих мир переживает легко и незаметно (пользователи "голосуют деньгами и ногами" и одна стремительно падает в цене, а другая сохраняет прежнюю ценность), то как быть с внезапным удвоением права собственности, например, на квартиру, которое было в блокчейне прописано? Могут возникнуть понятные проблемы...

В общем, чернилами на бумаге (на пергаменте, выдавливанием на тонкой золотой пластине, ...) оно как-то надёжней на больших промежутках времени.

#philosophy
"Коллапс модели": появилось множество публикаций, наглядно иллюстрирующих деградацию вывода ИИ (любого сорта) при обучении на своём материале. Работает для изображений, текста, для всего. Вот вам и отличие искусственного интеллекта от естественного.
ИИ, смерть социологии и коллапс моделей

В "Истории гиперинформации" вышел пост (и следом ещё один, в явном виде артикулирующий некоторые идеи первого), посвящённый новым лингвистическим моделям (LLM) и их будущей роли эталонных социологов для высшего эшелона государственного управления.

Предполагается, что к президенту на стол придворный социолог будет класть мнение, основанное не на ряде опросов (или на результатах выборов – своеобразном "предельном опросе"), а мнение, основанное на общении с нейросеткой, которую настраивают на беседу запросами вида "представь, что ты 30-летний программист из Нью-Йорка с доходом $300000 в год". И дальше напрямую без всяких соцопросов, на основе мнения в твиттерах и фейсбуках, на которых нейросеть и обучали, выясняют нужные мнения.

В пределе и сам социолог не нужен, остаётся только диалоговое окно нейросети.

Пост перекликается с ранее высказанной мной концепцией "модельного субъекта" и идеей имманентного "гиперрасизма ИИ". Не повторяя уже сказанное, добавлю, что здесь начнёт работать ещё один фактор: деградация нейросетей при попытке обучить их на собственном контенте (забавно, что у людей этот феномен не выражен, а зачастую и вовсе не имеет места или наблюдается противоположное – самообучение ведёт к неограниченному росту качества продукта).

Нейросеть анализирует мнения в твиттере, потом пишет в него же, потом сама же повторно учится на написанном... В итоге каждая итерация будет приводить ко всё большему и большему вырождению порождаемого контента и "рекомендаций" вплоть до сведения к повторению примитивных штампов и даже буквально невнятному блеянию. Самой дорогой ценностью станет база данных текстов интернета за 2021 год, "чистые данные" :) Интересно, приведёт ли это в будущем к появлению странных артефактов, например станут ли исторически незначимые и пародийные Байден с Трампом персонажами уровня Марка Антония и Октавиана Августа :)

Несмотря на это частное замечание, оригинальная схема периодизации (нумерации) контр-культур, которую автор постепенно обрисовывает, чрезвычайно любопытная!

#neuronetworks #philosophy
Вкратце про владение английским языком в России

(По следам очередной дурацкой темы на Хабре.)

Помню лет 10 примерно назад ехал я в метро по своим делам и ко мне обратились две молодых черонокожих вероятно американки, спросив как им добраться до нужной станции. Я подтвердил путь, к которому они и собирались идти (кажется, названия станций на стене тоннеля не дублировались по-английски). Подошли они ко мне совершенно спокойно, задать вопрос "говорите ли вы по-английски?" им даже не пришло в голову. Удалились также отнюдь не рассыпаясь в благодарностях, а дежурно кивнув и коротко бросив "thanks". Я оказался первым человеком у них на пути сразу после возникшего мимолётного замешательства и попытки сопоставить схему с реальностью.

Это всё, что надо знать об уровне владения английским языком в России.
Можно ли научиться коммуникации: уточняем вопрос

Е-Нутрия (по следам тезисов из другого канала) поставил вопрос: можно ли научиться коммуникации?

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

Т.е. вопрос в том, можно ли взрослого человека научить "чему-то коммуникативному", что он не освоил в детстве?

И снова в положительном ответе сомнений нет: во взрослом возрасте вполне можно изучить, например, иностранный язык. При этом акцент, конечно, сложно выправить, но акцент это ведь не нехватка обучения, а результат переобучения (первым/основным языком).

Опять же, едва ли у кого-то есть сомнения, что классические курсы риторического мастерства (или новомодные курсы "как писать резюме и проходить собеседования") могут быть вполне результативны. А могут быть и нет, так заведомо ложной рекламы во всех сферах достаточно, вопрос ведь в другом. Т.е. письменной и устной формальной коммуникации тоже можно научиться.

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

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

Ответ положительный, приведём далее небольшую иллюстрацию.

#psychology
Скиннер кликером формировал поведение собак, а Роджерс кивками эмоции людей.

Скиннер понятно: монстр-бихевиорист. А Роджерс ведь "экзистенциальный психотерапевт". И такой прямолинейный и жёсткий приём работы, как же так?..
"Становление коммуницирующей личностью"

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

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

У Роджерса результат всё же был. Результатом было сближение "текущей Я-концепции" и "идеальной Я-концепции" клиента. Скорее для психотерапии нечто подобное должно быть хорошим побочным результатом и дополнительным аргументом, что основной процесс завершился успешно, а не главной целью. Тем не менее, не углубляясь в критику подхода (заметка не об этом, но требуется сделать длинное вступление), Рождерс что-то делал и это что-то измеримо, наблюдаемо и в целом положительно воздействовало на собеседника.

(Кстати, феномен полной деградации подходов на третьем поколении учеников хорошо известен. Объяснения даются в стиле "не всё так однозначно" и "ничего до конца не понятно", но всё это ерунда, причина понятна: нет хороших описаний. Но это снова в сторону.)

Что необходимо делать он написал прямо в одной из главных книг (изложена "научным" языком, легка в чтении), замаскировав под цитату:

Верпланк [17], Гринспун [8] и др. показали, что в отношениях между людьми возможна оперантная обусловленность вербального поведения. Говоря кратко, если экспериментатор говорит: "М-гм" или "Хорошо" – или кивает головой после определенных слов или утверждений собеседника, эти слова благодаря их подкреплению будут произноситься чаще. Было показано, что, используя такой метод, можно увеличить частоту появления таких разных категорий слов, как существительные множественного числа, недоброжелательные слова, выражение мнений. Человек совершенно не сознает, что на него воздействуют с помощью подкреплений. Это предполагает, что с помощью выборочного подкрепления можно сделать так, что другой человек будет использовать любые виды слов и делать любые заявления, которые мы решили подкрепить. (К.Роджерс, «О становлении личностью»)

Можно ли человека научить "кивать", говорить "угу" или "хорошо" не в случайных местах диалога, а систематически подкрепляя желаемое "вербальное поведение"? На самом деле, здесь надо "докрутить" бихевиористов, и сказать не "вербальное поведение", а "смыслы и эмоции, стоящие за словами". И, разумеется, подвести к ЛЮБОМУ высказыванию ЛЮБОГО человека подобными манёврами не удастся. Поскольку смыслы и чувства связаны собственными внутренними законами, которые откликаются на внешнее воздействие в той или иной собственной (иногда прямолинейной, иногда запутанной, иногда причудливой) манере.

И разумеется, подкреплять "части речи" или что-то такое – это только учёный-теоретик мог додуматься. Выбор категорий для подкрепления в данном случае это отдельный (может быть главный) вопрос.

При достаточной систематичности в тренировках и серьёзной дисциплине (это примерно как избавиться от акцента, т.к. конфликтует с первичными привычками делать всё указанное не вполне точно – где "не вполне" в исполнении приводит к радикальному различию в результатах) – да.

А результаты какие? А какие результаты от изучения иностранного языка на уровне А1, например? Да какие угодно, он позволяет сделать что угодно (во взаимодействии с другими людьми) лучше, чем без него.

Кстати, никакая психотерапия без подобного "роджерианского" формирования не работает. Собственно, не удивительно, что Роджерс подобный приём целенаправленно освоил и применял, это bare minimum при всей там "недирективности" и со всеми объяснениями-заглушками.

#psychology
Небольшое дополнение к предыдущей заметке.

В качестве эпиграфа:

Если я ничего не навязываю людям, они становятся собой – К. Роджерс

Ключевой элемент клиент-центрированной терапии – список "необходимых и достаточных" условий терапевтического изменения (на картинке). Пафос в том, что список подаётся не как специфический для роджерианского подхода, а как общий для любого подхода.

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

– Терапевт постоянно исполняет оперантное формирование высказываний клиента, подкрепляя:
* указания на собственные чувства
* высказывание мнений от первого лица
* самокомментирование вышеуказанного

Дарю современным роджерианцам королевскую дорогу к топовой квалификации внутри выбранного ими подхода (список трёх категорий не финальный, требуются уточнения) :)
Меч Септимия - от наброска к готовой карте
Возникло обсуждения дизайна игральных карт, и мне захотелось узнать мнение своих читателей :)

Какая карта из двух вышеприведённых карт вызывает (в наибольшей мере/наиболее отчётливо) частицу желания ПОДЕРЖАТЬ В РУКАХ, ПОКИДАТЬ НА СТОЛ, КУПИТЬ КОЛОДУ?
Anonymous Poll
35%
Слева (которая в простой графике)
43%
Справа (которая с Луной на фоне)
6%
Обе примерно одинаково притягательны
16%
Обе примерно одинаково отталкивающие
Спасибо всем за отзывы! На картинке справа только фон миджорневый (и то - с кандински, и очень сильно перерисован). Всё остальное я нарисовал сам - это была пробная картинка, мне надо было показать, что в принципе я умею рисовать в таком стиле. По поводу читаемости и текста на карте - работы ведутся; дизайн самих карт пока что не окончательный.
Томат – это фрукт?

Заметка будет не про биологию, а про естественный язык и систему права.

Как известно, отличие фруктов от овощей довольно условное, общепринятое употребление слов не соответствует формальным биологическим признакам. Часто говорят, что арбуз "на самом деле" является ягодой (а ягода это особый вид фрукта, т.е. съедобного плода, с тонкой кожицей и множеством семян), ну и помидор является ягодой (и фруктом) на тех же основаниях.

Повседневный язык использует иерархическую систему классификации понятий. Если попытаться на коленке формализовать обсуждаемый пример, то выйдет примерно так: к овощам относят (в порядке приоритета) нечто "не сладкое и низко растущее", потом "зелёное", и на третьем месте "не являющееся плодом". К фруктам "сладкое или высоко растущее", "цветное", "являющееся плодом". Ягода – маленький фрукт, который можно взять пальцем, а не всей ладонью, не требуется откусывать или разрезать.

Из-за подобной иерархичности критериев границы становятся не чёткими, а многочисленные исключения "подтверждают существование правил". Появляются "зелёные фрукты", "ядовитые ягоды" (ягода – по определению нечто съедобное, т.е. утверждение содержит понятный парадокс) и прочее.

В 1883 году администрация США вводит импортные пошлины на овощи, но не на фрукты. Предприниматель, импортирующий помидоры, декларирует их как фрукты.

Судьи первых инстанций в системе британского (по наследству и американского) права в спорных случаях должны следовать буквальным словарным определениям. В другом деле, в Британии, в 1964 году, некий гражданин препятствовал действиям британского офицера на базе ВВС. По закону запрещено препятствовать "в окрестности" охраняемого места. Адвокат заявил, что обвиняемый был не в окрестности, а внутри него – буквально в самой базе. Высшая инстанция пользуется правом интерпретировать в соответствии со здравым смыслом, а не книгой, наказание нарушителю не удаётся оспорить.

В деле импортёра томатов из США верховный суд использует аналогичный подход, помидоры официально становятся овощами для целей ввозных пошлин.

А кстати, что такое биткоин?

#philosophy
Государство-левиафан по Гоббсу (слева) и изображение левиафана-чудовища (справа).

Метафора государства-левиафана излагалась в моём школьном учебнике обществознания. Я это библейское чудо-юдо и представлял примерно как на картинке справа.

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

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

Например, что такое деньги? В общем смысле можно много рассуждать (в одной из предыдущих заметок и мы этим занимались). Но для системы права это просто пронумерованная бумага казначейства/ЦБ.

Например, что такое общество? В общем смысле то-то и то-то... А конкретно – совокупность людей с пронумерованной бумагой с фотографией.

Переход от естественного права к нормативному, казалось бы, даёт государству большую власть, но одновременно делает его уязвимым.

Что такое биткоин?

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

Но это ведь вторичные технологии. А за ними тот самый, первый и до сих пор активно работающий, блокчейн: Биткоин.

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

Который зарегистрирован... а нигде не зарегистрирован.

Который разработан... а никем не разработан, каким-то персонажем из ещё неснятого аниме.

Который поддерживается... всепланетным опенсорсным сообществом кибернетиков программистов.

И как-то ловко так это всё работает, от иркутских дачников до американских программистов, от крупнейших нефтянных компаний до центробанков стран-изгоев. "Само по себе".

А что работает-то, где определение "биткоина"? Биткоин – это ничего. Нет бирки на монетах, нет инвентарных номеров компьютеров, нет номеров лицензий майнеров, нет сертификатов исходного кода, ничего нет. Сами на себя люди лепить не будут – зачем, если без государства прекрасно работает?

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

Биткоин вне этого размеченного мира. Это proof of concept, кривая поделка ("первый блин комом"), служащая наглядным доказательством обоснованности некоторой идеи. Какой идеи, что осуществима финансовая система без центрального контрагента? Нет, это частности.

Страшной идеи о том, что государство не нужно.

Конечно, так как самое успешное государство на планете – это США, то идея прежде всего антиамериканская. Что США, вроде как, более не нужны :)

#philosophy
Минител – французский WWW (1982-2012). В текстовом интерфейсе, по сути являющимся интерактивным телетекстом, можно было зайти на сайты с телефонным справочником, новостями, чатами, онлайн-магазинами, расписанием транспорта и т.д. и т.п.