Taming the TMI Beast through To Do Lists

27 July 2019

What was that errand I had planned after work tomorrow? When's my next dentist appointment? Which friend wanted to borrow my car this weekend?

I cannot remember everything I'm going to do today, let alone this week, or next month. There's too much information (TMI!). Rather than rely on my memory or a huge collection of email, I want to organize my information, and make it optimally useful at minimal cost.

I've already talked about how I do this with my Memory Palace. The tool I use most, however, is a to-do list.

The Hourglass

There is never enough time

I have too many things to do. I'm sure this is unique to me. Surely no one else is busy, overworked, or juggling too many responsibilities. Right? Right.

Because I'm one of those weirdos with too much to do, I try to be prudent with my time.

That means:

  • I want to do each task as efficiently as possible
  • I want to get more things done in the same amount of time
  • I want to do each task with less and less mental effort over time.

The Magic of Context

comic courtesy of Jason Heeris

People are terrible at multitasking. Therefore, one way to be very productive is to group together like-minded things together.

For example:

  • Pay my rent on time. And my garbage bill. And my phone bill. And my credit card bill, while you're at it.
  • Cook food for the week. While I'm at it, make a vat of tea. And cut up fruit for snacks
  • Get groceries after work. Oh, and don't forget to get some WD-40, you're running low. Oh, and pick up that tent from a friend.
  • Do my workout in the morning, as soon as I wake up. Oh, and shave right after. Might as well trim my nails then, too.

When I group together like-minded tasks, I can do them with less effort overall. Tasks in the same context flow together.

The Elephant and the Mouse

One of the most useful books I've ever read is Thinking, Fast and Slow. It describes a person's mind as a mouse riding an elephant.

The mouse (your conscious mind) is trying to direct the elephant (your habits & instincts). Most of the time the elephant goes where it wants. The mouse can steer very gradually (i.e. forming habits) or by sheer force (i.e. willpower). In the latter case, the mouse will quickly exhaust itself.

This describes my daily life perfectly. I have a limited supply of willpower (like everyone else), and must allocate it wisely. I have found 2 approaches that work well:

Proactively Form Habits

I'm very much a creature of habit, and that has served me well. For example, my big push this year is to focus on my health, and so I've been slowly making a habit of meal prepping, sleeping enough, taking breaks, cycling, working out, and rewarding myself for good behavior.

Baby Steps

The second approach is 'baby steps'; I will break a task into tiny, trivially easy to do pieces. It's then easy for me to breeze through them, because the mental effort involved in any single step is miniscule.

The Tool

I had a few requirements for a to-do list tool, based on how I organize tasks:

  • Works on all of my devices (laptops, smartphone, desktop) and stays in sync
  • Supports prioritizing tasks, at least a bit (high, medium, low)
  • Has support for tasks with due-dates
  • Supports recurring tasks
  • Has enough organizing structure that I can easily segment my tasks by context

I've experimented with several different approaches over the years, including:

However, none of these had enough organizing structure, or the right design for a to-do list. It was only last year that I found a really good tool: Todoist.

I was initially skeptical, since I'd used Wunderlist, and it didn't let me segment/cluster items enough. The breakthrough was reading about a Getting Things Done blog post by Vernon Johnson, describing his Todoist setup.

Todoist

Todoist is quite simple. You can create tasks. Each one can belong to a project, have tags, a due date, a priority, and can be recurring or not.

I set up my projects to be categories (e.g. music, work, travel, house, friends)

Grouping

The most natural grouping for me is by time:

  • Morning tasks (before work)
  • Midday tasks (during the work day)
  • Afternoon tasks (right after work)
  • Evening tasks (once I'm back in my house)
  • Quick tasks (takes less than 10 minutes)

Tags are how I make this magic happen. I'll tag a task with @morning, and I will see it when I roll out of bed and check my 'Morning' list.

Let's say I want to work out three mornings a week. I can create three recurring tasks, one for each day of the week, and tag them with 'morning',

Here are my tasks this afternoon:

...and some of tomorrow's tasks, organized by project:

But Beware...

It's very, very, very tempting to use productivity tools to get more done. However, that's a cycle without an end; you'll end up doing more, instead of getting time back.

"When everything is important, nothing is"

To decide what to do, decide on what's important. That means making conscious choices on what is not important. If you're like me, it's painful to decide that a whole category of things isn't important (e.g. 'house repairs', or 'travel').

I cannot overstate how valuable it is, though. I decide on my priorities every month, and change what I do as a result.

I use a mnemonic when adding/changing tasks:

  1. Leave - Do I really need to do this? Is it really important to me? If not, can I get rid of it, or leave it for a later month?
  2. Link - For this task, what other tasks are similar? Does it make sense to link them together?
  3. Limit - How can I keep limit this task's time/scope/effort? Can I break it into pieces?

The result? I can be really damn productive, and then I can stop and enjoy life.

Permalink

Wikidly Taming the TMI Beast

12 July 2019

What's your favorite way to pack for a weekend trip? What has experience taught you about how to build AWS Lambda layers? What's the name of that you wanted to get at IKEA?

It's impossible for me to remember everything; there's just too much information (TMI!). Rather than resort to a drunkard's search, I want to organize my information, and make it optimally useful at minimal cost.

The Memory Palace

One of my primary organizing tools is a personal knowledgebase, a form of external memory.

Since it's a way for me to organize huge amounts of information, I think of it as a memory palace.

Kubernetes

Let's look at an example. I was recently building a Kubernetes replicaset, and had to remember details about network overlays, Vault secrets, and health checks. There were two ways for me to do this:

  1. Remember it, by using memory techniques
  2. Access it quickly, either via search, or by other methods of information retrieval.

I knew about the incredible effectiveness of checklists, so you can guess which option I went with...

Requirements

Knowledge bases have a few traits:

  • Most of the information is static or infrequently changing.
  • There's a large variety of content, including text, videos, tables, graphics, and audio.
  • There are lots of references to public information: news websites, software documentation, and YouTube videos.

It was pretty clear that I needed a wiki, a common kind of transactive memory. There are other options...sort of.

I had some feature requirements for a wiki:

  • Highly secure. I'll be putting personal information on here, snippets of work code, even notes on my relationships.
  • A design, build, and deploy time of less than 3 days.
  • A simple design.

In addition, I had some technical requirements:

  1. All data is stored in files, and only in files. No backend database required
  2. Support for Markdown formatting
  3. Can run on OS X
  4. Free and open source.

After taking a look at dozens of different options, I had a shortlist: MDwiki and Wiki.js. Of these two, only MDwiki had all the features I wanted.

Unleash the Dev

Thankfully the installation and setup for MDwiki is very, very simple. I was able to get a basic setup working in about an hour.

I've published my installation instructions and basic on GitHub. There are also a suite of Layout and Gimmicks features I haven't experimented with yet.

Success!

The results were everything I could hope for...

A few features stand out:

  1. Simple design. My data is stored in Markdown files, and Dropbox syncs everything.
  2. Low power usage. The only service running is Nginx, which is famously efficient.
  3. Secure by default. None of the data being served leaves my computer, except via Dropbox sync. When I browse to my site, I am connecting to localhost:1138
  4. Easy to browse. I put in only the structure I need.
  5. Easy to change. All I need to do is edit a Markdown file. Doesn't get much simpler than that.

4 of the goals in my previous post, were relevant to this work:

  1. Ability - Enable me to do what I want to do at any time, with the minimum amount of structure or interruptions.
  2. Search - Enable me to find all the information I need, and only the information I need, in less than 10 seconds
  3. Additions - Be able to add new information or structures in less than 30 seconds
  4. Privacy - Serve only me. I want minimal risk that this information will be used against me in the future.

The only goal not natively supported is Search. Though I can still search the wiki contents using Spotlight.

I have one outstanding security bug, because browser CORS restrictions don't work for localhost.

This tool does exactly what I want it to.

In future posts I'll go over yet more tools, habits, and topics to scaffold my intellect. Stay tuned!

Permalink