22 August 2011 by Published in: Lifehacking, rants 1 comment

So here’s the problem.  You’re not going to read all the things.


You’re not going to read all the HN articles.  You’re not even going to read all the interesting HN articles.  You’re not even going to read every #1 HN article.  There are too many articles.  You have too many things in your RSS feed.

You’re not going to listen to all the podcasts.  Not even all the Mixergy podcasts.  You’re not going to watch all those movies on your list.  You’re not even going to read all your (non-spam) e-mails.  You’re not even going to read all the subject lines.  Not even all the subject lines just from today.  You have too many e-mails and too many podcasts.

You’re not going to finish all those projects you have on the back burner.  You’re not going to read through the complete works of J.R.R. Tolkien.  You’re never going to finish that book you started six months ago and have been “waiting for the right time to pick back up”.

There are too many things.

These are from just my iTunes library for just unwatched podcasts that are work-related.  Why are these in here?  I’m not going through all these.  Even though they’re all really good actionable information that would probably change my life.

There’s not enough time to do all the things.  If you try, you will never have time to do anything.  

Knowledge is a deceptive rabbit hole.  One part of knowledge is science.  So far, so good.

One part of science is computer science.  A relatively recent, and perhaps debatable “science”, but OK.

Inside computer science (arguably other fields, go with me here), we have graph algorithms.  Just off the top of my head, A*, B*, Bellman-Ford, Dijkstra’s, Floyd-Warshall, IDA*.  Wikipedia lists an impressive number of algorithms, not to mention useful algorithms that remain undiscovered, not to mention subcategories (e.g. 8 separate articles on the Traveling Salesman Problem).  And we’re just talking basic graph traversal here.

Inside graph algorithms, we have graph drawing algorithms.  Which is a bonda fide field.  With the sole purpose of picking x,y coordinates for nodes and edges.  Including such algorithm categories as force-based, spectral, Sugiyama, and huge sets of application-specific graph drawing algorithms e.g. specifically for FSMs.  Not to mention all the actual algorithms in all those categories.

Inside of graph drawing algorithms, we have orthogonal graph drawing algorithms, the art of drawing graphs with horizontal and vertical lines only.  This exciting subfield has over 200 papers published discussing the finer points of the state of the art for drawing graphs with this limited toolbox.

And it turns out that the application I was originally interested in when looking into graph drawing was a special sub-sub-field of the subfield, in which the x coordinates of the nodes are fixed and only the y-coordinates are free.  This sub-subfield is totally unexplored.  I am actually doing original research into a totally unexplored sub-subfield of computer science!  Charting new territory on the fronteirs of some obscure corner of human knowledge!  Well, either that, or trying to skim all the HN articles.

But this is not a rant about time management!  It’s about a cognitive defect.  Here is the defect:  you underestimate the number of things.  “Science” sounds easy.  “Computer science” sounds like something you spend a few years studying.  Once we move into “graph algorithms,” well, Knuth’s still working on it.  “Graph drawing algorithms” and we’re talking about multiple lifetimes of research.  And when you get down to my sub-sub-field of fixed-x-coordinate orthogonal graph drawing, the sum total of human effort for the last 150,000 years has not produced a single paper on the subject.

But science is not unique.  You can follow the same tree of knowledge for art, for philosophy.  For business.  For pop culture.  For “Law & Order” episodes.  For musicals.  For progressive metal released during prime-numbered years.  For any sufficiently complex subject, you underestimate the number of things.  If you have trouble imagining how deep the rabbit hole for (say) interior design goes, imagine the shock your interior designer would be upon teleportation to the International Symposium on Graph Drawing.  Then consider your equal and opposite shock upon Knuth’s 4B being suddenly replaced with the definitive resource on Culturally Senstive Design for Long-Term Care Facilities.  Everybody takes their corner of human knowledge seriously, even the Battlestar Galactica people.

What do we do about this?

Well, complexity is beauty, so don’t take the fact that there are so many interesting things as the second horseman of the apocalypse.  The question is only in our response.  Do we stress out about the unread items in the inbox?  Do we go full RMS and unplug the internet?  Or is there a more mundane solution?

1.  Start being honest with yourself when you add things to lists.  Are you ever going to make any progress on that reading list or is it just going to be unbounded growth of the list?  Is the rate of addition to the queue faster than the rate of dequeuing?

2.  Start dedicating fixed time to things, instead of focusing on a fixed quantity.  e.g. “I’m going to read 5 hours a week”, not “I’m going to read all the things in my RSS reader.”  And pick the best things to read in those five hours, don’t just sync your reading speed to somebody else’s writing speed.

3.  Follow your natural curiosity.  It’s guided humans successfully for 150,000 years.  Some days, I really want to work on graph algorithms research, other days, I really want to catch up on Mixergy.  Following your brain’s natural curiousity makes you maximally productive.  Within reason, of course.

4.  In order to hit #3 effectively, design your life in such a way that you have 3-5 good options for what to work on each day.  It’s hard to be disciplined about this, but it is definitely worth it to have enough varied things to do that you can be doing the #1 favorite thing at the moment, 90%+ of the time.

It’s okay that I don’t have time for all the things.  I can still write lots of cool software, read lots of cool blog posts and books, listen to lots of great podcasts, and learn lots of awesome things.  I can do all of that without being stressed about the 20k+ e-mails a year I won’t read, the thousands of great blog posts I’ll miss out on, and the hundreds of projects I’ll never build.  If I focus on the things I do, instead of the things I miss, I will get exactly as much done.  And be a whole lot happier.

Want me to build your app / consult for your company / speak at your event? Good news! I'm an iOS developer for hire.

Like this post? Contribute to the coffee fund so I can write more like it.


Comments are closed.

Powered by WordPress