Monthly Archives: February 2015

Programming Your Productivity

Our world is increasingly shaped by software, and I want to prepare my son for this digital future.

In planning my homeschooling approach, I like to play with different ideas. Recently, I wondered “How could one teach the powerful technique of Monte Carlo simulation to a group of 8 year olds?”

I came up with a rough approach that would work with a small group of 9 or more kids, using dice, strips of paper to be passed around, and a (hopefully fun) sequence of actions. My hope would be that the group as a whole would be able to converge on an answer, without any individual discovering it.

The idea of personifying computation is an interesting way of teaching it. But it triggered another thought: what would it look like if we actually used computation as a model for our behavior?

It’s not as silly as it sounds. We all have systems in our lives, chaotic as they might seem. We do certain things and not others, we do some things in a given order. And everyone’s system could be improved in some way. So I wonder…

What if we designed productivity systems
the way we designed software?

Continue reading Programming Your Productivity

What if instead of projects, you used questions to guide you?

My PhD started with an intriguing question: “Why do DNA and other charged polymers attract each other in certain conditions?”

It’s not just counter-intuitive (like-charges should repel), it also goes against the results of simple calculations that you would make for the system.

At first, the question was exciting. A mysterious phenomenon, one that once unraveled might have wide-reaching implications, such as new possibilities for medical implants, or preventing cystic fibrosis patients from drowning in their body’s own fluids.

It was decided (note the passive tense), that “a good project” would be to extend some simulation results published in 1997, using the much greater computational resources available today.

Two years later, I had lost all enthusiasm. My project had stalled. None of the simulations I wrote produced any meaningful results. Nothing I read on the subject of “like-charged attraction” made any sense to me.

I had always assumed that I simply got bored with the drudgery of research. But I recently realized the truth:

My PhD died the minute it stopped being a question and became a “project”.

Continue reading What if instead of projects, you used questions to guide you?

Global Software

We see the internet as being a global network, a level playing field, a way to access all the information and tools we need.

If “we” refers to English speaking members of developed countries, then you’d be correct. But for the majority of the world, that is not true.

I believe that we as creators of software have a responsibility to change that, and I want to do my part.

A big company like Evernote can have its website and tools available in 24 languages, which is great. But what can tiny independent software vendors like me do to make software truly global?

The answer is simple: “Try.”

Continue reading Global Software

Use Perfectionism to Achieve Flow

If you struggle with perfectionism, I understand how you feel. For years, I’ve seen perfectionism as my biggest weakness.

But what if there was a way to work better with perfectionism?

What if perfectionism is not a weakness,
but instead a misused strength?

For me being a perfectionist means living in the constant strain of the gap between what I can envision, and what I can create. And my vision grows faster than my skills, so my choices are: finish imperfectly or not at all.

The common advice is to just “push through” and keep releasing imperfect work until you’re finally able to close that gap.

It seems like sound advice. But taking this approach, it will be years of strain until you get to feel the joy of finishing work and being proud of it.

I will not accept that for myself, and neither should you.
There must be a better way…

How Often are You Proud of Your Work?

Here’s something you may have forgotten:

Pride in your work has nothing to do with its external quality.

Imagine a painter who frequently takes a knife to her work, to the horror of those around her. “Stop! It’s great work!” they say, but she trashes it all the same.

Now imagine a first-time potter, who tries and fails repeatedly to make a small bowl. When he finally finishes, he beams with pride over his misshapen “bowl”.

So which is the perfectionist: the painter or the potter?

They both are.

Why the difference then? Why is one disappointed and strained, while the other is proud and content? Is it temperament? Naivete? Does the painter feel the weight of expectations, while the potter has none?


I spend a lot of time on the floor with my son Zeno, playing with Duplo blocks. I’ll build spaceships or helicopters at his request. He’ll be making random irregular towers, and declaring them to be a “bird”, “elephant”, or “dinosaur”.

He concentrates intently, and when he’s done he’ll clap his little hands and say “Yaay, [z]eeeno!” as he looks at me with a deep and genuine pride.

It seems  we are born knowing this, but somehow forget:

Quality is always relative.

He doesn’t care that my blocks are “better”. He doesn’t care that his aren’t as good as he will later be able to make them. All he cares about is that he did the best he could with what he had.

And in the process, he challenged himself just enough to experience flow while working. Naturally and without being taught to, he practiced deliberately on the skills that were just beyond his reach.

Perfect Flow: In Practice

Naive ambition tries to sacrifice frequency and focus on one big thing, despite being unpracticed. The "gap" requires putting out imperfect work often, regardless of quality. With perfect flow, you start small, and focus on consistent quality.
Naive ambition tries to sacrifice frequency and focus on one big thing, despite being unpracticed. The “gap” requires putting out imperfect work often, regardless of quality. With perfect flow, you start small, and focus on consistent quality.

So how can we work with pride and contentment throughout our lives, not just in some distant and imagined future? How can we quietly persist in getting better, when we feel the constant strain of the “gap”, and the expectations we have of our own great potential?

Start with something just beyond your current reach.
Work in flow as long as you need to till you feel proud of what you’ve done.
And only then, release your work into the world.

If you want to write great novels, start by writing flash fiction. Give yourself completely to the 250 word story you want to create. Want to blog? Focus on short blog posts, rather than long ambitious treatises. Do you want to develop a product? Make half a product, not a half-assed product. Do you want to paint? Paint small and often.

Don’t stop working until you feel the subtle warm glow of pride. The signal that, while it might not be “perfect”, it’s the best that you can do right now.

And know that it is more than enough.