Comments 27
О, спасибо за наводку на Линдермана! Это прямо подарок. Всегда приятно, когда интуитивную „инженерную гигиену“ можно подпереть строгой математикой. Получается, если наложить его переменные на мою архитектуру, получается попадание:
Снижение $\lambda$ (отвлечения) — это как раз то, зачем я так топлю за «Фаервол» и режим
Default Deny. Если не резать входящие на уровне порта, уравнение просто не сойдется — день превратится в решето.Уменьшение $\Delta$ (время возврата) — вот здесь и работает «RAM Dump». По сути, это быстрая сериализация контекста на бумагу. Когда у тебя есть сохраненный лог, время „холодной загрузки“ обратно в задачу сокращается с 20 минут до пары секунд.
Параметр $\theta$ (минимальный блок) — железный аргумент в пользу того, почему большие задачи надо декомпозировать под реальные слоты (спринты), а не ждать мифического „свободного дня“, которого никогда не будет.
Крутая модель, обязательно изучу детальнее. Спасибо!
Ещё заметил, что когда часто пытаешься через силу и стресс срочно впихнуть задачи в недостаточный для этого отрезок времени, то начнётся уже фобия: страх и избегание сложных задач, далее прокрастинация. А появляющиеся таки ресурсные отрезки не используются: вдруг времени не хватит глубоко влезть в задачу, а поверхностно получится плохо, а вдруг...
Так, стоп. Я тут посмотрел свои логи и понял одну вещь. То, что я называю ленью или прокрастинацией — это вообще не оно. Это, блин, аварийный протокол безопасности.
Смотри, что происходит. У меня в базе данных записан негативный опыт: "Помнишь, как в прошлый раз мы пытались задеплоить сложную фичу за 15 минут до обеда? Мы тогда чуть не спалили материнку, вспотели, перенервничали, а на выходе получили говнокод".
Система этот инцидент запомнила и повесила на любую сложную задачу красный флаг: [CRITICAL ERROR RISK].
И теперь, даже когда у меня есть нормальный слот времени (ресурсный отрезок), мой внутренний "Администратор" блокирует доступ к кнопке "Пуск". Он рассуждает логично: "Братан, я не дам тебе запустить этот процесс. В прошлый раз ты перегрелся. Сейчас ты опять начнешь перфекционистски вылизывать код, времени не хватит, ты расстроишься и упадешь в синий экран. Ну нафиг. Лучше посидим в простое (Idle), целее будем".
Получается, я не ленивый. Я просто запуганный собственным перфекционизмом. Я боюсь не самой работы, я боюсь того чувства, когда "сделал плохо, потому что не успел".
Как это хакнуть? Надо снизить "Уровень Сервиса" (SLA) для самого себя. Договориться с внутренним админом: "Слушай, мы не будем сейчас писать идеальный код для продакшена. Мы просто набросаем MVP из палок и изоленты. Грязный черновик. Чисто потестить".
На "черновик" система ресурсов не жалеет. А там, глядишь, и втянемся)))
Как это хакнуть?
Надо хотя бы осознать и довести информацию до центра планирования
Планирование делается в период максимальных ресурсов, а это не правильно
Осознать, конечно, здорово. Это как наконец-то увидеть текст ошибки в логах вместо черного экрана. Но от того, что я пялюсь на ошибку, сервер сам не поднимается.
Мой центр планирования совсем не мудрый стратег. Это вредный вахтер на проходной. Ему плевать на мои инсайты, ему нужны гарантии, что мы сейчас не сгорим на работе. Поэтому хак, который мне нужен — это подделка пропуска. Я должен просто обдурить этого внутреннего вахтера. Вместо: - Короче, Михалыч, открывай ворота. Сейчас мы пойдем делать Идеальный Проект, от которого зависит вся карьера. На что вахтер: - Не-не-не. Это опасно, сложно, ресурсов нет. Давай лучше полежим. Говорю: - Слышь, да мы не работать. Мы так, чисто в песочнице поковыряться. Напишем две строчки "говнокода", поржем и удалим. Никаких обязательств. На что получаю: - А, ну если чисто по фану и без напряга — проходи.
И вот я внутри. Процесс пошел Running. А когда я уже прошел через турникет — инерция сама меня тащит. По мне так самое сложное — это не ехать, а провернуть ключ зажигания.
А вот какой айтишный алгоритм использовать, если дефицит или кризис идей?
Ну в системной инженерии чудес не бывает. Принцип GIGO (Garbage In — Garbage Out) работает и для моей биологической нейросети. Если на входе null, на выходе тоже будет null.
Я в таких случаях запускаю диагностику по двум веткам:
1. Ошибка Empty Dataset (База пуста) Если идей нет вообще — значит, я пытаюсь сделать SELECT к пустой таблице. Я просто не обучил свою нейронку на текущем контексте. Мой алгоритм: Выключаю режим «Генератор» и включаю режим ETL (Extract, Transform, Load). Иду «пылесосить» данные: документацию смежных технологий, кейсы из вообще других индустрий, решения конкурентов. Просто загружаю в голову сырые данные, даю им ночь на индексацию, и на утро (как правило) запрос выполняется сам собой.
2. Ошибка Processing Error (Данные есть, но не стыкуются) Если каша в голове есть, а решения нет — это фрагментация. Тут мне помогает только классика — Rubber Duck Debugging (Метод утенка). Беру утку (кота / фикус). Сажаю напротив. И начинаю вслух, построчно объяснять: „Смотри, утка. Цель такая. Я пробовал Х, не вышло, потому что Y...“.
В процессе сериализации (перевода мыслей в речь) мозг сам находит битые ссылки. Обычно инсайт прилетает достаточно быстро, а утка даже крякнуть не успевает.
Короче: я либо кормлю базу, либо дефрагментирую кэш об "утку". Как-то так))
Прикольно! Очень похоже на правду.
Принудительно переключаем ту часть мозга, которая отвечает за мышление, в другой режим работы - т.е. таким образом даем ей отдохнуть. Вроде как вспоминается Павлов - отдых, это смена деятельности - обычно все вспоминают физические упражнения. Но нет, в нашем случае (интенсивная умственная активность) - не всякая деятельность подходит.
Монотонная физическая активность не вариант (бег, ходьба - в это время мозг может думать). Нужно то, что задействует другие части мозга, связанные с координацией: для этой цели хорошо подходят игры с мячом (футбол, баскетбол, волейбол, настольный теннис и проч.). Интуитивно человечество пришло к этому (смотрим популярность этих видов спорта - больше половины - это игры с мячом). Ну и ученые это тоже заприметили - где-то читал про это статьи, тут на хабре, и потом соотнес со своим опытом - сходится.
Попробуйте отрефлексировать, вспомнить о чем думали во время игры - это точно были не рабочие вопросы :). А вот если появляется монотонность, включаются рефлексы и автоматика - тут появляется возможность подумать о чем-то другом, тоже замечал такое.
Причем заметил, что просто просмотр игровых видов частично тоже помогает - видимо фокусировка на чем-то другом, с подключением эмоций (боление) - тоже отвлекает. Сериалы, фильмы, да тот же дум скроллинг - тоже туда же (так что это защитный механизм - а не бездельничание, как можно подумать сгоряча - главное выдерживать баланс, как и во всем в общем-то :)).
Мы отвлекаемся на некоторое время от обдумывания текущих насущных дел - и тем самым даем отдых мозгу, по простому говоря.
Монотонная физическая активность не вариант (бег, ходьба - в это время мозг может думать).
У меня во время часовой интенсивной ходьбы мозг освобождается от спама и генерит новые идеи - многократно проверено
О чем и речь - это работают лобные доли. История известная с древних времен (см. перипатетики).
Я же толкую про полную выгрузку все данных из оперативной памяти, перенаправление потоков данных в главном процессоре на обработку других систем и плюс еще активная физическая нагрузка - это дает настоящий отдых для мозга.
Согласен на 100%. Бег или ходьба — это часто просто разгон кулера, пока фоновые процессы продолжают жрать память.
А вот игровые виды спорта — это уже чистое аппаратное прерывание. Мозгу приходится перебрасывать весь ресурс на обработку физики мяча и координацию, и на «подумать о баге» RAM уже тупо не хватает.
Про думскроллинг как защитный механизм — вообще жиза. По сути, это мы сами себя DDoS-им мусорным трафиком, чтобы заглушить тревожные процессы. Метод рабочий, но сервер греется :)
А ведь это реально тема. Применимо к любым отраслям деятельности. По себе знаю - держать в голове целую кучу запущенных процессов очень сложно и очень быстро истощает. Из-за этого начинается усталость, мысли как всё надоело, когда список задач разрастается до больших масштабов. Приходишь на работу и вспоминаешь, что "надо сделать это, вот это, связаться с этим, решить это и то". Думаешь что учёл всё, но обязательно какое-то дело упускаешь из вида. Потом тебе напоминают и ты такой "а, точно, а я и забыл". Пожалуй хватит забивать себе голову, пора начинать выгружать все процессы куда-нибудь в планировщик задач.
Мы просто путаем мозг с жестким диском. А он — процессор. Ему нужно думать, а не хранить файлы.
Как только выгружаешь задачи на бумагу или в приложение — сразу чувствуешь, как „оперативка“ освобождается. Внутренний вентилятор перестает шуметь, и голова остывает.
Правда,: к этой тишине привыкаешь мгновенно))
Можно просто записаться к психотерапевту, или погуглить через ChatGPT. И там прекрасно все эти техники объяснят.
в терминах IT означает, что процесс висит в статусе
Runningи жрет такты процессора, даже если вы о нем не думаете
Вот это скорее мне напомнило активное ожидание у потоков.
Спасибо за статью, было интересно. У меня увеличенный RAM изначально от производителя и при правильном использовании это дает заметный буст в производительности, а при неправильном - батарейка моего «ноутбука» не доживает и до обеда
так ведь после обеда кровь приливает к желудку и надо просто пищу переваривать, а не тужиться с идеями?
Коллега, всё так. Обед — это заливка тяжелого обновления на сервер, поэтому система перебрасывает всё питание на распаковку котлеты. Пытаться в этот момент думать — всё равно что запускать Cyberpunk на ультрах, пока винда обновляется, толку нет. Не будем насиловать железо, дадим борщу спокойно инсталлироваться!
это все придумал черчилль в 18 году
Грепнул на упоминание Девида Аллена, не нашел.
Эта статья почти буквально повторяет тезисы GTD.
Grep сработал верно :) Дэвид Аллен - это безусловный root в теме продуктивности. GTD фундаментальная архитектура, на которой всё строится.
Проблема в том, что для многих инженеров язык Аллена звучит слишком „менеджерски“. Когда говоришь „выгрузи открытые циклы“, он зевает. А когда говоришь „сделай дамп RAM, чтобы не было переполнения стека“ - он понимает физику процесса.
Так что да, по сути это синтаксический сахар поверх GTD, написанный на языке, который компилируется в головах без ошибок.
Выводы/советы годные, но подводка не выдерживает ни малейшей критики. Мозг работает совсем не как компьютер. Компьютер делали поколения талантливых инженеров, а мозг получился, как получился. В нём нет ни разделения на долговременную/кратковременную память, ни даже разделения на память/процессор. Так что все эти компьютерные аналогии совершенно не к месту.
Вы абсолютно правы. Если спуститься на уровень „железа“ (нейрофизиологии), там нет ни транзисторов, ни регистров, а есть спайки, нейромедиаторы и сплошной аналоговый хаос. Эволюция - тот еще говнокодер :)
Но в инженерии мы используем уровни абстракции, чтобы не сойти с ума. Когда вы пишете на Python, вы же не думаете о том, как электроны бегут по затворам процессора? Вы используете удобные абстракции (объекты, классы).
Моя статья всего лишь абстракция. Модель „RAM vs HDD“ - это не биологический факт, а интерфейс, который позволяет юзеру (нам) хоть как-то управлять этим хаосом. И пока этот интерфейс помогает „закрыть процесс“ и снизить тревогу - он валиден, даже если под капотом там всё иначе.
[Memory Leak] Почему я туплю после обеда: дефрагментация мозга для сеньора