After years of back and forth I've finally settled on a setup that I enjoy and find inspiring. I'm talking about how I store information and files, how to store it safely to protect my data and privacy, and how I to manage it all.
Writing Notes and Documents
I have been writing notes, lists, to do lists and shorter documents in text editors for years, and I've been enjoying the feel and simplicity. I don't want or need a word processor when writing things that's not work related. And I haven't felt the need of fancy note taking applications.
Text editors have served me well for both text and code, but it was time to take the step to a Markdown editor and a Markdown workflow. A tool made for the job and only that. Not a tool primarily made for editing code, like Atom and VSCodium.
What is Markdown?
Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages.
And respect to Aaron Swartz for playing a part of the history of Markdown!
Reasons to use Markdown:
- Keep it simple. It's good for distraction free writing.
- It's just text files, so you can open and edit them anywhere.
- No annoying and distracting "smart" functionality that you find in a word processor. Markdown editors typically don't predict how you want to work with text, and it doesn't typically bother you with formatting choices. You are in full control.
- Keyboard based formatting. No need to do anything other than typing. No need to use the mouse to do tons of formatting of the text. Just write out the formatting in plain text. You can look at a syntax/formatting cheat sheet over at Markdown Guide.
- Markdown is future proof. No locking to a vendor. No need to export your documents if the software you use doesn't serve you well, for one reason or another.
- Markdown editors let you export your Markdown files to formats such as PDF, ODT, HTML and more.
- You have cool projects like Grav, which is a CMS that let you publish web pages using Markdown.
How do I Store and Keep Track of all my Notes and Documents?
So how do I store all my notes and documents? On an external hard drive? On the Internet? Let's break it down.
Online? I'm using a VPS setup running Nextcloud with the Notes app. It supports Markdown and also has an app for Android: Nextcloud Notes. I edit my notes in the web browser, but I can also sync my notes (and other files) to a local folder on my computer. Then I can use my favorite markdown editor on my desktop.
Offline? For documents and notes I don't want to be accessible online, for privacy reasons, I run a Samba Server on a Raspberry Pi at home. I just organize my documents and notes in categorized folders. They are accessible on the whole home network behind authentication. I can also share my notes and documents on the local network using a public Samba share where I have set up guest access. Read about how to set up a Samba server in a previous blog post.
I considered putting all my notes and documents that I keep private on a wiki platform, but figured out it was better keeping it as Markdown notes, so they stay portable and future proof. No need for a fancy wiki for personal use, in my opinion. But I must say that I think Bookstack is a really nice application that can be self-hosted, online or offline. It's absolutely worth checking out! Maybe that's your solution for keeping your notes organized, making you want to produce content and getting you inspired. The concept of a wiki is really nice and not only for collaborating with a bunch of people. You can have your personal wiki. It'll give you versioning too, which is really neat.
For certain documents and spreadsheets I stick to working with them in LibreOffice, and save them locally, or on my Nextcloud instance.
To do Lists
I've tried Trello, Todoist, Tasks, and other applications for keeping track of my to dos, but I have always been going back to text files or just regular notes on my desk. The reason for that is that I don't need all the fancy functionality as it just gets in my way and take up my time. Lately I've been using Nextcloud and the Nextcloud app that was mentioned above (Notes) to keep track of all things that I want to get done. I just make different notes with different categories, with Markdown check boxes. Easy as that. It just works.
One "problem" is notifications. I don't have that built into a simple Markdown editor. But the thing is: When I used things like Trello and Todoist, I made deadlines that I couldn't hold and notifications/alerts became annoying. Probably my fault, but that was my experience with full blown to do list applications.
Using Tasks on my Android phone is actually not that bad of an alternative. I usually have my phone with me all the time.
Finding a good open source solution for keeping track of my bookmarks is still a work in progress. I want to gather all my bookmarks in one place, without being tied up to a browser or a commercial proprietary solution. Something self-hosted would be the best. Shiori seems dead and Wallabag just didn't feel right for my workflow. Right now I'm using Raindrop.io. Proprietary, but it's a really nice web application. I'll keep my eyes open for a good self-hosted open source solution.
For sharing files I use the Nextcloud built in share functionality. If I want to share files on my local network I have my Samba server for that.
My Technology Stack
- Nextcloud for storing files and notes (running in Docker on a VPS).
- Samba server on a Raspberry Pi for local network storage. Here I store files that I want accessible from all my computers at home.
- External hard drives for personal pictures, videos and other files I want to keep completely offline.
- Abricotine Markdown editor for GNU/Linux. (I might go for Joplin in the future, with Nextcloud sync.)
- Markor markdown editor for Android.
- Ghost for publishing what I write to the world.
- VSCodium for programming (Visual Studio Code, but without telemetry/tracking).
- Gitea for version control and storing my code (running in Docker on a VPS).
That's it! I hope you found all this interesting and inspiring.