Monday, December 5, 2011

USPS Woes

I heard recently that the USPS is facing major cutbacks. Thinking about this led me to an idea. What if the USPS provided a pay-to send email service for every postal customer in the united states. A major problem with email today is the amount of spam, and this is in part due to the extremely low cost of sending email out.

If the USPS provided a paid email service which charged the sender, a nominal fee that is cheaper to send paper mail, and at the same time more expensive then email, I think you would find a large audience that would adopt this. Since I am neither the post master general, or a politician, I'll leave all the thousands of details alone.

Is it not time for the USPS to go green?

Saturday, December 3, 2011

SSIS Packages Loading Woes

I'm doing some work on an SSIS package, and I'm also updating the database schema it uses. The package isn't loading and VS appears to be hung. It says in the status bar that is validating the package. Is this what offline mode is for?

It's been like this for 45 minutes. Software today should detect it's in this state and then give the user to skip the validation. How long does it take to drop a column on a table with 150,208,363. I guess when you have 8 indexes where the column is included as part of a covering index it can take a while.

Especially when running on virtualized machines....darn you EC2!

Thursday, October 6, 2011

Adding a new GUID column in SSIS

I just discovered there is no way in SSIS (at least in SQL2005), to add a new column of type guid. I have found some different work arounds one of which I will share quickly.


  1. Add a new Script Component, to your data flow and set the type to transformation. 
  2. Edit the component and go to the Inputs/Outputs tab. Under the output add a new column. Make sure it has a data type of Guid (FYI, I have seen references the type is called DT_GUID; however, my version of VS is not functioning properly. My data type field is all black and when I click in it, the edit dialog closes. I set the data type by finding the output column in the xml and setting the dataType attribute to "guid".
  3. Go to the script tab and in the method add  Row.<YourColumnName>=Guid.NewGuid()

A very easy work around.

Wednesday, February 2, 2011

Reflector for free? Not no more...

Turns out that Red-gate has decided not to honor it's promise to continue to offer reflector for free. Reflector is perhaps one of the most beneficial and well used tools to help .net Framework developers. Show me a developer who doesn't know what reflector is and I'll show you a developer who is just learning .net.

Hopefully c#.next won't modify the IL it generates breaking the tool. But if it does, I guess 35 bucks isn't a lot to pay to avoid having to learn how C# maps to IL and translate it in your head.

Thursday, January 27, 2011

Ruby & Watir in Five Minutes

I have decided it was time to automate some of our web tests for a variety of reasons. If I have to convince you why to automate then your reading the wrong blog. I have choosen to use Watir (Pronounced Water). Watir is a free open source Ruby Gem.

I found getting Ruby and Watir up and running to be a fairly smooth process; however, some of the documentation on line wasn't 100% accurate. My goal is to give you the info to get up and running as quickly as possible. The information in this post applies only to Windows


Step 1 - Installing Ruby

  1. Install Ruby - I have had errors using the 1.9.X branch, things run much smoother with 1.8.7

Step 2 - Installing Watir as a Ruby Gem


  1. Open your favorite command prompt, and make sure you have the latest version of Ruby Gem's:
    gem update --system
  2. Install watir using:
    gem install watir
  3. If you want to use firefox you'll need to install this extension for Firefox 3.6


Step 3 - Your First Test Case


The directions at watir's site are very good for creating your first test case. The one important detail is before the step where you should enter require 'watir' you need to do require 'gemsystem'.

Thursday, January 20, 2011

Long time no post

It's been a very long time since I published something here. So what have I been doing? Over the last year, I have found all my time consumed, between three things, Family, Work and Facebook. I simply never had the time to write any more posts. This year I am going to make more time. How can I do that?

Well since I don't want to give up any time with my family, and I can't give up any time spent on the job, that leaves, facebook. I have blocked my access to 90% of the games that used to drain my time, and removed almost all of the non-friends friends I had. Now it's time to get my priorities aligned up right again.

Although I can't stop working, I have decided to work smarter. There are so many better ways to do the things I have been doing. I am tired of using the all the standard excuses. To that end I have started down the path of automating the testing of our web application. The application has really stabilized itself over the last year as far as functionality in various key areas, that a couple of well thought out automated test scripts should help reduce the amount of time, and effort we spend testing, and reduce the amount of bugs.

I have just started exploring Watir and hope to have some posts on it soon.