Friday, October 27, 2006

Sweet Home, Chicago.

It isn't my permanent home, but it was last weekend for the Chicago Marathon. I'll keep this post short: It's done. Results have been posted to our training blog. Soreness has mostly subsided and the knees were not a problem. At least I didn't fall and crack my head open like the winner did at the finish line.

Congrats to everyone who made the attempt and a pat on the back for all finishers. Just stepping up to the starting line is a tremendous task that has my respect. Finishers even more so for managing the ordeal successfully.

Tuesday, October 03, 2006

Time to Taper

It's a little surreal. While I've been training for the Chicago marathon with the lofty goal of completing the run -- no illusions of grandeur, I'm a 1/2 miler not a distance runner by nature -- I have put many other things aside as my Saturdays have been consisting of running ever increasing distances and then doing my best not to nap the rest of the day away. My wife and daughter are tiring of the routine and I must admit I am too.

That, however, is going to change. We just completed our longest run, and after mapping it, the route was 21 miles, not just the 20 we were targeting. I could still walk and my knees didn't quit. By Sunday evening I was actually believing I could do this thing without serious long-term injury -- although stock in an ibuprofein company might be a good call.

So, with that, our next couple of weeks taper back seriously, giving the body a good chance to heal before the main event. Of our training group, 2 have sustained injuries that they can not heal from in time for the race and a 3rd is still wanting to try. That leaves 2 of us (myself included) who are complete newbies to the event to get lost wit 40K of our closest friends in downtown Chicago.

That was the easy part, now we have to find a hotel room.

Monday, September 04, 2006

Lessons from a treadmill

I just realized I hadn't posed since... well, too long (July 10, 2006 if you want to be precise) . Some things have changed, some have not. I was running on a treadmill this morning and, having almost 3 hours of unchanging surroundings, I let my mind wander.

My daughter turned 2 last week. That should have been a post by itself, however with family in town, and both sides at that, there was little time for posting.

Then, this past weekend, I had the honor of singing for a very good friend's wedding. With an out-of-town wedding there was much traveling and little time to post.

So how does this all relate to a treadmill? It's actually more direct than you might think. As you may have guessed, I'm training to complete the Chicago Marathon come Oct 22 -- yet another huge time commitment leaving little time to post. With the travel this weekend I had to squeeze in a 16 mile run at some point.

However, local weather at the wedding turned from the best Cross Country weather to absolutely squishy over our first night, eliminating running outdoors. Not only was I likely to get lost, I was certain to be wet. Not a good combination. While I've always held a level of disdain for running on a treadmill I now have an even better reason to avoid it in the future.

I thought pavement was hard to run on for long distances, but the treadmill at the hotel, featuring "SoftTouch" technology, seemed more like a very constrained trampoline than a solid running surface. Add to that the lack of any appreciable circulation in the A/C of the workout room and a TV that worked as long as you weren't operating the equipment and you have a pretty good picture of how I spent 2:20 of my morning.

The most amusing part of the entire run wasn't running but stopping. WHEEEE!!! I swear the room kept moving. In that awkward moment as you re-assert your control of your perceptions, and in my already crazy mind, I started to see how it really framed where I'm at right now. Several things are stopping, coming to a natural conclusion, while other things are still moving and I'm carried forward without conscious effort.


Let's start with the best part: Right before my daughter turned 2 we received confirmation (more like an affirmation) that we are now expecting our 2nd child. The first one is asserting her own identity more every day and we're well on the way to the next. Steady legs, steady.

Then there's work. I've been acting as Tech/Team lead for 20 months of a 3 month, temporary assignment. The new employee additions to the team are coming into their own. One has agreed to accept the Tech Lead role, relieving me of that responsibility while another has had to accept the Project Manager role as our existing PM found a job closer to family (another long standing transition that finally triggered).

All-in-all that wouldn't be so bad if I wasn't also at the end of the contract and with the new employees holding down the fort I need new work. I'm sorry, but it's been 3 months of promises that "we're 90% sure we have incoming work -- a year-long new development effort" that haven't had the i's dotted and the t's crossed. I'm about to jump off a cliff here with the end of the existing contract and I'm supposed to be happy that we're managing to get a temp badge put together?

Anyway, the other item coming to an end may (finally) be my usage of VB6. I'd been laying the groundwork for the technology conversion/upgrade to .NET for the existing VB applications for some time. There's now (2 years later) enough momentum to see it happen. I wish the new PM and Tech Lead much luck with the effort and I hope I could at least be around to see it happen.

This does, however, mean I need to get back up to speed with .NET and with Java -- both of which have had releases since I last touched them for work. Hit that wall, slide down, and get caught in the rush of progress! This would normally be exciting if I wasn't more concerned with planning for child #2.

Finally, there's the wedding. I truly couldn't be happier for a good friend of mine and I was honored to have the opportunity to sing for the ceremony. We met in church choir back in college and I count him as one of the few, rare people who actually understands me.

I'm sorry that I did not have the time in recent years to remain as available to random events. In my heart he is a brother and always will be, his wife not far behind in that category whether she knows it or not. They will be missed and yet their marriage represents one of the best outcomes I could have hoped for either of them, truly reflecting the beauty their relationship contains.

How time continues to move us forward, I'm still trying to catch up and right myself. I did remember to stop the treadmill, right?

Monday, July 10, 2006

Shaving as a Team Sport

It was too cute not to talk about. This morning I was off to a sluggish start to the day. My wife was already out the door for work and my daughter was asleep on our bed after having joined us for an early morning snuggle. While attempting to make myself presentable, I heard my daughter stir. I turned off my razor and poked my head into the bedroom.

Her smile and happy giggle turned the morning around so I stole a few moments to be with her -- still on our bed and complete with the razor in my hand. She was in a good mood and I wanted to enforce that before she would start screaming for mommy. It was during this that my daughter invented Team Shaving.

The rules for Team Shaving are simple:
  1. Turn the razor on.
  2. Put the razor on dad's face.
  3. Add your own razor noise as you help dad shave.
  4. After 10 seconds of moving the razor around, pull it back and squint.
  5. Turn the razor off
  6. Pucker up for a kiss
  7. Giggle when kiss is given
  8. Repeat, starting at (1) until satisfied.
  9. Pounce!!!
  10. [optional] Briefly exchange roles.

I hope your days start off just as wonderfully.

Tuesday, June 27, 2006

Flame War? NOT!

-- subtitled: Don't make rash decisions, you're the only one likely to be burned. --

Life has been busy. Fun with my daughter, time spent with friends, work-stress at least not increasing, starting to train to run the Chicago Marathon. But at the same time I keep looking for an opportunity to sit down and just breathe.

Here's an example of what happens when you don't get a break:
Gaming with friends I'm playing a Mystic Theurge. Theurges may not be the most powerful spellcasters but they afford a lot of flexibility and opportunities to tweak for a battle. Well, I took a fairly standard load-out into a day of adventuring. Our plans seemed easy enough to execute... bust down a door... look for trouble... and beat down the opposition. Fair enough until you run into a red dragon that knows you're coming.

Here's where stress comes into play. The entire group is happily joking, singing, telling stories and then BOOM! we hit silent, serious mode. Social time is over boys and girls. Now we started to sweat. We had prepared for lots of fighters, spellcasters using flame, mind control attempts on our fighting dwarf front line, but certainly not one incredible challenge like this.

Now, besides figuring out what to do against a spellcaster that is much stronger than you -- and trying to deal with an interrupting 2 year old -- you must come up with something smart to do that doesn't harm the party members in front of you. The best option I could come up with was to try to further protect the party and prepare for a strategic withdrawal.

Unfortunately, I'd come loaded for offense. I had this new spell that could be interesting but not being very experienced with it the logistics were taking longer to arrange. About the time I was getting a handle on it my wife's patience ran out and she cut into my struggles rather abruptly. I resigned from the effort and we agreed that whatever I chose to do could happen while the next person was going -- I wasn't going to slay the dragon myself.

"Fine," I huffed at last, "I'm going to cast a fireball just behind the dragon..."

Dead silence filled the room for about 15 seconds before 3 other experienced players started to laugh hysterically.

"The dragon feels warm and cozy and thanks you for reminding him of his time in the womb," responded our DM. And then astonished, "Seriously, you should know that. I'll let you make a different choice, funny as that was."

Doh!

Just perfect. This is a choice example of why I need a break.

So, if any coworkers, friends, or anyone I've slighted irrationally happen to read this, please, please, please bear with me as I get things back to normal.


Maybe I should stick to casting Magic Missile at the darkness.

Tuesday, May 23, 2006

October 22, 2006 - Insanity Reigns

Look Out Chicago!

Breakfast is the New Team Sport

I didn't realize that eating breakfast required more than one person, especially for a bowl of cereal. However, who am I to argue with a nearly 2 year old girl.

She not only ate half of my bowl of granola, she insisted on working through the remaining milk by having me take out some of mommy's cereal (which was already in a small bowl for her) and add it in to sop up the remains.

So when does father-daughter eating make the Olympics? :)

Thursday, May 18, 2006

Pancake Cereal and Shadow Dancing

This morning has been interesting. My daughter did not wake up well. She was slightly warm, but did not have any noticeable fever when we took her temperature. Still, her grumpiness of late has made us a little more cautious. Maybe grumpiness is putting it too lightly... she's been obnoxiously clingy and demanding. Tantrums currently have a hair trigger and she has stopped taking the time to even attempt to use words.

So we caved a little this morning and let her go shopping in the pantry while we prepared lunches. She brought us the syrup from the pantry and asked for "more." As luck would have it we had a pair of pancakes in the freezer from this past weekend that we could prepare quickly. Her mood started to shift.

My wife finished preparing her lunch and left for work. No protests were offered, instead our daughter told her "bye bye" and went back to her syrup dipping efforts. I finished packing and settled down to a bowl of cereal for breakfast.

A long time ago I picked up the habit of drinking the remaining milk from the bowl when I was done and this morning would be no different except for my daughter deciding she wanted some.
Ok, milk isn't a bad thing, so I slid the bowl to her and she proceeded to feed herself milk with my spoon. As she was happily engrossed in breakfast I finished getting ready to leave.

I'm not sure when it occurred, but about the time I was packing things into the car (easier to do without the baby attached to your leg) I looked down and she had 2 spoons and a fork all in the bowl of milk... and pancakes! Apparently pancakes are good when dunked in milk. Probably tastes a good bit better than the Cheereos.

So, to keep this post from becoming too much longer, the other fun thing that I observed this morning was on the drive to daycare. I looked in the baby mirror and saw my daughter waving one arm around somewhat frantically while looking down but not at her feet. At a red light I spent another moment of watching her actions it finally dawned on me: She was playing with her shadow! I don't remember her doing that before. That's kinda cool.

She thought it was fun and continued to play happily. So, as we started back up and turned the corner it only surprised me a little bit to hear her squeal from the back seat. Traffic was coming to a stop at the next light so I glanced back. She was giggling and moving her arm, trying to find the shadow again. When she did relocate the shadow there was a mighty giggle and then she traced the shadow back to her arm and then to the sun! I think she may have just figured it out.

Now I get to smile all day!

Saturday, May 13, 2006

Immitation is the Greatest Form of Flattery

My daughter has taken to learning by immitation. It only takes one moment for her to capture and start repeating words, facial expression and other actions. She's picking up some really funny expressions as a part of this learning cycle. She's also picking up and repeating some less than desirable traits which we hope to overload out of existance by reinforcing the good stuff.

As much as I'd stop, smile and enjoy the recent memories for what they are, hind-sight still causes me to compare her learning approach to the growth of the developers I'm currently supporting. They too are immitating the patterns they see --both good and bad -- and, as is the case with my daughter, I'm hoping to steer their direction with positive reinforcement. For a pair of them that have been struggling, this is finally working!

Now, how do you get your managers to take the same approach?

Saturday, April 29, 2006

The *New* MSCCS

To clarify the title: MS would be my initials and a serendipitous way to start the remaining: Certification in Common Sense.

Apparently I've spent too much time worrying about how to prove my value to employers, both those who write my checks and those for whom I perform contract software development. I've spent nights trying to figure out what certifications I should go after and if a complete suite, along with a new spiffy title, is worth the effort. To date, I can't say that not having one has hurt me.

However, I have run into individuals with certifications that make you want to break out the d-4 of silence. (Sorry, a bit of an inside joke but you probably get the idea). That's not to say certifications don't help HR people perform mind-numbing filtering of the glut of resumes the must deal with daily, there are fewer people who can craft the skills qualified by the certification into a workable solution.

In the midst of shaking my head at code I couldn't believe I remembered (seeming randomly at the time) what a friend had said his business degree seemed like at times: a degree in common sense. That made me wonder, is common sense truly that rare? Did Monty Python create a cult classic with "The Upperclass Twit of the Year" skit?

Mix all the previous thoughts together and you get my odd declaration that I'm going to start charging for a certification in common sense. Perhaps this will be a better filter for HR.

Wednesday, April 12, 2006

$52 Tank of Gas

I made the choice awhile back to purchase a 2002 Bonneville SSEI. It's classified as a performance car. The engine comes equipped with a supercharger and a requirement for Premium gas for it's higher octane rating.

This morning, running on fumes with the gas gauge below E, I pulled into a local QuickTrip and prepared for the bad news. Unfortunately I wasn't sufficiently prepared. The signs posted prices at 2.69/2.79/2.91 (another recent change is the extra 2c for premium). However, the pump was actually charging 2.68/2.78/2.98. WTF?

I have no way to answer why the sudden jump in the cost of premium gas, but I just about lost it. All that was left to do was cry and watch as I pumped 17+ gallons at just under $3/gallon for a total tally pennies under $52.

While I realize that others may have it worse elsewhere in the country, isn't it time we asked why we should be relying on oil (apparenlty suddenly expensive refineries)? There are options out there. Perhaps if we stopped accepting lobbying money and directed it to research/infrastructure instead we'd actually meet the future before we create insurmountable hurdles to maintaining the basis of our current travel infrastructure .

Thursday, April 06, 2006

Uh-Oh, BOOM!, owie...

Recently my daughter fell. This is not an unusual event except for the fact that she fell while nearly galloping from excitement toward the car in the parking lot of a hotel. As expected the experience was traumatic for her and us as parents. She skinned her knee and it quickly displayed the strawberry in-progress. It did surprise me how quickly it started to swell and the total event led my wife to requesting a stop at a Walgreens. The cure for the trauma was hugs-n-kisses for my daughter and a squirt of Solarcaine administered by my wife for her sanity.

All in all my daughter took it well. The next morning she decided to put together the longest string of meaningful words and gestures I've had the pleasure of experiencing yet:

"Uh-Oh," she said, her eyes open and arms stretched to the side.
After a brief pause she thrust her arms to her side, palms down and declared, "BOOM!"
Lifting her eyes back up to look forward she meekly offered, "owie..."


I caught the storytelling in the rear-view mirror and nearly lost it. The true honesty in the retelling was touching. She had just demonstrated her ability to understand and communicate a cause-and-effect relationship.

Some days I wonder at what management level do you lose sight of this basic tenent?

In the grander management hierarchy at my contract sight we had a new manager join the fold. Two levels above my project manager the new manager bust onto the scene with a show of force. The winds of change are coming, "just you watch." Attendees at his first meeting were given the mission statement "Quality above all else" along with the explanation that as a department we would not release software before it's time. Like id Software, we would provide a release "when it's done." The mission is clear and I will do my best to execute to that goal.

However, what happened to reality? We have contractual obligations that include release schedules that must be met. To complicate it further there are multiple contract with different customers for the same family of products that have competing schedules. How long will it take to find the compromise to which we can actually achieve our goals.

Many in the meeting, my project manager included, were just wondering how long the honeymoon would last. It didn't take too long. About a month into the new regime we hit the first wringle in the plan. The software under development needed to go to an external entity for testing. Although nearly all involved expected that the entity would not be ready the contracts (and other political influences) need to be apeased.

Instead of taking the long weekend I had been hoping for I was told that "the weight of the free world rests on your sholders. Don't let the Berlin wall go back up. I'll see you on Monday" Great. So I asked the question: "To push this release out the door who should I call for testing?"
My answer: "Just give me this one." Uh-Oh.

Since that weekend -- in which I sacrificed time with family in multiple states and some of my health -- there has been improvement. Schedules are discussed and the big picture is coming into perspective. As a part of this process I've come to realize that this new manager plays political games in trying to improve the company image and catch the outside entities in bad positions.

Push them back, don't let them see that we can't deliver a fully tested product today. Don't tell them no, don't give the impression there is any reason to question our ability to deliver. Don't worry that you're tap-dancing in a minefield.

I made the mistake of believing that things could improve. Two weeks ago I had a system engineer show up in my cube and ask if I had the latest release (release candidate to be exact but that may be too much detail for a manager) ready for delivery. Answering 'No' went over about as well 'as a fart in Sunday school!' (you can thank my cube-mate for that)

With a boldness bolstered by our renewed commitment to quality and having recently been shown the schedule that included testing, I pulled out my documents and pointed 3 weeks down the road. A phone call later and I was emphasizing that the installation packages I was providing had not been tested by anyone just because a customer was screaming to have the media in hand so they could test -- another flight-of-fancy and another game of Risk. The CD's were in the mail half an hour later.

Yet that day, 10 minutes after delivery of a raw build I sit down at the keyboard of my test box, click a button and cackle/cry to the sight of "The application has caused a serious error and must be shut down." They couldn't affort the time to test and we had just delivered code that was broken. Instead we're going to let them keep it and mark it as a known issue. This is just a release for some comfort testing so there's no real long-term risk. UH-OH!

At this point I'm just glad it's Friday. Focus on the Positive things when the rest of your surroundings are chaotic.

Upon returning to my desk from the weekend and opening my email... BOOM! We have been given notice that the external entity is moving towards software certification with the release that is broken. They haven't heard yet of any reasons to stop the train. Who wasn't listening? Or to whom were they listening?

To put this in perspective, failing that certification means "The End." We're not allowed to deliver uncertified product. The legacy servers are being turned off in 2 weeks, the database will go away, the central file server will go away, the communications network will go away. Our license to operate expires, the supporting contract will go away. My contract will go away. Solarcaine will not ease the sting, hugs and kisses only offer momentary comfort.

So we're working on a compromise. We have at least managed to stop some of the bloodflow. We have a couple of extra days to squeak in a build that has actually been given some of the usual testing. In theory we should deliver tomorrow. With the code delivered to me today we can't, it will likely be at least Monday possibly Tuesday to work through a couple of issues in a product delivered to us. All I can do is pray that the other, external side is also playing games and trying to call our bluff. I'll show my poker face and tick away at my keyboard.

I just wonder when our new manager will finally let reality set in. I've see the manager grovel, I'm waiting for the whimpered, "owie..."

Monday, March 20, 2006

Still Mentoring VB6?

I didn't expect to start the Fallout with something of this nature. Chaos, ever the deceiver, has decided that I need to now, with only a year left in paid support, mentor 5 people on VB6 as well as provide guidance on domain knowledge. That was certainly an unexpected task to fall in my lap.

While I have no doubt that a group consisting of C++, C# and a Java developer will find VB as unwieldy as I did when I first shifted from C++, I have no reason to believe they will struggle for long. Groaning about the tradeoffs, however, is a life-long endeavor.

With any luck, the entire team will see the transition into something a little more modern -- either Java or C#. The future direction is not set and the non-religious arguments do not offer a clear choice. Whichever path we take it can only be an improvement from where we are now.

<grumble/>