Slabs of time

From Some Remarks: Essays and Other Writing by Neal Stephenson:

Writing novels is hard, and requires vast, unbroken slabs of time. Four quiet hours is a resource I can put to good use. Two slabs of time, each two hours long, might add up to the same four hours, but are not nearly as productive as an unbroken four. … Likewise, several consecutive days with four-hour time-slabs in them give me a stretch of time in which I can write a decent book chapter, but the same number of hours spread out across a few weeks, with interruptions in between them, are nearly useless.

I haven’t written a novel, and probably never will, but Stephenson’s remarks describe my experience doing math and especially developing software. I can do simple, routine work in short blocks of time, but I need larger blocks of time to work on complex projects or to be more creative.

Related post: Four hours of concentration

Randomized studies of productivity

A couple days ago I wrote a blog post quoting Cal Newport suggesting that four hours of intense concentration a day is as much as anyone can sustain. That post struck a chord and has gotten a lot of buzz on Hacker News and Twitter. Most of the feedback has been agreement, but a few people have complained that this four-hour limit is based only on anecdotes, not scientific data.

Realistic scientific studies of productivity are often not feasible. For example, people often claim that programming language X makes them more productive than language Y. How could you conduct a study where you randomly assign someone a programming language to use for a career? You could do some rinky-dink study where you have 30 CS students do an artificial assignment using language X and 30 using Y. But that’s not the same thing, not by a long shot.

If someone, for example Rich Hickey, says that he’s three times more productive using one language than another, you can’t test that assertion scientifically. But what you can do is ask whether you think you are similar to that person and whether you work on similar problems. If so, maybe you should give their recommended language a try.

Suppose you wanted to test whether people are more productive when they concentrate intensely for two hours in the morning and two hours in the afternoon. You couldn’t just randomize people to such a schedule. That would be like randomizing some people to run a four-minute mile. Many people are not capable of such concentration. They either lack the mental stamina or the opportunity to choose how they work. So you’d have to start with people who have the stamina and opportunity to work the way you want to test. Then you’d randomize some of these people to working longer, fractured work days. Is that even possible? How would you keep people from concentrating? Harrison Bergeron anyone? And if it’s possible, would it be ethical?

Real anecdotal evidence is sometimes more valuable than artificial scientific data. As Tukey said, it’s better to solve the right problem the wrong way than to solve the wrong problem the right way.

Related posts

Four hours of concentration a day

Man concentrating

As I’ve blogged about before, and mentioned again in my previous post, the great mathematician and physicist Henri Poincaré put in two hours of work in the morning and two in the evening.

Apparently this is a common pattern. Cal Newport mentions this in his interview with Todd Henry.

Now we also know that if you study absolute world class, best virtuoso violin players, none of them put in more than about four or so hours of practice in a day, because that’s the cognitive limit. And this limit actually shows up in a lot of different fields where people do intense training, that you really can’t do about more than four or so hours of this type of really mental strain.

And they often break this into two sessions, of two hours and then two hours. So there’s huge limits here. I think if you’re able to do three, maybe four hours of this sort of deep work in a typical day, you’re hitting basically the mental speed limit, the amount of concentration your brain is actually able to give.

He goes on to say that you may be able to work 15 hours a day processing email and doing other less demanding work, but nobody can sustain more than about four hours of intense concentration per day.

Update: The comments add examples of authors and physicists who had a similar work schedule.

Related post: Increasing your chances of entering flow

Increasing your chances of entering flow

I recently ran across a tip from Mark Hepburn that caught my eye. The content of the tip isn’t important here but rather his justification of the tip:

It sounds trivial, but it can really help keep you in the flow.

This line jumped out at me because I’ve been thinking about my work habits lately. Now that I’m self-employed, I have the opportunity to develop new habits. My excuses for not trying different ways of working have been stripped away. Maybe my excuses weren’t valid before, but it’s obvious that they are not valid now.

Small customizations like Mark mentioned are under-appreciated in part because they are trivial, at least when viewed one at a time. But the cumulative effect of numerous trivial customizations could be substantial. Together they increase the probability that you can act on an idea before it slips your mind and before you lose the will to pursue it.

Small customizations are also very personal, and so they don’t make good blog posts. I suspect that productivity bloggers primarily write about things they don’t actually do. They write about things that a wide audience will find entertaining if not useful. The little things that make a difference to the blogger may be boring or embarrassing to write about.

* * *

Instead of giving a simple list of related links at the bottom as I usually do, I’ll give some links along with commentary.

Henri Poincaré had a radical work schedule: one two-hour sprint in the morning and another in the afternoon. Some people look at that and think he put in half a normal work day. But if he had four hours of concentrated focus, I imagine he put in four times a typical work day.

Here are posts on changing how you type and how you use a text editor.

And here are a three posts on how mundane things are undervalued:

And finally, here’s a post on customizing conventional wisdom to your circumstances.

Fractured work

Vivek Haldar’s recent post Quantum of Work points out something obvious in retrospect: programming is intrinsically fractured. It does little good to tell a programmer to unplug and concentrate. He or she cannot work for more than a few minutes before needing to look something up online or interact with someone.

A quantum of work is the theoretical longest amount of time you can work purely on your own without needing to break out into looking up something on the web or your mail or needing input from another person. For most modern workers this quantum of work is measured in minutes.

At least that’s the default, the path of least resistance. But it’s not the only way to work. Software developer Joey Hess describes how he works here.

[My home] is nicely remote, and off the grid, relying on solar power. I only get 50 amp-hours of juice on a sunny day, and often less than 15 amp-hours on a bad day. … I seem to live half the time out of range of broadband, and still use dialup since bouncing the Internet off a satellite has too much latency, and no better total aggregate bandwidth. So I’m fully adapted to asynchronous communication.

Joey Hess cannot possibly work the way Vivek Haldar describes. It sounds like his quantum of work is measured in hours if not days. That would not be optimal or even feasible for some kinds of work, but it does suggest that we may not need to be as connected as we are. Maybe your optimal quantum of work is somewhere between the extremes discussed above.

If your quantum of work is 10 minutes, maybe you could increase that. This would require making some changes. Keeping your same way of working but trying to ration your time online would be frustrating and counterproductive. I think it’s significant that Hess says he adapted to working asynchronously. For example, I assume he keeps reference material on his local hard drive that others would access online.

Even if working offline is less efficient, it’s a good idea to be prepared to work that way when necessary. I was reminded of that this weekend. I was using some desktop software that depends on a server component. There was a failure on the vendor’s server and nobody at work to fix it, so I was stuck.

What are some ways to increase your quantum of work and to work less synchronously?

Related posts

Life lessons from functional programming

Functional programming languages are either strict or lazy. Strict languages evaluate all arguments to a function before calling it. Lazy languages don’t evaluate arguments until necessary, which may be never. Strict languages evaluate arguments just-in-case, lazy languages evaluate them just-in-time.

Lazy languages are called lazy because they avoid doing work. Or rather they avoid doing unnecessary work. People who avoid doing unnecessary work are sometimes called lazy, too, though unfairly so. In both cases, the term “lazy” can be misleading.

Imagine two computers, L and S. L is running a queue of lazy programs and S a queue of strict programs. L may do less work per program by avoiding pointless calculations. But it may accomplish more productive work than S because the time it saves executing each individual program is used to start running the next program sooner. In this case the lazy computer is getting more productive work done. It seems unfair to call the computer that’s accomplishing more the “lazy” computer. This also could apply to people. Sometimes the people who don’t appear to be working so hard are the ones who accomplish more.

A person who approaches life like a strict programming language is not very smart, and even lazy in the sense of not exercising judgment. Conversely, someone who bypasses an unnecessary task to move on to necessary one, maybe one more difficult than the one skipped over, should hardly be called lazy.

Related posts

Do you need a to-do list?

Jeff Atwood wrote the other day that if you need a to-do list, something’s wrong.

If you can’t wake up every day and, using your 100% original equipment God-given organic brain, come up with the three most important things you need to do that day – then you should seriously work on fixing that. I don’t mean install another app, or read more productivity blogs and books. You have to figure out what’s important to you and what motivates you; ask yourself why that stuff isn’t gnawing at you enough to make you get it done. Fix that.

I agree with him to some extent, but not entirely.

The simplest time in my life was probably graduate school. For a couple years, this was my to-do list:

  1. Write a dissertation.

I could remember that. There were a few other things I needed to do, but that was the main thing. I didn’t supervise anyone, and didn’t collaborate with anyone. My wife and I didn’t have children yet. We lived in an apartment and so there were no repairs to be done. (Well, there were, but they weren’t our responsibility.) There wasn’t much to keep up with.

My personal and professional responsibilities are more complicated now. I can’t always wake up and know what I need to do that day. To-do lists and calendars help.

But I agree with Jeff that to the extent possible, you should work on a small number of projects at once. Ideally one, maybe two. Not many people could have just one or two big things going on in their life at once, but more could have just one or two things going on within each sphere of life: one big work project, one home repair project, etc.

Jeff also says that your big projects should be things you believe are important and you are motivated to do. Again I agree that’s ideal, but most of us have some obligations that we don’t think are important but that nevertheless need to be done. I try to minimize these — it drives me crazy to do something that I don’t think needs to be done — but they won’t go away entirely.

I agree with the spirit of Jeff’s remarks, though I don’t think they apply directly to people who have more diverse responsibilities. I believe he’s right that when you find it hard to keep track of everything you need to do, maybe you’re doing too much, or maybe you’re doing things that are a poor fit.

Related posts

It’s not the text editor, it’s text

Vivek Haldar had a nice rant about editors a couple days ago. In response to complaints that some editors are ugly, he writes:

The primary factor in looking good should be the choice of a good font at a comfortable size, and a syntax coloring theme that you like. And that is not something specific to an editor. Editors like Emacs and vi have almost no UI!

To illustrate his point, here’s what my Emacs looks like without text:

There’s just not much there, not enough to say it’s pretty or ugly.

When people say that Emacs is not pretty, I think they mean that plain text is not pretty.

For better and for worse, everything in Emacs is text. The advantage of this approach is consistency. Everything uses the same commands for navigation and editing: source code, error messages, directory listings, … Everything is just text. The disadvantage is that you don’t have nicely designed special windows for each of these things, and it does get a little monotonous.

When people say they love their text editor, I think they love text. They prefer an environment that allows them to solve problems by editing text files rather than clicking buttons. And as Vivek says, that is not something specific to a particular editor.

Related posts

Work or rest

According a recent biography of Henri Poincaré,

Poincaré … worked regularly from 10 to 12 in the morning and from 5 till 7 in the late afternoon. He found that working longer seldom achieved anything …

Poincaré made tremendous contributions to math and physics. His two-hour work sessions must have been sprints, working with an intensity that could not be sustained much longer.

I expect most of us would accomplish more if we worked harder when we worked, rested more, and cut out half-work.

Bicycle skills

A while back I wrote about learning things just-in-case or just-in-time. Some things you learn in case you need them in the future, and some things you learn as needed.

How do you decide whether something is worth learning ahead of time, or whether it is best to learn if and when you need it? This is a common dilemma, especially in technology. There’s no easy answer. You have to decide what is best in your circumstances. But here’s a suggestion: Learn real-time skills and bicycle skills in advance.

A real-time skill is something you need for live performance. If you’re going to speak French, you have to memorize a large number words before you need them in conversation. Looking up every word in a English-French dictionary as needed might work in the privacy of your study, but it would be infuriatingly slow in a face-to-face conversation. Some skills that we don’t think of as being real-time become real-time when you have to use them while interacting with other people.

More subtle than real-time skills are what I’m calling bicycle skills. Suppose you own a bicycle but haven’t learned to ride it. Each day you need to go to a store half a mile away. Each day you face the decision whether to walk or learn to ride the bicycle. It takes less time to just walk to the store than to learn to ride the bicycle and ride to the store. If you always do what is fastest that day, you’ll walk every day. I’m thinking of a bicycle skill as anything that doesn’t take too long to learn, quickly repays time invested, but will never happen without deliberate effort.

When you’re under pressure, you don’t learn bicycle skills. You don’t make long-term investments, even if the “long-term” is 30 minutes away. I’ll just walk, thank you.

What are bicycle skills you need to learn, things that would save time in the long run but haven’t been worthwhile in the short term?