The waiting is the hardest part

waiting-room-hell Being the father of a 4-year old has reminded me of the difficulty we all have with the concept of waiting. It’s hard enough for adults; it’s nearly impossible for kids.

In their defense, kids have the deck stacked against them. Patience is learned; some kids take a long time to learn it, and some never do. Kids have a poor concept of time, and of time differences. Worst of all, kids often seek instant gratification, the yang to waiting’s yin.

The actions of kids, and the language of their parents, has come to reflect the difficulty of waiting. Consider the following quotes, which every parent can relate to:

As adults, waiting doesn’t get easier. We spend an incredible amount of time waiting. We wait for doctors, traffic signals, and commercials to end. We wait for friends and family to arrive, and then wait for them to leave. We wait for good news and for bad news, then wait for our problems to get better (or our good luck to run out).

Waiting is everywhere, and it’s hard.

Fortunately for me, I’ve learned two valuable lessons to making waiting easier. My fortune is now your fortune, as I’m going to share those lessons with you — and I promise not to make you wait.

Lesson 1: One step closer…

crying-baby When my daughter was an infant, I had the dubious job of the 3AM feedings. On any given night, I didn’t know how long it would take her to fall asleep after drinking her bottle. It could be five minutes or 95 minutes.

The process of getting her to sleep involved me walking in what I eventually called “the circuit”: a circular path through my kitchen, dining room, and living room. I would talk softly to her along the way, and rock her gently in my arms. I was a lumbering, shuffling mass, barely able to lift my ridiculous slippers off the floor. One benefit: the hardwood and ceramic tile would have a polished look every morning, at least along the circuit.

How did I get through these sometimes long nights? With each walk through the circuit, I reminded myself: “That is one step closer to the last step.” Of course, I didn’t know how many more times I’d walk the circuit, but I did know that it was one less time.

Summary of lesson 1: Remember that every moment you wait is one moment closer to when you can stop waiting. Waiting is, as a result, a self-healing action; the longer you wait, the less time remaining that you have to wait. Be relieved as each moment passes; it is one step closer to where you’d rather be.

Lesson 2: Enjoy it!

cashier I often think of the teenage kid working at a fast-food joint. He is miserable; he hates his job, the smell of the cooking oil, the whole experience. He could care less about his job or his co-workers. All he cares about is his paycheck – it’s not much, but at least it’s something.

Every day, that kid gets to work and can’t wait to get home. Sure, he can heed lesson 1, and remind himself (as optimistically as he can) that each moment is a moment closer to going home, but he is still miserable.

The opposite of that is a lady I worked with at Republic National Bank. I don’t recall her name; she was a secretary to someone of importance, whose name I also forget. What I do remember is that, whenever I saw her and asked, “How are you?” she gave the same answer:

“Never better.”

What’s the difference between those two people? Granted, the secretary may have a better work environment than the fast food cashier, but for all I knew, she hated her boss, was appalled by the stuffiness of the office, and thought her job was meaningless and irrelevant, a total waste of time.

The difference between them was that she was happy, because she made the effort to enjoy what she was doing, to make the most of the effort.

How does this correlate to waiting? I will provide two examples.

  1. When waiting for the bus/train/airplane/doctor/psychologist/next cashier/parole officer/whatever, don’t fret about the waiting. Instead, read a magazine, daydream, hum a song, people-watch, or strike a conversation with a total stranger. You’re there; there’s not much you can do about it; so make the most of it.
  2. Remember that we’re all waiting for something; we’re all experiencing the same frustrations. Our reasons may be totally different, but we’re in the same boat. Instead of losing your patience, smile about it, curl your eyebrows, and remember lesson #1.

Summary of lesson 2: Make the most of it, no matter how miserable it may seem, and remember it’s not permanent. Waiting isn’t all that bad when you think of the positives.

It’s about what you’re waiting for

think-positive In the end, remember that waiting is the price you pay for something worth waiting for. If your doctor is worth waiting for, then wait; if he isn’t, find a new doctor. The same goes for all things in life: traveling, friends, family, lovers. If it’s worth having, if it’s worth keeping, than it’s worth waiting for.

That doesn’t mean waiting isn’t hard. Sometimes, it’s the hardest part. It’s up to you to make the most of it.


The title of this post is taken from the Tom Petty song, The Waiting. (Listen to it on LuLu.com.) I won’t link to the lyrics, since most lyric sites are riddled with advertisements, but I’ll share some snippets below; you can search Google for the full lyrics.

The waiting is the hardest part…

Don’t let it kill you baby, don’t let it get to you
Don’t let it kill you baby, don’t let it get to you

Thanks to Mr. Petty for giving me a title to this article, and thanks to the person who gave me the inspiration to write it!

The Visual Studio hosting process and 64-bit Windows

I’ve recently started working with Outlook Redemption, an excellent alternative to direct MAPI calls. Some of the other devs on my team wrote some libraries that use it, complete with unit tests. All the code and unit tests run fine on my machine (VS2008, 64-bit Windows).

                     /"\
                    |\./|
                    |   |
                    |   |
                    |>~<|
                    |   |
                 /'\|   |/'\..
             /~\|   |   |   | \
            |   =[@]=   |   |  \
            |   |   |   |   |   \
            | ~   ~   ~   ~ |`   )
            |                   /
             \                 /
              \               /
               \    _____    /
                |--//''`\--|
                | (( +==)) |
                |--\_|_//--|

In order to illustrate some functionality, I needed to write a simple console application that used the code that these other devs wrote, so I referenced it and tried it… and was given an exception (the computer version of the middle finger):

Unhandled Exception: System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} failed due to the following error: 80040154.

My first instinct was to search through the registry for the CLSID. Sure enough, it was there, and everything looked right. It has to be — otherwise, the unit tests (which use the exact same code) wouldn’t work.

The next thing I tried was unregistering and re-registering Redemption.dll (using regsvr32). No luck; unit tests work, console app fails.

Reboot? No luck; unit tests work, console app fails.

I did some reading, and apparently MSTest runs as a 32-bit application (though it can be run as 64-bit). I tried forcing Visual Studio to compile in x86? No luck; unit tests work, console app fails. Forcing Visual Studio to compile in x64 didn’t help either.

More reading, and I started to understand more about what the “Any CPU” platform compilation means, and the trials and tribulations of programming for 64-bit Windows. Now I am smarter, but I still can’t get my damn simple console application to work!

Seemingly out of options, I found myself staring at the Debug output directory, and noticed something:

SimplePstExtraction.exe
SimplePstExtraction.vshost.exe

I went ahead and turned off the Visual Studio hosting process, and viola! Everything works fine. I don’t know why, exactly (though I’m sure it’s related to the difference between 32- and 64-bit processes), but it fixed my issue, so if you have the same problem, hopefully it’ll fix yours.

Bad government: Spending $250,000 to create or save one job

From the Wall Street Journal Online, Oct 30 2009: White House Data Shows 650,000 Jobs From Stimulus:

WASHINGTON — The Obama administration said Friday that the government’s fiscal stimulus program has helped create or save almost 650,000 jobs…

The new jobs figure — 640,329 specifically — represents direct stimulus spending through Sept. 30 on projects or activities…

[T]he reports cover only $160 billion of the $339 billion in stimulus spending that has occurred through Sept. 30.

I’m not an economist or a mathematician or a politician, but I can do basic math:

$160 billion divided by 640,329 equals $249,871.55 per job created or saved.

As a comparison: the median full-time salary for a U.S. worker was $27,756 in 2005 (source).

Why does it cost $250,000 to create or save a job in a market where the average worker makes under $30,000? Can someone explain to me how spending a quarter of a million dollars to save one job is a smart way to spend money?

Seriously, can someone explain?!?!