А нужна мне очень простая штука: программа, которая давала бы мне возможность вводить любую текстовую информацию в виде иерархического дерева, в котором каждая вершина имела бы краткое название в одну строчку (чаще даже одно слово) и тело, в котором был бы любой текст. Плюс программа должна уметь записывать всё это в какой-нибудь нормальный формат и читать из него (XML проще всего). Плюс - поиск по всему дереву в названиях вершин или полнотекстовый. Плюс - возможный создавать вершины - "клоны" других вершин, так что под двумя "клонами" под-деревья выглядят идентично и меняются одновременно. Ещё неплохо бы, чтобы программа была open-source, и работала одновременно в линуксе (дома) и Win32 (на работе), но это уже - необязательные условия.
В общем, всё. На эту голую оболочку я уже структуру сам натяну. Сделаю под-дерево People, в него - всех знакомых, на каждого человека в тексте - адрес, телефоны, день рождения, какие книжки я ему должен или он мне, любую другую информацию. Клонирование позволяет делать под-категории типа "Work" или "LiveJournal", и в них кидать тех же людей, не дублируя при этом информацию (т.е. информация дублируется с точки зрения показа, но менять её можно в одном месте, автоматически меняя этим все остальные тоже). Туда же - проекты, личный дневник (хотя можно и в ЖЖ в приватном режиме, да, но почему-то не люблю), списки to-do, календарь...
Вообще любой вид текстовой информации, которая мне может в какой-то момент понадобиться (а такого очень много) - туда.
Т.е. было бы неплохо, чтобы программа была умнее этого (например, имела особый формат для календарных записей и выдавала напоминания), но необязательно. Обязательно - иерархическая структура дерева, и клонирование. Этого, например, нет в Outlook, а то бы я совершенно без шуток пользовался им, хоть и ненавижу, в принципе (на работе всё равно приходится, так чего уж там). Contacts у него хорошие, Tasks разумные, т.е. специализированные виды информации он хорошо умеет обрабатывать, а вот обще-иерархическое дерево - нет. Какие-то куцые Notes у него вместо этого есть, бесполезные.
Официальное такие штуки называются outline editors или ещё Personal Information Managers (не все из них, а те, которые поддерживают иерархическую организацию информации). И их много на самом деле есть, но всё что-то не так. То какая-нибудь программа всё разумно показывает, но нет в ней клонирования вершин; то есть программа, в которой всё есть, но интерфейс очень загружен всякими прибамбасами типа календарей и интеграции с браузерами и почтовыми программами. А один раз я нашёл коммерческую программу (не помню, как называется), под Windows, в которой всё как надо, и всё вроде бы удобно, и даже в принципе готов был за неё заплатить, но внимательное изучение сайта компании (компания была российская) показало полную её виртуальность, т.е. отсутствие любого вида информации типа имён, адресов, телефонов, оффиса. Доверять свои очень личные данные программе без исходников, выпускаемой фирмой такого типа, я не собираюсь и никому не посоветую.
Одну почти полностью подходящую мне штуку я нашёл: Leo. Очень интересная и мощная на самом деле вещь, с кучей дополнительных возможностей для программистов (literate programming, если кто не знает, что это такое - начинайте отсюда), которыми я бы всё равно не пользовался. Одна проблема - она использует Tk, графическую библиотеку, которая откровенно устарела и выглядит попросту некрасиво и неудобно, как в Windows, так и в современном X на моём Линуксе. Это, казалось бы, мелочь, ан нет, не нравится и всё, а ведь мне такой программой ежедневно надо пользоваться. Если бы была у неё версия под GTK - точно бы её выбрал.
А пока продолжаю поиски.
Update: забыл упомянуть, кстати, что есть немало программ под Windows, которые делают всё или почти всё, но не поддерживают нормально языки и Юникод, и потому идут лесом. См. типичный пример в комментах.
← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →