Skip to content

Soubor je víc než aplikace

Před nějakou dobou jsem zkoušel Obsidian. I když jsem u něj nakonec nezůstal (kvůli nedostatečné emulaci editoru Vim), tak musím ocenit, že moje poznámky ukládal jako obyčejné textové soubory. Můžu je tak editovat třeba ve VSCode:

File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom.

File over app is an appeal to tool makers: accept that all software is ephemeral, and give people ownership over their data.
-- Steph Ango: File over app

K nápadu aplikaci vyzkoušet mě přivedl Andrej Karpathy a jeho Love letter to Obsidian:

- Your notes are simple plain-text markdown files stored locally on your computer. Obsidian is just UI/UX sugar of pretty rendering and editing files.
- Extensive plugins ecosystem and very high composability with any other tools you wish to use because again it's all just plain-text files on your disk. [...]
- There are no attempts to "lock you in", actually as far as I can tell Obsidian is completely free of any user-hostile dark patterns.

Obdobnou filozofii razí i Plain Text Accounting (PTA). Konkrétně už řadu let využívám Beancount. Takhle vypadá jednoduchý záznam, resp. transakce:

2024-11-12 * "Vstupenka na vyhlidkovou vez"
  Majetek:Banky:CSOB:Bezny-ucet  -140 CZK
  Vydaje:Ostatni

Díky tomu, že je vše uložené v obyčejném textovém souboru, mohou nad ním pracovat standardní unixové nástroje jako git, grep nebo sed.

Navíc, Beancount je psaný v Pythonu a dá se s ním řada věcí automatizovat, třeba import transakcí. Vedle manuálního stahování nabízí některé instituce i API. Dřív jsem si s tím trochu hrál a napsal vlastní nástroj Beanclerk (zveřejnil jsem k tomu i klienty pro Fio banku a Banku Creditas). Dneska bych to nejspíš udělal jinak, ale nástroje vesele slouží dodnes.

Textové soubory jsou nakonec výhodou i pro velké jazykové modely, třeba ve formě nějakého agenta. Nemusí se jinak zvlášť trénovat nebo data extrahovat, jednoduše si je přečtou.