Поток сознания

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

У меня нет твиттера, ибо важные мысли как-то не помещаются в 140 символов, поэтому записки оставляю здесь.

Эти записи не отражают позиции Яндекса / ЦЕРНа, никого другого, даже мои собственные могут не отражать.

Пишу на русском, потому что для себя.

Правила использования / лицензия

Нельзя цитировать, нельзя использовать в СМИ или блоге, нельзя ссылаться, нельзя переводить.

Вообще все нельзя, но читать (пока что) можно.

2018, июль

О максимальной пропускной способности

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

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

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

Внутрикорпоративные презентации, как письменный документ, увы, работают обычно в обратную сторону.

2017, июнь

Почему люди становятся все глупее (и почему дальше будет хуже)

Есть довольно простая модель, которая объясняет, почему нам кажется, что люди вокруг глупые (и почему большинству кажется, что он умнее большинства).

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

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

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

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

2017, апрель

Фокус в науке

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

Наука периодически напоминает квест, в котором ответ лежит совсем не там, где его ищут.

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

2017, февраль

О стандартах в образовании

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

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

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

Вероятно, осовремененная интерпретация состоит в том, что ещё кто-то должен быть готов за это платить.

Наиболее частые нарушения этого стандарта:

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

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

  • ученики с выученным синдромом “в школе не может быть интересно”

Любой из этих компонентов делает процесс малоосмысленным.

2016, ноябрь


Таблетка от мыслей

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

И спать они тоже мешают.


О времени в долг

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

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

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

Я вот так подумал - а что, если, берясь за задачу / задачку / занятие, спрашивать у себя разрешение на время? Ну то есть – я вот хочу разобраться с той технологией, или я хочу написать про это пост, или я хочу вот то поииследовать, и потрачу на это столько времени. Ты мне его дашь?

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

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

Кажется, с планированием времени так и стоит делать.


Наука и температура

Я воспринимаю прогресс как повышение температуры в системе. При высокой температуре вещи происходят быстрее, какие-то процессы становятся возможными.

Но главная аналогия не в этом. Если посмотреть на стакан со льдом, то в стакане есть

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

Если же засунуть в стакан кипятильник, и надолго, то все молекулы перейдут в пар. Так работает повышение температуры - оно снимает различия между различными энергетическими состояниями.

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

Результаты науки на общество влияют весьма похожим образом.

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

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

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

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

Решение проблемы часто вообще не там ищут. Наука может снимать острые вопросы весьма странным образом.

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

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

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

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

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

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

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

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

Такова задача науки для общества - поднимать температуру.


Круги ада в разработке

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

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

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

В качестве условного мерила используется “круг ада” для разработчиков.

  • bash - 1 круг ада
  • c/c++ - 1 круг ада
  • только *nix или только windows - 2 круга ада
  • ещё одна вычислительная среда (numpy / matlab / R / julia) - 2 круга ада
  • система виртуализации (docker) - 2 круга ада
  • GPU - 3 круга ада
  • распределенные вычисления в стиле map-reduce - 2 круга ада
  • распределенные вычисления на своем кластере с постоянной синхронизацией - 3 круга ада
  • распределенные вычисления на разделенных машинах - 4 круга
  • GRID на пользовательских машинах - 5 кругов
  • любые библиотеки, которые обновляются хотя бы раз в полгода - 1 круг ада

и так далее.

И если кому-то придется поддерживать потом полученного монстра - именно в том месте ада для разработчиков окажется автор софта.

Большая часть монстров умирает, и это к лучшему, но некоторые выживают.