The Cost of Focus

Wasn’t gonna, but I did.

So you’ll notice (or, you know…not) that I haven’t been posting lately.

It started with a post I put up a few weeks ago which, while content rich, was a disjointed stream of consciousness mess. I read it a couple days later and realized that most of what I’ve hit ‘post’ on over the last year has been a bunch of lazy half-assed stream of consciousness mess. I just pulled it down, disgusted.

So I’ve been coding instead, when I’ve spent my few hours on a Thursday morning/early afternoon here waiting for the guys to show up.

I’ve been sticking with this project that I’ve wanted to have done for a while. But for years (literally years) I’ve avoiding diving in to the hard parts.

Well, over the last couple/few weeks I’ve torn the panels off the thing and gotten down there and figured some shit out.

The result, which I’ll do a write-up of over the next week or so maybe (I dunno. I might want to get a bit farther with it) amounts to…oh I don’t know, maybe 30 lines of code spread across a couple files.

It’s not the whole project. But it’s the kernel of everything I couldn’t figure out how to implement. A couple/few techniques that I’ve hammered out finally, heading straight into the wind instead of trying to find a way around it.

The code isn’t particularly clever looking. But then good code doesn’t look “clever.” That’s an artifact of people who generally speaking, well, aren’t. Or of programmers who like things to look clever.

It’s simple, clean, self-explanatory and I’m pretty sure I could hand it to a junior python programmer with one or two bits of explanation and they’d just get it entirely.

So while the full project is going to take me a minute, I’m going to spend some energy cleaning this bit up and posting it here.

Thing is, in order to do this I’ve had to drop an awful lot of other stuff. But, as I suspected, the sequence of decisions is the reverse of what I’d been shooting for.

Dropping pursuits in favor of having time to work on The One Thing sounds good. But it just doesn’t work. Like any habit you’re trying to get rid of, you don’t “create time” for it. You pursue what you want and then, when you’re confronted with the fact that you don’t have time to do The Other Things, you have to let them go, if only for now.

So I’ve gotten myself to a good breaking point on this for the day. Everything works. It’s pretty clean. I’ve zipped it up and put the prototypes in a “techniques” folder, where I keep all the weird stuff I don’t do from scratch very often.

That allows me to continue working on the existing code. But if (read: when) it becomes the core of a large system it would be tough to extract the hows and whys of what I’ve done. I’ll keep a comment or two in the real project, pointing me to my techniques library so I can go back and look at the prototypes if I want to use them on another project.

So that’s what I’ve been up to and what’s coming. More practical experiments, techniques and other assorted concrete real-world stuff, be it programming, baking, cooking, or workshop projects.

Of course I won’t be able to avoid editorializing or adding anecdotes and such. And I’ll post the odd story here and there. The problem with most of those is real life crossover. Too many of them involve people who read this site. And I’ve always been of the mind that you can either say What or Who, but not both. So most of those stories, and there are more than a couple of them, I have to sit on. Perhaps using them as raw material to be torn to little pieces and remixed into other stuff in a way that makes it barely recognizable.

But such is the cost of focus.