Аудиоверсия
Видеоверсия
Почему люди заучивают нажатия кнопок, не понимая логики программы, водители едут по навигатору в реку, а студенты сыплются на дополнительном вопросе к зазубренному диплому. Голуби Скиннера, карго-культ Меланезии и Фейнман, двери Нормана, дырявые абстракции на примере видеокарты — и пять шагов, как перестать быть попугаем.
Содержание выпуска — 31 глав
- 0:00Приветствие и введение в тему
- 1:33Суть попугайского метода
- 3:03Нулевая стадия: метод научного тыка
- 5:53Техножрецы и карго-культ
- 6:52Попугайский метод и страх ошибки
- 8:23Инцидент на экзамене
- 17:10Природа суеверий
- 21:22Психология интерфейсов и «лишние» кнопки
- 23:28Проблемы с Windows и проекторами
- 26:41Режим докладчика и расширенный экран
- 28:29Зубрилы против понимающих
- 33:15Карго-культ
- 42:32Критика научного подхода
- 1:26:10Многослойность систем
- 1:27:06Видеокарта и уровни абстракции
- 1:31:12Жизнь «попугая» и проблема интерфейсов
- 1:34:13Принцип дырявых абстракций
- 1:36:43Свобода и созидание
- 1:39:28От брутфорса к эхолоту
- 1:41:10Объяснение звуков
- 1:41:23Научный тык как инструмент разведки
- 1:48:15Как тренировать работу со слоями абстракции
- 1:51:51Граница между пользователем и администратором
- 1:53:39Проблема слоев абстракции
- 1:55:26Тренировка восприятия и универсальный язык
- 1:58:12Код и единицы измерения
- 1:59:00Содержание и музыкальная программа
- 1:59:34Визуальные данные и наследие
- 2:00:18Идеальная лестница абстракции
- 2:02:51Пять шагов, как перестать быть попугаем
- 2:08:10Изучайте правила игры
0:00 Приветствие и введение в тему
Привет, друзья! Сегодня 5 октября 26 года. Поздравляю всех учителей с Днём учителя, коллеги! Желаю вам мирного неба, адекватных учеников, хороших зарплат и вообще удачи и в новом учебном году, и вообще в целом всегда. Этот ролик я записываю со второго раза по новой доброй традиции, видимо уже, потому что, когда я переслушивал то, что было сказано, я подумал, что сказал не всё. Я его немного дополнил, и теперь это будет режиссёрская версия, более расширенная. Она будет длиннее почти в два раза, но я подумал, что так будет лучше. На случай, если кто-то вообще не понимает того, о чём я буду говорить, я решил сделать максимально подробно.
Как думаете, что общего у туристов, застрявших на кроссовере где-то посреди итальянской деревушки, у туземцев Тихоокеанских островов и бухгалтера, у которого обновился Word? Все они — жертвы того, что называется попугайский метод или карго-культ. Сегодня как раз об этом и поговорим.
1:33 Суть попугайского метода
Вот представьте себе попугая. Он может заучить слова, он может их повторить и произнести с правильной тонацией, с правильным произношением. В некоторых случаях он даже произнесёт это в нужной ситуации. Но как только обстановка поменяется, это превращается в фразу, сказанную не к месту. Почему? Потому что он не понимает, что он говорит и когда нужно это сказать. Заученная фраза — это просто заученная фраза. У неё нет контекста, а у попугая нет понимания, что эта фраза вообще означает.
Вот так же эти тетеньки: они нажимают эти кнопочки: «выбери здесь, нажми второй пункт, выбери из списка то-то», прямо дословно, в кавычках: «выбери там расширить экран, дублировать. Нажми еще раз, нажми окей, дождись, пока обновится, и проверь, что на доске появилось». И да, это работает ровно до тех пор, пока что-нибудь не произойдет. То же самое со студентами. Если у них нет готового решения в шпаргалке, они не знают, что сказать, потому что они не учили, они не понимают саму тему, у них нет готового ответа. Поэтому я всегда призываю готовиться к докладу, диплому и так далее, не записывая себе готовую речь. Об этом еще поговорим.
3:03 Нулевая стадия: метод научного тыка
Итак, с чего же всё начинается? Я называю это нулевой стадией попугая. То есть представьте себе метод научного тыка, который мы употребляем в ироническом значении: вот так, во все стороны нажимая на все кнопки. Представим себе человека, который зашел в незнакомое помещение с выключенным светом. Он не знает, где у него выключатель, и он начинает его искать. Он обшаривает руками стену. Он не знает, где выключатель, но в какой-то момент времени — хоп! Выключатель найден, свет включился, ура!
То же самое происходит с интерфейсом. Мы попадаем в незнакомую программу, видим там все эти наборы кнопочек, иконок, всяких словечек, менюшек и так далее, и начинаем перебирать и тыкать кнопки. Понятно, что кто же будет читать мануал, верно? Никто же не будет. Поэтому начинаем перебирать кнопочки, начинаем тыкаться: правые клики, менюшки и так далее. В какой-то момент времени пользователь приходит к тому, что у него получилось. Шрифт стал жирным, например. Вот его надо было сделать жирным. Он нашёл эту кнопочку с буквой B. Нет, даже еще лучше: он нашёл где-нибудь вкладку «Формат» — «Шрифт» и там нашёл кнопочку «Жирный» в выпадающем списке и нажал «Окей». Он запомнит эту штуку. То есть он привыкнет так делать. Это случилось.
То же самое с этой тетенькой, которая выводит себе на проектор что-то. У неё есть последовательность кнопок, которые приводят к ожидаемому результату. И вот тут происходит эта самая дичь. Человек становится попугаем, потому что этот кривой, обходной, непонятный способ не оптимальный, он идиотский, он медленный, и вообще для него уже есть куча горячих клавиш, альтернативных быстрых способов: готовая иконочка, специальные кнопки на клавиатуре для переключения. Вот, например, на ThinkPad’ах, моих любимых Lenovo, есть кнопочка переключения режима проекции. Но нет. Пользователь все эти способы никогда не узнает, он запомнит один, вот этот свой попугайский способ, у него навсегда в башке это отпечатается. Он не знает, что именно сработало, он не понимает, по какому принципу это произошло. Он запомнил весь алгоритм и будет повторять его раз за разом, для него это уже ритуал.
5:53 Техножрецы и карго-культ
И техножрецы из Warhammer 40,000 не дадут соврать. Они не понимают, как работает то, что они делают. Они же не знают, как заставить дредноута ожить или обслужить лазган. У них есть ритуал обслуживания, в который зашита последовательность действий. Они не знают, что они делают. Они понимают, как устроен лазган, даже этот примитивный, хотя у них есть СШК.
«Почитай свой лазган, послушник молодой, ведь от каждого смиренья храня. Узел контактов, узел контакта от скверны протри. Корпус погладь, где двуглавый орёл». Проверь, чтоб приклад безупречность от мин он не подвёл. Славь амнизию, что ждёт впереди. Ствол осмотри, где резьба залегла. Счесть с пламя гасителя копоть дотла. Священным елеем умачив, сквозь линзы смотреть.
6:52 Попугайский метод и страх ошибки
Знания утрачены, но они запомнили. И вот этот попугайский метод, ритуализированный, позволяет им воспроизводить нужную последовательность действий. Хотя, может быть, уже есть более простой, оптимизированный, более правильный способ. Но тот самый попугайский метод уже сохранён в памяти. Вот так рождается попугай, и он будет годами использовать один и тот же алгоритм, даже не оптимальный, даже кривой, но приводящий к нужному результату.
И знаете, я в своих лекциях иногда позволяю себе фразу, что пользователь очень тупой, и админ должен думать за него. Это на самом деле не совсем правда, я прошу прощения у всех пользователей. Правильнее было бы сказать, что «пользователь не глупый». Пользователь боится. Он боится сделать шаг в сторону от этого своего попугайского маршрута, потому что это ему грозит тем, что он вернётся в эту тягостную комнату свою. Он будет искать, опять выключать, будет искателем маршрута. И он знает, что в процессе своего поиска маршрута он может наломать дров, он может нажать не ту кнопку, и у него всё сломается ещё сильнее, чем он уже сломал, потому что админ ему ударит по башке. И пользователь лучше переспросит ещё раз. И это хорошо, потому что пользователи могут наворотить дел.
8:23 Инцидент на экзамене
Например, расскажу им сразу историю, пока не забыл. На одном из экзаменов по английскому языку, где говорение, мы установили класс компьютеров-ноутбуков с микрофонами и всё дела. Четыре технических специалиста, у нас есть чек-лист. По чек-листу, в том числе, должна быть проверка следующая, то есть для каждой аудитории каждый компьютер должен быть проверен: что первое, у него выключен режим ожидания, то есть он не погаснет, если ребёнок долго мышкой не пользуется, чтобы экран не гас; второе, у него должен быть режим повышенной производительности, то есть без всякого энергосбережения, чтобы максимум мощности отдавал. Третье, чтобы он был подключен к блоку питания. Сам блок питания при этом должен быть включен в пилот. Пилот должен быть подключён к розетке. Розетка должна быть включена, то есть должен быть отключен автомат. Проверить обязательно на пилоте горящую лампочку, что пилот работает. Горящую, если есть, лампу на блоке питания, и самое главное, что в трее внизу справа у компа обязательно значок работает сети, то есть что на все четыре часа или сколько там, всё происходит, что питания хватит.
4 технических специалиста, 4 крыла друг за другом ходят и проверяют, что всё в порядке, все компы проверены. Проходит полтора часа после старта, сидим, попиваем чай в штабе, никто не трогает, приходит в панике, с небольшим волосом, сбегает дежурный по этажу и говорит: «Полундра! В аудитории комп у девочки погас. Прямо посреди ответа. Она записывала, а у неё комп погас. И пока разбирались, что происходит, погас ещё один».
Вау! Вот это ЧП. Потому что это сразу куча разных всяких дел надо произвести. Может быть, ребёнку надо дать новый комп — это же должны быть беки. Это ЧП. Это должна быть куча всего. Бегаем все вчетвером, потому что вроде как не заняты. Бежим вчетвером. Ну и я так типа просто первый добежал, захожу. Комп погас. Девочка в шоке. У неё глаза на мокром месте, лицо красное. У неё ответ наполовину оборвался. То есть она говорила, а у неё всё погасло. Рядом погас дредлык. Там тоже ребенок на нервах, но там так повезло, что ребенок еще не успел начать. То есть он там ввел данные и ещё не успел начать. Это как бы хорошо, то есть там дел меньше. Но вот эта девочка, она сидит, у неё все же, у неё нервы.
Прошло полтора часа где-то примерно, час около того. То есть она уже не первая, до этого все было в порядке. Смотрю, нажимаю кнопку включения. Комп не отвечает. Смотрю дальше по проводу. На проводе не горит, на блоке питания не горят лампочки. Смотрю дальше. Может, отключен? Может, отошёл? Нет. Выключен пилот. То есть на нём не горит. Я не вижу, что он сразу выключен. Смотрю, а лампа не горела. Подхожу, смотрю — выключена. Я так, типа, занеженно думаю: какая тварь не проверила? В первую очередь я. Потому что с других технических специалистов, с чего бы я мог бы спрашивать? Я спрашиваю себя хотя бы: ты почему не проверил? Как ты это допустил? У тебя чек-лист. И ты всё проверил по чек-листу. Ты не бейжен. Как мне было ошибиться?
Спрашиваю у всех. Не проверили? Мы проверили. Ладно. Спрашиваю дежурных по аудитории: «Ты случайно не в курсе, что произошло с пюзетом?» Она такая: «Да. Я его выключила».
«Когда?»
«Ну, типа в начале где-то там. Я, говорит, когда запустила первых…»
«Час назад».
«Я говорю: когда я запустил первый поток детей, они сели и стали отвечать. Я хожу между рядами по кругу, за ними слежу. И смотрю — на пилоте красная лампочка горит».
А я-то знаю, у меня дом пилот тоже стоит. И он, когда красный, это значит, что что-то не так. Мне муж так сказал. А вот когда зелененькое, значит, всё в порядке. Ну я смотрю — лампочка красненькая горит. Значит, что-то пошло не так? «Я его и выключила. Всё равно же это ноутбук. Он же на батарейках».
Я стою. У меня покер фейс. И мне вроде как бы сейчас надо что-то сказать. Мне бы сейчас, ну не знаю… У меня, естественно, там где-то снизу, сзади реактивная тяга просто. Я стою и думаю: ну вот, а что я ей сейчас буду объяснять? Это же экзамен. То есть сейчас надо ликвидировать последствия. Что-то ей объяснять — это бесполезно. Зачем? Всё, что я могу сейчас сделать, — просто включить обратно. Написать вот эту вот всю акты, вот эту хрень. Сейчас мы, девочки, перезапустим, там сейчас члены ГЭК придут и будем решать, что мы ей сделаем, там мы ей будем… Как-то по протоколу правильно, по инструкции, что раз ребёнок уже начал, мы можем её аннулировать, вот эти результаты, начать заново как-то новым вариантом и типа того. Вот это всё. Менять станцию, может быть, не придется, если это сбой по электричеству, но станция в порядке, бла-бла-бла.
Что я могу сейчас сказать, тетеньки? Я просто такой подошёл и посмотрел на второй пилот. И там тоже уже выключено. Я его успел включить просто потому, что, ну вот, сейчас он будет тоже разрядиться. Просто чудом там батарейка чуть дольше держала. Потом, когда уже всё кончилось… Сейчас мы включили, всё, девочку посадили, успокоили кое-как, всё нормально, вроде как она делает дальше. И вроде всё в целом неплохо. Я тетеньке этой дежурной говорю: «Тёть, пилоты включены? Ничего не трогай».
Пожалуйста, как в том анекдоте про собак и Чукчу, что собак двух отправили в космос, но их надо было кормить, и Чукчу отправили вместе с ними. И вот центр управления связывается: «Стрелка! Гав! Нажми красную кнопку». Гав-гав! Нажимает носом. «Белка, гав, нажми зелёную кнопку». Гав-гав, тыкает носом кнопку там. «Чукча! Гав!» — «Че гав?» — «Покорми собаку и ничего не трогай!» Вот это шутка. И вот то же самое я этой тетеньке говорю: «Тёть, ничего не трогай, мы всё включили, просто если в чём-то сомневаешься — лучше нас позови, не надо самодеятельности больше».
И это ужасно. У меня так взорвалось. Но я понимаю, что мне бесполезно ей объяснять. Потому что ей муж сказал, что красненькая лампочка — это плохо. Ну да, на пилотах, которые здесь пилоты… У них, если не той стороной повернуть вилку, то есть там заземление неправильно подходит к вилке евророзетки, она может быть иногда на некоторых моделях жёлтым и иногда красным. И вот, видимо, муж ей сказал, что зелёное — это нормально, всё включено, а если ты подключаешь там красненькое, то надо перевернуть вилку. Ну или типа может быть, он не договорил про вилку, что что-то не так. Взяла и выключила. А у нас там не пилот лежал, а там лежал этот удлинитель с этой, в предохранителе фирмы Kum. У них просто красный светодиод. Он сигналит просто, что он работает. Ну, просто светится красным. А для неё это другое. И вот объясняй, не объясняй. У неё уже есть вот этот заученный навсегда алгоритм понимания, что красненькое — это плохо.
17:10 Природа суеверий
И вообще откуда, давайте так, откуда мы вообще, от человечества, считаем, что «красненько» — это плохо? Вот вам, для размышления: почему у нас светофоры — красное это плохо, а почему жёлтая эта серединка, а зелёное — это хорошо? Потому что зелёный — это травка, это хорошо, а красненькая — это у нас кровь, кровь — это плохо, опасно, приводит к смерти. Вот почему, и как бы то, интуитивно понятно должно быть всем на вот так и здесь. И вот этот самый несчастный попугай так и живёт всю жизнь, вот настолько.
И это поведение вообще-то присуще не только человеку. И оно настолько древнее, и оно настолько реальное в наших существах, что это вообще реально даже в лаборатории оценить. В 1948 году был такой психолог американский Б. Ф. Скиннер, он провёл опыт на голубях, и это потрясающе. Посадили голубей в клетку и через равные единицы времени им давали корм. Ну, он типа высыпался автоматически. Никакой связи ни с чем, только по времени. И через некоторое время оказалось, что у голубя появились ритуалы. То есть они стали как бы суеверными, что ли, я не знаю. В общем, один начал круги против часовой стрелки наворачивать внутри, а другой утыкался там в какой-то один угол всё время головой. И третий головой всё время ритмично подбрасывал, как будто головой вверх и так далее. Каждый повторял через какое-то время то, что он делал в тот момент, когда высыпался корм. Думая, видимо, ожидая, что именно это действие приводит к появлению корма. И так, в общем-то, статья в итоге его и называла. Как он так её назвал? «Суеверие у голубей». Очень рекомендую почитать. И удивительный опыт совершенно.
Мы-то, конечно, над этим угораем сейчас, да, может быть. Но вообще-то мы с вами делаем ровно то же самое. Вот эти все люди, которые нажимают по несколько раз кнопку лифта, чтобы он побыстрее приехал. Или кнопку закрывания двери. Нажимаем или держим, или нажимаем несколько раз, чтобы двери поскорее закрылись. Не знаю… Чем сильнее нажимаешь кнопку на геймпаде, тем сильнее удар в Mortal Kombat. Правда ведь? Это мы все знаем. Ну то есть, да? И лифт от дополнительного нажатия быстрее не поедет. Кнопка не фиксирует степень нажатия. Но, камон!
Или вот, например, есть всегда… В бухгалтерии всегда, всегда есть один вот этот бухгалтерский шаман. Вот одна тетенька, которая шарит. У неё есть ритуал. Она знает, что делать, если принтер перестал печатать. Ну, что надо сделать? Надо вытащить бумагу, открыть крышку, нажать «отмену», подождать, включить-выключить, закрыть крышку, положить бумажку, и вот тогда заработает. Почему это так? Кто так делает? С какого момента она решила, что именно такая последовательность важна? Но это однажды сработало. И даже больше скажу, это чаще всего срабатывает. Потому что, ну, типа, ты просто поровнее положил бумагу, потому что, как бы, ты этот ритуал повторяешь с таким особым тщанием. И ты бумагу поровнее положил, и аккуратно всё вот это вот там, эти держалки вот эти сдвинул, да? И всё такое. И вот у тебя уже как бы всё лежит ровнее. Значит, бумага зажмётся с меньшей вероятностью. И так продолжалось несколько раз. И ты уже как бы молодец, потому что ты в следующий раз положишь правильно и подкрепишь свой вот этот ритуал дополнительно. И это каждый раз. Все эти тётки могут этого не знать, но одна какая-то могла, и вот она уже местный такой типа шаман.
В 2004 году в Нью-Йорке вот эти газеты New York Times расследование провела. У них есть там в городе много-много вот этих светофоров с кнопками, и они исследовали три тысячи с чем-то… Три с половиной тысячи, условно, там кнопок, из них две с половиной тысячи примерно вообще никак не реагируют, они ничего не делают, они загораются красненьким, и ничего не происходит, они никак не связаны с системой светофора вообще. Люди приходят и ждут. Им от этого становится лучше. Другие люди подходят, видят, что уже нажато, то есть что уже красненькая кнопочка есть, и вот всё, молодцы. И им от этого легче, лучше они себя чувствуют, что у них ситуация под контролем.
21:22 Психология интерфейсов и «лишние» кнопки
Ли в Твиттере, то ли как всегда где-то такой приколюха, что заказчик попросил встроить в какое-то там приложение кнопку сохранения. Она ничего не делает, её добавили, потому что система устроена так, что она каждое действие сама сохраняет. Ей не надо ничего сохранять дополнительно, кнопочку нажимать не нужно. Заказчик попросил ставить кнопочку, потому что пользователям так легче живётся, потому что они чувствуют себя лучше, если прожали кнопку сохранения.
Или вот этот мемасик типа «сохранить и выйти». Сохраните, потом сохраните и выйдите. Вот это мем. Это мой вариант. Я всегда сначала сохраняю, а потом выхожу с сохранением. Я не могу по-другому, мне так неспокойно.
23:28 Проблемы с Windows и проекторами
Или снова моё любимое — Windows Play. Эти проекторы несчастные. Годами, то есть реально почти два десятилетия, у нас были компы на винде, и комбинация клавиш всегда была одна и та же: Windows + P для вот этой панельки сбоку, чтобы выбрать. Причём нужно нажимать P несколько раз, и там перещёлкивается эта штука. Либо стрелочкой, либо мышкой можно — и так, и так, как угодно.
А потом появилась чумось, которая стала выглядеть по-другому, и там эта комбинация не работала или работала не всегда. И всё. У тётенек сломался алгоритм, они вообще не понимают. Для них все эти конспекты, которые я им записывал годами, повторяя по много раз, уже не работают. И всё!
Но ведь стоит же понять простейшую мысль, что у компа может быть один экран, к нему можно подсоединить проектор, и он работает так же, как второй экран. И это, кстати, тоже отдельная большая беда, потому что у тётенек проектор и панель, на которую он светит, — это одно и то же. То есть они привыкли к понятию монитора, телевизора, и когда им говоришь, что… Тёть, я в какой-то момент перестал уже это делать, но раньше по глупости я пытался объяснять: «Тёть, смотри, вот этот кабель идёт к проектору. Он даёт изображение. Он показывает. А вот этот кабель идёт к доске. Он даёт тебе возможность рисовать на доске!» То есть это тот кабель, который считывает touch на панели. Он даёт тебе возможность на них рисовать. Они разные!
И это постоянно тоже было. Мне говорят: «Юра, не работает проектор, я не могу рисовать». Я сначала прибегал, не понимая, что там происходит, а потом понял, что есть разница между «проектор не даёт рисовать» и «проектор мне показывает». Я им говорю всегда, потом стал уточнять: «У вас изображение есть?» — «Да». Я говорю: «И не рисует?» — «Да». И это две разные категории одного проектора. Причём одна из них к проектору на самом деле отношения не имеет.
Я понимаю, что у неё HDMI кабель вставлен, а USB-шные они бывают… Просто у нас в школе были двух типов: серенькие такие, невзрачные, и такие с оплеточкой серебряненькой прикольной. И вот я говорю: «Тёть, проверь, у тебя чёрный кабель слева вставлен? HDMI?» — «Да». — «Справа серый кабель вставлен?» — «Ой, нет, валяется». Говорю: «Вставляй». — «Работает!»
Это не проектор рисует. Проектор работает, но для неё это не отличить. Что проектор, что доска — это всё единое целое. И только я должен понимать, потому что пользователю не нужно это понимать. А я как админ должен это понимать, поэтому мне нужно объяснять пользователям.
26:41 Режим докладчика и расширенный экран
И вот получается, что может быть два экрана, три экрана. То есть это может быть один экранчик. Два одинаковых: на мониторе и на проекторе. Или экранчик, который как бы вот здесь и продолжается вот туда. А это вообще отдельная категория. Это взрыв башки — расширенный экран. Это просто адище какое-то.
Вот эти все тётенки, которые случайно получают презентацию, в которой по умолчанию стоит галочка «режим докладчика». Они не могут понять, почему у них не одинаково. То есть это реально повод для вызова инженера. Или разные изображения: у них на большой доске для детей показан слайд, а на мониторе у них режим докладчика — там, где картинка следующего слайда и комментарий. И всё это для них — неисправность. Они приходят и просят меня прийти и отключить этот режим, сделать им одинаково.
Однажды я пытался объяснять такой тётеньке, что режим докладчика вообще-то удобен. Она говорит: «Нет, мне неудобно, потому что мне страшно». Тебя я понял, умолкаю — не то по шее получу, не то подвиг свой не совершу. Всё, я перестал это делать. Я больше так не делаю. Это не нужно. Я понимаю, что для них это сложно и, более того, не нужно. Можно было бы разобрать, но зачем? Чтобы это нужно было разбираться и понимать? И тогда ты можешь эту бумажку с конспектом выкинуть, но на это нужно время. А кто будет на это тратить время? Тем более учителя, у которых времени и так никогда нет.
28:29 Зубрилы против понимающих
И вообще-то, друзья, это касается не только техники, потому что человек, который выучил свой дипломный доклад наизусть — потерянный человек. То есть он выучил его как стишок, он его расскажет красиво, модно, молодежно, отлично. Но из зала прилетает… Для чего нужен блок вопросов? Для того, чтобы этих придурков, которые выучили наизусть свой доклад, отсеивать и понимать, что они именно зубрилы. Зубрилу никто не любит, напоминаю. И вот из зала прилетают вопросы, и всё — этот чел начинает уже плавать, потому что он не понимает свою тему, он не знает готового ответа.
Когда я, например, учился и готовил свой первый диплом, мне сказали: «Так, у тебя будет от трёх до пяти вопросов». И мне задавали в комиссии: ты можешь выбрать один заранее готовый вопрос. Вот тебе список стандартных вопросов для всех дипломных работ. Выбери один, тебе его зададут первым. Это такое послабление для студентов, чтобы он вошёл в режим ответов на вопросы. Тебе зададут этот вопрос, а остальные вопросы комиссия придумает из головы.
И вот этот момент, когда из зала тебе задали вопрос, а ты не готов на него ответить. Почему меня считают куском говна на всяких конференциях? Потому что я задаю вопросы по теме, которые обычно никто не ожидает. Для препода всегда видно, чего не было в заученном докладе. Значит, туда можно задать вопрос. И такой человек поплывёт, потому что он не шарит. У него в голове только ниточка текста, у него нет готового плана, карты, и он не понимает окрестностей вокруг.
А тот, кто понимает, — это важное отличие. Тот, кто принимает тему, он не заучивает текст, он к нужной мысли может прийти разными путями. Где-то я такое слышал, нахватался по верхам повсюду, но не могу вспомнить где. То ли Брин, то ли Цукерберг, то кто-то ещё из айтишных гигантов говорил, что они стараются набирать на все должности физиков и математиков. Потому что это два направления науки, которые позволяют изучать строение систем и понимать, как они устроены изнутри. Физики вообще разбираются, как Вселенная устроена, и могут дойти до нужного ответа множеством разных способов.
Другие же, я не хочу унижать другие профессии, но получается так, что им дают готовое в нужном им направлении. А математикам и физикам даётся тот фундамент, который позволяет им эффективнее добраться до решения в той области, в которой они, может быть, даже и не разбираются, но смогут разобраться. В голове таких людей не ниточка и даже не карта, а прям паутина из всех возможных решений. И это даёт им большое преимущество. Только представьте, насколько это удобно: ты заранее, не зная никакого способа решения, способен найти это самое решение. Это же гениально и ужасно удобно. Если ты знаешь, как всё устроено, ты можешь найти решение для вообще всего. Тебе не нужно носить шпаргалки и конспекты на каждый случай жизни. Ты просто понимаешь, что и как связано. А те, кто не понимает, обречены оставаться попугаями на всю жизнь.
33:15 Карго-культ
В некоторых случаях доходит до того, что попугайский метод выходит на уровень не просто одного человека, а общества целого. Учёные говорят, что это называется карго-культом. От английского cargo — груз. Во времена Второй мировой войны в Тихом океане, на островах Меланезии, высадились американцы, устроили там аэродромы, базы. Писали эти аэродромы люди в форме, самолёты — всё это. Ставили вышки, и что происходит? Прилетают самолёты, садятся, из них выгружают ящики с едой, всякими ништяками, формой одежды, лекарствами.
Туземцы, островитяне, видели, что им с неба иногда кидали с парашютом — карго-десант. Они видели, что эти странные люди настроены на непонятные штуки, одеваются необычно, носят специальные штуки на головах, какие-то палочки хитрым способом. И из неба падает еда и лекарства. Когда стоит чел, машет светящимися палочками в разные стороны, приземляется железная птица, и из неё выгружают ништяки — вау! У этих несчастных аборигенов просто башка взорвалась.
Они так прожили какое-то время. А потом война закончилась, и американцы улетели. Собрали манатки и уехали. Самолеты больше не прилетают, потому что зачем? И тогда эти несчастные аборигены начинают делать единственное, что им пришло в голову. Они начинают делать то же самое. Расчищают взлетные полосы, прорубая просеки в джунглях. Строят диспетчерские вышки, как они их помнят. Строят бараки, казармы, сторожевые будки. Сажают туда охрану с палками, типа как с автоматами. Начинают маршировать. Строят диспетчерскую будку, сажают туда диспетчера, надевают ему на голову наушники, сделанные из кокосов. Делают себе перья, красят их в армейский хаки, пишут USA. И ждут, пока чел с факелами будет наготове встречать железную птицу.
Самое раздражающее, что железная птица, кстати, к ним прилетала, потому что они сбрасывали туда гуманитарную помощь. И у них этот паттерн закрепился. Они поняли, что это работает, и стали так делать годами. Надо отдать должное этим ребятам: они идеально скопировали форму. Они сделали всё, как полагается. Они даже самолёты построили из бамбука и всяких деревьев. Молодцы! Они сделали вообще всё: маршировали, строили, песни пели. Но что за этим скрыто? Вся эта логистика, само понятие армии… Вы понимаете, насколько это сложная система? Заводы, война, которая происходит не здесь, тысячи километров расстояния.
Это не только когда-то было. Есть государство Вануату, остров Танна, и там есть движение Джона Фрума. Джон Фрум — это типа USA. «Я Джон из Соединенных Штатов». Они до сих пор существуют. В феврале у них есть парад: они выходят маршировать, делают военную форму, носят палки как винтовки, рисуют американские флаги и USA на себе. Камон, 2026 год, но такие люди всё ещё существуют. Это возведённое в абсолют абсурда изъявление.
Но в целом-то мы же это делаем каждый день, постоянно и везде. Я опять ловлю себя на мысли, что смеюсь над глупыми людишками, и понимаю, что это зря. У нас нет кокосовых наушников, но даже среди учёных есть такое. В 1974 году Фейнман, выступая перед студентами, объяснил им понятие «наука карго-культа». Он рассказал им суть, как я вам про островитян. Он сказал, что они делают всё правильно: форма безупречная, всё выглядит точно так, как должно, но это не сработает. Самолёт туда не сядет.
Он объяснил, что с наукой бывает точно так же. Все внешние признаки исследования есть, а по факту главного научного ядра нет. Вы можете вспомнить себя на подготовке курсовых, дипломов и исследований. У вас всё красиво, отчеты есть — Николай Ильич, кстати, говорил об этом в моем выпуске, что отчеты публикуются, бумажки заполняются, но сути самой работы нет и, может, никогда не будет. Ричард Фейнман, настоящий учёный, предостерегал своих студентов от этого. А я предостерегаю сегодня вас. Это никуда не делось и никогда не девалось.
Если вспомните Азимова, у него был эпизод, где представитель разваливающейся империи хвастался тем, как он возлюбил археологию и сделал научные открытия. Когда его спросили, как он это сделал, он рассказал, что прочитал научные работы учёных, живших 100–200 лет назад, и, сопоставив факты, сделал открытия. На что ему задали логичный вопрос: «А ты сам-то что-нибудь копал?» Тут он бы ответил: «Нифига, это же археология, всё уже раскопано, я просто построил исследование на работах выдающихся учёных прошлого, и этого достаточно».
42:32 Критика научного подхода
Но я не вижу необходимости, такой способ представляется мне совершенно несовременным. «Я располагаю работами всех старых мастеров, всех великих археологов прошлого. Я их читаю, сравниваю их выводы, анализирую, решаю, кто из них прав, а кто не прав, и делаю своё заключение — стоящий научный подход. По Квайну и Меве я так считаю».
1:26:10 Многослойность систем
Он забывает или даже не задумывается, или еще хуже — отбрасывает. Или просто никогда не знал, что в этой коробке внутри есть некий механизм, отвечающий за кнопку и лампочку. То есть вот что-то происходит внутри. И каждая система не просто абстрактна. Абстракции всегда многослойны. Каждый следующий слой прячет сложность предыдущего. Упрощаю, упрощаю и упрощаю до вот этой самой кнопки.
Слои абстракций — это как магия. Представь, что ты рисуешь котика. Наверху — красивая картинка, а внутри — сложные схемы и код. Каждый слой скрывает лишнее, чтобы всё работало легко.
1:27:06 Видеокарта и уровни абстракции
Разберем на понятном геймерам языке. Например, видеокарты. Ты покупаешь 5090, вставляешь ее в комп. То есть физически это вершина вычислительной техники, да? Это такой… давайте представим это в виде гениального художника. Вот он способен рисовать прямо ультрареалистические картины в реальном времени. Но тут есть проблема. Этот художник говорит на своем узкоспециальном, практически инопланетном языке электрических сигналов, которые должны быть еще и поданы специальным образом в нужном порядке.
И вот ты вставляешь видеокарту в комп. Что происходит? Она сразу работает. Винда определяет её как стандартный VGA-адаптер или, как оно правильно называется, базовый видеоадаптер. Это самый грубый, самый верхний слой абстракции. И в этом огромный плюс, потому что она работает сразу. Картинка сразу показывается, ты можешь видеть операционку, и ничего устанавливать не надо. Этот слой абстракций вшит уже в операционочку.
Но через этот слой операционка общается с этим гениальным художником на первобытном языке. Как будто по разговорнику с иностранцем. Всё, что она может ему сказать: «не знаю, покрась вот эти пиксели так», по одному конкретному пикселю. Поэтому даже интерфейс винды на 5090 тормозит, когда вы её вставили. И вот этот гениальный художник уровня Леонардо да Винчи и даже ещё круче, он сидит такой: «клеточки, блин, закрашиваю по одной».
С другой стороны, картинка есть, окна открываются. Ты можешь добраться до установки драйверов? Можешь! Это то, что нужно для тебя как пользователя, который только что всё купил, или даже для нетребовательных пользователей — этого в принципе достаточно. Но настоящие возможности заблокированы, они там ниже, в слоях абстракции. Потому что сейчас у тебя нет ни аппаратного ускорения, ни мегаграфики, ни вот этих вычислений CUDA, и PhysX и так далее. Потому что вот этой верхней простейшей абстракции недостаточно, чтобы передавать эти сложные команды.
И вот тут ты уже ставишь драйвер. Ты до него добрался, установил. И сейчас, наконец-то, система может не отдавать примитивные командки вроде «отрисуй здесь пиксель такого цвета». Нет, здесь уже можно общаться на более сложном, понятном именно этой конкретной видеокарте языке. Типа: «нарисуй вот здесь взрыв машины, посчитай, как разлетаются осколки, направление лучей, а здесь огонь в луже отражается» — и всё такое. Драйвер понимает, как это всё передать, раскладывает это на нужные инструкции и отправляет их в понятном железу виде. И вот тут наконец-то ты получаешь весь функционал 5090. То, что ты хотел.
Но без драйвера это не получится. И в этом как раз главная мысль моего примера. Базовый верхний уровень абстракции универсален для всего. Но он не знает ничего о конкретном устройстве. Он не знает, как работать конкретно вот с этим и как раскрыть потенциал вот этого всего. Поэтому он выдает тот минимум, который может. То, на что способны все видеокарты. Поэтому называется «базовый видеоадаптер». Вот он знает только это. И только спускаясь ниже, мы начинаем всё сильнее раскрывать потенциал. И получается, что понимание того, что находится внизу, на самых нижних уровнях абстракции, — это ключ к раскрытию всех возможностей на более высоких и тем более на самом высоком уровне этой самой абстракции.
1:31:12 Жизнь «попугая» и проблема интерфейсов
Если вы понимаете эту мысль, то давайте её теперь уже применим к нашему попугаю. Жизнь попугая — это жизнь на верхнем уровне абстракции, там, где всё готовое, но в общем и для всех. То есть для того, чтобы написать текст, нужно найти на рабочем столе иконку со значком W. И если на рабочем столе его нет, то далеко не каждый пользователь на моей практике находил её в «Пуске». Он знает, как называется Word. То есть слово Word на слуху. Значок с W на рабочем столе всегда был, есть и будет. Но по какой-то причине его там не оказалось. Тетенька не найдет его по слову Word, потому что в «Пуске» нет слова Word. Там есть слово Word, написанное с буквой W. И эта тетенька никогда не сопоставит, что буква W на иконке означает первую букву в слове Word. И что можно найти по этой первой букве W, найти в «Пуске», там, где все программы.
И кстати, она не догадается искать программы в кнопке «Все программы». Это не шутка. То есть реально существует кнопка «Все программы», и там «ВСЕ программы», но не каждый пользователь пользуется кнопкой «Все программы», чтобы найти себе программу. А уж Word найти по первой букве — ну это просто нереально. Вспомнить, как выглядела иконка, и понять, что это первая буква. Чтобы сделать текст жирным, она будет искать букву «Ж». Если её там нет, если это буква «Б», как в LibreOffice, — всё, это взрыв башки. И для такого человека, понимаете, это как законы физики, законы мироздания, потому что у него, скажем так, пользователя, так устроен мир.
Но как только ты попытаешься спускаться на уровень абстракции ниже, ты уже видишь структуру этого несчастного документа, например. То есть абзацы, стили. Вот настройка стилей — это то, что я давал всегда ученикам. Это же отличная вещь, это же удобно. Ты настроил стиль один раз, и он для тебя уже готов. Ты его просто потом переносишь. Но ты должен для этого понимать структуру: как устроен документ, заголовки, чтобы потом установить их в качестве оглавлений и так далее. Еще ниже можешь опуститься, если ты способен на это. Там операционная система, там файлы, форматы, расширения, какие программы что открывают и вот это всё. Еще сложнее — железо. Поэтому все те в моё время, когда я в школе учился, все эти пацаны, которые могли собирать компы, были вообще мегамастерами, потому что они понимали, что что и как связано.
1:34:13 Принцип дырявых абстракций
Кстати, о ребятах, которые шарят в программировании: есть такой принцип, его сформулировал Джоэлс Польский. Он сказал, что это какой-то… короче, в начале 2000-х, в 2002 году, наверное, он назвал его «принцип дырявых абстракций». Он сказал, что все нетривиальные абстракции рано или поздно в той или иной степени протекают. То есть любая удобная вот эта чёрная коробка рано или поздно дает течь. И сквозь неё проступает то, что снизу. И к этому пользователь не готов. Навигатор может потерять спутники. Кнопка переезжает или меняет внешний вид. Борщ заканчивается.
И вот тут ты понимаешь, зачем всё это? Зачем всё это знать? Потому что как только ты сталкиваешься с более низким уровнем абстракции, к которому ты не готов, ты попадаешь в ступор. Вот таким нельзя быть. Зачем это нужно? Прежде всего, чтобы выжить при сбое. То есть, пока ты на верхнем этаже, понятно, тебе комфортно и удобно. Но ты полностью зависим от интерфейса. Ты не знаешь, что там находится внутри. Например, если у тебя в холодильнике кончился борщ, всё, вот ты голоден и ничего не сможешь с этим сделать. Но если ты можешь спуститься на уровень абстракции пониже… Открыть ящики и посмотреть: так, что там есть? Морковка, капуста, мяско какое-нибудь. Окей, значит, борщ ты сможешь себе сделать, потому что ты знаешь, как это сделать.
Вторая причина, по которой стоило бы это знать, — это гибкость. То есть у тебя обновился дизайн, кнопки там переехали, навигатор сигнал потерял. У тебя рушится верхний слой. И ты, если ты используешь попугайский метод, ты попадаешь в ступор. Потому что твоя готовая зазубренная инструкция не работает. Но как только ты можешь спускаться ниже, ты понимаешь устройство системы, ты можешь перейти на другой слой. У тебя нет карты? Ладно, смотри на указатели, ориентируйся по одометру. Кнопки нет? Хорошо, поищи по категориям в подменю. Попробуй горячие клавиши, может, она сохранилась. Не работает интерфейс? Командную строку открой. Про это, кстати, еще отдельно.
1:36:43 Свобода и созидание
Третья причина, зачем всё это знать, — это твоя свобода. Это гораздо более важно, чем кажется. Потому что жить исключительно на этом своём верхнем слое — это ты сам себя загнал в рамки. То есть ты получаешь те возможности, которые для тебя прописал дизайнер, тот маркетолог, разработчик, градостроитель, автор учебника, может быть. И получается, что шаг влево, шаг вправо, и ты уже не готов действовать дальше, потому что тебе не дали на это инструкцию, так ведь? То есть мы же с вами говорим о том, что нужно учить «учиться» и находить решение для нестандартных проблем, так? А учебники нам дают готовые решения. И хороший учитель, вообще-то, по идее, обязан дать детям возможности по-разному подходить к решению задач. Ну там, дискриминантом решать, по теореме Виета, ну и вот это вот всё.
И последнее, что я назвал бы… творчеством или даже созиданием. Оно как бы последнее по счету, но по смыслу может быть даже на первом месте. Творчество и созидание. Ты не сможешь создать что-то принципиально, то есть прямо по-настоящему нового, если оперируешь только абстракциями верхнего уровня. Понимаете? Ты можешь только комбинировать то, что тебе дали уже готовое. Но как только ты поймешь, как эта логика, как суть обернута в этот интерфейс, как это всё работает, как, не знаю, по какому принципу вот этот единичный нолик превращается в кнопку включения, ты начинаешь видеть всю эту цепочку насквозь. И ты можешь на любом уровне изменять то, что захочешь. И вот тут начинается уже настоящее творчество.
И я бы сказал, что важнее переход от карго-культа к настоящей инженерии. Я не имею в виду инженерию как науку, а вот область познания. И в принципе, если все это свести к такой общей формуле, то для того, чтобы в нашем мире не быть пользователем на все готовенькое, не быть этим самым попугаем, нужно видеть слои абстракции и уметь между ними перемещаться по желанию. Свободно. То есть обычно ты пользуешься верхним слоем, потому что это удобно, приятно и красиво. Но ты должен быть готов и способен переехать на более низкие слои по желанию. Либо когда ты захочешь, либо когда тебя вынудят обстоятельства.
1:39:28 От брутфорса к эхолоту
И теперь, когда мы понимаем, зачем нам всё это нужно, давайте вернемся в ту самую темную комнату, где чел до сих пор машет руками в поисках выключателя. Вернемся к методу научного тыка. Только теперь, как мы знаем про слои, получаем меньше иронии. Теперь это по-настоящему научный тык. Ведь вообще-то бессистемный тык — это, в общем-то, brute force. То есть попытка взломать систему полным перебором, грубой силой. Человек имеет дело с верхним уровнем абстракции, так? То есть вот этим самым одним слоем. И даже не пытается заглянуть. У него нет никакой гипотезы, у него нет логической цепочки. У него есть надежда, что в какой-то момент времени его случайная последовательность действий приведет к нужному результату. Это создает ему иллюзию контроля, и ему норм. Но если кто-то перенесет выключатель на другую стену, весь его опыт уже ничего не значит, он обнуляется. И он снова начнет махать руками.
У метода научного тыка есть другая версия. То есть когда слово «научный» означает научный, то есть перестает быть ироничным. Когда начинает тыкать человек, который принимает слои, это уже не брутфорс, это не перебор, это эхолот. Он не машет руками, он тыкает и слушает ответ. Он посылает сигнал, как эхолот, и ждет ответа, слушает, что вернется. Ну мы же знаем весь этот принцип, что любую кнопку, имеющую два положения, нужно всегда нажимать чётное количество раз, чтобы она осталась в том положении, в котором её заставили.
1:41:10 Объяснение звуков
Мне кажется, что три щелчка можно объяснить тем, что кто-то по ошибке нажал на правый выключатель, за которым последовало нужное нажатие. Потом во тьме и тишине прозвучал и третий, постыдный щелчок, вернувший правый выключатель в изначальное положение.
1:41:23 Научный тык как инструмент разведки
И вот когда мы говорим про научный тык — именно, то есть без сарказма и иронии, — это инструмент разведки. То есть ты нажимаешь на кнопку не для того, чтобы попытаться угадать что-то нужное и получить какой-то готовый результат, а для того, чтобы посмотреть на реакцию всей системы, чтобы посмотреть, что произойдёт и по каким правилам всё это работает. По сути, это такой реверс-инжиниринг, обратная разработка: как будто ты разбираешь какую-то деталь, запчасть по частям, чтобы понять, как она собрана. То же самое только с интерфейсом. Ты пытаешься, нажимая на верхний слой абстракции, примерно представить, как устроен следующий слой.
И сразу пример. У меня же ко всему есть пример. Как-то я ездил на маршрутке 476 Зеленоград — Речной вокзал в институт. Лето, страшная жарища. Просто ад, пекло. Вы знаете, как эти маленькие жёлтые автобусы «Богдан» выглядят? Там внутри ад. Окна открыты, но люка ещё нет. И вот я вижу, как один парень, может, чуть постарше меня на тот момент, встаёт, подходит к люку и открывает его. Я постараюсь это изобразить сейчас на руках, но, может быть, приклею здесь какую-нибудь схему вокруг, поэтому постарайтесь за мной уследить.
Набегающий поток воздуха. С этой стороны чел открывает люк вот таким вот образом, и набегающий поток воздуха начинает попадать внутрь. Он делает такой воздухозаборник. Автобус едет, воздух залетает внутрь. Стало полегче немножко. Понятно, что это не исправило ситуацию, но это сейчас не важно. Самое главное, что чел открыл люк вот так, появился воздухозаборник, то есть воздух спотыкается и попадает внутрь. Вы понимаете? Мы с вами понимаем, как работает аэродинамика в данном случае. Это элементарно и просто, нам это совершенно очевидно. Я такой думаю: «Блин, клёво, пацан, молодец. Круто. Я бы тоже так сделал, если бы мог вылезти из своего прижатого к окну положения».
Проходит около минуты. И какой-то дядька, который там сидел рядом, начал на этого пацана возникать. Не то чтобы орать, но прямо выговаривать ему: «Чего ты открыл неправильно люк? Открой его нормально, полностью. Почему ты не полностью его открыл?» Парень ему пытается объяснить на этом околонаучном, интеллигентном языке и понимает, что у него ничего не получится, потому что дядька его вообще не поймёт. И получается такой пуксреньк: «Ну как же, мы же едем, а я открыл…» Он не может ему в аэродинамических понятиях объяснить.
Короче, дядя на него наорал. Объяснение он, естественно, никакое не выслушал, не понял. Вместо этого он встал и открыл люк. То есть люк был открыт вот так, а он открыл вторую часть тоже вот так, и люк стал параллельно крыше. Влад говорит: «Дядька, как надо было сразу открыть, так больше дырка, больше воздуха будет». Мы с пацаном пригляделись, я на него смотрю так… Мы с ним переглянулись, потому что мы оба понимаем, что сейчас произошло.
Если вы понимаете, что сейчас было сделано и что было сделано следом. Был воздухозаборник, который направлял поток воздуха вниз. А теперь это спойлер, блин! Который просто пропускает… Ну, часть воздуха, конечно, попадает вниз, но так он пропускается мимо. Он просто мимо, по крыше сверху пролетает, и большая часть воздуха просто пролетает мимо. Вот и всё. Ложная очевидность. Одно из проявлений попугайского метода: «Дыра больше, значит воздуха будет больше». Потому что он не может опуститься на более низкий слой абстракции. То, что он запомнил: вот ты окно дома открыл пошире — проветривается быстрее, потому что окно шире открыто. Открыл балкон — ещё быстрее будет, потому что ещё больше дыра. Аэродинамика ему не знакома. И то, что воздухозаборник работает так, что направляет в нужную сторону весь набегающий поток, он не понимает. Он не способен это даже представить. Более того, он никогда об этом не задумывается, потому что ему такая концепция вообще незнакома.
Или вот как-то спор у меня был по поводу того, почему грязную посуду в посудомойке нужно класть снизу. То есть более грязную, типа с пригоревшим чем-нибудь, с большими остатками налипшей еды или с гречкой. Почему нужно класть снизу? Вот вам домашнее задание, кстати. Подумайте об этом. Ладно, шутка. Потому что там насос снизу. Там ближе. Помпа, которая качает воду, там поток воды из этих форсунок сильнее. Поток воды, доходя до верха, проходит через несколько углов сочленений. Ну и плюс его надо протолкнуть наверх. Там поток хуже, просто хуже. Вот и всё.
И знаете, что самое отвратительное в этой истории с автобусом? То, что этот дед-попугай не просто беспомощен, что-то не смог. Он прямо активно внес и сломал то, что работало. То есть он, будучи абсолютно уверенным в том, что он делает правильно, и в своём верхнем уровне абстракции всё равно «дырка больше», он взял и сделал хуже. Мы-то видели физику движения воздуха, он видел большую дыру. И вот этот конфликт не то чтобы поколений, а двух слоёв абстракции произошёл прямо на моих глазах.
1:48:15 Как тренировать работу со слоями абстракции
Пользование слоями, работа с ними — это когда у тебя в голове уже есть эта карта системы, когда ты понимаешь, как она устроена, как она работает, и на какой этаж спускаться — это чрезвычайно важно. И давайте сейчас об этом поговорим. Как натренироваться? Что с этим делать?
На компьютере, например, самое очевидное. Есть очень действенный метод. Перестаньте пользоваться GUI. Перестаньте пользоваться графикой. Вот вы смотрите на ваш рабочий стол, папки, корзину, файлы — это же буквально из канцелярии. Это метафора реальной жизни, чтобы компьютер был похож на привычный письменный рабочий стол. Жёлтые папочки, слой абстракции, красивая картиночка. Это всё для того, чтобы всем было удобно, не отвлекаясь от реального мира.
Попробуйте сделать первый шаг вот так вниз. Попросите двухпанельник поставить. Это первое, что мне в голову пришло. Я в своё время изучал Norton Commander, теперь уже Far Manager, Total Commander. Их используют даже на ЕГЭ, это прямо хорошо и полезно. И тут уже мышка не совсем используется, потому что ты не перетаскиваешь объекты из папки в папку, как в реальной жизни, а используешь команды: типа F5 для копирования, F6 для перемещения, F8 для удаления и так далее. То есть ты уже видишь полный путь заодно, а визуальный шум уже убрал.
Окей, убрал один уровень абстракции, спускаемся ниже. Дальше после двухпанельника следующий уровень — консоль. Попользуйтесь командной строкой в Windows, в Linux. PowerShell попользуйтесь, если в Windows сидите, а в Linux Shell — это база базовая. Вы наверняка видели всякие мемасы про линуксоидов, которые меняют обои для рабочего стола или создают папку на рабочем столе. Вот они там с красными глазами сидят и видят Матрицу.
1:51:51 Граница между пользователем и администратором
И это как раз та самая граница между пользователем и админом, айтишником, который живёт здесь. Пользователь на верхнем слое, а все остальные живут ниже. Для него этот чёрный экран и белые или зелёные буковки — это какой-то хаос. Это значит, что что-то сломалось. Он не видит GUI, значит, GUI не работает, всё. А если GUI работает, значит, всё не работает. Он видит то, что ему привычно, а то, что непривычно, — не видит, он это отторгает.
Но админ привык к Bash. Он видит это как команды, потоки данных, права доступа, отдельные компоненты: кто что запустил, кто держит, сколько памяти съедается и так далее. И это очень удобно для тренировки антипопугайского метода, потому что это уничтожает метафору реальной жизни. Тут уже нет понятий «нажми третью кнопку слева», потому что тут просто нет кнопки слева. Есть только «что» и «сделать с чем». Ты говоришь с системой на языке глаголов: скопируй это туда, возьми то отсюда и покажи, покажи, что лежит вот там, запусти вот это с теми-то правами. Глаголы вместо координат. Консоль — это буквально голые глаголы.
1:53:39 Проблема слоев абстракции
Вот ты сидишь, сервак настраиваешь. Я пытался пользоваться Docker Desktop, который типа GUI для Windows. Это ужасно, он кривой. Он выполняет свою задачу, но это отвратительно. Более того, он постоянно глючный, потому что ему требуется два или три уровня абстракции для того, чтобы всё заработало нормально, в то время как Docker Compose, который работает на Linux буквально нативно, нужно настраивать из этой самой консоли с помощью конфигов. И это работает намного лучше, там нет промежуточных слоев абстракции.
И, конечно, нельзя не сказать про мой любимый редактор Vim, который просто иллюстрирует это полностью. Мемасы все видели: «Как выйти из Vim?». Потому что реально никто не знает, как из него выйти. Это не тривиальная вовсе задача, не преувеличение. Я не поленился, поискал на Stack Overflow. Там в 2012 году появился вопрос: «Как выйти из Vim?». И с тех пор, кстати говоря, ветка до сих пор существует, к миллионам комментариев и просмотров. Не сразу очевидно, как выйти из Vim, это правда. Они там даже статистику выкатили: один из двадцати тысяч доходит узнать, как выйти из Vim.
Vim — это реально сложная штука. Она буквально сталкивает несколько способов мышления. Если Word — это тот самый скевоморфизм, он притворяется листом бумаги, где нажал кнопку — появилась буква, то в Vim — чёрный экран, никакого листа с разметкой нет. Нажатие на кнопки — это не пропечатать букву, это команда. Тот самый глагол. И у этих глаголов есть грамматика со своей логикой. D — делит, w — word, слово. Вы нажимаете d, w, то есть удалить слово. Взрыв башки, понимаете? Например, c — это change, i — это inside, внутри. Вы нажимаете ci, и это заменяет всё внутри кавычек. Глагол плюс объект. Ты не тыкаешь мышкой, не выделяешь, ты говоришь, что делать.
Чтобы с этой штукой работать, ты должен понимать эти слои абстракции. На каком слое ты сейчас находишься? На слое глаголов, команд или на слое набора текста? Для обычного пользователя это выглядит так, будто клавиатура совсем сломана. Но как только ты разбираешься, как это работает, мозг подключает напрямую, минуя всю эту абстракцию, систему редактирования текста. Это получается нейроинтерфейс, как в «Матрице» буквально.
1:55:26 Тренировка восприятия и универсальный язык
Я не призываю всех срочно перейти из Word на Vim или переехать из привычного GUI в командную строку. Смысл совсем не в этом. Смысл в том, что отказ от мышки, графики и всего этого — это просто тренировка. Хорошая тренировка переключения слоев восприятия. Чем меньше нарисовано, чем меньше слоёв абстракции между тобой и твоей задачей, тем лучше ты понимаешь настоящую работу системы и правила, по которым она работает. И когда ты возвращаешься к привычному дню, к иконкам и всему остальному, ты уже понимаешь, как это работает внутри. Это даёт тебе намного больше возможностей работать качественнее и лучше.
А в конце я хочу задаться философским вопросом. Если мы говорим о том, что карго-культ — это форма без содержания, можно ли создать интерфейс, который не делает из нас попугаев? И можно ли создать понимание без формы? Оказывается, можно. И прямо сейчас такая штука в космосе летит, и это потрясающе. По-моему, оно уже даже в межзвёздном пространстве летит.
В 77-м году запустили Voyager и Voyager 1. На борту у каждого есть позолоченная медная грампластинка. Там послание от человечества, приветствие на 50 с чем-то языках, плюс звуки Земли: ветер, гром, пение птиц, стук сердца и ещё много чего. И всё это отправлено к инопланетянам, которые не знают нашего всего и даже не знают, как эту пластинку проиграть. Вдумайтесь в эту задачу. Пластинки кто-нибудь, может быть, где-то на другом конце Вселенной найдёт. И с этим кем-то у нас нет ничего общего: ни языка, ни культуры. Просто ничего. Даже проигрывателя такого они не изобрели. Как этому существу инопланетному объяснить, что это за предмет и как прочитать информацию, записанную на нём?
Мы не можем полагаться на что-то заученное. Мы можем полагаться только на то, что одинаково во Вселенной повсюду, универсально. И учёные стали думать, что с этим делать. Под руководством Карла Сагана, знаменитого мегакосмического учёного, придумали гениальное. На крышке пластинки писать ничего не стали, ну потому что зачем?
1:58:12 Код и единицы измерения
Учёным из НАСА пришлось изобрести код, который могла бы расшифровать любая цивилизация во Вселенной. Для этого они начали с самой распространённой молекулы во Вселенной — водорода. На этой диаграмме показан переход между двумя низшими энергетическими состояниями водорода. Любая космическая цивилизация, вероятно, достаточно хорошо разбирается в свойствах водорода, чтобы знать, что при таком переходе выделяется излучение с определённым периодом волны.
Говоря человеческим языком, этот период составляет примерно 0,7 нс. Этот период волны используется в качестве основной единицы измерения на остальных диаграммах на обложке. Это инструкции по работе с пластинкой. Поскольку у инопланетян, скорее всего, нет проигрывателей, как у нас, NASA установила на аппарате проигрыватель.
1:59:00 Содержание и музыкальная программа
Эти метки представляют собой двоичный код, определяющий скорость вращения пластинки для корректного воспроизведения. В переводе на человеческий язык это означает более 5,1 миллиарда периодов волны перехода водорода, или примерно 3,10⁶ секунды на один оборот. На такой скорости вы бы начали слышать приветствие на 55 разных языках. Затем последовала бы музыка и звуки с Земли: шум поезда, стрекот сверчков, треск костра, смех и детский плач.
1:59:34 Визуальные данные и наследие
В этом разделе объясняется, как из записанных сигналов можно собрать изображение. Здесь показана копия первого изображения на записи, чтобы зритель мог убедиться, что он правильно расшифровал сигналы. Всего на пластинке 116 изображений. На них запечатлены наша Солнечная система, наша планета и мы сами.
Поскольку в космосе на золотую пластинку ничто не воздействует, она, по оценкам, просуществует миллиард лет, бесцельно путешествуя по Млечному Пути. Невозможно сказать, найдут ли когда-нибудь «Вояджер» или его близнеца «Вояджер-2» и заберут ли их представители другой формы жизни. Но, как выразился Карл Саган, возглавлявший проект «Золотая пластинка», было бы невежливо не поздороваться.
2:00:18 Идеальная лестница абстракции
Вы понимаете, что произошло? Эта пластинка и вся информация на ней сами себя расшифровывают, они не требуют никаких заученных ритуалов, алгоритмов. Она не опирается ни на какой культурный код, ни на такой багаж, ни на какой контекст. Она надстраивает эти слои, начиная с самого нижнего, фундаментального — с физики, с атома, универсального для всей Вселенной, и потом друг за другом наслаивает сверху, шаг за шагом: числа, время, способ чтения. Даже сама проверка. То есть вы можете посмотреть, убедиться, что всё правильно.
И вот это и есть идеальная лестница абстракции. Она выстроена прямо для получателя целиком, снизу доверху. И это не чёрная коробка с красной кнопкой. А здесь дом вместе с фундаментом строится вместе с пользователем.
Отдельно стоит ещё вспомнить другую работу Карла Сагана и Фрэнка Дрейка. Это так называемое послание Аресибо, которое было отправлено радиотелескопом из обсерватории Аресибо. Есть шикарнейший разбор вот этого самого послания на YouTube, обязательно посмотрите. Потрясающий образец того, как послание в виде электромагнитных волн само себя расшифровывает, как там всё заранее готово, как эта картиночка расшифровывает сама себя, если вдуматься.
Мы никогда об этом не задумываемся, но если мы подумаем — сами поймём. И это потрясающий образец этого антикарго-культа. То есть эти туземцы скопировали форму, но не знали про содержание. А вот эта пластинка, Voyager, послание Аресибо — они не дают знакомую форму, она только помогает найти ключ или даже дают в руки ключ к содержанию без формы. Это же потрясающе!
А вот это — перестать быть попугаем, это значит научиться распаковывать всё это. Одновременно с этим уметь переходить между слоями: от самого высокого к самому низкому. Этот переход от поклонения деревянному самолёту к пониманию устройства сложных систем. Это работает не только для компьютерщиков, это в реальной жизни сильно помогает.
2:02:51 Пять шагов, как перестать быть попугаем
Как всегда, пометовывая принцип Александра Валерьевича: критикуешь — предлагай. Предлагаю. Я вам предлагаю прямо сейчас, в ближайшее время, пять простых шагов, как перестать быть попугаем.
Первое. Правила паузы. Вот когда будешь сегодня что-нибудь делать, мой дорогой зритель, и потянешься к какой-нибудь привычной кнопке, остановись. Будешь в текстовом редакторе работать или ещё где-нибудь — остановись и просто задай себе вопрос. Почему эта кнопка здесь? Почему у неё такие соседи? Почему она находится именно в этом меню? Какая логика её разместила здесь? К какому блоку она относится? И почему соседи вот такие? Может быть, эти кнопки как-то связаны между собой? Что их объединяет? Может, здесь есть какая-то скрытая структура? Если она есть, то попробуй её понять. Сделай эту самую паузу. Это первый этап к тому, чтобы не пользоваться этим бездумно.
Второе. Это я бы назвал тестом Вояджера. Попробуйте расписать свою рутинную задачу. Не типа «так, тыкаем вот эту кнопочку, вот это менюшечко, вот там, вот тут». Никаких «вот эта в левом углу, вот такая штука». Нет. Попробуйте описать максимально подробно по смыслу. Нужно добавить таблицу — это вставка нового объекта, значит, это меню «Вставка». Если таблица, значит, вставить таблицу. Вот что-то такое. Если получится это сделать до того, как вы мышечной памятью полезете и нажмёте «вставку» — поздравляю, у вас получилось. Если нет, значит вы застряли на уровне абстракции с картиночками, и с мышечной памяти можно попытаться слезть. Сейчас вы хотя бы поймёте, в какую сторону попасть. То есть вот этими вопросами вы себя проверите.
Третье. Спускаемся ещё на уровень ниже. Возьмите любую программу, в которой работали всегда и с которой работаете каждый день, которая вам хорошо знакома, из которой вы прямо легко нажимаете всё, что нужно. И не трогайте мышку. Откажитесь от тачпада. Используйте только горячие клавиши, контекстное меню, меню через Alt и Alt-Tab, Ctrl-Shift-Escape и всё остальное. Попробуйте вот это. Для хардкорщиков попробуйте скопировать или провести какие-нибудь операции с файлами, не перетаскивая мышкой — через командную строку или через PowerShell. Это круто. Вы убедитесь, что это прямо прикольно.
Четвёртое. Я бы назвал это научным тыком в быту. То есть когда что-нибудь сломается в очередной раз или пойдёт не так, попробуйте сразу не искать готовое на YouTube или в Google. Потыкайте. Разница с обычным антинаучным тыком заключается в том, что ты не должен искать просто для того, чтобы когда-нибудь у тебя получилось завершить нужное действие. А ты тыкаешь, смотришь, что произошло, и изучаешь правила, по которым работает система, а не ищешь готовый алгоритм. То есть, когда ты поймёшь, ты не составишь себе готовую пошаговую инструкцию, а разберёшься, как эта штука работает, как взаимосвязаны кнопки на верхнем уровне абстракции с более низкими уровнями. Предположи, как работает кнопка. Нажми на неё и проверь свою гипотезу. Перестаньте угадывать. Начните разбираться в правилах.
И последнее, пятое, самое страшное. Найдите у себя ритуал. Одно действие, которое вы делаете, потому что так надо. Не знаю почему, вот так надо и всё. Пять нажатий на кнопку лифта, например. Или дополнительное сохранение перед выходом без сохранения. Проверьте, работает? Потратьте время и не побойтесь выглядеть как идиот. Нажмите кнопку закрытия двери один раз, засеките время. Нажмите кнопку пять раз и засеките время ещё раз. Разница есть? Нет? А вдруг есть? Тогда вы сразу подтвердите свою гипотезу. Замерьте силу нажатия на геймпаде и силу нанесённого урона. Это хардкор, СДВГшникам противопоказано.
2:08:10 Изучайте правила игры
Островитянин может копировать. Пугай может повторять. И да, некоторые водители могут полностью игнорировать дорогу и ехать только по карте. Но мы-то с вами круче теперь, правильно? Мы-то всё это знаем. Мы можем за собой проследить. Можем спускаться на слои вниз. Многим их не видеть, эти слои. Мы можем подниматься вверх, опускаться вниз по желанию. И мы можем читать эту матрицу так же, как эту пластинку на Voyager. Потому что матрица сама подсказывает нам, как её читать. Как смотреть сквозь неё, как смотреть сквозь слои.
Так что, друзья, переставайте угадывать кнопку. Начните изучать правила игры. Представьте, что это большая настолка. Не так уж и сложно, в общем-то, если немножко включить мозг. А пока ставьте лайки, подписывайтесь. Всем пока.
Смотреть тот же разговор на видео — на YouTube-канале «ПедОбраз».
Поддержать подкастМикрофон, свет и монтаж — за свои.donationalerts.com/r/bormotoon
