Public musings, often on software development RSS 2.0
# Saturday, September 09, 2006

For those who were out with us Thursday sorry in the delay in this post.  Tim M., Kevin, Matthew and I rode through Calavera after work on Thursday.  But the big news is that we ran into not one but two Rattlesnakes on the ride.

The first one was on the spine.  Kevin and I rode past it, but Tim M. who was doing some 'pushing' on his bike heard it rattling and as you can see it was coiled... so he quickly got out of the way.

The rattlesnake is that dark brown blob you see slightly above center in the image above.  This was the closer of my two photos, but of course the thing is, in this case you don't get close to the snake because you are dealing with the business end.  Thus while I held my phone out and pointed I wasn't getting within 10 feet.  We had to pull Tim M's bike away from the area since as you can see in the image below the trail is litterally alongside where the snake was.

 

This is most of the way up on the spine and by the time Kevin and I reached this point the blood was pounding in our ears and we were pedalling hard to keep moving through the obstacles.  Plus Tim M was at least 25 seconds behind me and so the snake just hadn't gotten there yet (that's our story and we're sticking to it :-)

The second rattler was found by Kevin while the rest of us were looking at rattler #1.  This was up past the top  of the Spine off on a closed trail.  Kevin decided to explore that trail and ran into the friend below.  You'll note this image is a little better, that's because I was willing to work with the rattle end of the snake as opposed to the business end and get a little (but not much) closer.

Now believe it or not these are the first rattlers we've seen this year.  On the other hand it does make me 4 for 4, that is 4 years mountain biking and 4 years of running into at least one snake every year...

Saturday, September 09, 2006 10:58:14 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Monday, September 04, 2006

This is a long post relating to that six letter word you don’t want to hear from your doctor.  The story is now "complete", and the diagnosis is in.  Surgery was the 22nd of September and as you'll see below was successful with no complications.   The post was delayed repeatedly because I wanted the analysis if not complete to be far enough along to be able to talk about it without it hanging like weeks on end as an unanswered possibility.  I wrote this as much to discuss the journey as the results.  The title comes from the original update which went beyond family and friends to co-workers following my second biopsy.

 

In starting down this path I found via various web searches relatively little first hand information on this process, a process of discovery – not the diagnosis or treatment that might result for which there is a fair amount of literature but literally the process of reaching that point.  

 

I have been and remain rather open about the status of my health.  I make no secret of my Diabetes (T2) and in general will do the same with any other major diagnosis.  Of course I’m sure that Ron (who shares my office) and a couple others have wondered about some of my recent appointment phone calls and time out of the office.  They were updated as of the second biopsy below and those who got that update can skip to that section.  There is now reason (with my project coverage/replacement being named) to expand the circle of those who are aware of what’s going on. So here’s a walk through my latest adventure in medicine.

 

Around when Billy was born I had some time off.  In early May I took an opportunity to reschedule my quarterly appointment with Dr. W that I had canceled because of the final month of pregnancy.  My discussion with the Dr. went as expected with my sugars being well controlled (A1C under 6.0) and to finish up our review of my latest tests he did a quick physical examination.  This is when the new adventure started…

 

A Thyroid Nodule is Found

As part of checking my neck (or whatever they check when they ask you to swallow) he found I have a lump in my neck.  Q:"How long have you has your neck been swollen?"  A:"I don’t know maybe a couple months."

 

As Dr. W said at the time – in the old days they would have diagnosed the swelling in my neck as swollen glands and sent me on my way.  However, this isn’t the old days, and after a few minutes of pressing and me swallowing, he said – it appears you have a goiter.   A goiter for those who aren’t familiar with the term is a generic description of an enlarged thyroid gland.  It is often (but not always) associated with an abnormal thyroid hormone levels.  I’m not going to link to information on goiter’s simply because if that was the focus of this discussion we’d be done. 

 

However, a goiter isn't always associated with just an enlarged thyroid.  In a small percentage of cases it is associated with Thyroid cancer.  Therefore Dr. W started me down the path of tests and exams to better understand my goiter. 

 

This started with question on whether I had any family history of thyroid issues – which I do.  So he ordered a couple lab tests to judge my thyroid functions and a thyroid scan and uptake test.  The labs I had drawn that same day right after my appointment and the scan and uptake tests were schedule for a week later the next day.

 

The lab test results in fact were back by the time my scan and uptake were scheduled and the results were that my thyroid hormones were normal.  This was good news from the standpoint of not needing medication related to my thyroid; unfortunately it means nothing in the larger picture of whether my goiter was benign.

 

Thyroid Uptake & Scan

The following week I went for the uptake and scan tests.  I’ll provide a link at the bottom to the details of these tests, but in short.  The two tests are run after a patient is given a small dose of radioactive iodine.  The Thyroid gland is sensitive to iodine and absorbs it from the body (in fact goiters were often caused by an iodine deficiency – although this is rarely a problem in the US.)

 

For the uptake test what happens is about 6 hours after you are given the radioactive iodine they look at how much of that iodine has been ‘absorbed’ by your thyroid and compare it to your lower thigh just above the knee.  Since the thyroid absorbs and uses iodine the thyroid should absorb the majority of the radioactive material.  The result of the test is a comparison between the two readings which provides a normal range and a set of high and low ranges.  My initial reading was considered normal, as was my follow up reading the next morning 24 hours after the original dose.  Two readings are taken to see the action of the thyroid over that 24 hour period.  At this point my thyroid uptake and hormones are normal. 

 

The second half of the uptake and scan is the scan.  The scan uses the same radioactive iodine absorbed by your thyroid with a machine similar to an MRI to paint a picture of your thyroid.  Thus using this machine it is possible to see the thyroid, which shows up looking like a butterfly (aka the butterfly gland).   The scan has gradients, portions of the thyroid that are absorbing more iodine show up brightly (or hot) and those absorbing less material show up as dark (or cold).  A normal thyroid has a fairly consistent appearance; abnormal thyroids can have hot and/or cold nodules.  Hot nodules are usually a good indicator that a nodule is benign. 

 

When mine was viewed it had they typical look of a butterfly with a few exceptions.  The left side of the butterfly looked pretty normal – in discussing my results the doctor said there were 1 or 2 cold nodules but that in general that lobe looked normal.  These nodules were small enough and not cold enough to be considered high risk.

 

However, the right side of my butterfly wasn’t normal.  Take a butterfly’s wing; draw a big circle in that fills pretty much the top 2/3's of that wing.  On my scan this was a cold nodule and it reflected the more noticeably enlarged size of my thyroid on the right side.  This nodule was in excess of 2CM – note that is centimeters not millimeters and this is a measurement which is important in considering the likelihood of malignancy.

 

Dr. E (who was responsible for interpreting my scan) explained the results and implications to me.  In short there are a couple options with thyroid nodules; the first is that as in ~90% of cases they are benign.  He also explained that nodules are quite common among women (not that it applied to me) and that again most are benign. (For men the percentage of benign nodules drops to ~85%)

 

Another check that is common is to get a ‘feel’ for the nodule.  Those which are cyst based tend to be softer because they are essentially fluid filled sacs.  This is another differentiator of risk, and Dr. E checked mine and as he noted it didn’t feel like a cyst.

 

He continued the discussion in the area of cancer.  As he put it if you God tells you that you will have cancer in your lifetime, but lets you pick your choice of cancer, well Thyroid cancer is the one to pick.  The 10 year survival rate is in excess of 95% and since it is generally a slow growing cancer there is rarely any major complication.  However, for all of this a Thyroid scan is not considered an adequate diagnosis. 

 

Fine Needle Aspiration (Biopsy #1)

The 'defining' method of checking a nodule is via a Fine Needle Aspiration or FNA biopsy.  This biopsy is done by doctors with training and is generally done in conjunction with a sonogram to help guide the needle to the target area.  So I called Dr. W after talking with Dr. E and knowing he wouldn’t have the results yet (I still had a morning test to complete) let him know where we were headed.

 

This however is one of those points where I wish I had known more about the procedure.  For starters I didn’t realize Dr. G would be required for the biopsy, I actually thought Dr. W would be responsible for handling it.  So after I let Dr. W’s office know what was coming I didn’t press at the same time for a referral to get an appointment with Dr. G.  It took till the next week for Dr. W. and I to connect regarding the formal results.  He informed me that yes I would need a biopsy and that he was referring to me to Dr. G.  Dr. G is our local endocrinologist and he handles these biopsies.  This is in large part because these biopsies require special training and are done with the aid of a sonogram to guide the needle.

 

So at the end of the 3rd week of May I called Dr. G’s office to get an appointment.  I explained to the office staff that I was being referred by Dr. W’s office, that I had a dominant cold nodule on my right thyroid and that Dr. E had suggested a biopsy at the earliest time.  I was then informed it would be around 6 weeks till Dr. G would see me.  I reiterated the reasoning for my referral and the office staff made it quite clear that while I would be put on the wait list for an opening in his schedule that my condition was common in their office and that it wasn’t a priority.   In checking on the web I’ve learned that a delay at this stage in the process is not uncommon (originally in the one history I’ve found that’s similar to mine on the web and recently in a book I’ve just purchased – which is part of the reason I’m writing all this up.)

 

Learning about Thyroid Cancers

In all honesty however I probably should have called Dr. W back and told him about the delay and confirmed whether this was reasonable.  While it might have been reasonable, in the long run this would have made me feel better.  However, to be honest it still took me a while to learn about all the potential issues.  So I spent the next 6 weeks (no openings in Dr. G’s calendar for 6 weeks – I wasn’t a wait-list priority at this point) learning more about the scenarios.  So to simulate my 6 week delay I’ll talk about some of what I learned during that time.

 

For example I learned that there are essentially 4 different types of Thyroid cancer (they actually subset a little further but for a layman’s view 4 is adequate), Papillary, Follicular, Medullary and Anaplastic.  This is in the order of both 1. how common each is and 2. how curable each is. 

 

To quickly summarize, papillary cancer represents in excess of 75% of Thyroid cancers and is treatable well in excess of 97%, for my age group this is the one Dr. E was talking about.  Next in line is Follicular; less common (under 20% hit in the two forms of this subset) it is still very treatable with close to a 95% survival rate.  Medullary carcinoma is even less common (under 5%), however at this point staging becomes critical because medullary can be difficult to treat in late stages.  Finally there is Anaplastic; it is very rare (under 1%).  Generally only people over 70 are even at risk but let’s just say that the results Chief Justice Rehnquist saw are typical.

 

I also looked across several sites like endocrineweb.com for more information on the tests and understanding them.  Part of what I learned is that as with any set of tests there are common characteristics of the ones which turn out to be cancerous.  For example they are usually cold nodules, often in excess of 2CM, usually not cyst like, etc.. 

 

Fine Needle Aspiration (Biopsy #1) - continued

It took till my appointment on July 6th to get in to see Dr. G.  This appointment was first a briefing on my status and then he took me over so he could do a sonogram on my thyroid.

 

The results on the left side were the same in both the the original scan and the sonogram: there was a small nodule on the left side.  On the sonogram it was possible to see that this had distinct borders and when you read up on the characteristics of thyroid nodules, a pretty common benign nodule.  Once again however, the right side nodule was uncommon.  It had good blood flow on the sonogram and indistinct borders.  Neither of which are good for a solitary nodule in one lobe when accompanied by smaller nodules in the other lobe (which is different from a completely solitary nodule in the thyroid.)

 

Needless to say Dr. G agreed that I should have a biopsy of my thyroid, but then informed me that we couldn’t do it that visit because it required the attendance by a lab tech to take the materials.  However, this time instead of needing to go through his office, he let me know we could do the biopsy the next day on Friday afternoon.  So on Friday afternoon (7/7) I returned to Dr G’s office for the FNA biopsy.  He rubbed a numbing cream on my neck and I waited a little while for it to take effect.  We then returned to the sonogram room to perform the biopsy.  He drew a sample from the right side first.  He then moved to the left side.  After the first sample from the left side the lab tech felt that the sample was insufficient so he withdrew a second sample from that side.

 

The biopsy process was relatively painless, about the equivalent of a gentle dental cleaning. Within an hour of the biopsy I was back at work with no one in the office able to tell that I had recently had a needle in my neck even though I wore only a t-shirt showing my full neck.

 

The results would take about 1 week, but I might not get them till the following week since Dr. G would be out that Friday.  One of the things I knew by this time was that there were 4 possible results from my biopsy:

benign – the majority of all biopsies are benign,

non-diagnostic – only 5-10% of biopsies are non-diagnostic and such biopsies require a second biopsy.  Note since benign follicular cells are often cannot be differentiated from malignant, a different type of biopsy is suggested for non-diagnostic results. (This is due to lost structure in the small biopsy)

suspicious – approx. 10% of all biopsies are rated suspicious which means that you are facing thyroid surgery since follow up tests would also be inconclusive. Of note 25% of suspicious nodules are found to be malignant in surgery.

malignant – approx. 10% of all biopsies are cancerous.

 

A good page for a quick review of the FNA process is: http://www.endocrineweb.com/fna.html  Endocrine Web is an excellent resource and I recommend going through all of the pages there if you need additional good information.  Although they are written to make patients feel better with statements like this one: “Thyroid hormone levels are usually normal in the presence of a nodule, and normal thyroid hormone levels do not differentiate benign from cancerous nodules.  However, the presence of hyperthyroidism or hypothyroidism favors a benign nodule…”  notice how the second sentence conflicts with the first.  The fact is they are accurate and cover as much as any other site I’ve found.  This is not the only site I used and certainly if facing a scenario similar to mine you shouldn’t limit yourself to these pages either.

 

The following week I had to revisit Dr. W for an unrelated reason.  Dr. W had the day before received a copy of the results by the time so he quickly let me know a synopsis of the results.  The left side biopsy had come back with atypical cells but, but was benign.  On the right side the results were – non-diagnostic due to insufficient material.

 

So this meant I needed to talk to Dr. G for information on the follow up step.  I started calling Dr. G’s office on Thursday since I needed to travel to Florida the following week for business.  I didn’t hear from him on Thursday, so I called again on Monday telling him my cell phone number since I was now in Florida.  I then called again on Tuesday because I still hadn’t heard back.  I then called again on Thursday because although I was back locally I still hadn’t heard from him.  I finally got a call back from his office on Friday the 21st letting me know I could see him on Monday because an appointment had opened up.

 

Core Biopsy (Biopsy #2)

So on the afternoon of the 24th I saw him and we discussed my status and he explained that I needed a referral over to Tri-City hospital for what is known as a core biopsy.  A core biopsy is similar to a FNA biopsy but uses a larger needle and maintains a better sample structure.  It is a more definitive biopsy style and when it comes to examining follicular structures makes it possible to review these structures which are destroyed in an FNA biopsy.

 

I started the process of getting my appointment.  It took a day or so to hear back from the hospital but the first available appointment was for 8/7 (about 3 months after I started this process).  I’m told the results from this biopsy should be available by mid-week, and of course I’m making sure they include Dr. W so I can find out the results within the week since I’m headed back to Florida on Monday the 14th. 

 

As for the actual core biopsy, well of course it’s a hospital so the 30 minutes procedure with 30 minutes at registration turned into about an hour and a half – which I expected.  The doctor, Dr. G2 briefed me on the procedure and made sure I was ready.  Of note he took a moment to warn me of the ‘popping’ of the collection device which was a very good move.

 

I was given a shot of Lidocain on the right side of my neck (assisted by sonogram again) and then he took two samples from that side of my neck.  I was then given a shot of Lidocain on the left side of my neck and another sample or two was drawn from that side. 

 

In general the core biopsy has a couple differences from the FNA biopsy and one of them is you can choose to have anesthesia for the procedure or local anesthetic as I did.  Let me state without reservation – unless you panic at needles just use the local.  The procedure was almost painless (the local anesthesia was the ‘painful’ part) and the ability to leave the hospital and return to work meant a much smaller disruption in my day (just a slightly long lunch in that respect)

 

As for the follow on from the actually drawing, well one big difference – my neck hurt.  The left side hurt a little the right side hurt a lot.  Think stiff neck and you are on the right track, I wasn’t twisting my head much.  In addition I had to keep the band-aids on my neck till the next day and couldn’t have any physical activity until late Wednesday.  By physical activity – the discharge instructions list lifting anything over 5lbs… so typing was fine – picking up my infant son not so good – although I could still hold him.  Overall I would estimate it took about 2 days for me to not notice my neck and my actual right lobe where the doctor took the main sample was probably tender for a week or more.

 

However, since as I said I know had band-aids on my neck and a stiff neck that made turning my head ‘difficult’ this was the point where I had to update my office and coworkers with what was going on.  While one or two knew that I was having my thyroid checked, the current status to this point was news to most everyone since as I said I wasn’t looking to cause concern for nothing and since the results would be back in a couple days – no worries.

 

Getting Biopsy Results

Then came the quest for my results, a task which I thought would be simple.  After all I had made sure my results went to Dr. W’s office.  So when I called Dr. G’s office and they said he was on vacation and wouldn’t be back until next Tuesday, I didn’t worry, I knew he had vacation around this time - part of the reason I made sure Dr. W would get a copy of the results.  I called Dr. W’s office and they confirmed they had results and said they would have someone call me back.  This is where things went a little sideways.  The first call back said – please call Dr. G’s office for the results as Dr. W is on vacation.  Dr. W was also on vacation until next Tuesday. 

 

However, I knew that Dr. W worked in an office with multiple doctors so I called back and asked to have one of the other doctors call with my results as Dr. G was also on vacation and I would like to get my results prior to leaving the area on Friday.  The call that came back however was adamant.  Dr. X who is covering for Dr. W asks that you please call Dr. G’s office for your results; you’ll be able to do so next week while you are out of town.

In short – we won’t give you the results.

 

Let’s just say this caused a little consternation for both me and others in the office.  My favorite quotes were “What kind of blue-light special doctors are you working with?” and “Well any nurse could tell you the results were normal.”  I explained the second quote was definitely true and was probably an indication of where the results were headed.   At this point let me point out that in fact this scenario should have been avoided.  I’m going to jump ahead here and point out what I found out a week later.

 

My sample had been sent out to an expert pathologist because of concerns by the initial pathologist in the reading.  This meant the results would take an extra week to 2 weeks.

 

Had Dr X told me this without any other information I and everyone who at this point was aware of my status would have found the answer much more calming.  As it was I was left suspecting that I had to wait for Dr. G so that I could have him bring me to his office to discuss the “bad news”.  So the following week I headed out on my trip, and then on Tuesday I called Dr. G’s office.  The response was “the final report isn’t available and Dr. G won’t release the results until he has the final report.”.  By this time that wasn’t an answer I was willing to accept since I didn’t have the information above.  I remained calm and polite and asked a couple more questions and was told that they were trying to get the ‘final’ report from the hospital.

 

Therefore I called Dr. G's office again on Tuesday afternoon, twice on Wednesday, and then on Thursday I again called twice (each time remaining polite) – until finally that afternoon I was told that the reason for the delay was related to a second reading.  By this time on Thursday I had also called Dr. W's office again – since he would also be back from vacation.  Unfortunately I didn’t get his nurse's call back before I was on a plane headed back to California.

 

On Friday morning after returning from my trip I got a call from Dr. G.  He called me to let me know he had gotten my final results.  As I said the first thing he noted was that my results had been sent to another pathologist for review.  The results were back and he explained that the results indicated a follicular neoplasm.  A follicular neoplasm is a structure of follicular cells which may or may not be cancerous – here’s the fun part – there is no way to tell as part of a biopsy.  Thus when these structures are found the recommendation is surgery. 

 

Shortly there after I called back to Dr. W’s office and when I talked to his nurse she started to explain that my biopsy had been sent for a second opinion.  (I then let her know that Dr. G had already called me with the results of the second opinion and that now I was looking for a surgical recommendation. – I bring this up to point out that there wasn’t a problem with the delay and that in fact both of my doctors have been very responsive.

 

Surgery

The next step in this process wassurgery.  The odds at this point were still in my favor Dr. G's statement was there was probably only about a 30% chance of cancer.   I met with the surgeon Dr. K.  We discussed  the options and he suggested what I was already inclined to do which was to remove my entire thyroid.  This was the same suggestion I got from Dr. W on the 11th.

 

As I stated in advance; given all of the materials I’ve read – I was leaning toward removing the whole thing.  There were already nodules on the left side so I’d spend the rest of my life waiting to see if one of them decided to go bad – not to mention that if after removal it is found to be cancerous I’d need a second operation to remove the remainder.  Which is what Dr. K confirmed - however he actually added that in the event we did only do a partial and then had to go back for the remainder one disadvantage is an increased risk of complications during the second operation... which makes me even more comfortable just getting rid of the whole thing.

 

Removing the whole things doesn’t come without its own issues which was why I waited for the doctors reccomendations.  The first thing is that although a lesser risk of complications over two operations, it is an increased risk of complications over just a partial.  There are basically two main possible but unlikely complications – the first is the loss of additional glands related to processing calcium.  This could result in me needing more then just thyroid medication for the rest of my life - in talking to Dr. K he discussed these glands extensively and steps he takes to minimize damage to them.  The second ‘scarier’ possible complication is that the surgery could damage nerves related to my vocal cords.  It isn’t something you can tell initially because the surgery from what I’ve read probably will cause a short term issue with my voice.  However, it could also cause permanent damage – which given my teaching and speaking wouldn’t really be a ‘good’ thing – although the writing will go on regardless - Dr. K said he's never completely and permanently ruined a patient's voice in a thyroidectomy.

 

On the 12th I met with the surgeon, Dr. K, and his office scheduled me for the first available surgery which was Sep. 22nd.    Surgery went well and I didn't have either calcium or permant voice complications.  The pathology report followed surgery by about 5 days (the expectation was it would be available about a week later).  It reported benign nodules.

 

The main discomfort after the operation was my throat - but let me be clear not my neck, my throat.  During the anesthesia they place a tube down your throat and this tube causes it's own damage.  My voice was very week.  After surgery I recall a brief time in the recovery room and begging for ice chips because my throat was so sore.  My surgery occured around mid day.  Around 8PM they brought me a dinner tray and I was able to eat some soft foods like jello, pinapple and a little bit of salad.  I watched some TV and basically got some sleep.  They did the first calcium test around midnight and I got a dose of pain meds.  The next morning around 5 AM they did a second calcium test and by around 10AM I had seen Dr. K and was out of the hospital.   

 

On coming home my throat was sore and my voice was very week.  Each day since surgery my voice has improved and most people think I now sound like I have a cold.  My vocal cords (a few weeks out) are still recovering but there isn't any pain just an inability to really have a full range of tones in my voice.  For example I can't make a high pitched sound, when I try nothing happens - no pain but no noise either.  As noted however, this is something that is slow to return and will probably take 6-8 weeks to fully recover.  I missed a full week of work and then was allowed to work remote for the second week.  I have my new drug and will meet with the surgeon for follow-up in the coming days. 

 

It'll take a couple months for my thyroid levels to stabilize on the drug so in December I'll be meeting with Doc W. again and we'll begin the process of adjusting my thyroid medication which will take a few round trips until we get it stable.  Its going to take a little time but there is no reason for me to not plan on continuing with the things I do and that definitely includes riding both my road and mountain bikes. 

 

Had the pathology report comes back cancerous well then I head in for radiation treatment and all of its related fun and excitement.

 

Additional Notes and Links

Probably the most frustrating aspect of this experience was the inability to plan.  Each of the sections above was as far as I could plan as I went through the process.  Having a 2-6 week ability to plan  for what you can commit to is a little frustrating – the good news was early in the process I just presumed things would be benign and made plans in that event, it was only once we got suspicious results back from the second biopsy that planning became an issue.

 

In putting this together I’ve done a lot of research.  It started slow but has picked up pace since the second biopsy.   I wanted to enclose a few of the key pages as links.

 

Let me start with a link related to thyroid surgery which is one of the more helpful links I’ve found on that topic:

http://www.um-endocrine-surgery.org/paraop.html

http://cpmcnet.columbia.edu/dept/thyroid/surgeryHP.html

http://www.endocrineweb.com/surthyroid.html

 

Information on Follicular Cancer:

http://www.endocrineweb.com/cafol.html (check Editorial Note from Dr. Norman)

http://cpmcnet.columbia.edu/dept/thyroid/follicular.html

 

Information on Thyroid Nodulces:

http://www.endocrineweb.com/fna.html

 

When it comes to Thyroid Cancer support the primary site appears to be ThyCa.org:
http://www.thyca.org/

 

The week before surgery I got a book.  I read most of it and I highly recommend it to anyone who basically gets to the point I’m at where the possibility of thyroid cancer goes from remote to not quite as remote as we’d like: 

'Thyroid Cancer: A Guide for Patients'

http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&EAN=9780974623900&itm=1

 

Finally a quick note – there is a tendency in the medical community to refer to thyroid cancer as the "good cancer".  In general I think this is based on papillary carcinoma because it is so frequently curable.  However as with any cancer, the reality lies in the staging.  I fully expect that it’s the designation of 'good cancer' that results in for lack of a better word – low priority triage of potential thyroid cancer patients Early detection is vital especially for cancers other then papillary and follicular.   One key factor in all thyroid cancer appears to be age in fact I read that the younger the patient the better the odds – end of staging.  A good indicator of this is the way that the cancers are staged, this link has a reasonable set of the staging criteria: http://cpmcnet.columbia.edu/dept/thyroid/staging.html

Monday, September 04, 2006 10:39:44 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
About the Nerd
# Saturday, August 05, 2006

So the time has come... you installed TFS and have the basic installation running and then, one day you realize you need to install Team Build separately from the baseline TFS install.  So you go back to the install CD and open the build directory and do the Team Build install.  No worries until you get to that screen that asks you for the account to use.  Of course the documentation says - use the TFSServices account, but it's been months since you installed that and you can't possibly remember the complex never to be used again password you used.

So think about it and figure - look I'll change the password on the TFS Services account and just update the associated services.  So you do that, you install Team Build and everything is looking good.  No worries, you even install Visual Studio so you have a compiler available for Team Build to actually use for builds.  Then you install SQL Server SP1, and restart the computer.

The computer comes back on line and - TFS is dead.  The web sites all say service unavailable - and by all I mean both your WSS project sites and the WSS administration site.  Your connection via Team Explorer both remote and local is also unavailable.  Oh crap now what!

Well when I hit this point I then went looking in the event log.  The application log wasn't too helpful - it was able to tell me that the problem was related to TFSService connecting to SQL Server, but that was about it.  After a few permission enhancements and protocols being turned on still nothing.  Then I jumped over to the System log.  Here we had something useful - the error message on the event: "A failure was encountered while launching the process serving application pool 'TFSWSS'. The application pool has been disabled."  ahh now this points me to something useful.  Off I go to the IIS Manager into my app pools and there they are the two app pools that use TFSServices as their runtime context (TFSWSS and TFS AppPool).  Update the password, restart the app pools and all is good with the world again.  Note that the 'TFS Admin' app pool doesn't use the TFSServices account.  At any rate in case you run into a similar scenario remember - don't panic - dig the event logs the clues are probably found there.

Saturday, August 05, 2006 8:55:10 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Team System

On Tuesday August 1st I was one of the presenters at the San Diego .NET Developers Group (http://www.sddotnetdg.org/).  The evening focused on a discussion of new features in Visual Basic and C# under .NET 2.0.  I handled the Visual Basic portion of the presentation, while my coworker Adam Calderon handled the new features in C# presentation.  Attached to this post are the slides that cover some of the new features in Visual Basic .NET. 

NewVBin2.pps (1.76 MB)

Following our presentations there was a brief open discussion regarding the choice of VB vs. C#.  The consensus was that most developers should learn both languages and that unlike the VB6 vs. C++ debate in COM that VB vx. C# really didn't offer a great deal of difference in productivity.  Each has some specific advantages, but nothing which should cause an organization to choose one over the other.

Saturday, August 05, 2006 1:51:40 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology | Visual Basic
# Monday, July 31, 2006

I have to admit I'm a bit amazed at this and wonder how it fits with the stated goal of a Beta program.  Most companies that I know of deal with Beta software in one of two ways.  1. They only release the beta product to a subset of customers who are given first access to key new features while working through bugs and missing features.  This is usually contract based.  2. The beta is released to the widest possible user base who can voluntarily choose to participate.

Microsoft has quietly announced that as of this week they are going to charge the general public to download the Beta version of their current Office release.  The charge a $1.50 US is nominal but as far as I know is a first for downloaded beta software.  Why this is interesting is that it implies it costs Microsoft a $1.50 for each downloaded copy of their product (the charge is for 'cost recovery'). Of note however, the online 'Test Drive' of the software which would seem to require more system resources will remain free. Given my last Developer Update newsletter which dealt with how some systems are moving to a hosted model.  I'll end up covering this as part of my 'Glad You Asked' column in the newsletter this Friday.

To subscribe go to: http://www.sqlmag.com/email/

Monday, July 31, 2006 12:09:28 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Musings
# Thursday, July 27, 2006

Almost a year ago I posted my second note regarding GUIDs and Databases.  That post is available here: http://blogs.interknowlogy.com/billsheldon/archive/2005/07/29/369.aspx but in the time since that post SQL Server has seen a new release and now we have SQL Server 2005 available and the SQL Team has added another wrinkle to the discussion.

In talking to one of my coworkers (Tim McCarthy) the other day he mentioned that he had run into a new SQL Function which would increment GUIDs, which is the reason for this post.  Now to briefly recap my previous posts one of the biggest disadvantages to using GUIDs is that people tend to figure that since they should remain unique they will make a good primary key.  Unfortunately the nature of a Primary Key is that it by default relies on a clustered index.  For those unfamiliar with indexes, a clustered index is an index in which entries are written to the disk in their sorted order so that lookups against it are very fast.  As such the fastest way to add entries to a clustered index is with the use of incremental values so that the system appends new entries to the end of the index.  This reduces the number of page splits which are far more expensive and occur when you insert items into the middle of the index.

Unfortunately by default GUIDs are randomly generated which results in new entries constantly being inserted into the middle of the clustered index.  I knew one company which got a new implementation of their database from an offshore company where all the indexes had been changed to GUIDs and as a result their new database couldn't even support 10% of their customer base.  Their short term solution, outside of rearchitecting the work, was to create a middle tier function which would sequentially generate those GUIDs to cut down on page splits.  (Long term they reduced the number of tables using GUIDs and generally cleaned up a mess of other problems - the GUIDs alone weren't the only issue.) However, if they had had SQL 2005 available then instead of needing several days to write and a custom solution they could simply have implemented the new "NewSequentialID()" function.  NewSequentialID does just what the name implies it creates a new GUID which is one greater then the last GUID created on that server.  Note that it is server sequential and not table sequential, for each table the guarantee is only that each new entry will be larger then the last.

More information on this new function is available at: http://msdn2.microsoft.com/en-us/library/ms189786.aspx

As noted in that function there are a couple of issues - for example using this function on you user table makes it possible to guess the internal identity of the next user, so if you are using the randomness of GUIDs as part of a security scheme that prevents easy guessing of other user id's this function isn't for you.

Additionally it limits one of the other claims for GUIDs which is that you can use them to make data portable between databases.  Since randomly generated GUIDs are (almost always) unique even though generated at the same time on different machines it is possible to transfer all of the data associated with a user's GUID into another database with minimal risk of collision. 

Of course these were the only two functions that made using a GUID a useful idea.  So don't see this as a function which will suddenly allow you to use GUIDs without a performance penalty.  Fact is int and bigint columns with an identity property will still be faster for your overall database.  Instead this function is there for all of you who already have that GUID primary key and now need a quick and easy solution to reduce it's impact on your overall database performance.

Thursday, July 27, 2006 10:35:42 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | SQL Server
# Wednesday, July 26, 2006

Every now and then someone passes me a book.  In some cases such as when I got my hands on the VSTO book from Addison Wesley its pure technical book.  In this case I was passed a copy of what I would call a "Business of Software" book.  The book in question is from Joel Spolsky's "Joel on Software": http://search.barnesandnoble.com/booksearch/isbninquiry.asp?z=y&pwb=1&ean=9781590593899  Yes it was released more then a year ago - which is usually an indication in the technical market that the book is out of date.  However, this book isn't about how to work with version X of Product Y.  It's a book that talks about things that people who work and in particular senior people who work in companies that build software need to know. 

Joel talks about everything from what a program manager's real role should be, to how testing saves money and along the way introduces some simple tests to see if your company is really good at creating and managing software.  He throws in things like why you shouldn't multi-task developers, and why you shouldn't do multi-person interviews but should instead have a candidate meet individually with multiple people.  The key being this book isn't about A software product - it's a guide to managing software projects.  In general if you are trying to run a software development organization (you don't have to be running your own company) you should read this book.

The book itself is a collection of edited essays which have almost all appeared in his blog.  The blog: http://www.joelonsoftware.com/ is still running strong and in fact one of his most recent posts fits well into the model of the type of essay in this book.  Reading this post the other night I was reminded of why I immediately recommended that our entire managment team (if not entire company) read this book.  http://www.joelonsoftware.com/items/2006/06/16.html  Of course the management team has other more generic MBA style books that they'll read but then as the MBA's know: Running a software company is no different from say selling Pepsi.

Wednesday, July 26, 2006 10:44:40 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Musings
# Friday, July 21, 2006

This August I'll once again be teaching at the University of California San Diego (UCSD).  I've now got a couple semesters with the Visual Basic .NET Programming II class under my belt and so I'm more comfortable suggesting that folks come on down for the class.  The entire class is .NET 2.0 and focuses on the language and it's use in smart client applications.  If you are interested check out the registration pages from UCSD at: http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40616

Friday, July 21, 2006 12:03:45 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Visual Basic
# Thursday, July 13, 2006

For those who have attended one of my recent presentations on Visual Studio Team System and Scrum, I have uploaded my slides.  Hopefully you found the presentations helpful and will be able to better understand all of what goes into Team System (Team Suite and Team Foundation Server) and how you can leverage these tools in your organization to improve your project success.  As I note - Team System isn't about technology it's about the business of software and having the tools to be successful.

TeamSystemandScrumOverview.pps (2.3 MB)

Thursday, July 13, 2006 9:02:19 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Team System | Technology

Just a quick note related to some of the work we do at InterKnowlogy.  Often when one of us is handling a public presentation we mention that we do cutting edge work.  Of course, I'm sure many of you think - "yeah, but everybody says that."  So as evidence that when one of us suggests that we do cutting edgw work and encourages you to feel free to send in a resume here is a little evidence...

http://channel9.msdn.com/Showpost.aspx?postid=213957

The Channel 9 video highlights our work with The Scripps Research Institute using Office Sharepoint Server 7 and Windows Presentation Foundation to create a smart client collaboration tool.  The client wraps Sharepoint's web service interfaces and allows researchers to associate annotations to complex molecular structures and in the course of cancer research to keep their annotations visually associated with these diagrams and images.  As part of this implementation it's still possible to use the browser based web interface to access the annotation data files, but the rich client's WPF capabilities support graphically linking the annotations with their source. That level of graphic support isn't currently possible with a web application.  The client simply leverages many of the web services which come with SharePoint out of the box (and a few that don't).

Thursday, July 13, 2006 8:51:08 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology
Archive
<October 2006>
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Bill Sheldon
Sign In
All Content © 2010, Bill Sheldon