Skip to main content

Flow, Interruptions and Gold-Titanium Alloys

·2 mins

As I mentioned earlier, I’ve just had a very productive and fun weekend of hacking on testresources. But why was it so good?

Fast Commits

Because I was working offline using Bazaar, I could make commits to testresources and they’d be done before I could Alt-Tab back to Emacs.

Fast Tests

It takes about 0.15 seconds to run the test suite. This meant I was running it all the time, which in turn meant that I was totally certain about whether the code worked all the time.

Clarity of Purpose

I knew where I was and where I wanted to go.

No Rabbit Holes

The testresources code base is small enough that it is nearly impossible to get distracted by other systemic defects. If there is such a defect, it’s probably the one that you’re working on right now. This might be another way of saying…

No Blockers

I wasn’t waiting on anyone to do anything. There weren’t any other bugs that needed to get fixed before I could continue.

No Integration

The system is about as self-contained as it gets. No signals, subprocesses or sockets: just Python. The only dependency is pyunit3k, which is small, robust, well-tested and also pretty darn self-contained.

No Interruptions

I wasn’t answering questions on IRC, taking Skype calls, handling incoming email, doing the washing, checking Facebook, catching up on my blogs, watching a film or wrestling a bear. “Fast Commits” and “Fast Tests” probably fall into this category too.

In other words:

There is nothing except this. There’s no art opening, no charity, nothing to sign. There’s the next mission, and nothing else.