Неполиткорректный виртуал (pascendi) wrote,
Неполиткорректный виртуал
pascendi

Categories:

О переизобретении велосипедов

На Хабре наткнулся на статью про Zettelkasten -- метод организации данных, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей.

Цеттелькастен -- собственно, каталожный шкаф, знакомый каждому, кто бывал в библиотеке. Сам по себе метод прост до примитивности и знаком практически всем, кто когда-либо в докомпьютерную эпоху занимался научной работой: на каждую идею или обнаруженную в том или ином труде подходящую цитату заводим карточку, даем карточке идентификатор, присваиваем ключевые слова, а при появлении новых идей/цитат на ту же тему заносим идентификаторы их карточек на все, которые с ними связаны. Потом расставляем карточки в ящики шкафа (хм, в индивидуальных условиях -- обычно в коробки от ботинок) по темам. Между группами карточек ставим разделители по подтемам или ключевым словам, это уж как кому удобно. Наиболее педантичные -- делают оглавления (перечни карточек, относящихся к общей теме, подтеме и/или ключевому слову).

Вести это тяжкий труд, но пока ковыряешься -- хорошо усваиваешь тему, да и новые свои идеи появляются.

В статье по ссылке подробнее, но главное я сказал.

Сейчас вокруг Цеттелькастена идет некий хайп, потому что подросло поколение, не пользовавшееся бумажными библиотеками, не умеющее накапливать и обрабатывать информацию, но понимающее необходимость этого.

В принципе, ничего нового в этом методе нет. Фасетная классификация через ключевые слова известна много десятилетий (и мне еще в 1990 году случилось ее внедрить в одной могучей полнотекстовой информационно-поисковой системе, где я тупо ввел три уровня: тема, подтема, ключевые слова -- два верхних из них были фиксированными словарями; в результате резко, на порядки, уменьшилось количество шума, который при поиске по тексту зашкаливал).

Сейчас, разумеется, сделать удобное приложение для Цеттелькастена -- как два пальца об асфальт. Потому что довольно простая реляционная БД с довольно простым пользовательским интерфейсом легко реализует практически все нужные функции:

Создание карточки:

Идентификатор — Timestamp()
Название
Общая тема
Ключевые слова (отдельная таблица)
Связанные карточки (отдельная таблица: ид карточки, ид связанной карточки, причина связи)
Ссылки (отдельная таблица)
Содержание
Признак актуальности
Комментарий
Кнопка «Создать тему»
Кнопка «Создать ключевое слово»
Кнопка «Создать связи»
Кнопка «Сохранить»

Создание связей:
Общая тема исходной карточки
Ключевые слова исходной карточки
По нажатию кнопок ключевых слов (множественный выбор) выводится список карточек, имеющих общую тему и выбранные ключевые слова
Если ни одно ключевое слово не выбрано, выводятся все карточки, относящиеся к общей теме
Кнопка «Создать ключевое слово»
Простановка галочек для выбора связываемых карточек
Указание причины связи (произвольный текст)
Кнопка «Сохранить»

Карточка-оглавление темы:
Общая тема
Список входящих карточек: идентификатор, название, ключевые слова
(выводятся все карточки, относящиеся к данной общей теме, в обратно хронологическом порядке)

Карточка-оглавление по ключевым словам:
Ключевые слова
Список входящих карточек: идентификатор, название, общая тема, ключевые слова
(выводятся все карточки, имеющие заданный набор ключевых слов, в обратно хронологическом порядке, отсортированные по общей теме)

Карточка-оглавление общих тем:
Список общих тем: общая тема, количество карточек, ключевые слова

Карточка-общее оглавление:
Список всех карточек в обратно хронологическом порядке: идентификатор, название, общая тема, ключевые слова.

Стартовый экран:
Карточка-оглавление общих тем
Карточка-общее оглавление (пейджинг по 20 карточек)
Кнопка «Создать карточку»

Связующая таблица карточки-ключевые слова:
Идентификатор карточки, ключевое слово

Связующая таблица общие темы-ключевые слова:
Общая тема-ключевое слово


Это без построения графа, отображающего визуально связи между карточками. Говорят, нужная функция. Мне кажется, тоже реализуемая достаточно легко, мне просто влом было сейчас это продумывать.

Интересно, сколько времени понадобится, чтобы сделать такое приложение в LiveCode? Инструмент для этого оптимальный (поскольку построен в идеологии стека карточек), плюс сразу выдает исполняемые модули для винды, линукса, Мака и Андроида. А в платной версии -- для айфона и веба.
Subscribe

  • О приготовлении пищи

    Я хорошо готовлю. В Варне не много ресторанов, в которых готовят вкуснее -- и те, где готовят вкуснее, делают это в основном за счет технологий,…

  • О Розентале и тестах

    Где проходить.

  • Просто чтобы зафиксировать дату

    Кошка моя Басюндра сегодня, наконец, потекла. Поздновато: ей больше года уже. Ходит по квартире, курлычет, мявчит. Катается по полу и обтирает щеками…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 5 comments