Organising Things

Posted on June 7, 2016 by Richard Goulter

From the wisdom I’ve picked up so far:
Computer Science is about managing complexity.
Programming is about breaking larger, complex problems down into smaller, solveable problems. (Which involves Naming, Abstracting, Composing).
The best program is no program; second to that, the best program is a small a program as possible.
When coming up with a data-structure/algorithm for a problem, it helps to consider what operations you often do, and to make these as cheap as possible.
The tools you use are related to how you think about the problem, to how you model the domain.
The more specific a problem you solve, the more ‘elegant’ your solution can be.

I’d like to give some considerations in this post about organising things.
– Maybe it helps to consider that, in the above: “program”, “code”, or “tool” work interchangeably.

At the moment I’m writing a program to track/organise where I’ve spent my money[1]. Part of this ‘organising’ would involve categorising/tagging expenses. (e.g. “Spent 100 on Steam” prob’ly not as essential as “Spent 10 on phone top-up”).

In a sense, “organising stuff” is rather an ubiquitous problem. (Wisdom from my Algorithms professor: algorithms are boring, but algorithms are everywhere). – Here I’d like to consider just the organising for consuming content:

Webpage Bookmarks

There are basically two ‘operations’ you need when dealing with links:

If you were to store every webpage you ever read, with all the meta-information you’d later value, then your “organisation problem” is solved. The trouble is, or the trade-off you’d have to pay to get this, is it’d be an expensive chore to bookmark literally everything. (Also, it’s tough to know what you’ll find interesting about the link much later on).

– My current ‘approach’ to this is basically only saving bookmarks after I find I’d refer to “something I read months ago”. That’s a somewhat expensive ‘cache-miss’. (“searching browse history” would work for this if you only ever use one computer/OS/browser..). (As well as saving “obviously interesting” things, like programming tutorials, or things that’d’ve been useful in previous arguments).

The ‘tools’ helping me with links at the moment:

– There’re other tools/techniques people can use (e.g. HN/Reddit, or sharing aggregates of links on a blog), but the above works for me. (Twitter in particular, while full of tribal garbage fires of cancer, is also pretty good at content discovery; stuff which is popular on HN/Reddit can find its way onto Tweets, too).

Tags & Tag Atrophy

Pinboard uses ‘tags’ for organising things, rather than hierarchical categories.
Tags are less constrained than categories. (Bookmarking by folders/subfolders is more disjoint, say). And you could emulate categories using tags if you’d like.

– The main disadvantage to tags is the ‘atrophy’.
I find there’s a bigger difference between what tags you’d think something you stored would have compared to what category you’d expect to find it in. (I’d think there’s some atrophy to categories, too, but not as quickly, not as badly).
– Pinboard does let you ‘organise’ through your collection (or subset of) to quickly edit through your bookmarks; that strikes me as a useful tool.


With books, the problem isn’t particularly “how can I recall what I’ve read” (although this is useful for non-fiction); it’s “how do I organise what to read next?”.
– This’ll vary depending on how you read (& seek books to read). Maybe it’s ok to consider a TBR (or even “want to read”) pile as large/unsorted. But “what’s a book I’d enjoy” is a similar question. – For myself, I recently got around 30 books from a Kobo sale, whereas before I’d usually not keep a TBR pile of more than 2-3.

The Kobo eReader apps ought to have bookshelves. (IIRC, the iOS version does, the Windows Phone version doesn’t). Bookshelves do the job as well as can be hoped, although adding/removing books to shelves can be quite clunky/awkward.

I like GoodReads; at least for rating books/reviewing.[2]
– GoodReads lets you mark a book as “Want to Read”, “Currently Reading”, or “Read”. – I’d consider “TBR” as “book I own” (or “book I’ve been issued from the library”), which fits somewhere between the first two. (“DNF” is another state, somewhere between the last two). – GoodReads does let you add arbitrary shelves, so it’s common to emulate these states as shelves.

In terms of discovery, both vendors like Kobo and review sites like GoodReads can (try to) compute/guess what books you might like, based on what books you’ve liked already. – Without information like that, it’s hard to consider tools which could improve that problem.
– I guess, drawing analogy to finding interesting links on Pinboard: for fiction, if users tagged books by their tropes, then you could search a trope to find similar books. (Sounds kinda like this I guess?).

[1] “Writing my own” is perhaps NIH Syndrome; but other solutions I’d tried for this didn’t stick.

[2] …And just like LinkedIn, I’m not drawn to visit it unless I’ve some action to perform on the site. “Glorified Book Spreadsheet” is one way to summarise this common usecase of GoodReads.

Newer post Older post