nvpy 1.0.0 has been released!

Oh happy day!

Last night I released version 1.0.0 of nvpy, a cross-platform (linux, mac, windows) simplenote-syncing note-taking app. nvpy is also my most popular open source baby, at least by github stars and forks.

Screenshot of nvpy 1.0.0 with a demo database of notes.
Screenshot of nvpy 1.0.0 with a demo database of notes.

Since I first released nvpy in 2012, automattic have released their own official open source desktop app for simplenote. Although the official app is prettier (it is electron-based), nvpy is faster and uses a fraction of the RAM (70MB RSS vs 1000MB+ RSS). Furthermore, nvpy’s syncing is more deterministic: You can see exactly when and how it syncs.

Personally, I use nvpy on my Linux and Mac workstations and laptops, and the official simplenote apps on my Android devices for the text-only notes I always need to be with me.

I am currently planning to write a new sqlite-based storage backend for nvpy, which should greatly speed up its interactive note-searching.

Note-taking strategy early 2016

I’m probably what one might call an obsessive note-taker.

I’ve talked in the past about the importance of keeping a lab journal. Initially I produced a stack of books filled with hand-scribbled notes. Although this is my favourite authoring modality, the fact that such notes can’t be easily indexed and queried (maybe one day?!) soon leads one to try electronic solutions. Over the years I’ve experimented with a number of different tools (see under “Nerd News”) to do this.

This post summarises my current selection of tools.

For making notes with a visual aspect, for example photos of beers that I’ve tasted, and sometimes screenshots of websites, I use Google Keep. This has a really great Android app with which you can easily save a website, including screenshot, using the Android “share with” functionality. On the desktop, this has a web-app that looks like this:


One of the neat features of Keep is that you can easily have it extract and OCR text from images, for example if you’ve taken a photo of a business card. Unfortunately, the web-app is quite sluggish (this could be because I live in a bandwidth-constrained world here at the southern tip of Africa), and there’s no web clipper with which I can easily save web pages whilst on the desktop. Furthermore, I find the layout to be quite chaotic, and therefore I treat it more like my similarly chaotic digital cork board.

After a two year hiatus, I’ve returned to the SimpleNote universe as my core mobile and desktop note-taking tool. They have great apps on IOS, Android, Mac and Web. I use the super sleek, some might say austere, SimpleNote Android app (recently rewritten when Automattic, makers of WordPress, bought Simperium, makers of SimpleNote) and on the desktop I mostly use nvpy, my open source SimpleNote client. The latest greatest version (0.10.0, soon to be released) looks like this:


Because SimpleNote is text-only, and it’s a fully synced offline-capable tool, it’s nice and fast. This is the tool you want to use to store those small but useful factoids, quotes and code snippets.

For more in-depth and technical lab journals, I use GNU Emacs with Org mode. This enables me to write documents with beautifully typeset math, syntax-highlighted and in some cases even live-evaluated code blocks, and good document structure, all in plain text. Here’s a sample of my November 2015 lab journal where I started reading about and experimenting with a bit of D language:


Parts of these journals can be sent directly to your WordPress blog from within Emacs, and you can generate high quality PDFs at the press of a typical simple 12 key Emacs shortcut combo. This being Emacs, the experience can be easily customised to emulate SimpleNote in terms of interactivity, but this will not easily compete with SimpleNote proper in terms of transparent syncing between all devices and in terms of accessibility on mobile.

Using these three tools together currently takes good care of my note-taking requirements. However, I think that there might be room for a fourth type of tool that is more visual, supports rich and graphical linking between data items and even between sub-components of such items and, perhaps most importantly, enables us to build note landscapes that are natively as non-linear as our thoughts.