Sometimes you just stick out…

If you’ve been wondering what I’ve been up to, I’ve been in Alaska doing some work during the day and playing during the evenings.

It’s been fun but it’s meant that some of my technical issues (like the one around enumeration class casting, are sitting on a back burner.)


Ramblings: Things I hate about debugging

So one of the things that I truly despise about debugging is working for a few hours trying to make something work only to find out later that it isn’t that thing that’s broken at all… Case in point.  I was getting a Access denied type message while trying to write something to the registry.  I thought it was code access security — because that’s normally what it is.  It turned out to be that I forgot to ask for write access when I opened up the key… ARG!

Now I’m off chasing some enumerator problem from a base class…


Sell the Strategy Before Selling the Tactics

You need to sell the strategy of technological innovations both to your group and to the organization as a whole. From there, each tactical battle is easier. The organization will already know the expected result and can visualize the success of each tactic resulting in the goal or goals they want.

“Those who fail to plan, plan to fail” was the old cliché that my English teachers inflicted upon me during my junior high school years. Unfortunately, that only conveys part of the message. When discussing how to lead your group forward in any technological innovation, it’s not enough to merely have a plan; you have to sell the plan. You have to get your group to buy into the plan and be willing to make sacrifices in order to reach the plan’s vision.

Failing to sell the plan will often mean having to sell every action you take. Without a good understanding of the plan, most people will assume you don’t have one and will approach each item as a separate “stab-in-the-dark” attempt to improve things.

You need to sell the strategy in what you’re doing both to your group and to the organization as a whole. From there, each tactical battle is easier. The organization will already know the expected result and can visualize the success of each tactic resulting in the goal or goals they want.


Sniping SPSBackup Threads

I’ve not yet had a chance to test … I was wondering if the SQL Sniping script — designed to kill blocking threads — could be used to kill off the leftovers from a bad SPSBackup session so that the next backup could run successfully.  The SQL sniping script can be found at … I’ll have to try it the next time SPSBackup decides to not close down correctly.

Finding the Right Role in IT

People’s positions do not necessarily reflect current roles in the organization. In placing employees in a role, it is important to assign them to tasks that fit their capabilities. Whether you are a CIO, director, manager, supervisor, or worker, you have a set of strengths and weaknesses that are uniquely yours.

When I was young, I played soccer, although I didn’t play that well. I never really understood why some players would stay away from the ball instead of chasing after it. I could see the goalie stayed in his place, but I thought everyone else should chase the ball. I found, with experience, that the players who stayed in place were often more effective at what they were doing than those who spent their time running after the ball.

We have the same situation in IT. We need people to stay in roles and positions that leverage their strengths and allow them to be good at what they do. While occasionally the goalies have to get out of the box, their primary focus is guarding the goal. The same is true of your IT staff. They need to stay focused on what they do best and allow others to do what they do best.

Finding everyone’s true position

People’s positions do not necessarily reflect current roles in the organization. In placing employees in a role, it is important to assign them to tasks that fit their capabilities. Whether you are a CIO, director, manager, supervisor, or worker, you have a set of strengths and weaknesses that are uniquely yours.


Anatomy of a Software Development Role: Quality Assurance

The Quality Assurance (QA) role is the role responsible for guaranteeing a level of quality for the end client, and to help the software development team to identify problems early in the process. It is not surprising that people in this role are often known as “testers”. Of course, the role is more than just testing. It’s about contributing to the quality of the final product. (If you’ve not been following the series, you should read Cracking the Code: Breaking Down the Software Development Roles.)

What’s the Quality Assurance role?

The quality assurance (QA) role is one that is focused on creating a quality deliverable. In other words, it is the responsibility of the QA role to make sure that the software development process doesn’t sacrifice quality in the name of completed objectives. Click here to see how the QA fits within the full organizational chart.

The QA role works with the Functional Analyst (FA) and the Solutions Architect (SA) to convert the requirements and design documents into a set of testing cases and scripts, which can be used to verify that the system meets the client needs. This collection of test cases and scripts are collectively referred to as a test plan. The test plan document itself is often simple providing an overview of each of the test cases. The testing cases and scripts are also used to validate that there are no unexplained errors in the system.


Remain Productive by Honoring Commitments

Have you ever wondered what happened to that high performing team that you had just a few months ago? Have you ever stopped to think about why it seems like the progress you were making at one time does not seem possible today? These insidious problems can sneak up on you before you know it.

How to create a technology replacement strategy

When you are considering the cost of your organization’s technology, you must consider its life cycle and make allowances not only for the purchase price of the technology but also its support costs.

Life cycle

Every mechanical device has a life cycle. In the early days of the device, there is a period of “shaking out” when a relatively large number of problems will be discovered. This’s why many mechanical devices go through a burn-in period at the manufacturer in an attempt to work out the problems. This is generally followed by a long period of relatively low problems. Finally, a gradual climb in support costs ensues.

Think of it like buying a car. If you have ever bought a new car, or have known someone who has, often the new car has a few kinks. After the first month or so, the car settles down and generally has few problems. Once the car has become a few years old, it begins to develop problems. The problems may be gradual at first but eventually, if you keep the car long enough, you begin to feel that it is nothing but problems.

The technology that you use in your organization is the same way. Every piece of technical infrastructure you have will work well at first, or at least well after the burn-in period, and then slowly start to deteriorate.

This is one of the reasons that older computers need to be replaced — even if they’re still operating fast enough for their users. Eventually, they’ll break down and will need to be repaired or replaced.


No Service

[Note: I wrote this a year ago, mainly as therapy for the frustration. I thought it might be interesting for others to see.  Since the event of more than a year ago things have substantially improved and I like my service except for the occaisional quirk.  I’m just glad I don’t have to work through problems every day.  –rlb]

No Service: Painful Portability


The plane lands and turns onto the taxi way.  The flight attendants politely but firmly let you know that you should sit in your seat until the aircraft comes to a complete stop and the pilot turns off the fasten seatbelt sign.  Then she informs you that cellular phones can now be used.


You turn on your phone to the startup tone.  You look down at the signal bar.  No signal.  You try to check your voice mail and receive a message of no service.  You look out the window and confirm you are in a large city.  Looking back down again you realize that this is more than just some added delay in getting the phone to wake up.


The Saga Begins

A situation quite similar happened to me recently.  I landed in Seattle, WA which is just about as far from my home in Indianapolis, IN as you can get without leaving the continental United States.  Although concerned, I felt comfortable that this was just a minor glitch that could be easily resolved.  I made it to the hotel, missing the opportunity to call my wife and let her know that I landed safely before she went to bed.


I picked up the phone at the hotel to call Cingular, the wireless carrier I had switched to only three weeks before hand.  I was greeted with a prompt that told me that customer service was closed, but there was, luckily, an after hours support number.


After a brief interaction, and a technical support person who couldn’t locate the problem I was told to turn the phone off until the morning and things would probably work themselves out.


Broken from the Start

Three weeks prior when trying to activate the service I learned to be somewhat skeptical as I went through a week and a half of trying to get things working.  I ordered the phone from TeleSales and activated service for two lines.  One for my wife and the other to support my needs.  I decided to port my telephone number from Sprint PCS to Cingular in no small part so I could see how bad portability really was.  Sometimes writers have to do things that they know are wrong so they can remind others not to do it – or so I’ve been told by my similarly masochistic friends.


Things were broken from the start as my wife’s phone arrived on time two days after I ordered it but mine was nowhere to be found.  A phone call or two later I was told that the phone hadn’t shipped because they were waiting on the portability department to OK the phone’s shipment.  Over the course of the next few phone calls and countless hours wasted I realized that the process for shipping new service on a ported phone was completely insane since Telesales was waiting on portability.  Portability was waiting on me to have the device so they could activate it in the system.


When two more days passed and I still hadn’t seen the device I called back in only to find out that TeleSales couldn’t track the phone.  However, they were able to finally confirm that the phone shipped – a day after it was supposed to.  By the time the phone arrived it was nearly a full week later.  The device was ordered on a Saturday and arrived the Friday following.  When I called in to activate the phone they couldn’t get the system to take it.  They explained that something was wrong but they’d put in a ticket which might take two business days to get an answer to.


On a whim I called back on Monday and received an activation for the phone.  While on the phone I made a quick outbound call.  Success!  At least that’s what I thought until I went to call the phone back and setup my voicemail.  Neither one of them worked.


Another call back and a few more wasted hours got me no where.  Over the next two days I logged literally hours on the phone trying to get someone who would resolve the problem.  The first day I was told that the phone wasn’t “fully” in the system and that I’d have to wait until Tuesday.  Tuesday came without voice mail or inbound calls.


I finally found a supervisor willing to commit to resolving my issues.  A few hours later I had inbound calls.  A few more calls from me finally got my voice mailbox setup correctly since apparently the device wasn’t setup right before it was shipped and there were some other configuration issues with the phone.


For the time after these problems and before my journey to Seattle all was well.  I was enjoying the extended coverage area and service.


Disaster is in the Air

When the next morning of my Seattle trip came I still had no service.  When I called back in I was told that they couldn’t see the device and would have to put a roaming ticket in and that those took two to three days to resolve.  I was also told that it was most likely an equipment problem and that the phone should be looked at.


Over the next three days I wasted three or so hours trying to get them to identify a store that I could go into to get a resolution.  It seems that the multi-mode (GSM/TDMA) phones that I had weren’t popular in the area so none of the local stores sold them or could diagnose them.  The store which was less than a block from the convention center where I was going to be was useless because they didn’t have the ability to resolve the issue.


I was offered the ability to order a new device from TeleSales – which couldn’t send devices any faster than two day air and I already had experience with them not shipping the same day.  Ultimately this meant that I’d be on my way home before a replacement device could get to me.


The end result was four days in Seattle without the cellular coverage I was paying for. 


What’s wrong with this picture?

Perhaps the most frustrating part of the whole situation was the fact that there weren’t any quick solutions to the problems I was sharing.  Everything was a two or three day wait.  Every solution was presented with the caveat that it probably wouldn’t fix my problem.


Each solution that I presented was met unceremoniously with a reason why it wouldn’t work.  They couldn’t reprogram the SIM card in my phone because I wasn’t in my home market.  They couldn’t get me a SIM card with a Seattle local number because I didn’t live in Seattle and Indiana and Seattle use different billing systems.


It’s just too bad I can’t live without my cell phone.


VCard Burster

So, at Crowe we run Lotus Notes.  (I hate Lotus Notes.)  Sorry, it’s an automatic response.

Anyway, I wanted to export my contacts to sync with my Exchange infrastructure here at the home office.  No problem.  Notes will export to vCards.  Ok, there is a problem.  Notes exports to one huge vCard file with multiple vCards.  Outlook only recognizes files with one vCard.  The net result is that you can only import the first record in the Notes vCard export.

So I wrote a utility which bursts a single vCard file into multiple vCard files so you can double click the ones you want and add them to outlook.  It’s really quick and fairly slick.

I’m working on getting a license created that I can use to distribute free stuff like this, but in the mean time send me an email if you need a copy of the utility (or the code).  I’ll send it to you if you email me.  The standard disclaimers apply… I wrote it for me, it may or may not work for you.