Забавно. Прочитал
статью о Джефри Раскине и его системе SWYFT - оказывается, я организовал свою работу примерно на тех же принципах, которые описаны в статье.
Давным-давно, попав под очарование
WinOrganiser, хорошо прочувствовал удобство и необходимость личной базы данных, которая может хранить массу всяческой всячины (адреса, телефоны, цитаты, соображения, списки - что угодно) плюс работает как дневник и Коллектор Рассеянной Информации (с)АБС. WinOrg был хорош всем, за исключением его небесплатности, некроссплатформенности и непрозрачного формата данных (экспорт из его .gso формата - сущий ужасть).
Посему были начаты розыски альтернативы. Руководствуясь принципом "чтобы было похоже на WinOrg", я опробовал массу древовидных систем - в том числе таких, как
KeyNote,
TreePad,
Блокнотик. Остался недоволен - я еще точно не мог сформулировать, что именно меня не устраивает, но, поработав в каждой системе, понимал - не мое. Та же история была с разнообразными Wiki-системами.
Потом я нашел одновременно
Tombo - органайзер, в котором информация хранилась в раскиданных по папкам текстовым файлам и
EmEditor (последний тогда
активно пользовала Городская Овца - он действительно элегантен, быстр, позволяет писать свою подсветку для текста, искать по регэкспам, писать расширения на JS и VBS и прочие вкусности) и... серьезно задумался. А действительно ли древовидная структура - это то, что мне нужно?
Статьи вроде
http://c2.com/cgi/wiki?PowerOfPlainText и
http://wiki.43folders.com/index.php/Plain_text наталкивали на определенные размышления, и не спеша меняли у меня в голове парадигму работы с данными, до тех пор, пока я не натолкнулся на вот этот текст:
http://web.archive.org/web/20060208025104/http://www.oreillynet.com/mac/blog/2005/08/living_in_text_files.html Автор, которого использовал "один аффигительно огромный текстовый файл для всего". И я понял - я нашел то, что мне нужно. И 20070603 я полностью перешел на работу в Одном Аффигительно Большом Текстовом Файле. На самом деле файлов все-таки семь - оказалось удобнее их развести по отдельным направлениям (главное, работа, цитаты, туризм etc).
Некоторое время занял поиск удобного текстового редактора. Вначале я пользовался
jEdit-ом и - когда он стал подтормаживать на увеличивавшемся объеме данных -
AkelPad'ом. Система чем дальше, тем больше устаканивалась. Особенно приятно то, что переформатирование (допустим мне хочется поменять ту метку, которой я помечаю заголовки документов) осуществляется простым поиском-заменой. Поиск по документу тоже работает в любом текстовом редакторе до примитивного Блокнота MS Windows.
Подключил SVN - для бэкапа и сохранения истории ведения базы. Особенно здорово пользоваться флэшкой - синхронизация моих заметок "в поле" и "дома" происходит практически бесшовно и автоматом.
Потом переключился на Vim - таки да лучший из текстовых редакторов. С собственной подсветкой, специальными сокращения под таймстампы, "блэкджеком и шлюхами". Плюс, написал небольшой скрипт на Питоне, который по нажатию F9 расставляет и обновляет по тексту оглавления (оказалось очень удобно - там где мне нужно я втыкаю два двоеточия :: и получаю содержание нижележащих разделов).
Теперь же, читая о Раскине и его SWYFT не мог не удивиться тому, насколько сходится моя стихийно сложившаяся (не за один день :) система и его идеи.
Документы у меня не просто отделены друг от друга. Моя система заголовков представляет собой древовидную иерархию внутри раздела "~~~ Домоводство" есть раздел "~~ рецепты", а в нем "~ гречка" и "~ рис".
LEAP-поиск уже давно не новость (вы им пользуетесь, если что-нибудь ищете в FireFox, например), но в Vim он реализован особенно удобно - можно нажать слэш / и сразу начать набирать нужное слово, а можно навести курсор на название заголовка и по * сразу к нему прыгнуть.
Ну и емкость системы. Сейчас, если верить wc, у меня в системе содержится примерно 87351 строк 728427 слов и 5167395 символов. Примерно пять мегабайт текста :)
Это не говоря о прочих преимуществах работы в такой системе - мощность Vim помноженная на хорошо организованную (не потому, что хорошо продуманную, а потому, что сложившуюся по ходу дела в ответ на мой стиль работы и заточенную под меня любимого) систему работы. При этом, поскольку Vim, SVN и Python - штуки кроссплатформенные, я завтра могу пересесть на другую ось или работать со своей базой на чьем-нибудь компьютере без особых проблем.
Такое сходство - повод и причина внимательнее посмотреть на идеи Раскина и познакомиться с его
буками поближе.