Личная научная библиотека онлайн
Я довольно продолжительное время носился с идеей написать программу для управления личной библиотекой научных источников (книг, статей, отчетов и т.д.). Мои потребности были нехитрыми, но одних средств файловой системы явно не хватало.
С одной стороны, в иерархической структуре вроде дерева каталогов расположить все мои источники просто невозможно. Например, гипотетическая статья о моделировании протокола TCP относится сразу к нескольким категориям, скажем, «моделирование» и «TCP». Это теговый подход, и возможность хранить такие пометки и осуществлять по ним поиск уже была бы большим подспорьем. Еще лучше, чтобы система категорий/тегов была иерархической, чтобы можно было пометить статью тегами «моделирование%имитационное моделирование» и «передача данных%сетевые протоколы%стек TCP/IP%TCP». В принципе, это реализуемо с помощью ссылок, но, во-первых, это муторно, а во-вторых, у ссылок предостаточно ограничений. В будущем этим должны будут заниматься теговые ФС, но сейчас этот вариант не подходит.
С другой стороны, помимо семантических меток, прикрепленных к источнику, хотелось бы еще хранить и некоторую дополнительную информацию:
- статус (прочитано/срочно прочитать/просмотреть и забыть);
- библиографические данные, желательно с возможностью автоматического экспорта в BibTeX;
- любая другая присоединенная информация, например, конспект, ссылка на сайт издательства или просто какие-то заметки.
К счастью, я не успел начать писать свою программу, когда нашел CiteULike. Это ровно то, о чем я говорил. Даже не буду вдаваться в подробности и описывать фичи. Большая часть из них мне не нужна, а остальное я уже описал выше. Позволю себе только пару оговорок:
- теги таки не иерархические;
- при экспорте в BibTeX добавляются мусорные поля вроде citeulike-article-id и priority, которые, впрочем, несложно вычистить;
- много всякой лишней ерунды, загромождающей интерфейс (явно не обошлось без feature creature);
- существующую локальную библиотеку статей переносить туда придется долго и с трудом; настольная программа могла бы большую часть работы сделать самостоятельно, пройдя по иерархии каталогов и индексируя файлы.
В целом штуковина полезная, но не без недостатков. Будет у меня свободное время — напишу свою правильную версию, с блэкджеком и прочей атрибутикой.
UPD: прежде чем пользоваться CiteULike, ознакомьтесь со следующим постом. Редакция изменила свое мнение.

