As part of my overall effort to reduce my digital footprint and open up some negative space, I have chosen to optimise my workflows around plain text. At this stage it feels like a throw back to the www project but that’s ok.
Why Plain Text?
The Pragmatic Programmer Keep Knowledge in Plain Text
I’m a little late to the plain text party. It allows me to own the physical artifacts of writing rather than having them hosted or abstracted away by GUI applications and web services. On the physical file system they are much faster to edit and search. By reducing reliance on third party and usually proprietary solutions, I have discovered more opportunities for tailoring workflows to common problems. At core of my switch is the revelation that the bulk of my own computing tasks are to rapidly store, access and manipulate textual data. Most services provide dressing around these simple actions. I will explain how I use plain text for task management, code editing and posting.
Furthermore, from a developer point of view, it is very interesting to explore development by taking a journey through the history of computing via the unix route.
Plain Text IDE : Sublime > VIM
I have also reduced reliance on GUI IDE’s for most non compiled code and spending more time editing in VIM. Having put in some time to tackle the initial learning curve, I have begun to experience some productivity gains. I wouldn’t say it is for everyone; a mouse driven UI can in many situations beat a keyboard if the user is a slower typer. But if you are fast on the keys and put in the time to build the muscle memory then you can profit from the efficiency of plain text editing in VIM.
See this great writeup on the time tested powers of vim.
Plain Text Notes: Evernote > NValt
Evernote is hefty for quickly taking down a few ascii characters of notes. I am using a simple folder of text files with nValt and Dropbox. Evernote still has a place for the bulk of my notes due to it’s support for images and web clipping. However nValt provides the fastest mechanism for the storage and retrieval of plain text notes with good support for markdown.
Plain Text Blogging: Wordpress > Jekyll
I’ve switched to static site generation with Jekyll. I version control the theme in GIT and symlink to a directory of plain text files in Dropbox which provide the content for posts. This ensures posts are synced between all devices and provides backup and version control (one year worth of versioning with packrat upgrade). I edit with nValt/Folding Text on the Mac and Byword on the go. Watch tasks are available to preview the site locally and I use a one liner to publish remotely via rsync + ssh.
The posting process as well as the overall responsiveness of the site is far more streamlined as there are no more database calls and all extraneous visual noise has been removed. This could be further improved by using dropbox on the server and avoiding the ssh push1
Plain Text Task Management: Omnifocus > Taskpaper