A Day in the Life

A day in my life. Thoughts on leadership, management, startups, technology, software, concurrent development, etc... Basically the stuff I think about from 10am to 6pm.

7/28/2007

Grand Theft Auto – The Insurance Way

A few weeks ago my neighbor hit my truck. There is no question in any one's mind as to who is responsible. The truck was parked on the street in the same place it has been parked (when I'm home) for nine years. And…did I mention it was parked… as in not moving, stationary.

When it first happened I was angry…more for the inconvenience the accident represented than because I felt a victim. The damage wasn't too bad and I figured that the insurance company (he did stop and he had insurance) would take care of things. Boy was I wrong.

The insurance company (Progressive) has "valued" my truck at $3600 and decided that the repairs exceeded the value of the vehicle and totaled it. On the surface this seems logical but what it actually is, is an extremely unethical decision that moves me from someone who has simply been inconvenienced to a true victim. Progressive has given me the choice of $3600 where they take ownership of my truck and give me the money or I can keep my truck and $2700 (to fix it myself) with the stamp of "Salvage" added to the title. Neither option is acceptable.

I can not replace my truck for the pittance they have offered and the stamp of "Salvage" is a whole other head ache. This entire incident has left me without transportation and has eaten up a considerable amount of time, with more time to be lost in the future as I continue to search for a solution.

In 1993 I drove my truck off the lot, brand new, for fourteen years I have driven that vehicle. I know it and I feel safe in it. And now…what can I possibly buy for $3600 that could come close the value that truck has to me? The emotional side of my personality is screaming out at the injustice. "I DID NOTHING WRONG!" I believe that either Jeff (the guy who hit the truck) or his insurance company should pay to have my truck repaired. The fact that the market value of the vehicle is less that the repair costs SHOULD NOT BE my problem. The value of the truck to me can not be measured in a dollar amount.

I'm open to suggestions. I've already talked to my insurance company and pretty much got the same story. This is wrong. We wonder how the Enron and WorldCom scandals can happen…here is your answer. When our business communities measure the cost of something they RARELY stop to think about the human cost or the long-term costs. These nameless, faceless entities only consider the short-term bottom line...thus making it easy to dump toxic waste, rob from their employees and share holders, produce shoddy products, and steal from the people they are supposed to serve.

This picture should give you an idea of how long he had to slow down...



This is all the damage...really looks like the truck should be totaled right? It's drivable, just not legally drivable...





As you can see from the photos the truck is basically fine and the only one inconvenienced by any of this has been me and my family.

7/04/2007

Just when you think it's safe to go back in the water

Microsoft development libraries and tools have been around a long time and it's easy to think that all the kinks have been worked out. If weird stuff happens it's got to be in my code…right? Wrong.

I spent several days trying to figure out why, when I stepped (F10) over an instruction…I lost my thread. I thought of everything that could go wrong: GC, aborted thread, ThreadPool starvation, etc… I tried a lot of stuff.

A word of debugging advice, whenever you find yourself in a messy situation, try to find the simplest setup that produces the problem. I stripped my code down to:

public partial class frmMyForm : Form
{
private void frmFonBook_Shown(object sender, EventArgs eArgs)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(_DoSomething), this);
}
}

static void _DoSomething(Object state)
{
frmMyForm frmObject = state as frmMyForm;
if (frmObject != null )
{
frmObject.MakeACall();
}
}

Eventually I hit on the right search terms and came up with this link. There are some other links in the post that explain things in more detail here and here. It's a crazy world but the IDE was actually the problem NOT my code.

Basically to get around this probem open VS2005, select Tools->Options->Debugging->General and then disable the 'Enable property evaluation and other implicit function calls' checkbox.

So here are some search terms that I hope will make someone else's life easier:

disappearing thread
collected thread object
lost
failed step
IDE broken

…another door opening…

This is my third week at FonJax and things are moving right along. I'm out of marketing and back in development and while it was hard to leave Digipede there are many things I'm excited about at FonJax. And while I've spend a great deal of time learning the business and marketing side of the software startup sector, the plan was always to take what I learned back to engineering.

I really enjoyed my interviews with two of the founders: Niall Sweeny and Mark Moore. During my interview with Mark I mentioned that I had been sold as an asset at KaseWorks. That was the first time I have ever mentioned that in an interview and actually had someone understand. First there were the layoffs, then there was the Chapter 11, and then there was the "new" company with different leadership and a different agenda. When it was all done there were only five software engineers left standing. Being sold as an asset is a traumatic experience but it also reflects that the company thought my contributions were important enough to keep me through it all.

Feeling understood, valued, and respected is important to me and I get that feeling from the FonJax team. I'm looking forward to a long and fun ride.