Monday, December 7, 2009

HOW-TO: Fix RDP from within RDP session or fixing the hang when trying to access a terminal server from an existing terminal services session

So that title is a mouthful, my apologies, but this issue was so strange, I had a hard time wording it.

Yes, I know RDP means Remote Desktop Protocol, you're technically using Microsoft Terminal Services Client (mstsc.exe) a.k.a. the Remote Desktop Client (RDC) to connect, but it seems like folks throw around the acronym RDP as in "I'm going to RDP into that box", so frequently that I'm sticking with it for the moment.

Symptom


You are trying to connect to a desktop or server via a Windows XP desktop that you are already connected to via another Remote Desktop Session. The computer you are physically using is computer "A", running any operating system. Computer "B", the one in the middle, is a Windows XP SP2 or SP3 workstation running version 6.x or 7 of the Microsoft Terminal Services Client, which you are then using to connect to computer "C" via the Microsoft Terminal Services Client, which is any desktop or server operating system. Upon attempting to make this connection, you might see either a gray screen or a light blue screen that gets stuck somewhere in the process of trying to display the login prompt. You cannot close the Terminal Services client on computer "B", it is hung. You can kill it via Task Manager or Taskkill by stopping the mstsc.exe process.

Fix


Surprisingly simple and nonsensical. Click Start, choose Run on computer "B" (the "middle" computer) and type "mstsc", hit the down arrow next to "Options", choose "Local Resources", under the section "Local devices and resources", click the "More" button. Uncheck the "Smart cards" box. Using that same window, try to connect again and it should work.

Oddly with this one, on the computers we could get this to repeat, neither computer "A", "B" or "C" had a smart card reader or hardware on it. I'll post an update if I ever figure out what the real root cause was, but that was fascinating.

Also, in my attempts to find a solution to this problem, I found that Microsoft released Version 7 of the RDC for Windows XP and Vista (scroll to the bottom of the KB article for links to the download).

Sunday, November 29, 2009

Solving the HD PVR 0x8007001f error in SageTV

This saga has extended about a year now, but I have finally solved my HD-PVR problems and since it seems like a lot of folks have been hitting the wall on this one, I thought I'd put together how a year's worth of spare-time research resulted in a reliable HD PVR tuner.

There are only a few hard and fast "if it does this, do this" fixes, so lets start with those.

Also, understand that this information is provided AS IS, and though you're going to be doing things that may very well fix the problem, it could also make the problem significantly worse.

Sypmtom


0x8007001f error attempting to record anything. Device could not start in device manager and a yellow icon on top of the. Powering on/off doesn't fix it. Rebooting and powering on/off doesn't fix it. You have one of the first units from the days of the pre-order.

Resolution


You can take this a bit further and verify that it doesn't record properly in their scheduling app, but you'll probably find, like I did, that you need to RMA. Sorry. Don't worry about the revision that you get back if it's a D2, C3 or E1. They're all fine as long as they've come from RMA.

Observation: Power Adapters may have been faulty in early models


Hauppauge insists you return your power adapter with the unit. This isn't all that unusual, but I noticed a few things. On both the unit I purchased new at Microcenter and the replacement RMA unit, there was a sticker over the power adapter socket insisting that I use ONLY the one that came with the unit.
There were reports from folks of overheating and the like. I also noticed that the power adapter they sent me was rather different than the one I had with my previous version. Any number of perfectly reasonable explanations fit, including the possibility that they had a bad batch in one of the builds.

Observation: Revision numbers "in the wild" vary radically but don't matter entirely too much


A bit of background. I purchased a pre-order before this device was available and then didn't plug it in for a year after I had purchased it (my HTPC specs didn't fit with the device). When I got it working the first time, it was flaky before it outright failed regularly. I happened upon a sale on the HD PVR at Microcenter while perusing other items entirely by accident (I was surprised they even carried this device, being a rather overly geeky product, but ya gotta love Microcenter). So I purchased it after asking the sales associate if he could tell me when it arrived. Being that it arrived well after the release of the E1 revision and figuring mine was out of warranty anyway, I purchased it.
It worked, ultimately, as well as the one that I received after RMA, which is to say, very reliable after I applied the appropriate software fixes. Both were D2 units despite one being Refurbished and the other having been received by Microcenter less than a week prior to my purchase.
Their device FAQ does specifically note that the "D2, C3 or E1" are functionally equivalent. It doesn't say anything about C1 or C2 units (my original was a C2, it had no logo or printing on the front). There's a lot to be said about what isn't said sometimes...

Observation: Replacement units from RMA behave flaky, or your recording has been flaky with the 0x8007001f error


I was frustrated that both my new and RMA replacement unit were still giving me the 0x8007001f error after a few days of recording. While not failing outright, they were not stable.

My Solution: Here are the software steps I took to ultimately fix my rig



Preparation:
1) Backup your system partition (the one with the OS on it, hopefully you've isolated that out from your recording storage). We're about to start screwing things up so you may want to go back to where you were beforehand.
2) Download all of the latest Hauppauge drivers for each Hauppauge adapter you have.

Lets get down to business:
1) Remove all Hauppauge adapters except for one HD-PVR. Lets get one working and worry about the rest afterword.
2) Click Download HCW Clear on the link provided, run it, check all of the boxen.
3) Unplug your HD PVR from your computer and reboot.

If you're configured like me, SageTV will start, we have to kill it
1) Close the SageTV application (Alt+F4 once it's up).
2.a) If you're running SageTV as a service, stop the SageTV Service by hitting Win+R (or Start button, Run), and typing "SC stop sagetv" to stop the SageTV Service.
Alternate for Windows 7 / Vista with UAC enabled:
2.b) If you're running SageTV as a service, type Win+R (or Start Orb, Run), type Services.msc (You will be prompted for elevation), when the services snap-in opens up, find SageTV and click "Stop"

Some optional things, but might be necessary:
3) Update your BIOS to the latest version (you're PC or Motherboard manufacturer's web site will help here).
4) Download the latest chipset drivers.
If you know your exact chipset, get it from the manufacturer if it is offered (nVidia, Intel, VIA and others offer chipset drivers and some come with automatic update tools). This ensures that the "foundation" is in its best possible shape before we go up the chain to the USB controller and the HD PVR drivers.

SageTV appears to have made some changes in the settings for the HD PVR over time, but it doesn't appear that they apply these changes if you have already configured an HD PVR. So we're going to reset your SageTV installation to the time before you ever plugged this device in. You will lose all of your tuning and channel configurations as well, so keep that in mind as a later to do.

7) Find the SageTV folder off of the installation directory for SageTV (usually C:\Program Files\SageTV\SageTV) and open up the Sage.properties (you did make that backup I talked about earlier, right? No? Well, at least copy this file to a .bak or something useful.).
8) Page-down or search for the line beginning mmc/encoders/.
When you get there, look for a line that looks like this:

mmc/encoders/-431556906/video_capture_device_name=Hauppauge HD PVR Capture Device


The number "-431556906" might be any other number. This number is important.

9) Once you have found that line, page up to the first "mmc/encoders/-431556906" and remove every line that begins with that set of characters.

10) Plug in your HD PVR and install the latest drivers from the Hauppauge web site or if you're feeling daring, from here (the shspvr blog seems to be a day or two ahead of Hauppauge's own web site). Reboot, fire up SageTV, head to the Recording Sources config and add in your HD PVR using the settings you used before.

11) If you have other Hauppauge devices/tuners, Repeat steps 1 and 2.a or 2.b to stop SageTV.

This is no magic bullet, as I have done many other things to my system to make it ideal for handling the HD PVR. So what follows is a list of observations and ideas that might be worth a try if you are still experiencing problems.

Observation: HD PVR is touchy with some USB Controllers


Generally speaking, hardware manufacturers will cheat you on the things you would never think to ask. My motherboard, for instance, has a very flaky USB 2.0 controller. Sure, it had the USB logo and everything, but it used a chipset that has known issues and the issues existed prior to the HD PVR (I couldn't, for example, sync my Windows Mobile phone with that motherboard).

I don't think that the HD PVR is significantly more touchy with USB controllers, but if you think your existing USB controller is taxed, or trash, consider getting a dedicated one with an NEC chipset.
A PCI version is here, a PCI-Express 1x version is here. Hat tip to Fuzzy on the SageTV Forums for those links. I purchased the latter and it is excellent (it has an internal USB port which worked great for my external Wireless Keyboard and Mouse dongle).

Observation: Flakiness is less in 1080i than 720p or varieties of resolutions


If you can, configure your cable box or whatever device you're using with your HD PVR to 1080i. Eliminate all screen savers, if possible, and do whatever you can to ensure that the resolution is always 1080i. I have not received the 0x8007001f error as a result of resolution, but I have had recordings simply not start.

Observation: Tuning is always a pain if you have a screen saver on your cable box


I use the USB-UIRT for tuning and a piece of software called LM Remote Keymap. With AT&T U-VERSE service, and the Motorola VIP 1212 cable boxes, tuning can be very difficult to get reliable. Mis-tunes (tuning of wrong channels) often end up with you landing on channel 0, which is the ON DEMAND channel and seems to be entirely tricky to get away from. The Screen Saver/power save features cannot be disabled, so my tuning scheme is:
Press the TV button, wait 2 seconds (breaks out of ON DEMAND or menus), press the OK button, wait 4 seconds, begin tuning channel using four digits.
This means tuning takes quite a while, but it is robust. I have not had a mistune or a failure to break out of the screensaver yet. And it doesn't require the use of the Power button which can be a real problem, since you don't know the power state before hitting power.

Observation: SP/DIF or Analog Output, same result


I have read several posts about people finding that their tuners became suddenly much more reliable after switching to the stereo Analog outputs versus the optical DD 5.1 variety. I reluctantly tried this with my setup just to see if it improved things. It didn't. Your mileage may vary as I have seen my AV receiver fail to lock onto the digital signal due to a poorly made optical cable combined with a kink. I didn't see any improvement analog only on the latest drivers. Personally, I'd check the cable first.
Either way, I wouldn't consider the HD PVR to be working if it only worked reliably on analog audio. Might as toss it, buy a less complicated analog tuner and plug in via S-Video.

Observation: Tuning Delay (delay_to_wait_after_tuning)


I have seen many posts with many solutions surrounding tuning delay. I'm running reliably with no tuning delay configured.

The difficulty of "getting it right" with a device like this


The HD PVR is a wonderful device that has to cope with several assumptions. First is the flaky timing from various manufacturers STBs (with a driver that bricked folks with certain STBs). Then you have the usual problems with poor USB chipsets or over-taxed USB controllers/hubs. Top that with simply having to produce a device that can encode h.264 from a Y Pb Pr signal using a rather unproven chip (or is it officially proven to be not that great?) at a price point that hobbyists will accept for an audience that is getting smaller and smaller as HTPC users get frustrated and move to stand-alone solutions.

Ultimately, I expect most of these issues will get fixed in software and hardware revisions. At this time, I am unaware of any other device that is able to pull a 1080i stream with 5.1 audio from an STB. And this thing does a fantastic job once it's working.

To those who have given up hope, as I once had ... keep fussing. It took me a year (well, could have probably been solved with a few weeks of dedicated time, but hobby time is never dedicated). It can be made to work.

Got any other tips? Post them to the SageTV forums or in the comments.

Edit 3/13/2010: clarification on other devices capable of ripping a 1080i stream.
Updated instructions after performing this fix clean-room and added a few other helpful items

Thursday, August 27, 2009

On the Subject of Internal E-Mail correspondence

I'm not an expert here. In fact, I'm still learning quite a bit from an expert, my boss, who has a keen instinct on written communication. Here are some things I have picked up along the way.
These really only apply to e-mail destined within your company or folks that you work with. Customer or vendor correspondence should be handled differently.

Identify your intended tone


I (unconsciously) use an eleven point scale point scale from -5 to +5. Zero is neutral. If you intend your tone to be negative, consider whether or not it's a good idea to sleep before you write. If you wake up and still feel the need to pull the trigger, perhaps you should pick up the phone lest you end up here. Lose the passive-aggressive communication and have a real one-on-one chat. If it's done right: It won't be comfortable and it will affect both of your perspectives.

Always address the individuals you're writing to


If you're sending a message to one person, start it off with a simple first name and a comma. "Bob," not "Dear Bob" (is he really dear?).
If you're sending to a few people and CCing a few people, use the names of your "To"s (John/Tom,). If you're sending to a large group, don't skip the opening. "Greetings, Good Morning," even "Howdy," (with the right group of people), even "Hi!" is acceptable in the right context.
It comes down to tone, again.
Of course, use discretion. If you're dealing with a long thread that you have already contributed to before, it may actually be better to skip the greeting, lest you sound like you're targeting.

Use Good Subjects


At a minimum, include a subject. Secondly, put some thought into the subject. Thirdly, at least capitalize the first letter of the first word of your subject.
After you're done writing your e-mail re-read it. Then compare your subject to the content of your message. Rewrite it if you can't connect the two.

Check the subject on replies


Is the subject of the message you're replying to the 30th message? Is the original subject still remotely relevant to what you're replying to? Just because you're replying doesn't mean that you shouldn't have a useful, relevant subject. Modern e-mail clients have allowed us to neglect the subject on reply.
Stop the pattern of destruction. Change the subject when the Re:... doesn't make sense. As a bonus, use the well forgotten (was Re:...)
Idiotic scenario: your colleagues have been discussing how best to handle ordering buffalo style chicken wings for the annual "summer is officially over" lunch and 30 replies later everyone is settled on getting a variety of wings at spice levels from "vinegar" to "$#%@", but as the guy who had to replace the keyboards after the great buffalo wing debacle of 2003, you have something to add...
Original, and well worn subject:
Re: buffalo wings
Your reply 30 messages later:
Wet naps (was Re: buffalo wings)
Being an individual who handles a ridiculous amount of e-mail, sometimes one or two of those thirty messages get missed. A subject change with reference to the original topic helps to identify the branches of the tree and might result in your message being read.

Formality and signatures


I have no source to cite because this is my blog and it simply isn't important enough. Sorry!
The end of your message is very important. Much like the opening, it can change the tone of the entire note you've sent.
Again, focusing on internal communications only, remember that "you're all supposed to be on the same team". If you're asking for project statuses, or a request of any kind, it can come off as pushy. Assuming you're trying to get someone from outside of your particular sphere of influence to do something that will only benefit the project you're working on, consider toning down the formality.
My personal rule is that I don't have an automatically appended "sign-off" on my outgoing mail. After the "double dash", the remaining words are only glanced at by your recipient ... much in the way your recipient might glance at the floor or something less interesting. If the impression they receive is of a guy in a suit with his arms crossed in front of him, the tone of your message will be one "from authority" ... if so, I hope you have enough of that authority to prop up your written communication. If the picture is of a guy offering a hand to shake with a smile accompanying it, the tone of your message will be friendly.
People will exceed their normal boundaries to handle a request if it's delivered on friendly terms and common ground. "Take care! Thanks! Cheers!", rather than "Good day. Sincerely, Thank you," is the way to go.

That said...


The purpose of this isn't to encourage one to manipulate others. It's to help bridge the gap between verbal and written communication. If you're not being intentional about tone in your writing, you are probably being misunderstood.
I'm no verbal or psychological master (read my blog if you don't believe me). So take my advice with a grain of salt all ye three that have read this page in the last month :o).

Take care!
--
Matt

Monday, June 8, 2009

Rick's Tire and Wheel - Customer Service, Honesty and Mechanics can collide

I'm going to unjustly attack an entire industry using a bunch of stereo-types. I'm warning you about this because I know I'm not right. My anger with this industry has much more to do with my ignorance. I am not a gear-head. I don't know when I'm being lied to by a mechanic. I don't know when I'm being told something needs replacing when it could just be repaired.

That said, I have never, ever, had a good experience with a mechanic. I have been wholesale taken advantage of on more than one occasion because my ignorance is pretty obvious (the last guy said I needed to have the Johnson Rod replaced)

I wrote a comment a while back about how you run into a free service or application every once in a while that I'd happily toss money (and have in both cases). The idea is that you've succeeded if people are begging for ways to pay you for what you're giving away.
On the customer service side, this equates to offering such good customer service that people are begging for ways to market your company.

The enemy of customer service is the traditional auto-mechanic (see my earlier disclaimer):
Leading up to this I had taken my car --- one which I had intended on replacing late summer --- to a smaller shop to repair my 4WD. They took it for a day, ruled out the most common cause of this particular car failing to return from 4WD, charged me fifty bucks for the diagnostic and told me to take it to the dealer.

The dealer fixed a problem with the computer (there are various advisories out for this model vehicle), and discovered I needed a transfer case motor (Johnson Rod what do I know?), charged me $65 for the diagnostic and said that it would cost me a thousand bucks to repair. They also told me that nobody could fix this for less than $700 because the part is $550 on its own. The truck is probably worth $4000 if I sold it today (who's buying anything?), so I ate the money, kept the receipt and figured I'd just live with the problem until I replaced it.

Two weeks ago, the other shoe fell. The truck wouldn't start without a jump and stalled at each stoplight. The problem went away the next day so I didn't think anything of it. "This is a car I'm replacing ... it works now ... so who cares."

Well, the verdict was in as of my last oil change, the battery is done. I stalled all the way there and back. So I took it to Rick's Tire and Wheel due to a very trusted recommendation. I thought it was worth a shot to see if I could avoid buying a new car for another Winter or two.

I came in with a laundry list:
Replace the battery and check it out to see if there are other problems.
Fix the 4WD.
The tires looked bad to me (what do I know), replace them.

My thinking was, if there were a bunch of problems, I'd pay for a lousy battery, buy a new car in August and put this one on Craigslist if the dealer didn't offer a good trade.

I received a phone call from Rick this afternoon. The 4WD is fixed, the battery is replaced. Price: about $350 (both the battery and the "nobody can do it for under $700 4WD repair")

Customer Service, above and beyond


"Wait on the tires until fall, they're fine". They seemed OK to me on wet and dry pavement but they didn't look anything like the spare. I couldn't tell if they were bad last winter because my truck is a rear-wheel drive 2-door SUV. Good tires or not, it drives very badly in the winter without the 4WD. The tires looked worn to me and I even told Rick my thoughts when I dropped the car off. He could have easily sold me four new tires (especially after the significant savings on the other repairs) but he didn't.

Despite selling me a total of zero tires when he could have sold four, I have an unused full sized spare on my truck (I've never had one of those with previous vehicles so I didn't think anything of it). He told me to buy three new tires in the fall, take the spare and use it as my fourth, then take the best of the four old tires and make it my spare.

So he not only didn't sell me four tires today, he sold me one less than he would have in the fall.

Oh, and I should mention that I gave Rick my estimate from the dealer. He knew how much they were going to charge me. He could have come in at $450, sold me four tires today and I would have probably taken the deal and left feeling OK about the transaction. I would have left with a running car with new tires, a new battery and a working 4WD for under a grand. It would have gotten me through the Winter.

Why it Matters


I worked retail as a teenager and we were always told that dissatisfied customers will tell about 15 people how lousy they were treated and 90% of them won't shop at the place again. Satisfied customers will tell far fewer people of the experience and will not have their brand loyalty affected very dramatically.

An experience like this breaks that rule. I posted this to my (barely traversed) blog, called a few people I know who need car repairs right now, and sent several e-mails. I'll be telling everyone I know about this experience.

Full Disclosure: I am not invested in this company nor are they paying me to give them an endorsement, nor do they know that I have given them one.

Rick's is located on 22-mile road between Ryan and Shelby (closer to Ryan) on the South Side if you're in the greater Detroit area, you read this blog and you need car repairs.

Thursday, April 23, 2009

Google Matthew Dippel - An Exercise in Ego Surfing

Or why, for some reason, my fascination with a couple of blog posts about nice staircase designs is my own doom.


I'm kidding, of course. Actually, no. I am looking into interesting staircase designs since I've had a dream of doing my basement up for the last few years and it's always included a replacement staircase.
But I digress . . . Today I had the pleasure of seeing my name put into a case study about a project I rather enjoyed last year.
Just for laughs I went to see if Google had indexed it yet (yes, I know that sounds totally psychotic, and perhaps it is).
I was surprised, for one, to find out that this curse of a last name is not only rather common but that there's another Matthew Dippel living in Grand Rapid's, Michigan.
In fact, it was interesting to find out that I share the namesake of an actor (ironic, as my sad little claim to fame was being paid as a seventh grade kid to do 42 performances of A Christmas Carol, and I'm guessing that this guy was much more successful than me), but also a choreographer (considering that my second biggest claim to fame as a child was being the lead in Godspell at my High School, where they had to write me out of all of the dancing because I was so lousy, this is particularly sad). There's also a guy in Australia that had a very instructional video on how to plug in your home computer (it was surreal finding another Matt Dippel that was a nerd)

Hey, I know it's considered bad form to ego-surf, but it's not a bad idea to do from time to time. Though I am not seeking employment, it's good to know that if I'm googled (tm), that ... at least thus far ... nobody named Matt Dippel has been arrested for mass murder, though apparently someone I share a name with is a bad trader on Game Trading Zone (a site I've never actually heard of until now).
Hopefully I don't snap in front of a piece of really lousy code or I fear for those who I share a name with.

Sunday, April 19, 2009

About Successful Innovation

I really don't want to be the guy that comments on other peoples' works. Frankly, I don't have the energy with all of the good content out there and I'm certainly not writing blog posts to make money (I'm laughing, really).

That said: Great article here on something I've been debating with a few individuals lately.

It points out one of the major difficulties of innovation. Most people believe "Good Enough" is. VHS created the home movie market despite competing Betamax technology that was superior. SVHS which was supposed to be the successor to VHS never took hold because the incremental innovation left people thinking ... VHS is "good enough".
The DVD standard took hold because of improved picture quality, 5.1 audio support and a radical change in format. Moving from magnetic tape to a digital disc format was what killed the audio cassette.

I'm actually surprised at how well Blu Ray has done thus far. As someone who is ... in every way ... a home theatre junkie, I still don't own a Blu-Ray player. The "incremental improvement" simply isn't enough for me. Most movies that I enjoy were recorded in formats that don't look great on DVD, why do I need to see those same movies in 1080P? And frankly, part of it is "principal", I hate AACS and BD+ and won't buy a player until a few years have gone by and they've given up trying to one-up the pirates. I'm not saying the studios will abandon anti-piracy efforts. I'm thinking they'll run into the wall. I expect that many early players will stop playing newer discs properly because of efforts they employ (unsuccessfully) to stop piracy and it'll be safe to buy a player that might play all of my legitimately purchased content.

Frankly, Blu-Ray doesn't offer much over DVD except on the latest titles. Being an audio guy (I love surround sound, I even own a ButtKicker for an immersive experience that only an infrasonic sub-woofer can deliver), I don't even really care about the uncompressed audio. DVD is "Good Enough" at the moment and I'm not shelling out the money for a new player for my HTPC, and a new Home Theatre receiver to decode audio formats I won't notice the difference with.

So it is about innovation. It's easy to take something that has been done and improve on it. Often with computer equipment (faster CPUs, faster GPUs, bigger hard drives), it's important. But to the average Joe, that bigger hard drive was only important when they discovered how to buy music on iTunes or rip their huge audio CD collection. The reason for the purchase of an upgraded computer came from one of two simple situations: "They're so cheep, might as well get rid of this bloated, bogged down PC that probably has a virus." or "This new PC can do things I (perceive) that I need that my current system cannot handle". Often new PCs were purchased immediately after they subscribed to broadband service. The old unit just couldn't handle the new experience.

So on innovation ... It seems the pattern is that incremental improvement will gain a small following ... revolution will gain a complete turnover. We've witnessed this with broadband plus improvements and reduction in prices of PCs, analog VHS magnetic tape to an all digital, reliable, slower degrading, convenient disc format plus commodity players, analog proprietary PBXes to VoIP on somewhat less proprietary all digital formats that include voice, and teleconferencing while keeping your phone calls on your data network eliminating long distance and international per minute charges.

Part of my job is writing software for unified communications, integrating communication into line of business applications and developing new applications that find ways to exploit the features that UC makes available. When I tell people the way my organization communicates and operates they look at me like I'm part of a Jetson's cartoon. We have an office that has headsets rather than phones. I don't know the phone number of anyone in my company because I just double-click their name when I want to talk to them. We communicate via IM more than e-mail or voice and when we make a call, we know if the other person is going to be interrupted and can decide to "flag" that person for notifications the next time they're free (think about making a call and rarely interrupting the person you're calling ...)
If we're meeting regarding a troubleshooting session, a document or a proposal, the click of a button enables immediate desktop sharing.
I can drag and drop an employee into a conference, they can choose to join it via their mobile phone or their headset or ignore me entirely. We communicate face to face despite being hundreds of miles apart (and it makes a huge difference).
I can click a button on my mobile phone and have my company connect me to a guy I work with in the UK without having to dial internationally.
A visitor can walk into our facility, type in their name and who they are coming to see using a touch screen interface and actually talk to the other employee who can "see" the visitor via a video channel, approve the visit, and have a temporary visitation badge printed that will also sign them out at the end of the day. If the employee is in a meeting, they can conduct the entire session via IM, or via their mobile phone.
I can do all of this with the same quality of experience if I'm in the office or at an access point at the coffee shop up the road.

I'm not hyping my company (this is my personal blog) nor am I going to talk up our vendor (this is my personal blog). But that's revolution. I don't know if our vendor is going to be the technology choice for the next several generations, but I know when you combine the cost of gasoline, the need for real efficiency in the workplace and the cost savings of eliminating legacy PBXes and POTS lines ... at least at the business level, this is where the world is headed. I don't see my dad buying into a solution like this quite yet, but who knows?

Anyone want to count how many different ways I wrote Bluray?

Saturday, March 7, 2009

How to Fix Error: 26 - Error Locating Server/Instance Specified - Microsoft SQL Server

One more for ya (btw, if anyone is wondering why I keep posting these notes, it's because I know I'll encounter it again in the future and will never remember what happened).

Symptom


Your web application gets an Error: 26 - Error Locating Server/Instance Specified. You know the database is up and working, and that the named instance is working. You've ruled out spelling errors (or the application has been up and running and is now suddenly returning this error).

Other factors


You've tried to connect via odbcad32.exe, but it worked fine, or it didn't work. Or on some computers it worked and on others it didn't.
You've connected to the database via SQL Management Studio from your development PC and it works.
You've also tested connecting with the limited rights ID that the web application uses. It worked or didn't work (or worked on some machines and not on others).
The instance you are connecting to is not the default instance, it's a named instance other than the default (In other words, your server is connected to using the "SqlServer\Instance" convention).
You've checked your database server and SQLBrowser is running (if not, that's your fix, start it up!)

The Fix


Take a look at the other factors since those are really the first steps to troubleshooting this sort of a problem. Take the web app out of the picture, check that services are running, etc.
Once you've gotten that far, cycle the SQLBrowser service and refresh your web app, it'll, most likely, start working again.

Why did that work?


SQLBrowser helps your client to find the named instance on the SQL Server. If you hunt around in your logs you may find an event that indicates that the SQLBrowser service has decided it's no longer going to respond to hosts because it encountered an error.
Folks who write services know that there's a "good way to handle errors" and a "bad way". We'll just say that leaving the service in a running state and having it give little to no indication that it's died is not the "good way". Cycling the SQL Browser service, if it is working, may result in other applications not being able to connect to the database for the seconds that it is unavailable though as you may have noticed in the Other Factors section, this isn't a guarantee. In my case, I was able to connect to all instances on a few PCs, including my development box despite the SQL Browser service being dead.

What's the actual cause


I'm not completely sure. In my case the issue was immediately preceded by a memory error on the server, so that was what went wrong. Your case may be different.
Happy Saturday!

Thursday, March 5, 2009

A Tale of Three Cancellations

Let me start off by saying that I'm not a fan of having to pick up the phone to cancel an account I can easily establish online. I understand why they do it ... it gives them an opportunity to try to talk you out of your decision.
I think it's a bad practice, personally, because I don't think I'm alone in saying that most of the time when I've decided to cancel an account, I had already subscribed to similar service from a competitor or my mind is fully made up that I'm not going back. I get even more flustered when a "loyalty specialist" offers me a special price to keep me from canceling. Where was that price while I was a loyal customer? Putting energy into making happy customers is better than putting energy into holding onto the ones who psychologically have already left.

Or maybe I don't know what I'm talking about . . .

The Bad: Dish Network


I can understand. I really can. They had a satellite fail on launch and have been shedding customers like crazy. They've lost any opportunity to get me back, though.
Step 1: Make the call, find the right menu option, get put on hold, talk to customer service.
Step 2: Get transferred to a "Loyalty Specialist" who asks you why you're leaving:
Me: "I have U-Verse installed at my house, now. They're cheaper than Dish + Cable and I can't get DSL due to my location"
Dish Guy: "Well, we have AT&T bundles also."
Me: "Yes, I researched them. They're DSL. I can't get DSL at my house due to my location and even if I could, I can't get 9/1.5 Mb service."
Dish Guy: "You know, we have the cheapest all digital pricing."
Note that I'm paying $104 on my bill and have a terrible looking monster attacking my roof
Me: "Not for the programming I have and not when you factor in bundling with high speed internet, so unless you can knock $50 off the bill..."
Yes, I'm an idiot
Things continued for a while like this because I chose to give them a way to get me back. U-Verse was already installed, and even if they had given me the $50 credit, I wouldn't have kept Dish. I don't know why I argued.
Lesson: Don't give excuses for leaving, and don't ask for bargains.
Now, mind you, this is Michigan. It's cold and had just snowed quite a bit. Dish network equipment is leased so it has to be returned. THANKFULLY, I didn't have to remove the whole satellite. Unfortunately, getting 3 LNBs removed from the satellite dish and removing the switch isn't all that much less work.
They give you 30 days from the date of shipping "Return Boxes" for you to return those items. Personally, this was the worst part. 30 days for the boxes/remotes is fine, but a little added flexibility for the LNB to keep people from sliding off the roof would have been nice.
I won't be doing satellite again without getting the return equipment requirements details, and ... in writing.

Even worse: XM Sirius Satellite Radio


Same game as Dish. In this case, I was canceling the service because I just wasn't using it. My wife and I switched cars and my new car didn't have satellite radio in it. She drives about 2-3 miles a week and only used it for one station to keep our child pacified in the car (a CD works just as well).
The problem wasn't with cancellation. They processed it instantly and that was that...

Then the phone calls started.


Some background: my home phone number is a Grand Central number that forwards calls to the cell phones my wife and I own.
I have telemarketer blocking setup (generally helps prevent autodialers from getting through to my phone). Twice per day, every day, the phone would ring from XM Radio, but when answered, their dialing system would hang up. After about three days of this, I called XM Radio and asked them why they were calling. The rep had no idea and put a note on my account to stop further calls.
Did they stop? ... nope ... So I setup Grand Central to dump them to voicemail. I received a call twice per day for 30 days. Then they stopped.
These guys are also guilty of offering the "come back to us" special price. I received an e-mail offering 4.99/month for three months if I paid for 6 months in advance. No thanks!

The Good: LifeLock


LifeLock tends to be a punching bag for a lot of people. I actually signed up for them because for a short time they had a no strings attached "Free Year of Service". I held onto it for a few months afterward, but recently found that my membership in certain other services and my homeowner's insurance covered everything they offered.
I called and was greeted by a very friendly woman on the phone. She asked why I was leaving, I explained I had comparable service already and that this was redundant... and that was it. No hold time, right to a person, right to cancellation and the only thing offered was "If I ever want to come back, just call any time day or night and they can reinstate the account". From zero to canceled in under 3 minutes.