Category: общество

Category was added automatically. Read all entries about "общество".

flow

Польза из сочетания случайностей

Живя в городах мы привыкли к сквозной нумерации домов, "улица такая-то, дом такой-то". Мы знаем, что с большой вероятностью найдём дом 6 между домами 4 и 8, при этом дом 7 будет на противоположной стороне улицы, а дом 32 где-то вдали, в том же направлении, что от 6 к 8. Это удобно.

Однако, такой подход работает только при сочетании нескольких факторов:
1. Квартальная городская застройка (а не "микрорайонная с пустырями", например).
2. Грамотность пользователя, который должен уметь читать и считать. Начиная с двадцатого века мы воспринимаем это как данность, но так было не всегда. Да и сейчас трудности с распознаванием латиницы или кириллицы могут быть, например, у туриста из Китая.
3. Традиция и практика размещения хорошо читаемых табличек с номерами домов.

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

Мне кажется, что данный пример хорошо показывает работу архитектора информационных систем - нахождение новой пользы в существующей случайной данности. Да и работу инженера/изобретателя вообще.
flow

Селфи, безопасность и децентрализация репутаций

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

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

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

Исключение ботов является задачей любого честного скоринга. С прочими посторонними людьми чуть хитрее. Чьё мнение важно для меня в какой-то ситуации? Зависит и от моих личных приоритетов, и от специфики ситуации. Это требует как персонификации скоринга под использование конкретным человеком, так и включения в систему оценок людьми других людей как экспертов в какой-либо области. Да, пока один настоящий эксперт подтверждает квалификацию другого, где-то рядом происходит классическое "За что же, не боясь греха, Кукушка хвалит Петуха? За то, что хвалит он Кукушку". Однако, такие оценки концентрируются в острова связей, и имея априорное знание о некоторых экспертах можно отличить соответствующие острова экспертов от островов "кукушек".

В любой своей цифровой активности человек может быть представлен сертификатом с открытым ключём. Для децентрализованного подтверждения такого сертификата (да, ключ "nn nn ..." принадлежит такому-то Иванову Ивану Ивановичу) существует Web of Trust. А экспертные оценки могут быть подписаны уже подтверждёнными ключами. Уже сейчас это можно делать. Но достаточно ли надёжно? Нет. Web of Trust создавалась для определённой гик-тусовки, не для массового использования. Если подписанный сертификат не только используется для сетевого общения, а хоть где-то может быть учтён как отдельный голос и повлиять на скоринг, то среда сертификатов будет наводнена ботами, подписывающими друг друга. Для избежания этого требуются дополнительные меры.

1. Акты подписи сертификатов (а также тех описаний или оценок, которые требуют личного взаимодействия) должны включать в себя совместные селфи участников. Никаких "это настоящий нигерийский принц, мы с ним друзья по переписке". Если вы утверждаете, что знаете данного человека как Джона Смита, и подписываете, что ему принадлежит определённый открытый ключ - сделайте совместное фото на свой смартфон и включите в подписываемый акт. Это требование не исключает возможность кражи закрытого ключа подписанта, но значительно усложняет его использование для подписи сертификатов армии ботов, а также облегчает обнаружение и исключение поддельных результатов из системы. Кроме того, совместные селфи это не обязательно два человека, какие-то виды утверждений могут подтверждаться селфи с тремя и более персонами.

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

3. Для исключения операций "задним числом" (а также сохранения возможности доверять подписям в старых документах, если достоверно известно, что ключ был украден и применён злоумышленниками не ранее определённой даты) можно использовать блокчейн. Здесь тоже есть своя специфика. Если консенсус базируется на proof of work или proof of stake, то организаторы премайна и (что хуже) "мошенники с электростанцией" получают серьёзные преимущества в контроле над системой и могут нарушить децентрализацию. Более устойчивым может быть вариант, опирающийся на индивидуальное доверие участников сети к неким ключевым нодам. Ведь даже в случае раскола сети вполне можно одновременно пользоваться двумя образовавшимися ветками (с разными критериями скоринга), или просто проигнорировать одну из них как ботоводческую.

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

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

Чтение и личные записи

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

1. Когда мне интересны обновления какого-либо блога, портала или канала на youtube, то всё отправляется в Inoreader. В отличие от решений, которыми пользовался ранее (тоже фид ридеры, но дополнениями к браузеру), здесь удобнее интерфейс и всё автоматически работает на сервере. Появились обновления культурно-развлекательного плана? Посмотрю через недельку под настроения. Новая и интересная статья у кого-то пишущего раз в полгода? Не пропадёт.

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

2. Я веду личные записи. До прошлого года для этого использовалась старая (более удобная) версия приложения Evernote, но на новой операционке она даже не запустилась. Об этой истории уже упоминалось в https://justy-tylor.livejournal.com/251595.html и https://justy-tylor.livejournal.com/251769.html

Размышляя о замене я вспомнил, как вёл свои самые первые заметки (ещё в девяностые). В программе Dos Navigator была фишка SmartPad, которая по шорткату открывающала текстовый файл с заметками, ставила курсор в конец и добавляла туда строчку с текущей датой и временем. И я решил попробовать, как пойдёт такой подход сейчас. Накидал небольшой плагин к Sublime Text, который по Ctrl+' отправляет курсор в конец открытого файла и добавляет туда отбивку с датой/временем, позволяя сразу выразить мысли, чувства или справочную информацию для чего-либо.

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

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

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

История повторяется

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

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

Снова изменения. Вебдваноль уходит в тень социальных сетей. Появляется вконтактик, и какое-то варьирующееся разделение. В livejournal идут лонгриды и общение по делу. На вк - фотографии, поздравления, и там вообще получается какой-то "список контактов", вместо старинной почты. А ещё там объявления о событиях, расписания танцевальных классов, расписания тренировок...

А потом ещё и facebook, потому что люди, с которыми общаешься выезжая на международные события, обычно есть там, но не в вк. И linkedin, потому что в нём обсуждение черновиков стандарта, с которым связана работа. Но в целом они запредельно неудобны, и годятся только для связи с теми, кто не представлен где-то ещё.

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

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

Про тасктрекеры

Много раз обсуждал лично и по скайпу своё видение тасктрекера, как продукта, который мне было бы интересно делать (и приятно пользоваться). В принципе, тасктрекер с открытыми настройками схем данных это основа автоматизации абсолютного большинства информационных процессов. Добавлением новых схем и небольшой бизнес-логики из него получаются CRM, ERP, PLM и многие другие системы. Причём, количество обособленных UI-представлений для них минимально, большинство сценариев работы покрываются общими механизмами таблиц и форм.

Однако, примеров подобных решений мне было известно ноль. Всё либо узконишевое, либо монолитно-хипстерское, либо кое-как настраиваемое через ады бюрократии. А недавно наткнулся на Podio (podio.com), и оно внезапно оказалось вот таким сервисом, наиболее близким к моему видению подобных систем. Причём, уже несколько лет существующим.

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

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

Про dependency graph

Тут народ спрашивает, чем реализация UI через dependency graph может быть лучше обёртывания retained mode в immediate mode (типа React) или FRP. Отвечаю: всем.

Так как граф зависимостей может включать в себя _любые_ цепочки преобразований, включая и типовую (server DB, server API, client DB, client UI). В этом его отличие от гадюшников типа MVC, MVP, MVVM или других решений, представляющих лишь частичные решения для последнего звена этой цепи.

Что характерно, команды, разрабатывающие React в FB, это тоже понимают. Прекрасной видеоиллюстрацией этого служит доклад React.js Conf 2015 - Data fetching for React applications at Facebook: https://www.youtube.com/watch?v=9sc8Pyc51uU

Один из примеров работы с зависимостями есть на 12:20 этого видео. Это лучше и надёжнее, чем распространённые на сегодняшний день решения.

Но мой интерес в этой теме идёт несколько дальше. На самом деле, в примере с queries и render можно избавиться от queries, автоматически выводя зависимости из render. И это не так дорого сделать. Но есть и другие частные случаи, где вывод и верификация зависимостей будут кстати. Более общая модель dependency graph делается сложнее. Однако, и перспектив в этом случае больше.
flow

Делает нас сильнее...?

Видео выступления с одной из конференций TEDx.

Living Beyond Limits: Amy Purdy at TEDxOrangeCoast

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

Стоит ли сила таких потерь и обретается ли она такими потерями? Не стоит, и практически никогда не обретается. Условия, когда единственным выходом кажется найти и тренировать определённые качества личности, обеспечивают мотивацию, но не гарантируют благоприятную среду, обычно даже наоборот. Эми пост-рационализирует, находит смысл для нелепой трагедии: "потеря сделала меня сильнее". Однако, она сама преодолела утрату и сопротивление среды. Сделала себя сильнее, вопреки потерям.

Но в нашей жизни ещё так много событий, которые как-бы "делают сильнее", вызывая потери и преодоления. Чего они нам стоят?

Пять лет это чуть меньше 10% срока вашей взрослой жизни (если повезёт). Пять лет ограничений в ходе болезни, пять лет учёбы в вузе или пять лет неудачных отношений - в каждом случае это почти 10% вас. Такие условия могут некоторым дать опыт, а некоторых мотивировать на преодоление, на то, чтобы стать сильнее в каких-то качествах жизни. Цена: 10% времени вашей жизни. Звучит безобидно. Можно сравнить с 10% в пространстве вашего разума. Или с 10% в пространстве вашего тела. Здесь звучание меняется. Терять активные части тела страшно всем, терять активное время жизни готовы многие. Но что действительно стоит этого?
flow

Традиции

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

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

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

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

Сложность, времена, модальности...

Навеяно http://ivan-gandhi.livejournal.com/1992504.html и http://dennisgorelik.livejournal.com/47564.html

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

doSomething(); doSomethingElse() -- сентенции находятся в общем времени и связаны отношением до/после.
a = sin(x); b = cos(x) -- сентенции находятся в общем времени, не связаны между собой отношением следования (но a и b могут быть вычислены только _после_ вычисления x).
values.map(_*3).filter(_<boundary) -- другие времена в лямбдах, но при отсутствии состояний вся сентенция воспринимается как простая и понятная труба до/после.
actors.map(_.SaveToStream(s)) -- другое время в лямбде + состояние, но мы легко можем проследить изменения состояния s в общем времени сентенции.
однако
val primes: Stream[Int] = 2 #:: Stream.from(3,2).filter( x=> !primes.takeWhile( _ <= sqrt(x) ).exists( x % _ == 0 ) ) -- дохрена сложносвязанных времён в одной строчке плюс два взаимозависимых состояния (вычисленная часть потока и takeWhile) в разных временах. А без сведения в одно время даже верификацию не провести.

Отсутствие состояний и связанных с ними проблем в функциональных языках это распространённое заблуждение. Просто там иные традиции маскировки (состояний, ... проблем? ;)

И ещё про complexity. Не всё может быть красивым, правильным и простым.
flow

Бляди, сэр

Когда-то сгущёнка была настоящая (по ГОСТу 2903, ещё советскому) и фальшивая (смесь из более дешёвых составляющих странного происхождения). Понимающие люди покупали банки только с заветным словом ГОСТ и циферками.

Сегодня смотрю - на столе банка сгущённых сливок. Надпись: ГОСТ Р ИСО 9001.

Для тех, кто не узнаёт этих цифр, ISO 9001 это стандарт на бюрократическую деятельность. Дебильный и бесполезный, разумеется, как и все 900x. Поэтому его любят впаривать предприятиям. К составу молочных продуктов отношения не имеет.

Чудесаты и непредсказуемы цепочки русского наебизнеса.