Thursday, July 28, 2005

Yeah. I know.

Yes, it's been way too long again. Funny, but every time I find a little something to get enthusiastic about, something else will come along to let the air out of the tires.

For the past two weeks or so, I've been running on medication and willpower. Not recreational medication (although some of what I've been taking could be recreational under different circumstances), but muscle relaxants and pain killers to help me deal with what's left of my back. It's been getting a lot worse lately. I've had my lucid moments, but drug sleep is not real sleep, and even though I'm not catching any sort of a buzz from what I'm taking, I've found it incredibly difficult to maintain any sort of concentration. And yeah, I've been a little cranky (the verity of which Mika Heinonen would no doubt gladly confirm); the pain is diminished somewhat, but I'm still spending my days close to tears.

<aside>I've always thought it was a bit unfair that all one gets from a painkiller is a painkiller when there's pain to kill. I mean, I have a good reason (not excuse) to take this stuff, a license if you will, and none of it does what it did when I didn't actually need it. It may have been twenty years, but there's still a little someone in the back of my head that would just as soon be high if he thought he could get away with it.</aside>

I have no idea where things go from here. I mean, I'm losing the ability to keep the big picture in mind when I'm working on details. In another line of work, that wouldn't be a problem, really. But when you get to a point where you can only reference the class, function, sub or even the short loop that you're currently coding without the ability to remember so much as the inputs and expected outputs for as long as it takes you to write the comments/pseudocode that would be your guide, it becomes something of a liability to a developer. I can answer people's questions on LDD only because the problems usually have a simple, short solution. Memory IO is minimal, and the whole transaction fits in a single packet.

I'm currently working on a pseudo-natural-language query/reporting tool for Notes. The aim was to allow a user to perform complex ad hoc queries and create scheduled reports without further developer intervention. The user selects the document types they want to see, the fields they want in the order they want them, sets formatting preferences for the various data types, defines conditions for the query (including data relations), sets a display type (flat, categorised, paged) and a sort order on one or more values that may or may not be included in the output. When I designed it, the whole thing was pretty clear, and I've got the UML and pseudocode to prove it. Even with everything done up front, I'm having a hell of a time trying to create working code. And no, the code is not terribly difficult. Like most dev efforts, it's the "big picture" that's the hard part; translating a working mental model to running code should be a matter of getting the data types and syntax right. Right?

You'd think. But I can't remember things like the well-chosen, clear variable names I've used once the declaration has scrolled out of the Programmer's Pane. (Oh, and globals, when necessary, are a real pain in the posterior. I don't mind the "Variable not delared" message, but I'd really like a "did you mean rawComparatorString?" suggestion to go along with it these days.) I'll forget what the clause I'm trying to parse looks like in the time it takes me to move my eyes from the notepad on my desk to the screen.

Needless to say, my productivity is way, way down, and so is my sticktoitiveness. The frustration level is pretty much overwhelming at times. I'm almost ready to go back to shining shoes, or at least I would be if I couldn't remember what that did to my back. I'm even having trouble genericising some truly simple but kewl stuff to throw into the CodeBin. It truly sucks when you look at a 200-character formula and all you can think is "Kevorkian would know what to do".

Well, that's enough bitching for one day. Sorry.

Tuesday, July 19, 2005

Goin' Commercial

The astute among you may notice that this blog has grown to include Google AdSense ads. I figure I should be able to take in an extra thirty-seven to forty-three cents a month, depending on the hotness of the topics. If I do that every month for the next eighty-two years, and the Canadian dollar continues at its cuurent high value, I will just about be able to afford two IBM certification exams. Yay!

The real problem now is going to be carefully crafting my postings so that hugely attractive product groups are displayed. So far, my name is putting up "Free Music Downloads". I hope the good people at Fogarty's Cove Music don't get too upset about that. And I certainly don't want to take money away from either Garnet (Stan's younger brother, sidekick, and darned fine folkie in his own right) or Nathan (Stan's son, whose own music has a slightly edgier, party quality to it). Oh, and please don't download Judas Priest, eh?

I figure the market for Domino add-ins is going to be pretty limited, so I probably shouldn't have written this sentence.

Do you sense an experiment in progress?

Monday, July 11, 2005

Index of Reflection

I made it. Today I hit a milestone in life that very few people will ever know. Unless I do something really screwed up between the time I hit the publish button and the time I go to bed, I will have accumulated seven thousand three hundred and five days of sobriety. (Don't let the date heading fool you, this is a just a bit of a late night.) That's exactly twenty years. Happy birthday to me.

Well, except that I'm not celebrating. I can't help marking the passage of time. I have lived twenty years and more beyond the times I should by all rights have died. You'd think that there would be an accomplishment worthy of celebration. To tell the truth, I had always sort of pictured doing this at an AA or NA meeting, surrounded both by the people who helped me to get here and those who hope against their experience to make it this far themselves.

That isn't going to happen. I have to thank AA and NA for bringing me into sobriety and for letting me know the things I have to do to stay sober and alive. I thank the members of those fellowships for telling me my story in their words and giving me hope. For most of the first eight years of my sobriety, I attended meetings at least daily, often twice in the evenings and three or more times on Saturday and Sunday. Meetings became the whole of my life, much the way that the things that qualified me for membership once had been. The Twelve Steps have been good for me (and I still live my life by them), but the meetings have not. I still go to the odd one to recharge my batteries, as it were, but I don't have a home group, so there is no party.

If I am completely honest, though, I know that I have remained sober out of fear. Most of the time I don't drink or do drugs simply because it is no longer my habit to do so. After the first few months of struggling, the patterns of living that inevitably led to a binge were broken. A "slip" would not have been an accident any time after my first cake and medallion.

There have been times, too (and rather a lot of them, when I think about it) that I wanted to erase the world. It isn't so much that I want to drink or get high for the party. It's more of a suicide thing, but just a temporary version of it. Not wanting to die altogether, but not particularly wanting to live through a particular moment either. That kind of thinking is obviously insane, so it's not as hard as you might think to talk oneself out of that line of thinking. I don't want to make it sound easy -- it's just not impossible to see where your mind is trying to take you as long as you are paying attention.

No, the real killer for most folks in recovery for any extended period is the insidious belief that if one has been able to stay on the wagon this long, then maybe there's a chance that one was never actually addicted. Yeah, that's the ticket. I was young and irresponsible and just overdid it a bit. I'm more mature and responsible now. I can have a beer or two with the boys and that'll be the end of it, right? Not this kid. During my bad phase, I was on the wagon nearly as much as I was drunk or drugged. Never could find that moderation thing people were talking about. Still can't. For me, nothing succeeds like excess. So, yeah, I'm scared to death of that first crisp, frosty pint of an India Pale Ale, the creamy delight of a gorgeous Ontario ice wine or the peat-and-honey nose of a dram of 40-year-old Laphroaig. As much as I can taste them just writing about them, I know that the first will just be the first of many too many. And when I'm too stupid to know it, I'm still afraid that it might be true.

Staying sober for twenty years has been the easy part. Living through some of those same years has been much tougher.

To steal a turn of phrase from Dickens, it was the best of times, it was the worst of times. I have learned what it is to love with all my heart and soul, and I have learned what it is to have both heart and soul torn to shreds by the loss of that love. I have been there to see the spark of hope and life lit in the eyes of the hopeless and dying, and I have seen too many people with infinite promise ahead of them lose hope and kill themselves. I have had the resources to help the less fortunate around me live a slightly less desperate life, I have had nothing and found no-one there to help me.

There have been times I've asked myself if it's really been worth it. When you're living on borrowed time, sometimes the interest rate seems a bit high. To those I've known for whom the answer was no, I remember you with love, and I hope you have found your peace. I'm still looking for mine.

I'm hoping that much of what I have been feeling over the past few weeks has been the build-up to today. I've been spending far too much of my time gazing at my belly button lately. Perhaps, with this out of the way, I can find a little motivation to get on with my life rather than contemplating what might have been had I lived the last twenty years a little differently.

Tomorrow never knows.