Monday, September 18, 2006

Phone Surprise

My old phone started acting up so I had to get a new one.  This was the cause of much deliberation and ballyhoo since I've been wicked busy and haven't had time to stop for a breadth, let alone to search for a new phone.

I went back over some feedback I got early, did some googling and chose the HP6515.  It is quite the sweet piece of geek candy, let me tell you.  Not as tiny as my previous candy bar but not quite the beast the JasJar can be.

It's fast, got solid features like built-in A2DP and GPS. I'm not having any problems so far, but I'll definitely post again once I've taken it for a richer ride around my neighborhood.

Friday, September 08, 2006

Deconstructing TFS SQL

This week while trying to get some custom build behaviors kicking, I had a chance to poke around the TFS SQL databases.  Just trying to unwind the schema makes for some pretty scary driving.

Whoever was actually working on these databases needs a refresher in their database skills.  They use multiple names for the same logical key, the don't use DRI, and there is no standardization or reuse to speak of.  Frankly it is a miracle the thing functions.  And pretty obvious why it can be as slow as it has been known to be.

This in no way is a knock on the product.  It is a huge undertaking, long overdue, and a valiant first attempt.  But it has a long way to go, and recruiting some actual database talent into the TFS product group couldn't hurt.

For example, trying to figure out how to list the items in a changeset was difficult until you unspool that VersionTo and VersionFrom in a namespace are really changeset ids.  Whoa!  That just happened.  No kidding.

Anyway, perhaps once a roadmap is fully laid out, I'll be more forgiving, but right now, it seems like something stinky and gross.  But I guess it works, and beggars can't be choosers.

Wanna know how to get any other internals from TFS, I'm collecting a ton.  All you have to do is ask...