MyTetra: персональный менеджер информации
Персональные менеджеры информации (PIM) – особый класс программ, серьезно облегчающих жизнь всем, кому приходится каждый день работать с большим количеством разнообразной информации. Можно с некоторой иронией сказать, что самый простой PIM – это «Блокнот» в Windows. А что? В нем ведь тоже можно сохранять ссылки на важные веб-ресурсы, интересные мысли, напоминания о делах и отрывки из различных текстов. Но все же лучше пользоваться специализированной программой. Такой, как MyTetra.
PIM на каждый день
Условно говоря, для человека, ежедневно работающего с информацией, PIM – это своего рода «пассатижи», то есть универсальный инструмент, весьма серьезно упрощающий и облегчающий работу. Отличный, на мой взгляд, пример такой программы – софтинка MyTetra, которую создаёт российский программист Сергей Степанов. Изначально это была Linux-разработка, позднее портированная под Windows. MyTetra распространяется по лицензии GNU GPL v.3, сейчас актуальна версия 1.30.
Программа идеально подходит для тех, кто пишет книги, статьи, обзоры, конспекты, подготавливает информацию для учебных курсов или просто ведет дневник событий. Программа простая, очень удобная в употреблении. Она изначально создавалась для людей, которые в своей работе сталкиваются с огромным количеством информации и представляют себе, как сложно хранить ее. Именно для тех, кто нуждается в сохранении каких-либо заметок. Например, вы очень долго искали какую-либо информацию в Интернете, и чтобы второй раз не искать ее при необходимости, можно просто записать статью в MyTetra. Также использование MyTetra – отличный шанс избавиться от бумажек, которыми завален стол, от различных стикеров и прочих помощников, а также от захламления «Закладок» в браузере. В MyTetra удобно делать собственные рабочие записи, писать документацию или заготовки своих статей.
Все записи в MyTetra структурируются в виде дерева с произвольным уровнем вложенности (левая вертикальная панель). «Ветки» деревьев, или, иначе говоря, структура базы, хранится в виде одного xml-файла. «Ветки» заканчиваются «листьями», то есть записями (верхняя панель справа). Кроме того, при внесении записи можно задать ключевые слова. Каждая запись представлена в виде отдельного html-файла, содержимое которого отображается справа внизу. Естественно, содержимое файла можно редактировать, и каждая запись может содержать в себе все то, что допустимо помещать в html- формат.
Функциональность
Главные особенности программы MyTetra:
- всегда запоминается геометрия окна;
- при запуске открывается последняя запись, с которой ранее шла работа;
- окно прячется в системный лоток;
- клик на кнопку закрытия не закрывает программу, а сворачивает окно в трей. Для выхода надо выбрать пункт меню «Выход» или нажать Ctrl+Q; - «ветки» дерева навигации можно свободно сортировать (перемещать вверх-вниз) в пределах ведущей «ветки»;
- для «веток» доступны операции удаления, копирования, вставки;
- записи, прикрепленные к «ветке», можно свободно сортировать (перемещать вверх-вниз) в пределах списка;
- для выбранных записей доступны операции удаления, копирования, вставки;
- записям можно задавать текстовые метки (теги) для быстрого поиска;
- выбранная запись всегда доступна для редактирования без дополнительных действий (планируется добавить режим защиты от измений для важных записей);
- программа сама (не спрашивая пользователя) сохраняет текст заметки при переключении на другую запись или ветку, а также при выходе из программы;
- программа имеет настраиваемую директорию-корзину, куда автоматически складывает предыдущие версии всех записей;
- для добавления записей используется встраиваемый WYSIWYG редактор WyEdit;
- в редакторе предусмотрен режим отображения символов разметки текста.
Лично мне MyTetra понравилась своим естественным, интуитивно понятным интерфейсом, возможностью быстрой навигации по дереву и удобным поиском. Также не могу не отметить очень удобные и функциональные контекстные меню.
В актуальной сейчас версии 1.30 появилась принципиально важная для современного PIM синхронизация данных через Интернет: для синхронизации можно использовать любые системы облачного хранения данных или системы контроля версий. Главное, чтобы эти системы поддерживали атомарность. Добавилась также навигация по истории: в MyTetra появились специальные кнопки, которые позволяют быстро перемещаться назад и вперед по истории просматриваемых записей. Также MyTetra помнит, какую запись пользователь редактировал в каждой ветке, и автоматически выбирает данную запись при переходе в уже посещённую ранее ветку. Также запоминается позиция курсора в редактируемых записях (настраиваемо).
Дерево навигации хранится в одном XML-файле с несложным форматом, кодировка UTF-8. Записи хранятся в файлах HTML-формата в кодировке UTF-8. Для редактирования используется специально разработанный для MyTetra интегрируемый визуальный редактор WyEdit. Кстати, этот редактор в дальнейшем планируется выделить в отдельный проект. Каждая запись хранится в отдельной директории, в которой располагается основной HTML-файл и файлы картинок.
В программе используется только Qt-библиотека, благодаря чему обеспечивается широкая кроссплатформенность. MyTetra v.1.28 доступна в версиях для Linux, Windows, Mac OS X, MeeGo, а сборка из исходников работает под любой *NIX-операционкой, включая FreeBSD.
Шифрование
Появление интернет-синхронизации в версии MyTetra 1.30 потребовало внедрения шифрования. Шифрование позволяет безопасно хранить на компьютере приватные данные, но основная идея была в том, чтобы дать пользователю инструмент, позволящий безопасно хранить данные также и на бесплатных открытых хостингах.
Все данные шифруются по алгоритму RC5-32/12/16 c CBC-режимом сцепления, ключ генерируется на основе пароля с солью, пропущенного через алгоритм PBKDF2 на 1000 раундов с длиной ключа 160 бит, после чего от результата берется MD5 сумма, чтобы получить ключ в 128 бит. Каждая запись шифруется с уникальным инициализирующим вектором.
Шифрование применяется к «веткам». Все записи, находящиеся в зашифрованной «ветке», также являются зашифрованными. Чтобы зашифровать «ветку», нужно по правому клику по «ветке» вызвать контекстное меню, и выбрать пункт «Зашифровать ветку».
Если в настройках еще не задан пароль шифрования, MyTetra запросит пароль. Этот пароль один для всех «веток», возможности задавать разные пароли для разных «веток» не предусмотрено. (Возможно, появится в следующих версиях.) Рядом с зашифрованной «веткой» появляется символ замочка. Принципы шифрования следующие:
- все данные внутри зашифрованной «ветки» также зашифрованы;
- невозможно создать внутри зашифрованной «ветки» незашифрованную «подветку»;
- если скопировать зашифрованную «ветку» (или записи из зашифрованной «ветки») в буфер обмена и потом вставить их в незашифрованную «ветку», они будут вставлены без шифрации. И наоборот, если скопировать в буфер обмена незашифрованную «ветку» (или записи из незашифрованной «ветки»), а потом вставить их в зашифрованную «ветку», то они будут вставленны в зашифрованном виде;
- окно настроек шифрования открывается в меню «Инструменты» – «Настройки» – «Шифрование»;
- пользователь может сменить пароль. При смене пароля все зашифрованные «ветки» будут перешифрованы с новым паролем.
В настройках есть опция «Хранить пароль локально». Эта опция нужна для тех пользователей, которых не беспокоит локальная безопасность, и раздражает необходимость каждый раз вводить пароль. Но при этом им нужно синхронизироваться через Интернет с помощью открытых хостингов. При включении данной опции пароль (точнее, хеш пароля) будет сохранен локально и будет использоваться для работы с шифрованными данными, которые синхронизируются через Интернет.
Техническая информация
Сайт программы: http://webhamster.ru.
Исходный код распространяется под лицензией GPL v.3. Программа написана с использованием только фреймворка Qt и стандартных C/C++ библиотек. Язык интерфейса английский, но в следующей версии MyTetra обещают полностью русифицировать.
Для операционной системы Windows программа MyTetra поставляется в виде переносимого приложения. Для установки следует распаковать архив с программой (7,53 Мб) в любой подкаталог, после чего запустить на выполнение файл mytetra.exe.
Сходные (но всё же отстающие) по функциональности конкуренты – это такие программы, как Jreepad, Tomboy, Zim, Rednotebook, а также онлайновый сервис Google Notebook.
Резюме
Лично мне программа не просто понравилась – я уже начал использовать ее в работе. Ведь на самом деле журналист не так часто пишет статью «на одном дыхании» или, скажем, снимает с диктофона интервью. Чаще материалы, мысли и ссылки для статьи собираются «в фоновом режиме» некоторый срок, порой довольно длительный. И тут PIM вроде MyTetra оказывается как нельзя кстати. Пока немного напрягает англоязычный интерфейс, но думаю, привыкну. Хорошая, удачная программа. Рекомендую.
Денис Лавникевич
PIM на каждый день
Условно говоря, для человека, ежедневно работающего с информацией, PIM – это своего рода «пассатижи», то есть универсальный инструмент, весьма серьезно упрощающий и облегчающий работу. Отличный, на мой взгляд, пример такой программы – софтинка MyTetra, которую создаёт российский программист Сергей Степанов. Изначально это была Linux-разработка, позднее портированная под Windows. MyTetra распространяется по лицензии GNU GPL v.3, сейчас актуальна версия 1.30.
Программа идеально подходит для тех, кто пишет книги, статьи, обзоры, конспекты, подготавливает информацию для учебных курсов или просто ведет дневник событий. Программа простая, очень удобная в употреблении. Она изначально создавалась для людей, которые в своей работе сталкиваются с огромным количеством информации и представляют себе, как сложно хранить ее. Именно для тех, кто нуждается в сохранении каких-либо заметок. Например, вы очень долго искали какую-либо информацию в Интернете, и чтобы второй раз не искать ее при необходимости, можно просто записать статью в MyTetra. Также использование MyTetra – отличный шанс избавиться от бумажек, которыми завален стол, от различных стикеров и прочих помощников, а также от захламления «Закладок» в браузере. В MyTetra удобно делать собственные рабочие записи, писать документацию или заготовки своих статей.
Все записи в MyTetra структурируются в виде дерева с произвольным уровнем вложенности (левая вертикальная панель). «Ветки» деревьев, или, иначе говоря, структура базы, хранится в виде одного xml-файла. «Ветки» заканчиваются «листьями», то есть записями (верхняя панель справа). Кроме того, при внесении записи можно задать ключевые слова. Каждая запись представлена в виде отдельного html-файла, содержимое которого отображается справа внизу. Естественно, содержимое файла можно редактировать, и каждая запись может содержать в себе все то, что допустимо помещать в html- формат.
Функциональность
Главные особенности программы MyTetra:
- всегда запоминается геометрия окна;
- при запуске открывается последняя запись, с которой ранее шла работа;
- окно прячется в системный лоток;
- клик на кнопку закрытия не закрывает программу, а сворачивает окно в трей. Для выхода надо выбрать пункт меню «Выход» или нажать Ctrl+Q; - «ветки» дерева навигации можно свободно сортировать (перемещать вверх-вниз) в пределах ведущей «ветки»;
- для «веток» доступны операции удаления, копирования, вставки;
- записи, прикрепленные к «ветке», можно свободно сортировать (перемещать вверх-вниз) в пределах списка;
- для выбранных записей доступны операции удаления, копирования, вставки;
- записям можно задавать текстовые метки (теги) для быстрого поиска;
- выбранная запись всегда доступна для редактирования без дополнительных действий (планируется добавить режим защиты от измений для важных записей);
- программа сама (не спрашивая пользователя) сохраняет текст заметки при переключении на другую запись или ветку, а также при выходе из программы;
- программа имеет настраиваемую директорию-корзину, куда автоматически складывает предыдущие версии всех записей;
- для добавления записей используется встраиваемый WYSIWYG редактор WyEdit;
- в редакторе предусмотрен режим отображения символов разметки текста.
Лично мне MyTetra понравилась своим естественным, интуитивно понятным интерфейсом, возможностью быстрой навигации по дереву и удобным поиском. Также не могу не отметить очень удобные и функциональные контекстные меню.
В актуальной сейчас версии 1.30 появилась принципиально важная для современного PIM синхронизация данных через Интернет: для синхронизации можно использовать любые системы облачного хранения данных или системы контроля версий. Главное, чтобы эти системы поддерживали атомарность. Добавилась также навигация по истории: в MyTetra появились специальные кнопки, которые позволяют быстро перемещаться назад и вперед по истории просматриваемых записей. Также MyTetra помнит, какую запись пользователь редактировал в каждой ветке, и автоматически выбирает данную запись при переходе в уже посещённую ранее ветку. Также запоминается позиция курсора в редактируемых записях (настраиваемо).
Дерево навигации хранится в одном XML-файле с несложным форматом, кодировка UTF-8. Записи хранятся в файлах HTML-формата в кодировке UTF-8. Для редактирования используется специально разработанный для MyTetra интегрируемый визуальный редактор WyEdit. Кстати, этот редактор в дальнейшем планируется выделить в отдельный проект. Каждая запись хранится в отдельной директории, в которой располагается основной HTML-файл и файлы картинок.
В программе используется только Qt-библиотека, благодаря чему обеспечивается широкая кроссплатформенность. MyTetra v.1.28 доступна в версиях для Linux, Windows, Mac OS X, MeeGo, а сборка из исходников работает под любой *NIX-операционкой, включая FreeBSD.
Шифрование
Появление интернет-синхронизации в версии MyTetra 1.30 потребовало внедрения шифрования. Шифрование позволяет безопасно хранить на компьютере приватные данные, но основная идея была в том, чтобы дать пользователю инструмент, позволящий безопасно хранить данные также и на бесплатных открытых хостингах.
Все данные шифруются по алгоритму RC5-32/12/16 c CBC-режимом сцепления, ключ генерируется на основе пароля с солью, пропущенного через алгоритм PBKDF2 на 1000 раундов с длиной ключа 160 бит, после чего от результата берется MD5 сумма, чтобы получить ключ в 128 бит. Каждая запись шифруется с уникальным инициализирующим вектором.
Шифрование применяется к «веткам». Все записи, находящиеся в зашифрованной «ветке», также являются зашифрованными. Чтобы зашифровать «ветку», нужно по правому клику по «ветке» вызвать контекстное меню, и выбрать пункт «Зашифровать ветку».
Если в настройках еще не задан пароль шифрования, MyTetra запросит пароль. Этот пароль один для всех «веток», возможности задавать разные пароли для разных «веток» не предусмотрено. (Возможно, появится в следующих версиях.) Рядом с зашифрованной «веткой» появляется символ замочка. Принципы шифрования следующие:
- все данные внутри зашифрованной «ветки» также зашифрованы;
- невозможно создать внутри зашифрованной «ветки» незашифрованную «подветку»;
- если скопировать зашифрованную «ветку» (или записи из зашифрованной «ветки») в буфер обмена и потом вставить их в незашифрованную «ветку», они будут вставлены без шифрации. И наоборот, если скопировать в буфер обмена незашифрованную «ветку» (или записи из незашифрованной «ветки»), а потом вставить их в зашифрованную «ветку», то они будут вставленны в зашифрованном виде;
- окно настроек шифрования открывается в меню «Инструменты» – «Настройки» – «Шифрование»;
- пользователь может сменить пароль. При смене пароля все зашифрованные «ветки» будут перешифрованы с новым паролем.
В настройках есть опция «Хранить пароль локально». Эта опция нужна для тех пользователей, которых не беспокоит локальная безопасность, и раздражает необходимость каждый раз вводить пароль. Но при этом им нужно синхронизироваться через Интернет с помощью открытых хостингов. При включении данной опции пароль (точнее, хеш пароля) будет сохранен локально и будет использоваться для работы с шифрованными данными, которые синхронизируются через Интернет.
Техническая информация
Сайт программы: http://webhamster.ru.
Исходный код распространяется под лицензией GPL v.3. Программа написана с использованием только фреймворка Qt и стандартных C/C++ библиотек. Язык интерфейса английский, но в следующей версии MyTetra обещают полностью русифицировать.
Для операционной системы Windows программа MyTetra поставляется в виде переносимого приложения. Для установки следует распаковать архив с программой (7,53 Мб) в любой подкаталог, после чего запустить на выполнение файл mytetra.exe.
Сходные (но всё же отстающие) по функциональности конкуренты – это такие программы, как Jreepad, Tomboy, Zim, Rednotebook, а также онлайновый сервис Google Notebook.
Резюме
Лично мне программа не просто понравилась – я уже начал использовать ее в работе. Ведь на самом деле журналист не так часто пишет статью «на одном дыхании» или, скажем, снимает с диктофона интервью. Чаще материалы, мысли и ссылки для статьи собираются «в фоновом режиме» некоторый срок, порой довольно длительный. И тут PIM вроде MyTetra оказывается как нельзя кстати. Пока немного напрягает англоязычный интерфейс, но думаю, привыкну. Хорошая, удачная программа. Рекомендую.
Денис Лавникевич
Компьютерная газета. Статья была опубликована в номере 32 за 2011 год в рубрике soft