Sunday Selection 2013-05-05

Happy Cinco de Mayo and Orthodox Easter everyone. Last week has been a bit quiet as far as reading is concerned. I have a hefty backlog in my RSS that probably won’t get cleared till next week. But here’s the pick of what I did read and discover:

Around the Web

10 Rules of  a Zen Programmer I’ve been doing meditation on a regular basis over the past few weeks and it’s been an interesting experience. I definitely feel calmer throughout the day and it’s getting easier to sit down and focus on tasks I would normally procrastinate on. This article agrees closely with both what I’ve been experiencing while meditating and as a programmer. I’m not a Zen practitioner, but you don’t have to be one to use the information this article provides.

I’m still here: back online after a year without the Internet This is the last (I think) in a series of articles by a journalist who spent a year offline. It’s an interesting read, though it ends on a very weak note. The author’s experience seems to agree with my own views on the matter: the Internet (and technology in general) is a tool and it’s up to us to use it best. Using it, or not using, is not suddenly going to make us a better or worse person. It’s up to us to use these tools according to our desires and help realize our potential.

Star Wars: Online review culture is dotted with black holes of bad taste This articles looks at the rise of popular review sites (focusing on Yelp and Amazon) and discusses how the reviews on these sites are often less then helpful to the point of negating the importance and usefulness of a review. There’s research going on at Cornell on better analyzing online reviews and review systems so this article was particularly interesting to me. While there’s something to be said for the usefulness of multiple opinions from different viewpoints, sometimes you just want an authoritative answer from an expert about the quality of a service and product, and that’s increasingly difficult to come by.

Software As the end of the semester approaches and the amount of stuff I have to get done explodes, I’ve been starting to use the Pomodoro technique to keep on top of things. is a simple timer that counts off 25-minutes intervals. If you sign in using Twitter or Github, you can keep a record of what you’ve been doing in those intervals.

Combining timeboxing and the Pomodoro Technique

I’ve been reading a lot about performance and flow recently and there are two things that have become abundantly clear to me: Becoming really good at something requires lots of time and effort (about 10,000 hours). But it’s not just raw effort, it’s deliberate practice — effort that keeps pushing you to become better. At the same time, you do your best work and feel best when you are engaged in flow — when you’re involved in something so deeply that you lose track of time and suspend all the worries and concerns of daily life. I think these two ideas go hand in hand. You must put in a lot of hard work, but that work must be done in focused blocks of time. Working for 10 years while being constantly interrupted by tweets and email won’t help you and neither will working for 2-3 hours once a week.

I’ve been trying to pull these ideas together in my daily life. I’ve written about how I’m doing some amount of reading, writing and programming everyday. Some days are better than others, but on the whole I’ve been doing pretty well on that front. Though come to think of it, I haven’t been keeping strict records and maybe I should start. Luckily for me, this semester I actually have long blocks of time uninterrupted by class or activities that I can use to get real work done. I’ve recently started apply two time management techniques — Pomodoro and timeboxing — to help get into flow and make the most of these blocks.

Timeboxing is a technique where you a set aside a fixed block (or box) of time to a single task. When that block of time is over, you stop. You can take a few seconds to finish that sentence or do one last compile, but nothing more than brief touches. If you finish earlier you can start on the next box or take a break. The beauty of this is that you’re focusing on time spent, not tasks completed. By doing so you’re fighting off Parkinson’s Law — works expands to fill the time available. You have control of the immediate time spent and if you need more time you can allocate a box later. This prevents you from suddenly spending hours and hours on something you thought would be done quickly.

I’ve found this most effective with homework. I have homework due for my Networks class on Monday or Wednesday afternoon. But I also have mornings free on those days. I set a timebox from 9am to noon and this forces to get up in time and work straight through those 3 hours without getting distracted. It also helps focus my mind — I’ve been able to get through homework sets with 25+ problems in those 3 hours. I’m often done in about 2 hours which gives me time to ask the professor or friends if there’s something I’m stuck on. I should note that I’ve done the reading beforehand and not doing it would slow me down.

I’ve also started using timeboxes for my thesis and programming projects, but the results are a bit harder to measure. One problem that I’ve run into is that I get really tired if I make my brain work for 3 hours straight. If I can’t solve a problem or get hit by an obscure bug I get frustrated and my productivity dives. So I combine timeboxing with the Pomodoro Technique.

I break down each block into smaller 30 minute chunks. In each chunk I spend 25 minutes working and the remaining 5 minutes taking a break. And by that I mean a real break. During those 5 minutes there is no email or Facebook. I check Twitter but if there is something interesting, I favorite the tweet for later instead of following it right then. Mostly I take a walk, do some stretching, rest my eyes and get a drink of water.

The 5 minute break is great because it lets me disconnect for a while but doesn’t break my flow. I’ve found that I become tired less easily and if I run into problems, the break stops me from getting frustrated. I try to align my breaks with work boundaries — I’ll wait till the end of the paragraph or section before I take a break. If that requires me to push the break back a few minutes that’s fine. Using this method I can work for about 4 periods (2 hours) on the same major task. During the 5th one I start to feel myself getting tired so I start winding down. I’ll go onto a 6th period if I know it’s only wrapping up — backups or cleaning up code, stuff that doesn’t require full brain engagement. After the sixth period I need a longer break. Since I rarely have blocks of time longer than 3 hours that’s not a problem.

By combining Pomodoro and timeboxing I’m trying to get the best of both worlds — I have long, mostly uninterrupted periods where I can get into the zone and pump work out. At the same time the little breaks help me to disconnect for a bit, freshen up and then get back to work. I’ve found that I can get a lot more done in a fixed amount of time. It’s still early days but I plan on sticking to this for the rest of the semester and maybe into graduate school.