Druhý mozog so Zettelkasten

24.07 | 07:51 | Richard | Richard

Používanie poznámok je o optimalizácii postupu učenia a vytvárania vedomostí. Ako na to v digitálnom svete?

1 Gutten Tag, Herr Luhmann

Ech, ten nemecký jazyk. Jeho zaujímavou vlastnosťou je (i) to, že niekedy znie veľmi stroho, "hranato", proste ako nechtami po tabuli. Plno tvrdých samohlások a dlhých slov.

Jazykovedci tvrdia, že keď sa hovorí o "drsne" znejúcich jazykoch, zvyčajne sa tým myslia jazyky, ktoré na tvorbu zvukov používajú zadnú časť hlasiviek. A preto znejú trochu kakofonicky. Proste ako nemčina.

A niekedy nemecký jazyk znie úžasne romanticky. Ako svetoznáma romantická cesta, vinúca sa od Würzburgu do Füssenu. To je cesta, na ktorú sa chceme raz vydať - hoci som v Baden-Württembergu strávil veľa času, nikdy som túto cestu neprešiel. Stredoveké mestá, pečené kolená, zemiakové knedle, domáce klobásky, trochu jesennej melancholickej nálady… presne takto si to (romanticky) predstavujem.

Veď povedzte ti tieto názvy miest nahlas: Augsburg, Harburg, Rothenburg ob der Tauber.

Navyše si oprášim znalosti nemčiny.

A prežité zážitky si uložím do poznámok.

 

Do Zettelkasten.

 

Aha, takže sme pri podstate veci. Nateraz zabudnime na teľacie klobásky a uvedieme si Niklasa Luhmanna. Ako tvrdia dobré i zlé jazyky, bol to vedec, ktorý uverejnil 50 kníh a cez 600 článkov. To je neuveriteľné číslo, ale nie je to len dôkaz grafománie, ale aj systematického prístupu k informáciám. Cynicky povedané: dnes by sme mu asi prisúdili nejakú poruchu osobnosti.

Aby som to však skrátil: Luhman si vymyslel systém ukladania poznámok do tzv. "Zettelkasten" (v množnom čísle "Zettelkästen") - defacto sa jednalo o systém poznámok písaných na hárkoch papiera, triedených do drevených krabíc. Nakoľko poznámky boli šikovne značené, dalo sa medzi nimi vyhľadávať a prechádzať - proste prehistorická obdoba hypertextu. S neporovnateľne väčšou námahou tvorby, editácie či vyhľadávania.

Ale nie sú to len obyčajné poznámky. Je to forma tvorby osobnosti. Osobnosti samotných poznámok, ale i osobnosti ich pisateľa. Dávnejšie som čítal, že "myslenie bez písania nie je myslením." (parafr.) A naozaj - koľko má človek myšlienok, ale ich váha, logika či novosť sa ukáže (alebo neukáže) až pri ich poriadnej formulácii.

Ale ešte krátko k Zettelkasten. Aby som "nepapagájoval" obsiahly opis na zettelkasten.de, len načrtnem podstatné atribúty tejto formy evidencie poznámok:

Takže preložená definícia zo spomínaného webu by mohla znieť:

Zettelkasten je osobný nástroj na premýšľanie a písanie. 
Má hypertextové funkcie, ktoré umožňujú vytvoriť sieť myšlienok. 
Rozdiel oproti iným systémom spočíva v tom, že namiesto poznámok ľubovoľnej
veľkosti a formy vytvárate sieť myšlienok a kladiete dôraz na prepojenie 
a nie na (veľkosť) zbierky.

Ak Vás to zaujalo, doporučujem si prečítať sériu článkov od Elišky Šestákovej. Je to plnotučné a zábavné čítanie. Posledná séria s opisom proprietárnych programov je zameraná na majiteľov Mac-ov, ktorí, ako vieme, nie sú kompatibilní s našim nazeraním na slobodu softvéru (a vôbec). Takže to možno aj preskočiť a nič zlé sa nestane.

 

A týmto by sa blogový zápis mohol končiť.

Ale nebojte, viem, čo je slušné a čo sa očakáva - no predsa opísať, ako Zettelkasten spracovávať v GNU Emacse ☺.

 

2 GNU Emacs, na všetko má svoj nástroj. Alebo spôsob.

Alebo existuje na to funkcia v eLispe. Alebo si takúto funkciu užívateľ spraví sám.

Trochu som zlomyseľný a narážam na spomínanú poslednú sériu o výbere správneho softvéru. A trochu musím autorku i poľutovať - pretože chce to a to a to a ono - a tie programy natruc vedia len niečo z toho.

My, nielen priaznivci Emacsu, ale všetci priaznivci unix-like sveta s mocnými systémovými nástrojmi (grep, sed,…) to máme ľahšie. Stačí nám vhodne vymyslená štruktúra a potom správne položené otázky.

Emacs nám v tomto napomáha. A v súvislosti s Zettelkasten hrajú prím tieto rozšírenia (ak neuvažujeme o vlastných súboroch funkcií a skriptov):

Stručne opíšem tieto rozšírenia a potom sa bližšie povenujem zettelkasten, ktorý aktuálne používam.

 

2.1 Krátka odbočka - čo bolo predtým

Než som začal využívať rozšírenie zettelkasten, používal som sústavu textových poznámok, medzi ktorými som jednosmerne používal hyperlinky. Napr. v sekcii Elektro som mal sekciu Decoupling capacitors a potom niekoľko poznámok a zdrojov, napr. EMI-system design. Nebolo to zlé, ale keďže som to aktívne neznačkoval, vyhľadávanie si vyžadovalo poznať aspoň orientačne umiestnenie. Alebo grepovať kľúčové slová a potom otvárať mnoho súborov.

 

2.2 Zetteldeft

…je rozšírením balíčka deft. Generuje unikátne identifikátory na vytvorenie stabilných linkov medzi poznámkami. A na hľadanie a nasledovanie práve potrebuje balíček deft. Ten, zjednodušene povedané, je prehliadačom súborov, v určitom adresári, pričom zobrazuje i krátky sumár a čas poslednej zmeny. Zetteldeft som nezačal používať práve preto, že je potrebné inštalovať ďalšie balíčky (a nielen spomínaný deft), ale pritom pridaná funkcionalita nie je dychberúca.

 

2.3 Org-roam + zetteldesk

Org-roam som sa rozhodol nepoužívať z viacerých dôvodov. Hlavným je, že vyžaduje 9 ďalších rozšírení (a tie zrejme tiež nejaké ďalšie) a na uschovávanie poznámok využíva SQL databázu. To sa mi zdá skutočne priveľa, nech je výsledná funkcionalita akokoľvek pokročilá. Navyše, na prácu s SQL sú potrebné ďalšie rozšírenia do Emacsu.

 

2.4 Denote

…je šikovný balík, ktorého autorom je známy Protesilaos "Prot" Stavrou. Je založený na myšlienke, že poznámky by sa mali riadiť predvídateľnou a popisnou schémou pomenovania súborov. Názov súboru musí jasne naznačovať, čoho sa poznámka týka, bez odkazu na akékoľvek iné metadáta. Denote v podstate zjednodušuje vytváranie takýchto súborov a zároveň poskytuje prostriedky na ich vzájomné prepojenie.

Parafrázujme z oficiálneho manuálu:

Predvídateľnosť
Názvy súborov sa musia riadiť konzistentnou a popisnou konvenciou pomenovania (schéma pomenovania súborov). Samotný názov súboru by mal jasne naznačovať, čo je jeho obsahom, bez odkazu na akékoľvek iné metadáta. Táto konvencia sa netýka len poznámok, pretože je relevantná pre akúkoľvek formu súborov.

Kompozičnosť
Jedná sa o integráciu s inými balíkmi alebo zabudovanými funkciami namiesto toho, aby ste znovu vymýšľali funkcie, napríklad na filtrovanie alebo grepovanie.

Prenosnosť
Poznámky sú obyčajný text a mali by zostať prenosné. Spôsob, akým Denote zapisuje názvy súborov, údaje, ktoré obsahuje v hlavičke poznámky, a odkazy, ktoré vytvára, musia byť primerane použiteľné so štandardnými unixovými nástrojmi. Nie je potrebná databáza alebo nejaký špecializovaný softvér.

Flexibilita
Poznámky sú atomické (jeden súbor na jednu poznámku) a majú jedinečný identifikátor. Denote však nevynucuje konkrétnu metodiku správy znalostí, ako napríklad obmedzený slovník alebo vzájomne sa vylučujúce súbory kľúčových slov. Denote tiež nekontroluje, či používateľ píše tematicky atomické poznámky. Je na používateľovi, aby uplatnil požadovanú prísnosť a/alebo kreativitu pri sledovaní svojho preferovaného pracovného postupu.

Hackovateľnosť Kód Denote pozostáva z malých a opakovane použiteľných funkcií. Všetky majú dokumentačné reťazce. Zámerom je uľahčiť používateľom s rôznou úrovňou odborných znalostí pochopiť, o čo ide, a v prípade potreby vykonať chirurgické zásahy (napr. upraviť formátovanie).

Takže áno, Denote sa mi páči, a ak by prišiel skôr, asi by som mu dal prednosť pred balíkom zettelkasten.

 

2.5 Zettelkasten

Je balíčkom, ktorý používam a preto sa mu budem venovať viac. Je skvelé, že nepotrebuje žiadne (iné, ako zabudované) závislosti. Je integrovaný do známeho org módu. A teda poznámky nie sú ochudobnené o formátovanie, výpočty, plánovanie, obrázky a pod., v rámci prihrievanie polievočky možno pozrieť starší zápis, v ktorom sú mnohé jeho (org) možnosti naznačené (https://linuxos.sk/blog/richard/detail/stary-word-ten-ta-uz-unavil-nakoniec/)

 

Samotný balíček obsahuje tieto interaktívne príkazy:


Obr. 1: základné príkazy balíka zettelkasten

 

Myslím, že samotné pomenovanie je dostatočne opisné, ale predsa len, obrázky sú obrázky:


Obr. 2: príkaz zettelkasten-open-note

 


Obr. 3: Samotná poznámka

 


Obr. 4: príkaz zettelkasten-open-parent

 

Príkaz zettelkasten-open-parent je aplikáciou tzv. backlinku. Znamená to, že v inej poznámke bol použitý hyperlink na aktuálne prehliadanú poznámku (v tomto konkrétnom príklade sa táto poznámka "objavila" v poznámke GNU/linux.


Obr. 5: príkaz zettelkasten-open-note-by-tag

 

Základom pre efektívne vyhľadávanie poznámok je využívanie tagov (značiek). Samozrejme, rozširujúci framework helm dokáze filtrovať i vnorené reťazce a aj fuzzy vyhľadávať.

Samotné tagy sa zadávajú, alebo volia už z predtým zadaných, pri vytváraní novej poznámky, alebo sa môžu pridávať ľubovolne editovaním hlavičky +TAGS.

 

2.5.1 Vyhľadávanie v poznámkach

Ak nám nestačí hľadanie podľa názvu alebo značky, vždy máme naporúdzi silné emacsové a štandardné unixové nástroje.

Adresár, v ktorom máme poznámky je definovaný premennou:

(setq zettelkasten-directory "/home/richard/docs/notes/zettelkasten")

Zmenou premennej (napr. vytvorením menu v helm) a odkazovaním na rôzne adresáre je možné mať oddelené poznámky (pracovné, osobné,…), ale tieto sa nevedia linkovať automatizovane, hoci ručne, vložením C-c C-l to ide.
O tom, ako takéto pekné menu vytvoriť, si napíšeme v inom blogu.

Ja som si vytvoril takúto funkciu, ktorá grepuje v adresári, zobrazí výstup v novom bufferi, v ktorom sa dajú prípadné výskyty pozrieť, otvoriť. To je výhoda oproti grep v bashi, kde dostaneme výstup do terminálu a následne musíme ručne otvárať súbor (hoci je možné, že niektoré emulátory terminálu dokážu otvárať i súbory kliknutím).

 

(defun org-search-my-notes (&optional arg)
  "Search in my working files/notes."
  (interactive "p")
  (let ((search-query (read-from-minibuffer "Search query? " ())))
    (let ((search-params
           (concat "grep -nH -null -i -r  --include=\\*.org  -e" (format " %s " search-query)
                   "/home/richard/docs/notes/zettelkasten")))
      (grep (format "%s" search-params)))))

Využite tejto funkcie vidno na obrázku nižšie, mená klientov som pixelizoval.


Obr. 6: výstup funkcie org-search-my-notes


Paráda, nie?

Takže všetko už náme pripravené a ostáva nám už len samotné zadávanie poznámok. A to je asi najťažšie - pretože človek musí mať disciplínu - v momente vzniku nápadu si ho zapísať, nahrať.
Ale vyplatí sa to.
Ako bolo spomínané, vznikne nám nielen osobná wiki, ale aj stroj času a zábavné čítanie pre našich potomkov, ak sa takéto poznámky stanú predmetom dedičského konania. A možno si na nich aj nejaký budúci psychoanalytik spraví dizertačnú prácu 😀.

 

3 Záver pre Elišku

Tak si prehrajme Bagatelle No. 25 in A minor od Beethovena a skúsme poradiť slečne Eliške, či GNU Emacs s org módom splní jej požiadavky.

Požiadavkasplnenieako na to?
podpora matematiky - syntax LaTeXbalíky pre LaTeX
citácie (BibTex)balíky pre BibTex
Export (pdf, ps, odt, latex)štandard v org
Prezentáciaviac nástrojov, napr. epresent.el
GTD, agendaštandard v org
postranný panelštandard v Emacs (speedbar)
pomodoronapr. org-pomodoro
editácia textutu nie je o čom diskutovať - Emacs je O editácii textu
navigácia medzi poznámkamisamozrejme
vkladanie multimédií, obrázkov✓ / ❓inline obrázky áno, videá len ako hyperlinky
synchronizáciapoznámky v org je možné synchronizovať na kdejakých zariadeniach
fulltextové hľadaniejasné
tagovaniejasné
jedna poznámka na viacerých miestachjasné, napr. aj symlinkom
vizualizáciaorg-roam to zvláda
kreslenie obrázkovascii art, bloky, tabuľky
WYSIWYGjasné, možný aj umelecký render podľa CSS
flashcardsneviem presne, o čo ide…
mobilná aplikácianapr. orgzly
previewjasné
práca s PDFcez externé programy (napr. Xournal), obmedzene natívny DocView

 

Ešte si dovolím jednu citáciu z Eliškinho webu, ohľadom programu Roam Research:

Pokud tedy nejste ve finanční nouzi, neotáčejte se k placeným aplikacím zády.
Nevyřazujte je z výběru jen proto, že za ně vývojáři chtějí peníze. 
Platit za software, který vám pomáhá dosahovat vašich cílů, není něco, 
za co byste se měli stydět.

S tým by sa dalo súhlasiť. S cenou.

Využitie Emacsu je zadarmo. To je príjemný vedľajší efekt.

Ale hlavne je - slobodný.

To je najdôležitejšie. Preto sa dá rozšíriť, hacknúť, a dá sa veľa z neho naučiť. Toto neponúka žiaden uzavretý softvér, ktorý ide proti filozofii vzdelávania. Preto je na (opätovné) zamyslenie, aký softvér by sa mal preferovať a používať v škole či v akademickej obci, ktorá by ako prvá mala byť nositeľom slobody vzdelávania.

Neplatí lakonické "If you are not paying for the product, you ARE the product."
To zaiste platí v smutnom svete uzavretého softvéru.

Na úplny záver otázka do diskusie: "Používate nejaké nástroje na uschovávanie poznámok? Alebo Vám postačuje myriáda papierov, veľký textový súbor či nejaká webová služba?

    • RE: Druhý mozog so Zettelkasten 26.07 | 09:09
      Avatar bluesundown   Používateľ

      dik za clanok, aktualne skusam preniknut do emacs org-mode, ale notebook klavesnica s SK jazykom je nie moc kamarat s emacs :)

      asi precitam Eliskin blog a skusim cetelkasteny :D ci jak sa to cita

      • RE: Druhý mozog so Zettelkasten 26.07 | 15:41
        Avatar Richard Antix  Používateľ

        Veru nie, ja používam vlastné rozloženie klávesnice - aj preto, že v jazykoch, kde programujem, je mnoho okrúhlych  zátvoriek, tak načo ich zadávať so shiftom. Ale to je na dlhšiu debatu.

        Mimochodom, práve org-mode je pre mnohých dôvodom, prečo začali s Emacsom.
        Ja som začal preto, lebo Nano mi nestačilo, Vi(m) so svojim systémom módov mi nesadol…

    • RE: Druhý mozog so Zettelkasten 26.07 | 22:24
      Avatar mark   Používateľ

      Môj "kastlík na ceduľe" alias kartotéka alias osobná wikipédia je ZIM. Ukladá poznámky v čitateľnej čistej textovej forme. Podporuje obrázky, formátovanie, tabuľky atď.