Posted on Jul 31, 2009

Posted on Jul 24, 2009

Verizon Customer Service Win

Can You Hear Me Now?

On average, I get a “courtesy call” from one Verizon service or another almost every day. As both a VZW and FIOS customer, each professional service organization tries regularly to up-sell me. So far I have not received a call from both on a single day, but I won’t be shocked when/if I do. My wife and I have the lowest possible family plan for wireless, and the 20/5 FIOS plan with home phone service. Slap that all together with their combined billing, and we’re shelling out ~$180 per month for media-related utilities. This is a much better deal than when we were paying almost $300 monthly for 3G network access on our phones.

About six weeks ago, I received a notice that my introductory FIOS rate was about to expire, giving me no price protection, and increasing my cost by about $10 per month. I called and the best they could offer me was another $10 per month for a lower data rate than I currently had, or another $20 per month for a slightly better one. My wife and I agreed that there was no sense in paying to get less, so it made better sense to pay to get more, and spend the $240 annually for slightly faster network service. I didn’t act, however, because I thought I’d call back later and see if I could haggle for a better rate.

So tonight when I got a call from “UNKOWN, CALLER” at 6pm I was generally nonplussed. They were right on time.

Tonight, however, was different. I was in an odd mood, and when the woman asked if I had a few minutes to talk about how she could analyze my calling plan to make sure we had the best possible deal, I told her she had up until my 11-month-old started crying (this doesn’t take long), and that we already had the cheapest family plan.

Or so I thought.

She looks at my account, sees that we use fewer than 100 minutes between us, and offers me a “loyalty” plan. This saves us $10 a month, with no contract extension. I double-check that we’re not losing our SMS options, and she notices that my wife’s line has a more expensive plan than mine (and she only sends a dozen or so messages a month). Fixing this saves us another $5. She also asks if I want to use my New-Every-Two and upgrade my phone. I do, but since I can’t settle on a phone I like, I have to pass for now.

Then she asks if either of us send picture messages, and I take the opportunity to note that my old phone now won’t send them — I get an error message that I had chalked up to it being old. She discover that when we turned off our internet service, it put a “network access lock” on the phones, so pictures couldn’t upload to their hosting service. She fixes it, and the call is now +3 awesomeness in Verizon’s favor, and -15 dollars in mine.

This was the best five minutes I’ve ever spent with Verizon’s customer service. Maybe luck will strike twice and the FIOS folks will give me a break as well. One can dream, right?

(Photo Credit: Verizon Ad)

Posted on Jul 21, 2009

Posted on Jul 16, 2009

It Seems So Obvious

It seems so obvious: If you want to develop software that’s useful to people, you’ve got to talk with them. But too many developers take the anti-social approach and consider customer support to be beneath their status… If you really want to write useful software, stop spending all your time keeping up with technology. Don’t worry if your resume isn’t filled with the latest buzzwords. Instead, invest your time in talking with your customers. They don’t care what programming language you use – they only care whether your software meets their needs, and the best way to ensure that is by breaking out of your cone of silence and opening the lines of communication.

— Nick Bradbury: If You Want to Write Useful Software, You Have to Do Tech Support (Via SvN)

Posted on Jul 14, 2009

The Hyannis Sound – On The Clock

ths-logo

I’ve been a big fan of The Hyannis Sound since 1999, when the first Chip joined the group. Some friends and I camped out in the backyard of their (then) Orleans house in the summer of 2003 because… well, just because. It seemed like a good idea at the time, (though incidentally that was the same weekend my Jetta’s engine decided to explode, so maybe I should have stayed home?) I digress…

On the Clock is THS’ third 100% studio album, their 16th overall, (though wikipedia would have you believe it was 14). It’s an excellent work overall, and most definitely re-playable. I have the slightly annoying habit of listening to new music on repeat ad nauseum, and there are absolutely tracks on this disc that will make my recurring playlists. Without further ado:

Biggest Surprise: Track 7 – Falling Slowly (Holy Crap!)
Biggest Disappointment: Track 10 – Something Happened on the Way To Heaven
Overall Rating: The mathematical average of my ratings is right around 75%, but since I’m rating on a scale of 1 to 10, I’ll happily give it an 8/10.

Continue Reading

Posted on Jul 4, 2009

XHTML 1.1 Strict New Window Links With jQuery

I was throwing together a prototype site last night and I thought it might be nice to aim for XHTML 1.1 Strict compliance, really just for kicks. Most of the time, this is no big deal, but I was stuck on one need that the site had: open off-site links in a new window. The target attribute is a big no-no in XHTML Strict and while I’m not really a purist, it was somewhat bothersome that I only had one error left without a good markup-based solution.

One of the tenets of XHTML is to force (strictly!) the user-agent to be responsible for the agent-specific actions on the page. In this case, since a modern browser on a modern OS can handle a “new window”, the browser should handle it. But, the same site, when rendered in a different browser (e.g. Safari on the iPhone) might not be able to handle a new window, so the markup itself shouldn’t add such an instruction. Sounds annoyingly simple enough, except when I want the non-standard action.

Enter JavaScript, which shouldn’t surprise me since I want to manipulate the DOM within browsers that can handle it. A quick google led me to an example over at Sitepoint using Javascript to add the target="_blank" attribute after the page loads:

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;

This really seemed inelegant to me. I’m already using jQuery on the site for something else, so I re-wrote the above into a jQuery chain, which just feels better:

$("a[rel='external']").attr("target","_blank");