Как я веду заметки
А давайте я вам расскажу, как я веду заметки. Сразу нужно оговориться, что я не считаю этот способ единственно верным и не готов его отстаивать с пеной у рта. Более того, я считаю, что каждый должен сам под себя подогнать способ их ведения, подглядывая какие-то идеи у других, и именно с этой целью я и пишу этот пост. Более того, сам я периодически что-то меняю в способе их ведения, что лично для меня придает самому процессу разнообразие и добавляет интерес.
Все заметки я веду в OutWiker, я думаю, понятно почему :).
Базы заметок и способы их хранения
У меня есть несколько баз заметок, и каждую из них я веду в разных форматах. Базы у меня такие:
- Две рабочие базы: одна — для инженерной деятельности, другая — для преподавательской.
- Отдельные базы на каждый программерский проект, в котором я участвую.
- Общая теоретическая база заметок, по сути являющаяся Zettelkasten.
- Ежедневник.
- Черновики.
Каждая и этих баз у меня хранится по-разному. Например, рабочую инженерную базу я постоянно таскаю с собой на внешнем жестком диске, потому что она мне может понадобиться и дома, и на работе. Именно с этой базы у меня родился интерес к ведению заметок и софту для этой цели, что в итоге вылилось в проект OutWiker. Поскольку эту базу я везде таскаю с собой, ее желательно шифровать на случай, если потеряю свой жесткий диск (хотя пока еще такого случая не было). Из-за того, что на работе я в основном работаю на компьютере с Windows, а дома у меня Linux, для нее нужен кроссплатформенный способ шифрования, причем желательно, чтобы этот софт еще был портабельным, потому что бывают случаи, когда я могу прийти со своим хардом к чужому компьютеру. Именно поэтому для шифрования этой базы я использую VeraCrypt.
Ежедневник у меня тоже лежит только на домашнем компьютере с Linux, и его я шифрую с помощью encfs. Для нее я использую именно encfs, потому что этот софт удобно использовать через командную строку, у меня для монтирования расшифрованной версии ежедневника создан alias, и его подключение занимает меньше времени и усилий, чем подключение зашифрованного тома через VeraCrypt, а еще потому что делать инкрементные резервные копии папки, шифрованной с помощью encfs получается быстрее, чем каждый раз заново копировать полностью образ VeraCrypt. Но резервные копии — это отдельный разговор.
Остальные базы я не шифрую, но они у меня лежат на отдельном шифрованном разделе под Linux, который я использую для хранения данных. Это просто так исторически сложилось.
Рабочие заметки
В основе этих баз не лежит никакая высокая идея по способу ведения заметок. Основной способ их организации — это вложенные заметки. Я там почти не использую метки при поиске заметок, хотя стараюсь аккуратно их расставлять (про метки я скажу позже отдельно). Часто в этих базах заметки появляются ситуационно, когда нужно что-то записать, сохранить какие-то файлы, а через некоторое время они становятся уже не актуальными. Например, это могут быть объявления для студентов, какие-то присланные материалы, книжки или статьи, которые надо почитать или пролистать. Вот, например, как выглядит дерево заметок в моей преподавательской базе:
Примерно в таком же стиле я веду базы заметок по программерским проектам. Как правило они не такие ветвистые, и там заметки быстрее устаревают. Но поскольку иногда даже старые не актуальные заметки бывает жалко удалять, для них я завожу отдельную ветку, которую обычно называю «old«, и скидываю их туда. Такие ветки old обычно расположены внутри других тематических веток.
Вот, например, как выглядит база заметок для проекта OutWiker. В данном случае аналог ветки old — ветка Устаревшее внутри Программирования:
Zettelkasten
А вот про Zettelkasten я расскажу поподробнее. Это у меня такая скорее теоретическая база с заметками, не привязанная к конкретным проектам. Если вы до этого не слышали о принципе Zettelkasten, то коротко о нем я писал в посте о книге Как делать полезные заметки, а если совсем в двух словах, то главная идея состоит в том, что заметки должны быть небольшие, и, что самое важное, связанными друг с другом посредством ссылок. Выражаясь математическими терминами, заметки должны образовывать единый связанный граф. То есть при добавлении новой заметки, вы должны подумать, на какие другие заметки вы можете сослаться в новой заметке, и из каких других заметок вы можете поставить ссылку на новую заметку. Это очень важно для запоминания того, о чем вы пишите. Именно поэтому иногда говорят о том, что Zettelkasten — это в первую очередь инструмент для размышления, когда вы создаете целую сеть заметок, связанных между собой.
Надо сказать, что написание таких заметок затягивает, когда ты пишешь, например, о какой-то возможности программерской библиотеки, по ходу дела встречается какой-то термин или особенность, которую желательно тоже описать в отдельной заметке, расставляешь ссылки на написанные ранее записи. Это действительно помогает в осознании того, с чем разбираешься в текущий момент.
В свой Zettelkasten я обычно заношу заметки по разным темам: программирование, история науки и техники, психология, публичные выступления и др. В качестве эксперимента я намеренно все эти разнородные темы помещаю в одну базу. Мне интересно, будет ли так, что эти кластеры заметок станут связанными между собой. Именно поэтому я иногда подумываю, что не мешало бы в OutWiker добавить возможность строить граф ссылок между заметками. Но возни с ним много, а практической ценности — не очень (скорее это интересная игрушка), поэтому пока в эту сторону не копаю.
Верхний уровень заметок у меня на данный момент выглядит следующим образом:
Для каждой темы я завожу отдельную заметку с оглавлением, в которой как правило содержится всего одна строка — викикоманда (:childlist:), отображающая список дочерних страниц. Вот, например, как выглядит дерево заметок, если развернуть ветку о программировании:
Как видите, здесь я не использую все многообразие иконок, есть только значок папки для оглавлений, стандартная иконка и еще иногда использую отдельный значок для заметок, которые создал, но еще не наполнил содержимым (на приведенный скриншот такой значок не попал).
Имена для заметок я стараюсь давать таким образом, чтобы при поиске по тегам или по содержимому, можно было понять, о чем заметка, не видя родительских заметок. Именно поэтому заголовок заметок с оглавлением всегда стараюсь указывать, что это именно оглавление по данной теме. Иногда забываю это делать, и исправляю заголовки потом, когда натыкаюсь на него. Вот, например, сейчас, когда делал скриншоты для этого поста, увидел, что не везде я это указал, после чего поправил.
На форумах по заметковедению иногда возникают споры, что лучше: вложенные заметки или метки (они же теги, а еще иногда говорят про древовидные метки). Некоторые пользователи специально не используют вложенность, а помещают заметки в один общий список, а для их поиска в первую очередь используют поиск слов по заметкам. Кто-то использует древовидную структуру без меток, объясняя это тем, что при логичной структуре заметок метки излишни. Я использую и то, и другое. Когда мне нужно найти заметку я практически никогда не использую полнотекстовый поиск (возможно, потому что в OutWiker он пока находится на зачаточном уровне), а в первую очередь пытаюсь найти заметку в дереве. Обычно я знаю, где ее искать, но иногда мне бывает лень листать длинное дерево, когда у меня развернуто множество ветвей, и тогда я щелкаю на метку, которым скорее всего помечена нужная мне заметка.
Важно, чтобы метки были не слишком общие. Пусть их будет больше, но они будут более узконаправленные, даже если в данный момент каким-то тегом будет помечен всего лишь одна заметка. Например, бессмысленно делать метку «Программирование», вряд ли я по нему буду что-то искать. Более вероятно я буду искать что-то про какую-то определенную библиотеку или особенность языка. Именно поэтому плохая идея, например, завести тег Python и помечать им все заметки, связанные с фреймворком Django, машинным обучением (даже если там используется Python), библиотеками Matplotlib и Pandas. Лучше завести метки «django», «machine learning»m «matplotlib», «pandas», а тег «python» можно оставить для заметок, непосредственно связанных с языком Python. Да, при этом количество меток быстро растет, но обычно не так сложно вспомнить, какую из них скорее всего вы использовали для той или иной заметки. Тем более, что меток для одной заметки может быть несколько (а вот поместить заметку в несколько веток нельзя, хотя была у меня идея сделать заметки-клоны, который можно помещать одновременно в разные папки).
Вот, например, как у меня выглядит часть облака меток:
А при нажатии на метку «lombok» (это такая библиотека для Java), появляется список с помеченными этой меткой заметками:
Теперь, что касается содержимого заметок в базе Zettelkasten.
Для каждой заметки в этой базе у меня используется шаблон следующего вида (для вставки шаблонов в OutWiker есть плагин Snippets):
В самое начало заметки я пишу основное содержание. Потом идет раздел со ссылками на литературу (про него я чуть позже более подробно расскажу), затем в разделе «Связи» я проставляю ссылки на другие страницы, похожую или чем-то связанные логически с этой страницей. Часто в этот раздел попадают ссылки, которые и так попадаются в тексте заметки. Иногда я добавляю раздел «Ссылки» после (а чаще всего вместо) раздела «Литература», если какую-то идею я беру из какой-то статьи в интернете. А в самом конце заметки расположены формальные поля, которые заполняются автоматически — это дата создания заметки и дата ее последней правки.
Вот пример законченной заметки про историю строения атома:
Ссылки, подчеркнутые штриховой линией, указывают на другие страницы.
Теперь, что касается литературы. В корне Zettelkasten у меня заведена отдельная страница, где перечислены книги, на которые я где-то ссылаюсь:
Для некоторых книг я заводил отдельные заметки, и тогда в списке литературы указана ссылка на эту страницу. Как было видно на предыдущих картинках, в самих заметках я пишу только краткое обозначение книги (со ссылкой на заметку если она есть), а сам заголовок «Литература» в заметке ссылается на страницу со списком литературы. По возможности я стараюсь указывать на страницы, где именно написано то, что попало в заметку. Список книг у меня никак не упорядочен. Возможно со временем я его поделю на разделы.
Еще в самих заметках я стараюсь выделять ключевые термины, которые должны бросаться в глаза в длинной заметке. Вот, например, страница про стадии агрегации в MongoDB:
С выделениями я до сих пор экспериментирую и иногда использую разные типы выделения для разных сущностей. Например, имена функций и классов в заметках о программировании я выделяю одним стилем, а термины — другим. В результате заметка может выглядеть примерно так:
Ежедневник
Еще одна база заметок, которую я веду в OutWiker — это ежедневник. В этой базе в последнее я время стал использовать элементы Bullet Journal (см. недавний пост Метод ведения ежедневника Bullet Journal и книжка про него). Это в основном личная база, куда я записываю, что я успел сделать за день. Структура выглядит достаточно банально:
В качестве значков заметок использую смайлики, которые по задумке должны соответствовать настроению, но в реальности потом это никак не использую и не анализирую. Регулярность ведения таких заметок разная. В этом году решил более ответственно подойти к этому делу и пока удается вести заметки практически каждый день (были пропуски, когда я куда-то уезжал).
Когда я начинал вести такой ежедневник (не хочу использовать слово «дневник», потому что я там практически не пишу никакие размышления о жизни или что-то высокоинтеллектуальное, в основном фиксация фактов) — это возможность в конце недели оценить, что вообще за эту неделю успел сделать, куда съездил, на какие мероприятия сходил.
Именно для заметок такого типа я добавил недавно в OuitWiker возможность выбора стиля элементов списка, о чем писал в этом посте.
Заметка с номером года у меня тоже не пустует, туда я записываю, какие книжки прочитал в этом году, какие фильмы посмотрел (с этим у меня все плохо, потому что кино я почти не смотрю), в какие города съездил, в каких мероприятиях поучаствовал.
Отдельно у меня есть страница со списком городов, где я побывал, и датой посещения. Это страница выполняет чисто утилитарную задачу, потому что иногда помнишь, что ты в каком-то город был, нужно найти фотографию из этого города, но я очень плохо запоминаю даты, поэтому записываю. Выглядит это у меня так:
Сейчас я подумываю, а не свести ли мне список прочитанных книг в одну заметку в таком же стиле, чтобы можно было бы быстрее вспоминать, когда я в последний раз читал ту или иную книгу. Сейчас мне для этого надо пройтись по нескольким годовым заметкам.
Заключение
Я вам рассказал, как я веду заметки и каким образом использую OutWiker, на какие базы они у меня делятся. На самом деле у меня есть еще одна база — Черновики, в которой я пишу посты для блога и сайта (в том числе эту заметку), но там у меня хаос и раздрай, так что, как скромный хозяин, я вас не буду приглашать в эту комнату. Скажу только (а кому-то напомню), что формат викинотации в OutWiker родился не просто так, а из меркантильных соображений — основной движок сайта https://jenyay.net работает на pmWiki, где используется такая же нотация (на самом деле со временем уже появились различия), но изначально эта нотация была выбрана, чтобы я мог легко переносить статьи из OutWiker на сайт, а режим просмотра HTML был добавлен после того, как к сайту был сбоку прикручен WordPress для блога.
Как я уже говорил, я постоянно экспериментирую с форматом заметок, чего и вам желаю 🙂
Теперь будет интересно узнать, как вы храните свои заметки, может быть какую-нибудь идею я себе тоже возьму. 🙂
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
DanInSpace:
Я уже много раз пытался начать вести заметки в разных системах, каждый раз проблема придумать систему их ведения, как только что то решаю, почти сразу кажется что другой способ лучше, начинаю переносить заметки и всё умирает. Сейчас пытаюсь вести хоть какие то заметки в обсидиане без структуры, надеюсь она сама родится из заметок. Иначе погрязну в доработках системы.
11 февраля 2023, 4:45 ппAlaric:
Спасибо, интересная статья.
К вопросу о «метки» vs «вложенные заметки» в Zettelkasten. Я в своё время решил использовать третий способ (причём, как я понял, у Лумэна был именно он, хотя не уверен, что в таком виде): индексные карточки. Когда я понимаю, что некоторая тема мне достаточно интересна, чтобы мне был нужен список карточек по ней, я завожу для этой темы отдельную индексную карточку, в которую начинаю заносить ссылки на карточки по этой теме с комментариями. Если индексная карточка разрастается, её легко разбить на несколько. Впрочем, некоторая вложенность у меня тоже есть, поэтому в индексной карточке я иногда ссылаюсь не на отдельные карточки, а на целый «куст», но я не слишком надеюсь на вложенность, потому что вложенность создаёт часто сложности — к какой теме «на самом деле» относится новый элемент.
А вот для списков литературы, по-моему, очень хорош Zotero. Я его использую, мне нравится.
Для Zettelkasten’а я использую Obsidian (в самом начале я пробовал OutWiker, но Obsidian мне показался удобнее и я вскоре перешёл на него). Ещё у меня есть отдельная папка для всех прочих заметок, которая тоже ведётся через Obsidian. Плюс в какой-то степени мой блог в ЖЖ — это тоже хранилище моих публичных заметок.
11 февраля 2023, 5:30 ппJenyay:
> Я уже много раз пытался начать вести заметки в разных системах, каждый раз проблема придумать систему их ведения, как только что то решаю, почти сразу кажется что другой способ лучше, начинаю переносить заметки и всё умирает.
Мне это знакомо. 🙂 Через какое-то время я решил, что специально заниматься переформатированием старых заметок я не буду, только если в процессе работы над ними, например, когда мне нужна какая-то заметка, а она в старом формате, то тогда я ее могу поправить. А специально сидеть и исправлять все заметки не хочу. 🙂 Поэтому у меня в базе можно найти несколько «культурных слоев».
Для себя я понял, что лучше начать делать хоть как-то, а дальше уже подгонять метод под себя. И кажется, что этот процесс подгонки никогда не прекращается 🙂
11 февраля 2023, 6:09 ппJenyay:
> А вот для списков литературы, по-моему, очень хорош Zotero.
Согласен, мне тоже нравится, как это сделано в Zotero, но я все ленюсь начать его использовать.
> Ещё у меня есть отдельная папка для всех прочих заметок, которая тоже ведётся через Obsidian.
Я еще иногда завожу отдельную папку «Входящее» (подсмотрено в GTD), в которую помещаю заметки, которые надо быстро сделать, а потом можно будет переместить в более осмысленное место.
11 февраля 2023, 6:12 ппСергей:
Евгений, спасибо за вашу замечательную программу OutWiker и ваш блог.
Тоже пытаюсь вести заметки, используя принципы Zettelkasten и «цифрового сада» (об обеих концепциях узнал из вашего блога).
Вот мой шаблон для заметки:
»'[++]»’
—-
| (:crdate format=»%x»:) — (:eddate format=»%x»:) [[<<]]
!!!! Основная часть
!!!! См. также
*
*
*
!!!! Комментарии
!!!! Ссылки
23 февраля 2023, 1:30 пп*
*
*
Илья:
Больше 15 лет веду заметки и сохраняю все ссылки (буквально все, от url до скриншотов, файлов, папок) в TheBrain. После популяризации Zettelkasten выяснилось, что TheBrain — это «Zettelkasten на стероидах» в степени 3х. А вот найти постоянный софт для работы именно с текстами все эти годы не получалось. Одно из основных было требование, чтоб текстовый редактор позволял получить «ссылку наружу» на текстовую область, с тем, что бы размещать её в TheBrain. OutWiker не подошел по этой же причине + неудобно им пользоваться ввиду отсутствия WYSIWYG редактирования. Сейчас изучаю Obsidian — в нем наплодили уже такое количество плагинов (к 1000 шт. подбираются), что кажется он способен закрыть любые, самые изощренные запросы. Надеюсь, «обрету покой» со связкой TheBrain + Obsidian 🙂
5 марта 2023, 7:11 пп