Il Mio Secondo Cervello in Markdown
Sommario
Come ho costruito un workflow di note-taking solido, efficiente e (quasi) perfetto con Obsidian.
Introduzione
Prendere appunti ha sempre fatto parte del mio sistema di apprendimento, penso che la mente sia destinata a fallire per quanto riguarda la memoria, non posso farci affidamento.
Prendere appunti su tutto quello che vale la pena di ricordare è fondamentale per due principali ragioni:
- Mentre prendi appunti memorizzi già un po’ quello che stai apprendendo.
- Quando inevitabilmente ti dimenticherai qualcosa, potrai consultare i tuoi appunti, il tuo database di conoscenza.
Proprio perché è parte integrante dell’apprendimento, negli anni ho rifinito la mia tecnica cambiando applicazioni e sperimentando workflow diversi.
Come nella programmazione così come nel prendere appunti, il workflow è in continua evoluzione, però sento di essere arrivato ad uno stadio avanzato dove le modifiche e i miglioramenti sono minimi.
Obsidian
Obsidian è un software proprietario per la manipolazione di file markdown.
Trovo molto comodo scrivere le mie note in markdown perché scrivo e formatto il testo allo stesso tempo senza aver bisogno del mouse, è molto efficiente e funziona benissimo. (spoiler: scrivo tutti i miei blog post in markdown ed è tutto automatizzato).
Obsidian non è open source e nell’ultimo periodo cerco sempre di adottare strumenti open source, ma penso Obsidian sia insostituibile.
Ho anche pensato a sostituirlo con Neovim (in fondo si tratta solo di manipolare file markdown), si integrerebbe benissimo con il mio workflow di sviluppo software perché utilizzerei lo stesso programma che utilizzo per sviluppare ma Obsidian ha delle feature per me indispensabili.
Il Graph View
Ad ogni nota in Obsidian è possibile aggiungere tag, proprietà e collegamenti ad altre note.
Questo vuol dire che è possibile collegare note correlate fra di loro creando così la propria rete di conoscenza.
Il Graph View è una modalità di visualizzazione delle proprie note. Permette di visualizzare concretamente tutte le proprie note come nodi di un grafo. Penso sia molto interessante vedere la propria conoscenza accrescere anche visivamente e come tutti gli argomenti si collegano fra di loro.
Nel mio Obsidian Vault è presente tutta la mia conoscenza, tutti i miei appunti da quando facevo l’accademia di fotografia fino ad oggi. Ogni macro argomento ha un tag e ogni tag ha un colore diverso.
Ogni Obsidian Vault rappresenta una cartella separata contenente una serie di note, è possibile averne quante se ne vuole, ma io preferisco avere un unico vault contenente tutta la mia conoscenza.
Prima dividevo le note in cartelle e sotto cartelle ma ora ho smesso, le note sono tutte nella root del vault perché non è necessario ordinarle ulteriormente. Sono ordinate secondo i collegamenti nel graph view ed è possibile accedere ad una nota cercandola utilizzando Ctrl + o
.
I Plugin che utilizzo
Sono dell’idea che meno plugin utilizzi e meglio è, perché ogni plugin che si aggiunge, rallenta il programma e aumenta dipendenze che possono rappresentare fragilità in futuro. Ogni versione di Obsidian potrebbe rompere qualche plugin che ancora non è stato aggiornato.
- Vimrc Support
- Obsidian supporta di default la modalità di manipolazione del testo di vim, ma non è possibile configurare nulla rispetto ad essa. Con questo plugin è possibile configurare il comportamento di vim utilizzando
VimScript
in un file.obsidian.vimrc
all’interno della root del nostro vault. (Di seguito il mio piccolo file di configurazione, è incentrato sul riportare il cursore al centro dello schermo durante i movimenti verticali).
- Obsidian supporta di default la modalità di manipolazione del testo di vim, ma non è possibile configurare nulla rispetto ad essa. Con questo plugin è possibile configurare il comportamento di vim utilizzando
nnoremap j jzz
nnoremap k kzz
nnoremap o zzo
nnoremap O zzO
nnoremap G Gzz
nnoremap n nzz
nnoremap N Nzz
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
- Relative Line Numbers
- Plugin essenziale se si utilizza vim perché permette di rendere i numeri di riga relativi e quindi di muoversi efficientemente verticalmente.
- Kanban
- Questo plugin mi permette di creare delle note che poi vengono visualizzate in Obsidian come Kanban board (tipo Trello). Utilizzo questo tipo di note quando devo tenere traccia dei progressi di un mio progetto personale al quale lavoro da solo.
- Persistent Graph
- Vi ho già parlato di quanto la graph view sia importante per me, ma quando le note diventano tante, è praticamente sicuro che ogni volta che si entrerà nella Graph View, le note si aggroviglieranno le une con le altre. Questo perché per come funziona la Graph View, le genera dinamicamente ogni volta che viene aperta. Con questo plugin è possibile salvare la posizione delle note nel grafo una volta sistemate manualmente e dopo di che, ogni volta che entreremo nella Graph View, le note saranno posizionate come l’ultima volta che le abbiamo salvate!
Altre Feature Importanti
In Obsidian è possibile splittare la visualizzazione delle note verticalmente e orizzontalmente, come in Neovim. Questo è molto importante per quando si vuole modificare una nota, tenendone d’occhio un’altra.
Ho scoperto questa feature perché ne avevo bisogno e facendolo già in Neovim, ho scoperto che è possibile farlo anche in Obsidian, così ho modificato gli shortcut per essere il più possibile ai miei shortcut su Neovim, in questo modo mi verranno naturali e si integreranno bene nel mio workflow attuale.
Un’altra feature molto importante è canvas
. Canvas è un altro tipo di file - non markdown - una infinite whiteboard dove è possibile aggiungere collegamenti fra gli elementi. Ogni elemento può essere qualsiasi cosa, un’immagine, un’altra nota, persino un sito web!
Utilizzo questa feature quando devo sperimentare per qualche progetto, per esempio quando devo trovare il design adatto per un nuovo sito web.
Come Sincronizzo il mio Vault fra tutti i miei dispositivi
A questo punto mi direte “Sì, bello questo Obsidian, ma come siamo messi a sincronizzazione?”. Questo è il punto dolente, Obsidian permette di sincronizzare i propri vault creando un profilo Obsidian e utilizzando Obsidian Sync. Questo però è sotto abbonamento mensile.
Se per voi non è un problema questo e siete disposti a pagare mensilmente per questo servizio, potete anche saltare il resto di questo capitolo.
Ho la necessità di sincronizzare le mie note fra tre dispositivi:
- Il mio Linux desktop
- Il mio MacBook
- Il mio iPhone
Ho sperimentato due metodi per sincronizzare il mio vault fra tutti i miei dispositivi. Ho provato inizialmente utilizzando GitHub, esiste anche un plugin che permette di fare dei commit push automatici periodicamente, ma la sua configurazione è macchinosa e su telefono non funziona molto bene.
Non mi piace l’idea di utilizzare Git per la sincronizzazione del mio Vault. Oltre al fatto che è macchinoso, ci sono spesso conflitti git quando si passa da una macchina all’altra, rallenta il processo e non mi piace neanche l’idea di un commit push quando ho letteralmente modificato un singolo carattere.
Syncthing
Il secondo metodo che ho sperimentato e che utilizzo ad oggi è un progetto Open Source di nome Syncthing
.
Syncthing permette di sincronizzare una cartella e le sue sotto cartelle fra più dispositivi. Una volta installato su entrambi i dispositivi e collegato tutto, Syncthing è in costante allerta sulle modifiche dei file che deve condividere e quando ci sono modifiche, le manda a tutti gli altri dispositivi online.
Combino Syncthing con iCloud sul MacBook per condividere i cambiamenti con tutti i miei dispositivi Apple. In questo modo ho anche una copia del mio Vault su un cloud, oltre che sui miei dispositivi fisici.
Per essere ancora più sicuro, ho installato Syncthing anche sul mio home server, in questo modo se faccio delle modifiche quando non sono a casa e il mio Linux desktop è spento, intanto le modifiche le prende l’home server, poi quando torno a casa e magari il MacBook è spento, il mio Linux desktop prende le modifiche del mio vault dall’home server. In questo modo ho copertura 24 ore su 24!
Considerazioni Finali
Dopo anni di sperimentazione tra app, metodi e mille piccoli aggiustamenti, sono arrivato a un punto di maturità del mio sistema di note-taking. Un sistema che si integra perfettamente con le mie esigenze quotidiane: apprendimento, creatività, sviluppo software, e gestione dei progetti personali.
Ecco cosa rende questo workflow davvero efficace:
Semplicità e Velocità
- Scrivere in Markdown è veloce, minimale, privo di distrazioni.
- Il supporto Vim rende tutto ancora più efficiente.
Personalizzazione senza esagerare
- Uso solo i plugin davvero indispensabili.
- La Graph View e il plugin Persistent Graph mi permettono di visualizzare e mantenere la mia conoscenza collegata e organizzata visivamente.
Integrazione con il mio ecosistema
- Funziona su Linux, Mac e iPhone.
- La sincronizzazione tramite Syncthing + iCloud + home server mi garantisce continuità, velocità e controllo sui miei dati, senza costi ricorrenti.
Flessibilità e Focus
- Passo facilmente dalla scrittura rapida all’approfondimento.
- Le Kanban board mi aiutano a seguire l’avanzamento dei miei progetti personali direttamente dentro Obsidian.
- Il canvas è perfetto per brainstorming e design esplorativi.
Crescita Personale e Scalabilità
- Il mio Vault non è solo un archivio, ma un sistema vivo che cresce con me.
- L’assenza di strutture rigide (come cartelle) favorisce la connessione libera delle idee.
Obsidian non è open source, ma oggi è insostituibile per me. Rimango comunque aperto alla possibilità futura di passare a Neovim o a un’alternativa più etica, se riuscirà a garantirmi lo stesso livello di produttività e flessibilità.
Nel frattempo, questo workflow rappresenta il mio “secondo cervello”, sempre aggiornato, sempre disponibile, sempre al mio servizio.