Ditching plaintext (mostly)
For a long time I tried to optimise my workflow around plaintext. It seemed to make a lot of sense to me. Works on every system, does not require any special libraries to parse, stood the test of time. As it turns out the advantages of an plaintext only workflow do not outweigh the disadvantages to me, but adopting the workflow for some time was a very useful exercise to understand the properties I value the most and want to replicate with whatever solution I choose.
The typical “I will go all in on plaintext” journey I have seen many times by now usually goes something like this:
- Decide to start using plaintext
- Plan to migrate all your content
- Write about using only plaintext
- Run into road blocks you did not know exist
- Use something new
Now you have your content spread across three different places. “Great success!” :) Step three is one of the most important ones, never skip this one!
Joking aside, I have seen plaintext workflows work for many people, including some that kind of worked for me like one big text file. If you found tools you like, if you do not miss anything, then ditching all the fancy stuff is a sane, easy and future proof approach.
What I stumbled over most of the time was that my life is not just text. There are PDFs, diagrams, photos of whiteboards and more. And I want to directly add them to the notes I make, I really do not like switching between five windows to see my train of thought. You can kind of work around it with markdown, with rendering your text file, maybe using an editor that does this in real time. But then you are stuck in tool evaluation mode and I did not find any I really like.
End of 2024 I switched to email for my note taking and never looked back. It "just works".
I have a few tools I built over the last few years I use on a daily basis. They all do their job just fine. I could have opted to store all data in a plaintext format. Technically this would have worked — when designing a storage format having an encoder and decoder based on the specific needs takes a moment but is not outlandish hard. Yet all of the data is sitting in SQLite databases.
Some of these databases have one or two fields. Some have a few more and a relationship between tables. Again, nothing I could not have modelled in regular text files. But it was easier to use a SQLite DB. Now that I am working on LazerBunny I can migrate all data to Postgres and use LB for easy access to information. I will likely write a few specific tools for querying instead of wasting time on RAG. And before you ask, yes, I put binary data into my databases. I know, I am a monster.
One constant theme is that everything could be done with text files. But it is always just a bit harder. What I do not want to dismiss is the value of using plaintext. But to me its biggest strength is not for daily operations, it is archival and backups. Every argument people use to advocate for plaintext is in my opinion a very valid argument for using it as a long term storage / archival / backup format.
This is also why I would not want to use Apple Notes for example. I do most of my work on a server and use my Mac as a (thin) client. I carry an iPhone. And Notes is an excellent note taking application that checks nearly all my boxes. But backups are a hard. I also occasionally need access to my notes on Linux, but this would be something I would be willing to compromise on right now - likely not in near to mid future.
My emails export neatly to text. Dumping and loading the content of a SQL DB to text is a well enough solved problem. And if every single tool fails I can grep my local backup directory and find what I need.
It took me a bit time to get here, but as of today I have to say I neither miss the plaintext lifestyle nor do I think it is worth going back to it for me. If you want to try going plaintext I would suggest BBEdit as an editor. One of the few tools that never lost any data. Even during a power outage, maybe a few words, but if it is in BBEdit I am fairly certain it will survive within reason. Another tool many people seem happy with is Obsidian. I am personally not happy about the way synchronisation across systems is handled.
If there is one takeaway from all of this: backup using plaintext.