Делание заметок
Очень многие известные люди вели картотеку куда складывали свои заметки. До нас дошли архивы Набокова, Черчилля, Николаса Луммана, Эндрю Оффута и многих других. Существует большое количество систем ведения заметок. Пожалуй, одной из самых известных является Zettelkasten Лумана, но есть множество других не менее интересных.
Поскольку эти архивы этих людей до нас дошли в неплохом состоянии, то сегодня мы можем их изучать чтобы попытаться понять, в чем был секрет продуктивности этих людей. Можно заметить, что многие успешные люди вели заметки. Возникает, однако, резонный вопрос, что тут является причиной а что следствием? Что сделало людей, которые вели заметки успешными? Пришли ли они к успеху потому что вели заметки или ведение замето было лишь побочным эффектом их успешности? Привело ли ведение заметок этих людей к успеху или всего лишь тот факт, что их заметки до нас дошли в сочетании с их успешностью заставили нас повнимательнее отнестись к их архивам? Что если предположить, что само по себе ведение заметок делает людей более успешными?
Максим Дорофеев в одном из своих видео показал интересный эксперимент. Он показывал зрительному залу карточки с цифрами и просил зрителей повторить, что они видели. Когда он просил просто повторить увиденное у зрителей не возникала с этим проблем. Когда же он просил прибавлять к каждой цифре показанного номера единицу зрители стали справляться с заданием с гораздо большей с задержкой. Когда же нужно было прибавлять большее число задержки стали значительными и многие из зрителей вообще не могли справиться с заданием. Вывод который можно сделать из этого опыта - человеческий мозг не очень хорошо может думать и помнить одновременно. Если бы у зрителей в этот момент были в руках ручка и блокнот то, я уверен, все бы легко справились с заданием.
Исследования показывают что ведение заметок позволяет не только снижать когнитивную нагрузку но и улучшать усвоение информации. Например, при помощи интервального повторения можно повысить качество усвоения материала просматривая свои заметки через некоторые временные интервалы в соответствии с кривой забывания Эббингауза.
В другом исследовании было показано, что в группе студентов которые прошли специальный курс по деланию заметок было выявлено статистически значимое улучшение качества усвоения материала и усиление мотивации к обучению.
Существуют решения для ведения заметок в компьютере или на мобильных устройствах. На сегодня самые известные из них - это Notion и Obsidian. Оба этих сервиса представляют собой продвинутые текстовые редакторы с возможностью синхронизации заметок на разных устройствах, они поддерживают продвинутые функции форматирования и интеграции со сторонними сервисами. При помощи этих систем можно не только вести персональные заметки но и работать над документами совместно и даже публиковать персональные сайты и блоги онлайн, возможностей применения таким сервисам можно придумать огромное множество.
Я уже много лет веду заметки и это здорово мне помогает в многих повседневных задачах. Свои заметки я веду в обычных текстовых файлах на языке markdown. Мне кажется, что использовать проприетарные системы типа Notion или Obsidian это добровольно подсаживать себя на определенную технологию, своеобразный vendor locking. Если в один момент, например, окажется что Оbsidian решит закрыть свой продукт или решит сделать его платным, то переехать на другой сервис будет довольно сложно. На самом деле для делания заметок достаточно любого текстового редактора и какого нибудь простейшего языка разметки. Я использую markdown - это обычные текстовые файлы с возможностью вставки ссылок и некоторыми функциями форматирования текста. Луману такое и не снилось, он ввел свою систему на бумажных карточках.
Еще одно свойство системы заметок которое для меня важно - их неуничтожимость. Они должны быть многократно продублированы на всех устройствах которыми я пользуюсь. При этом каждое изменение в заметках должно записываться. Всем айтишникам уже знаком софт который такое позволяет - это система контроля версий, например Git. Добавляя в любую папку с файлами git репозиторий вы получаете возможность сохранять все изменении в нашей папке а значит, наши заметки становятся антихрупкими - любые изменения можно в дальнейшем отследить и при необходимости откатить. Git репозитории можно синхронизировать между устройствами и дублировать столько раз сколько это необходимо.
Я выложил шаблон своих заметок на GitHub. Не думаю, что кому-нибудь моя поделка может оказаться полезной, но она точно никому не поможет если я ее не выложу. В ближайшее время хочу написать побольше о том как я ее использую, возможно это позволит ее улучшить и добавить в нее новые интересные фичи.
Большие Языковые Модели в CS50
Гарвардский университет добавил в свои знаменитые лекции по Computer Science CS50 лекцию, посвященную большим языковым моделям. Лекцию читает доктор Мэтт Велш.
Лекция рассчитана на широкий круг зрителей, в ней нет ни одного сложного термина. Эта лекция будет понятна даже для вашей бабушке!
На волне хайпа эта лекция очень бысто стала популярной. Многие кинулись обсуждать некоторые выводы Мэтта, вроде того, что программирование больше никогда не будет прежним и мы перестанем писать алгоритмы, так как языковые модели будут справляться с этим лучше людей.
Однако мне, почему-то, показалось интересным другое его утверждение. Примерно на временной метке 47:19 на доске спикера написано: "Nobody understands how large AI models works" - "Никто не понимает как большие языковые модели работают". И это то, что меня больше всего поразило в этой лекции.
Я то надеялся, что здесь мне наконец объяснят как работают большие языковые модели. На каком этапе вся эта мешанина тензоров и другой страшной математики превращается в осмысленную речь, а оказалось, что никто на этой планете этого не понимает!
И вот в этой новой реальности нам теперь предстоит жить: если раньше ученые не понимали как работает, например, квантовая физика, то теперь и инженеры признают, что они не понимают как работают машины, которые они создают... Печаль...
Прикуривает от пустоты
Я, признаться, совсем не заметил
Как время ушло, унося с собой всё, что я выбрал святым
И, оставив меня в пейзаже, где всё как всегда
Но на ощупь непрочно, как дым
И со мной компаньон – неизвестный мне кто-то
Точно такой же, как ты, но не ты
Безупречно и дерзко изящен
И прикуривает от пустоты
Объясните мне, где теперь правда, где ложь
Где жало змеи, где пылающий уголь, где тюрьма
Неприступные стены, в которых я бился
Оказались дешёвой игрушкой ума
А мой компаньон терпелив, как апостол
Но даже он устал от моей суеты
И, отбросив книгу с моими грехами
Прикуривает от пустоты
Все полки, что стояли за мной
Разошлись по делам, а я всё держусь
Но не стоит вставать у меня на пути
Я могу оказаться немного острей, чем кажусь
Мой товарищ куда-то исчез
И значит, мне незачем и некуда строить мосты
Я давно не курю, и в карманах нет спичек
Придется прикуривать от пустоты
Прикуривать от пустоты
Как сделать checkbox в markdown
Чекбоксы - мегополезная штука при редактировании текстов на языке markdown. Можно, например, составлять списки дел и помечать сделанное в обычном текстовом файле. Пустой чекбокс выглядит в markdown как [ ] а отмеченный как [x].
Поскольку я веду заметки используя markdown, то часто составляю маркированные списки с чекбоксами. К сожалению, других вариантов, кроме отмеченного и не отмеченного чекбоксов в markdown нет, а мне хотелось бы иметь больше вариантов, например чекбокс который неактивен, или как-то еще выделить таск, который не получится сделать, например отметить его крестиком а не галочкой.
Оказывается, у github есть расширение спецификации markdown и можно воспользоваться кодами типа :white_check_mark: или :negative_squared_cross_mark: чтобы получить более интересные комбинации.
Существует проект, который показывает все возможные иконки, которые можно напечатать подобным образом.
К сожалению, в Gitlab эти иконки работают не все, но большинство тоже работают.
Проверил поддерживаются ли они в IntelliJ — облом, не поддерживаются. Obsidian тоже не понимает этого расширения. Microsoft Visual Code тоже не понимает. Надеюсь, в будущем поддержка будет добавлена, уж больно полезная эта фича.
Upd: в принципе расширения разметки не нужны, все эти иконки это Unicode символы, которые можно и как есть использовать, например вот так: ✅ ❌ ✔️. Так что поддержки можно и не ждать а уже сразу начать использовать.