content/blog/2022-03-02-reliable-notes.org

e8577d98faff1bed72ba6f2d204b8b44c6827c23
cleberg.net/content/blog/2022-03-02-reliable-notes.org rendered · source · history · blame · raw

158 lines · 6439 bytes

  1#+date:        <2022-03-02 Wed 00:00:00>
  2#+title:       Note-Taking Techniques: Reliable and Efficient Methods Using Markdown
  3#+description: Instructions on applying standardized note-taking procedures with Markdown format, including synchronization and cross-platform compatibility considerations.
  4#+slug:        reliable-notes
  5#+filetags:    :note-taking:markdown:productivity:
  6
  7* Choosing Durable File Formats
  8:PROPERTIES:
  9:CUSTOM_ID: choosing-durable-file-formats
 10:END:
 11
 12#+begin_quote
 13TL;DR: Write in a format that can be easily rendered and read in
 14plain-text mode (e.g., =.txt=, =.md=, etc.).
 15#+end_quote
 16
 17As I've written more and more over the years, I've found that my love of
 18note-taking is always growing. Everything I learn or need to remember
 19can be written down in a note and saved digitally, with no cost to
 20myself. Unlike paper copies that need physical storage space, digital
 21files simply need space on your local disk or cloud storage, which is
 22fairly abundant these days.
 23
 24However, I had a historical struggle with migration of notes between
 25different apps that require different formats and applied proprietary
 26styling. This meant that I had to go through each note during migration
 27and edit the file to look presentable again.
 28
 29For the last year or two, I have written everything exclusively in
 30[[https://en.wikipedia.org/wiki/Markdown][Markdown]] format. Small
 31notes, long-form writings, and even these blog posts are all written in
 32Markdown.
 33
 34Why Markdown? While I do appreciate the simplicity of plain-text files
 35without any formatting, I often need visual cues such as heading and
 36code blocks to keep my thoughts straight. Markdown provides a minimal
 37set of styling indicators for me to style my notes without adding any
 38proprietary, embedded data into the files. If I want a top-level
 39heading, I simply add a hash (=#=) before the line. An added bonus is
 40that even if a system doesn't understand Markdown, it will render it as
 41plain-text and I can read it just as easily.
 42
 43For example, here's how TextEdit on macOS will open and display a
 44Markdown file in plain-text, since it does contain any features to
 45preview Markdown as HTML:
 46
 47#+caption: Plain Text Markdown
 48[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.png]]
 49
 50** Saving & Syncing Files
 51:PROPERTIES:
 52:CUSTOM_ID: saving-syncing-files
 53:END:
 54In order to read and edit my notes across platforms, I use my personal
 55cloud storage through Tresorit due to its native integration with macOS
 56and iOS file managers. In addition, Tresorit works well on Debian-based
 57Linux distros, which I used before macOS (and will likely switch back to
 58in a few years).
 59
 60You can use whatever sync software you want - syncing plain-text or
 61markdown files is incredibly easy and fast, since the files are
 62generally tiny.
 63
 64Since the cloud storage syncs files automatically, there is no need for
 65me to sync anything manually or kick-off a sync job to update my files.
 66This means that I can edit on mobile, and it takes about 5-10 seconds to
 67see the changes on desktop.
 68
 69*** Version Control with Git
 70:PROPERTIES:
 71:CUSTOM_ID: version-control-with-git
 72:END:
 73A different approach I've contemplated is storing my notes and
 74attachments is using a hosted Git repository to track changes to the
 75files. However, I don't want to rely on an external service that could
 76potentially see into my data, even if the repository is private.
 77
 78I might just do =git init= locally and then commit my changes each time
 79I write or update a note, but that seems to be a lot of work just for
 80tracking changes - which I don't necessarily care to know.
 81
 82*** Backups!
 83:PROPERTIES:
 84:CUSTOM_ID: backups
 85:END:
 86One small addition to the storage/sync conversation is the idea of
 87backups. Personally, I manually create periodic backups of my entire
 88cloud storage, compress it into an archive, and store it on my home
 89server.
 90
 91To improve my workflow, I am going to be exploring options to
 92automatically compress the mounted cloud directory and send it over to
 93my server on a set schedule.
 94
 95** Writing on Desktop
 96:PROPERTIES:
 97:CUSTOM_ID: writing-on-desktop
 98:END:
 99
100#+begin_quote
101*Update (06.14.22)*: Since writing this post, I have reverted to simply
102keeping my =notes= folder open and opening notes individually in
103TextEdit for a more minimal and relaxing writing experience on the
104desktop.
105#+end_quote
106
107The bulk of my writing occurs in a desktop environment, with a full
108keyboard layout and wide screen. I don't illustrate with a smart pen, I
109rarely use embedded images, and I love being able to see all of my
110notes/directories in a sidebar.
111
112With this simple set of requirements, I chose
113[[https://obsidian.md][Obsidian]] as my desktop text editor. Obsidian
114has some in-depth tools like a graph view, command palette, mentions,
115etc., but I've found that using it as a simple Markdown editor is
116incredibly easy and straightforward.
117
118Here's an example of how my Markdown notes look when opened in
119plain-text mode:
120
121#+caption: Obsidian Markdown Source Mode
122[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]]
123
124Here's the "live preview" version, where the Markdown is rendered into
125its HTML format:
126
127#+caption: Obsidian Markdown Live Preview
128[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]]
129
130*** Programming on Desktop
131:PROPERTIES:
132:CUSTOM_ID: programming-on-desktop
133:END:
134While I was writing this, I realized I should specify that I don't use
135the same editor for writing notes and for writing code. For programming
136purposes, I use [[https://vscodium.com][VSCodium]] as my development
137IDE.
138
139** Writing on Mobile
140:PROPERTIES:
141:CUSTOM_ID: writing-on-mobile
142:END:
143Personally, I write very little on mobile, except when needing to take
144important notes on-the-go. Any long-form writing, journals, etc. are
145done at home, where I always have my laptop available.
146
147I wanted a simple and foolproof editor for iOS, preferably open-source.
148After a long journey of testing the few (& terrible) open-source iOS
149note-taking apps, I finally found a phenomenal one:
150[[https://github.com/simonbs/runestone][Runestone]]. This app is
151fantastic for note-taking, has plenty of optional features, and
152integrates natively with the iOS file manager.
153
154This app opens the iOS file manager and allows you to click any file you
155want, opens it up in an editor, and lets me save and close out of that
156note.
157
158Quite simple but effective.