Monday, April 19, 2010

Printers Suck

Tried to install a consumer, all-in-one printer for the first time in a loooonnnnggggg time tonight. All I can say is WOW! Are we moving backwards in regards to easy of use? How would someone who is not in IT ever use this thing? The printer is a HP C4580 and I'm running Windows 7 Enterprise. What a disaster install. First attempt a "fatal error" happened during the installation itself, but it "found a solution" or at least that's the lie it wanted to stick to. After I finally got the computer to connect to the printer over WiFi, I tried to launch "Solution Center" and it came up with another error and would not launch. Tried to re-run the installer like it suggested and the only option presented was to uninstall which sounded like a great idea to me! The funnest part of the process were the no-warning reboots HP decided to include with the installer. Nothing like hitting Ok and then watching all your windows close.

There is a reason I hate hard copy and avoid printing documents and it's name is HP (printers). I've hated printers ever since I stared using computers and my hatred is completely renewed for at least another 5.

Better go. I have one more program to uninstall (why it left one behind after saying it would uninstall "everything" is beyond me) which I'm guessing will cause a reboot so better publish now. Way to go HP! You suck!

Friday, April 16, 2010

Visa Fail with Authorize.NETs CIM

Just heard from a client that their "Save Credit Card" feature stopped working. They use Authorize.NET's Customer Information Manager (CIM) to securely save the credit cards.

Suddenly the application was just returning:
3,1,290,There is one or more missing or invalid required fields.
Why two, large, successful companies like VISA and Authorize.NET can't tell you which fields they want is beyond comprehension.

According to this message thread:
Visa has a mandate in place that allows us to do $0.00 authorizations to test the validity of a card, but in order to do it they require that an address be passed also. Since VISA is the only company that has this policy, the other card types will be unaffected and not experience the same error.
Up until recently they only required Card Number, Expiration, and Security Code. I tried using a dummy address like the message thread suggested. This would only work if the Authorize.NET Address Verification Service settings were configured to ignore the address, so in my case we'll likely be updating the code to pass the billing address in since we have it anyway.

Thanks for the notice on this VISA and Authorize.NET! You have to wonder how much time and money changes like this cost all the organizations affected?

Monday, April 12, 2010

SQL Service Broker Compatibility Level Issue

Spent about 3 hours troubleshooting why SQL Service Broker wouldn't work in production when it was working fine on two dev boxes with nearly identical configurations. The only indication there was an issue was that as soon as I'd create a Subscription the OnChange event would fire.

The SqlNotificationEventArgs contained the following:
Type:Subscribe
Source:Statement
Info:Options

Finally got a clue as to what this meant from these two sources:

1) The quote below from this page at MSDN clued me in that my TSQL was not valid (which meant there must be more to the story since the same statement works in dev)
Statement : The Transact-SQL statement is not valid for notifications; for example, a SELECT statement that could not be notified or a non-SELECT statement was executed.
2) I focused in on why SQL Server didn't like my "SET OPTIONS" and found the quote below from this page
I ran a compare between the two databases.

The local one, in 80-compatibility, needed the various SET options.

The remote one, in 90-compatibility, needed nothing extra to work.

When I changed the local one to 90-compatibility, the program magically worked, with or without the SET options.

Then I realized the Production environment had been upgraded from SQL 2000 in the past and it was likely I was running in "80-compatibility". Sure enough I was, and changing to "90-compatibility" fixed my issues as well!

3 hours down the drain but learned a little more about Service Broker debugging and troubleshooting.

Service Broker Troubleshooting by Jeremy Kadlec was excellent and so was Using and Monitoring SQL 2005 Query Notification by Sanchan Sahai Saxena

Note to self: Use SQL Server Profiler more.

Friday, April 2, 2010

Message to Apple: Enough with the Terms of Service!!!

Every other time I open iTunes I have to accept a new Terms of Service. WTF? Not only does it do it every time it installs one of its frequent software updates, but when I go to update the Apps on my iPhone I get another one for the iTunes Store in the middle of trying to update my apps. And then when you accept you have to go back and re-request the app updates. Why do I buy stuff from this company? And while I'm on the topic why do I have to reboot my computer to update iTunes? It should not be installing low level drivers but apparently it does because my DVD/CD Drive under Windows 7 disappeared one day. Go here for more info:
http://support.apple.com/kb/HT2615

Either Apple is losing it or all the hype they get for such a great user experience is completely undeserved.