0627 – comment your code (to convey intent, context, next steps)

So I’ve been trying to make sure that I publish at least one word vomit for each day of 2017. That way, in the worst case scenario, I’ll still have a decent shot of finishing the word vomit project at the end of the year. Well – if we add 360 to the current number we’ll still be at 987, but that’s close enough I suppose.

I’ve been going through my stuff over and over again. It ultimately needs to be part of a daily routine, I suppose. I’m currently making sure to go through it at least once a week, which keeps things at least somewhat ‘warm’. A part of me would actually prefer to skip writing this vomit and just spend all my spare time and energy going through Evernote instead, but I want “publish a vomit a day” to be the minimum standard so here I am.

I suppose I could talk more about my perspective on the importance of tagging and commenting. I might’ve mentioned it a couple of days ago, but it’s going to be what I talk about today, too. As I go through my todo list on Things, and go through my notes on Evernote, and as I listened to a talk by @fortelabs about GTD, I find myself thinking about the importance of being precise.

To be more precise about THAT, what I mean is – very often I write down little thoughts and tasks and ideas into my notebooks, both digital and physical. And often I’m quite minimal about this – sometimes it’s just a single word, like “dishes” or “feynman” or a vague phrase like “write about doxxing”. At the moment where I write it, that fragment is very evocative. I can look at the fragment and remember, completely, what I meant by that. But as time goes by, the context begins to fade from memory – and so whatever I had written requires an increasing amount of effort to make sense of. Give it a long enough time and it becomes meaningless gibberish. It’s like hearing half of a conversation in a hard to understand accent – you’d rather not hear anything at all.

I don’t code, but I’ve always been curious about evesdropping on the conversations of developers. Developers notoriously disagree about everything and they’re very passionate about their disagreements. One of the things they disagree about is the utility of commenting your code. Some people have this glorious ideal of writing code that’s so elegant and pure that no comments are necessary. That, in my opinion, is when you’ve effectively “worked the comments into the work”. That requires tonnes of effort and rework. You’re realistically almost never going to get it right on your first try. And if you decide to sleep on it halfway, you might not recognize what you started with when you wake up and face it again. So just comment your goddamn code. The idea is to communicate context and intent. Let your future self know what you were thinking, and what you were trying to do. Because sometimes you’ll realize later on that there are better ways of getting what you actually wanted, or maybe that what you wanted wasn’t that great an idea after all.

Context is important, and so it’s valuable to develop a habit of contextualizing everything. (Well, at least in most contexts that come to mind. Perhaps there might be some context – an emergency, maybe – where such a habit might not be useful. Still, I think it’s better more often than not.)

So the lesson there for me is to get more precise about what I mean when I say something. I like GTD’s heuristic for this – to break things down, if possible, into physical actions. I find it helpful to break down my vague thoughts into questions, directives, hypotheses and so on. It doesn’t actually matter what a thought becomes, as long as it becomes something that can interface with the greater ‘world’ of my mind.

Come to think of it, at a meta level this applies to my entire blog, and everything I’ve been doing. To entire blogposts and so on. A well written post is something that very naturally interfaces with the world – that people can drop in on and use effectively for their own ends. At least, that’s my definition. The end-goal is to take all this raw material, all this junk, and refashion it into something that’s pleasing. It’s about seeing the statue that’s in the marble.

I’m trying to make it a habit to make my todo list tasks more precise. To make sure that all of them get tagged – if not immediately, then by the end of the day, or at worst, by the end of the week. If I can make this a habit, then fewer tasks will slip between the cracks. If I can reduce the amount of cognitive effort it takes to do the things that I set out to do, all else held constant, I should be doing more things. Of course there’s more to life than just getting faster at doing things, but getting faster at doing things is certainly a useful superpower to have. As Tiago pointed out in his QS talk, a 2% increase in productivity is the equivalent of having an extra work week a year. That’s certainly something.

Well, I’m going to try to keep up this trend of publishing a word vomit a day. I do feel like it’s changing me in some little way, in a good way. There’s something about doing something every day that is a pleasurable experience – it’s like, it’s on your mind more. It feels fresher. You remember more about it. I think the same should probably apply to exercise. Like a little bit of exercise every day is probably a really good thing, and I should really get into that. That might just be the next thing that I’d like to do. In the meantime I’d like to get to the end of this vomit and just about pass out. Seeya