Things will happen to us no matter what we do. That doesn’t mean we can’t influence what happens.

When I had my knee replaced, the closer I got to the date of the operation, the more fearful I felt. No reason why, all they do is slash a big hole in your knee, and then saw off the top of your tibia and the bottom of your femur, then hammer spikey metal components into the raw ends of the severed bones and hook them together somehow, I don’t know, with wires or bolts or something. What’s to worry? Well, I did. I was really scared.

Then I had an idea. I asked my surgeon if it would be helpful to do some physical therapy before the operation, to strengthen my leg or something. He said it might be and prescribed some PT at the local rehab place. I started going there three times a week, and it calmed me right down.

Why? Because I wasn’t just sliding along totally out of control. I was no longer just a victim of circumstance. I had taken a bit of responsibility for what happened. Did it really make a difference to the outcome? I have no idea. But it made a difference to how I felt about the situation, and that was worth a lot.

As I think over my life, I’ve been most unhappy when I felt that bad things were happening to me and that I had no control over them. I’ve been more happy – or less unhappy – when I was exerting control. After bad things happened, I felt more happy when I could figure out something that might reduce the chance of that kind of thing happening in the future.

I prefer to steer my life, to the extent that I can.

Extending the theory …

Naturally, having had this thought, I plan to extend it until it breaks. Here goes:

Bugs in my code

Faithful readers know that I prefer not to use the term “bug”, instead saying “defect”. The reason is that we think of bugs “creeping into” our code, and, well, they don’t. Every defect in my code is the result of the programmer (me) typing in code that doesn’t work. How do we know this? Well, when we finally fix the bug, even if it is “caused” by a flaw in the library or the system, we fix it by typing in code that does work. Ergo, in principle we could have typed that code in the first time, or discovered more quickly that it was needed.

Programmers often like to say that “bugs are inevitable”. Yes, well, that may be true, but the one we put in most recently? That one was avoidable. [Apply previous notion recursively]

Rather than be at the mercy of “bugs”, I prefer to take responsibility for defects, and do what I can to avoid them. I’d rather be steering my life a bit, not just waiting for the next disaster to strike. So I learn new techniques and approaches, like TDD, to help me reduce defects.

People calling me names from other cars

I’m not sure yet what’s causing this, but I suspect it’s not just the brand name of my car. Maybe it has something to do with how I’m operating it. Maybe there’s some rule that tires should only be rolling, never sliding or screeching. Maybe those signs with numbers like 45 or 55 have some meaning that I’ve not yet discerned.

I’ll figure it out. I don’t like people calling me names, and I’m going to work out what I can do to make it happen less often. If it doesn’t involve slowing down, I’ll do it.


I told you I would over-extend this idea. Here it comes:

Privilege Alert

I’m an old white guy. I have useful degrees. I don’t look too weird, although I am surely overweight. While I like to think that I had some role to play in what success I have had, surely much of it has been due to luck.

For example, I got into computing because a neighbor down the road came up to our back yard and asked whether I would be interested in a summer job at Strategic Air Command. He told us that his wife said, “Isn’t that boy up the street, that goes to our church, a math major? Maybe he’d be interested.”

I applied, got the job, and since they had no idea what to do with me, they gave me to their computer expert. He handed me a FORTRAN manual and the rest is history.

I call that luck, and there has been plenty more. And probably I got more good luck because of what we today call “privilege”. Still, I did do some of my homework, I did apply for the job, I did give a fairly good interview. I probably even wore a suit.

When opportunities have come by, I’ve been fortunate, but I like to think I played a bit of a role in things as well. I’m not self-made – none of us is – but I did do a bit of the work.

What about you?

Do things happen to you, in your life and in your code, that seem to you to just be some kind of unfair result of who you are? Do bad things happen because of your race, your gender, your size, or some other attribute you have no control over?

Well, I bet things do happen based on those things. People are full of biases, and almost every single one of them is wrong. I bet, no matter who you are, things happen to you because of nothing but sheer prejudice. That’s wrong, and it’s tragic. I wish I could fix it, and I try to when I can.

What about you? Are there things you could do that would result in better treatment, better odds, better results? My guess is that there are.

When it comes to defects, I use things like TDD – when it suits me. And I get better results.

When it comes to driving, I still drive, um, assertively, but I’ve learned that my wife screams at me less often when I dial it down a bit.

I could have said that this is who I am and how I program, and that bugs were inevitable. I could have said “screw you, this is me and how I drive”. Somehow, I learned that I’m not my code, I’m not the way I drive, and that sometimes – sometimes – I can adjust my behavior to get better results without a loss of integrity.

Sometimes I’m too arrogant to do it. Sometimes I’m too afraid. Sometimes I’m too angry. Maybe, sometimes, there’s even a real principle involved that says I shouldn’t change.

But oddly enough, when I do adjust my behavior, fewer bad things happen to me. More good things happen to me.

I get to choose what I do, who I am, where I won’t change, and where I will.

You get to choose that too. If you steer a bit, maybe it’ll make a little difference in what happens to you. I think it will, and I think it’ll make a difference in how you feel.