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

One of the early hits on .NET development was that you needed to download the framework because it wasn't on the underlying operating system.  Thus if you wrote a .NET application for the general public, for it to work you would have to have them install the full framework.  The consensus amoung many was you wouldn't want to create a desktop application that relied on .NET.  Of course that was several years ago and while it still seems to be held by a few short sighted writers, the reality is that .NET applications are appearing in the public arena.  In the past 2 months of the 3 applications I've installed two of them were .NET applications.  The first was for Sirius satellite radio and streaming audio.  The benefit of being able to crank out an application in a fraction of the time required to write all that streaming logic using something like C++ undoubtedly played a major role.  The second application is called SplashStream - it's focus, you guessed it streaming video, in this case video associated with the TSTN training that I talked about.  The application streams the course content and provides a basic schedule UI.  As PCs focus less and less on supporting a browser and running Office and more on video, audio and photo content I expect this trend to continue.   Just for disclosure - the other application I installed Microsoft Active Sync (which reminds me every morning of the fact that I haven't associated with a device...) 

(By the way I'm also on a project with a .NET 2.0 Smart Client application which is sent out into the world at large...)

Saturday, December 09, 2006 1:40:53 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | Musings

It's funny get into a technical discussion with anyone who does alot of web development. Opinions are rife and vary across the board. You can create conflict on any number of topics.  "Hey I like smart client/windows desktop applications better then web applications" or "I like C# over VB for my projects", whatever.  The fact is the type of people that spend time sitting in front of computer screen constantly making minor adjustments in a source file and reviewing the results to see if the results are exactly as desired tends to have more then a few strong opinions. 

Now let me add a disclaimer here: this post is only refering to web development - not server scripting.

In most cases just like the any other opinion, everyone has their own, and the live and let live approach is the most productive.  Yet I've tested the above statment - Working with Javascript sucks - out on dozens if not hundreds of developers and I've never gotten anyone with a truly different opinion.  Sure now and then someone will say it's not that bad - but consistently even those who proceed to tout its benefits on the client are still at some level of the opinion that it sucks as a developer tool for web development. 

Which brings us to the question of: What's the alternative?  For a while we could simply refer to Javascript as a way to make screens a bit more interactive and for clueless developers to place data validation code so hackers could completely bypass it.  The useless nature of Javascript for browser based data validation could be a complete discussion.  Of course it's been done repeatedly yet even newly developed systems that shoot themselves in the foot are being released - proving there will be a subset of developers who will never understands.  The point being that the only real value of Javascript was as a language to make a screen react, and even then doing more then shuffling data around was difficult at best.

Then along came Ajax.  With the introduction of Ajax (I last wrote of Ajax a little over a year ago: http://blogs.interknowlogy.com/billsheldon/archive/2005/09/09/415.aspx) it has become apparent that Javascript isn't going away anytime soon (like so many technologies which have outlived their true value: http://en.wikipedia.org/wiki/COBOL).  The fact is that Ajax took what people had been hand coding in Javascript for page interactivity and packaged it.  Of course toolsets like the Microsoft ASP.NET for AJAX suite have been slow in truly making it to market, but the market has continued to grow in spite of this.  The only disadvantage of course is that while this will provide you with a set of specialized controls from the ASP.NET standard.

Of course the challenge right now is that to leverage AJAX you still need some, you guessed it, basic Javascript that you have to customize.  After all AJAX has Javascript right there in the acronym.  Meanwhile the underlying issues with Javascript and the fact that it has a lousy development environment remain.  Thus when you talk to people working with Microsoft's ASP.NET AJAX, it's all about the Javascript (http://blogs.interknowlogy.com/joelrumerman/archive/2006/09/22/5126.aspx for a good example...)

But again - Is there an alternative?

Well little by little two alternatives are emerging.  One is still based on Javascript but in this case you never touch the Javascript.  That is where thrid party vendors have wrappered the complex Javascript for you.  Telerik provides such a soluction at: http://www.telerik.com/products/ajax/r.a.d.ajax.aspx.  (The Telerik suite with it's support for everything from native ASP.NET to Dot Net Nuke and Sharepoint is rather impressive.) It may not be as efficient in what it sends to the server in a given round trip as say custom coded controls which are handling the AJAX communications, but then again its way easier to implement and get the same behavior.  In a cost - benefit analysis you'll probably find this solution wins out the majority of the time, and since it's based on AJAX you can even have developers like those here at InterKnowlogy customize those pages where you need a custom solution.  More important just like the Microsoft ASP.NET AJAX solution it approaches the market with compatibility across multiple vendor's products as a focus.  This solution favors compatibility over what we'll call capability - and that is a very marketable feature.

The other alternative is, as with most technology, coming from an alternative direction.  It's called WPF.

Nothing against the Ajax/Telerik solution, but for those of you not paying attention even as Microsoft provides basic support for the AJAX model that they invented so long ago they have also seen a better way.  The Windows Presentation Foundation (WPF) is an XML based user interface definition.  Now as we all know XML already runs in browsers so we have the basics of what you might think of as a next generation HTML.  Go a step beyond the current namespaces we use for custom controls in ASP.NET.  Go beyond well formatted HTML.  Take the next step and say - what if the declaration of a Textbox was just that... a declaration that both the Smart Client Application and the browser understood.  Now go a step further - suppose the browser wasn't just a rendering engine but instead allowed for a recogniztion of the fact that a change in that drop down was actually designed to trigger an Ajax style update from the client.  One that didn't require a full round trip of the entire user interface (postback) to the client nor any Javascript - not even generated script.  Admitedly it wouldn't be compatible with all of the existing browsers on the market right away - but that's only one form of compatibility and in this case perhaps not the driving one...

WPF addresses a different type of compatibility.  Compatibility between desktop based and browser based applications.  The ability to design a user interface which works well and looks the same in both environments without needing to completly re-implement the interface.  For an "enterprise" or "corporate" developer this is actually a more important type of compatibility.  Within an organization it's possible to dictate that everyone must use version 8 of browser X or to produce a smart client application... these developers are constantly being challenged to choose between smart client and browser alternatives (even if they do both it's still extra work like double data entry). 

It's this arena of compatibility which WPF targets in the short term.  Of course as more and more companies move to WPF for it's reuse across desktop and web more and more corporate users will demand third party browsers support the WPF model.  These browsers will respond because they want people to be able to use their product in their work environment.  Over time what will start as a tool which is focused as much on Smart Client applications has the potential to again revolutionize the market.   Note I'm not saying that AJAX wont' survive for decades to come or that it isn't viable - I'm just noting a future alternative, one which I think web developers will be a little late in coming to the party...  by the way note all the AJAX and WPF presentations on the blogs.interknowlogy site... compare who is posting on WPF to who is posting on AJAX (here's a hint: Joel works for Adam)

Saturday, December 09, 2006 1:14:14 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | Musings | Technology
# Thursday, November 09, 2006

If there is one common skill which many of us who are in the technical field need additional work on it is people skills and personal guidance.  There are times when everyone needs someone to remind us how to effectively communicate with others and experiences to build upon.  Those of us in the technical world tend to focus more then others on a narrow subset of training, and so I've been looking for a while to find some way to go beyond technical training that would fit within my busy lifestyle.

Recently a new network focused on addressing non-technical skills and personal growth was launched on the internet.  This network the Success Training Network provides online video from some world famous speakers.  Many of the topics touch on communication, personal development, health & fitness, and sales & marketing.  I started watching some of their programs recently to see if they were of value.  So far I have been very impressed with the materials available.  The site has both a standard scheduled feed and a small subset of On-Demand programming available.  This means if the current show isn't something I'm interested in or in many cases if I missed a show I was interested in I can pull it down at my convienence.

The fact is because there is a constant rotation of material, because the material is presented in relatively short 30 or 60 minutes blocks and because I can watch it over lunch and in some cases leave it on while doing something else. I have found this to be an effective way for me to get non-technical training.  As I type this I have a personal training playing in the background talking about how important it is to remember to carry out a simple fitness program with a light workout while on the road.

If you are interested in some non-technical training focused on personal growth, Click Here.  I admit I'm still fairly new to their training materials but I can definitely see value in these programs.

Thursday, November 09, 2006 1:38:52 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
About the Nerd | Musings
# Thursday, October 26, 2006

Just a quick note, if you commonly access a Sharepoint site which isn't in your own domain.  If you haven't already, then once you upgrade to IE 7 you will want to add that site to your trusted sites list in IE.  Failure to do so will result in that almost ever present information bar at the top of the page letting you know that the site is trying to run one of several different Active-X controls.  The challenge - if you don't allow these controls to run, then for example you can't use the Sharepoint drop down to Edit a Word document in Word - instead you'll get a warning about not being on a compatible browser.  You'll have similar issues with Team Foundation Server (TFS) based Sharepoint site access.

To change this setting:

  • go to the 'Tools' menu (now located in the lower right corner of your IE menu bar).
  • Select 'Internet Options' which will open the dialog which you probably remember from IE 6.
  • Go to the 'Security' tab.  On this make sure you select the 'Trusted Sites' icon in the image list.
  • Use the 'Sites' button which will be active to open the 'Trusted Sites' dialog.
  • Type the url to the top level of your site of interest, for example: http://Sharepoint.Microsoft.com
  • You may need to uncheck the "Require server verification (https:) for all sites in this zone' checkbox if your Sharepoint site does not use HTTPS.
  • Use the 'Add' button to add the SharePoint site to your list of trusted sites and close the associated dialogs.
Thursday, October 26, 2006 2:04:04 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Team System | Technology
# Tuesday, October 24, 2006

One of the IK team's favorite riding areas 'Flightline' is now set to be closed to Mountain Bikers.  Over the past few years I've blogged about our many adventures in Flightline - everything from timing our circuit to Kevin's near miraculous dive into the stream when he fell from one of the bridges.

Over time I talked about how we lost a big portion of Flightline to a new road extension and new houses.  Well apparently part of the deal for getting permission to develop such a large section of Flightline was to ensure no one could get to the remainder in the future.  Of course this has left many people upset so they've started a campaign to try and save Flightline's current status as a local area where people can get out into the undeveloped areas.  The web site and a petition are available here:

Tuesday, October 24, 2006 9:04:07 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# 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
Archive
<December 2006>
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
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