Thursday, March 6, 2014

Total Thyroidectomy

Around 18 years of age, my thyroid gland decided to start getting busy.

Meaning, bigger.

Called a "goiter", the result of Hashimoto's thyroiditis, my immune system assaulted the gland over the years and prompted it to create scar tissue and increase its size. As far as it was concerned, this thing was a foreign body needing termination.

Fast-forward to age 40.

A friend of mine who works with kids contracts pertussis, aka "whooping cough", a childhood disease largely controlled with childhood vaccines, but which has found new life thanks at least in part to anti-vaccination activism. I happen to contract almost identical symptoms a short while later. I wake up nights with unprecedented difficulty breathing. My throat feels clogged with mucus, and the hacking cough lasts a good month or two.

I decide it's time to get this thing out of me. Total thyroidectomy.

I consult a local ear-nose-throat doctor. We commit to surgery. She gives me a warm hug on my way out of the initial appointment.

I go to a pre-op appointment. Alex, a Korean physician's assistant, opens the floor to me to ask questions. I ask my wife's questions first, how soon prior to the surgery can she see me? How long is recovery?

Questions answered, I'm out. The following Friday, I wake up at 5-dark-thirty to arrive at the hospital around 7am. The reception nurse, sleepy but awake, leads me into the prep area. I'm asked to disrobe into one of those humiliating ass-open hospital robes, and need help tying off the lower part. She reassures me, she's seen plenty o' butts, and helps tie the knot.

I'm led to a bed, where an intake nurse sees me next. We review my meds, whether I've taken aspirin, fish oil, any other OTC drugs that might cause excessive bleeding. Being a compliant patient, I've refrained from taking these for a full 5 days prior. I've even showered and scrubbed the area with a chlorhexidine-containing soap to minimize the number of microbes loitering around my neck.

The nurse inserts the IV into my forearm. The vein is sketchy, so apologetically she tries again, this time atop my hand. Success!

Bruce, the anesthesiology nurse, warmly greets me. A friend snaps a shot of me smiling wanly in the hospital bed, and then I'm wheeled off toward the operating room.

Upon arrival, Bruce whips a syringe out from his chest pocket, then injects its contents into my IV. Versed, he says. Cool! I'm hopefully I'll start feeling woozy, euphoric. No such luck, however.

I'm there, in the OR, a few minutes. Someone places a mask halfway across my nose and mouth. I breathe normally and then... like some ridiculously swift transition in a movie, I find myself in recovery. I have utterly no recollection of the events that transpired.

I gingerly probe my neck, and it seems genuinely less massive. The thyroid is gone, it would seem. A tube leading to a squeeze bulb meant to suck out fluids hangs at my chest, and the remainder of the wound is sealed with some sort of novel purple "glue" meant to bind incisions.

A friend along with my wife rescue me from the hospital and we drive. We decide to have dinner at a local sushi restaurant we enjoy. Despite the lingering haze of the anesthetic (which imposes a noticeable delay as I try to piss in the restroom), I find I can fairly easily chew and swallow our food. Famished, I devour it eagerly.

The first few days following surgery, I numb the pain with hydrocodone provided by the surgeon. Recovery is, thankfully, largely uneventful. Now at a week afterwards, the glue has all but fallen away, and the surfacemost areas of the scar have healed over. I now apply Mederma several times daily to deter the formation of an annoyingly visible scar.

I can swallow much more easily, and although now I add another medication to my daily regimen (levothyroxine, the brand name of the well-regarded thyroid replacement hormone), along with Humalog and Lantus to manage my type 1 diabetes.

It doesn't bother me as much. Just being able to breathe and swallow more easily is a wondrous thing.

Thursday, February 20, 2014

FocusMonitor Identifies Processes Stealing Focus

Recently I've been having issues with some process stealing focus from the application I'm working in.

Like I'll be in Visual Studio or Word or Waterfox (a 64-bit performance focused build of Firefox) and suddenly focus is swapped for a split second and whatever word I'm typing gets cut off or a button I'm clicking isn't.

I found a very helpful post by Matt Gertz from some years back where he provides some VB.NET code for an application that can monitor processes that steal focus from it. I'm more of a C# guy myself, so I've run with Matt's core logic and created a 32-bit C# application in Visual Studio 2010 which provides similar functionality. It will also let you copy the log info to the clipboard to paste wherever for further examination.

I call it FocusMonitor, and you can download the source code.

Sunday, February 2, 2014

Cannot Install Windows Updates

My Windows 7 install inexplicably began to have issues with installing updates.

Service pack 1 installed fine using an installer, but other incremental updates consistently failed, they would download but they'd be skipped by Windows Update and reported as having not been installed.

One fix involved deleting a folder and letting the update process recreate it, specifically this one:

This folder contains part of an internal Windows database which it uses to track updates, and a log file, dberr.txt, which was rife with error messages like these:

CatalogDB: 6:27:32 PM 2/1/2014: catdbsvc.cpp at line #3454 encountered error 0x8007000e
CatalogDB: 6:27:32 PM 2/1/2014: catadnew.cpp at line #1915 encountered error 0x8007000e
CatalogDB: 2:16:29 PM 2/2/2014: catdbsvc.cpp at line #969 encountered error 0x8007000e

Interestingly, the error 0x8007000e was frequently returned as a response in the failed attempts to update.

Based on this seemingly corrupted database folder, I decided to try deleting it and then have Windows recreate it by taking the following steps, and now updates are again able to be installed.
  1. Open a command prompt with administrator access.
  2. Stop the Cryptographic Services, which normally has a lock on the above mentioned folder, by typing this: NET STOP cryptosvc
  3. Rename (or, if you're brave, delete) the C:\WINDOWS\SYSTEM32\catroot2 folder.
  4. Start the Cryptographic Services by typing: NET START cryptosvc
  5. Run Windows Update, and then have it download and install one or more updates to verify that it does so successfully.

After doing this I was able to download and install the latest updates successfully.