UPDATED (12/23/11): The Nightmare of Time Warner Cable’s Customer Service (redux)

UPDATE 23 December 2011

As promised, I followed up with Phil from TWC. Here was his response:

Hi Mr. Hill–

We have indeed made progress. The employee was identified and the issue was addressed internally.  We expect no further such incidents.  Again, please accept my heartfelt apologies for what happened.  To have an any employee speak to a customer in such a matter is unacceptable.

I realize that you did not mention that you were looking for any type of compensation for this issue, but I felt it appropriate to process a credit for a month of service on your account.

I want to be sure that your original service issue was addressed—have you had any further problems?  Is there anything else I can assist you with?

Feel free to contact me with any further questions—have a safe and happy holiday.

-Phil

THIS is good customer service. And I’m not even saying that because they comped me a month – Phil’s communications with me have been genuine and sincere. There is a modicum of professional context / distancing which is to be expected (it is business, after all), but throughout my correspondence with him he both (a) listened to what I said and (b) helped to resolve my problem directly. The feedback loop is the key part here.

The main difference between this experience and my previous experience is the fidelity of that feedback loop. You cannot realistically regurgitate a canned apology and expect it to be received as anything more than insincere time-wasting. There is an organic process behind the development of conflict resolution.

For the purposes of this particular saga, I’ll call it closed. I suspect that the throttling issue may come up again someday, but as this post was more about the customer service rather than the throttling itself, I’ll give that a bye for now.

UPDATE 16 December 2011

So yesterday evening, on my way home from work, I spoke with someone (I only heard his name once, but I believe it was “Phil”?) who said they were from Time Warner’s Social Media team. Earlier that afternoon, I had called their customer service people to file a complaint about this whole situation. As far as I can tell, this person that called me is legitimate, though he did say he’d e-mail me his phone number and has yet to do that, but I’ll give him the benefit of the doubt for now. Philip has emailed me his contact info.

He said two things I felt were important:

  1. He views this complaint like how he would see one that involved an employee using company resources (phone numbers, addresses, etc) outside of the scope of their work [his example involved a disgruntled employee harassing customers after hours, or doing creepy slow drives by their house]
  2.  The URL had indeed been passed to multiple people in the company, particularly the customer service team, because it contains what they feel is useful feedback.
It’s supposedly still under investigation. I honestly don’t know if I will hear any more about this, though I plan on giving them a call right before the holidays to follow up. I’m not trying to get anyone fired, but I would like to see some accountability here. I would also like to see some positive changes to their customer service process, specifically the items mentioned in this post; so it was good to hear that the content was being disseminated to others.

UPDATE: 15 December 2011

Ok so there’s a rather colorful comment posted by someone who clearly has a secret crush on Time Warner. Normally, I try to not feed the trolls, but I was rather curious about this. So I waited a day for the Google Analytics data to come in. I figured I might get lucky and at least get some more info on who this person was.

OMG It was so much better.

Ok let’s start here, and connect the dots:

So I took the IP address there and ran an nslookup to see where it maps to.

So the commenter is from the Buffalo area.

What is particularly interesting about this particular case is that I sent the link directly to @TWCableHelp, the official and authoritative Time Warner twitter feed. This was via a Direct Message, meaning that unlike normal Twitter content (which is public) the only people that knew about this link were myself and this Twitter user (and anyone this user shared it with, separately).

Note specifically the t.co hash there: 44jxmSC

Twitter automatically shortens URLs pasted into it now, using the t.co shortening service. This particular shortened URL is *DIFFERENT* from the one that automatically syndicated from my blog, which was the hash E2qs9wo3. So when I realized this, I knew that I could use Google Analytics to see if anyone used that specific URL to access my blog. I ran a custom report for “Referrals” within the past 5 days, isolated that specific t.co referral, and here’s what I saw:

Adding the “City” secondary dimension onto it yields the city of Bowmansville.

Where is that?

Oh snap, Bowmansville, NY is right near Buffalo, NY.

This means that the comment with multiple personal insults on it came from @TWCableHelp, or by extension, Time Warner Cable themselves.

Yeah, they’re getting a call about this.

I’ll let the twitter user know that I know who they are, too. Yeah that’s right, I work in IT.


So I’m trying out Google Music. It’s pretty neat.

In addition to the free music samples / demos that they have available and can provide at the click of a button, you’re allowed to upload up to 20,000 songs to your account, for streaming to a variety of platforms, including Android phones (very cool!). What’s even better is that they have a Linux app for the music manager (this seriously makes me very very very happy).

So I downloaded the manager app and, after culling the chaff from my laptop’s small music collection, started my sync with my Google Music account. ~1,400 songs; shouldn’t take THAT long, I thought. I started it on Sunday night.

When I checked it again on Monday evening, I first noticed that the internet had stopped working. Great. Time Warner is throttling me for bandwidth use. I went through the usual diagnostic steps – check my intranet speeds (still fast!), check the lights (on, but blinking irregularly), power-cycle the modem (restores blinking to normal), etc, and got a modicum of internet access functional again, though it was still very slow (Netflix was buffering a LOT and Netflix normally never buffers for me). At this point I knew that I would need to have Customer Service reset my connection.

If you are a normal Internet user from about 10 years ago, then you probably use Windows or Mac, and browse with Firefox or Internet Explorer or, if you are a Mac user, Safari. You will also have no problems with getting online with a customer service representative.

If, however, you use Chrome, like I do, or use Linux, like I also do, you will be unable to acesss online customer service. For reasons I do not understand, their customer service chat application exercises restrictions as if we were still back in the early 2000s, when application support was varied by browser. Chrome, which is used more than Safari and almost as much as Firefox (by some recent reports, actually surpassing Firefox altogether!) is disallowed.

So in order to use their online chatting, because it’s slightly less painful than waiting on hold for 30 minutes, I had to fire up a Windows XP Virtual Machine, and use what I think was Microsoft IE6 (the first time it’s EVER been used in that VM). Yeah.

What follows is this official transcript of my session with a customer service representative named “Elvis”.

Continue reading

Rock, Paper, Scissors redux, now with AI

The New York Times recently posted about an AI-backed Rock-Paper-Scissors game. I have written about it before and some have disagreed with me.

The AI version learns from past games and uses that data to predict future moves. There are two modes: “Novice” and “Veteran”. The former only learns from the rounds you’ve played with it, the latter draws from all previous games that have been played with it.

If you are someone, like my naysayer in the link above, that buys into the illusion that you can adopt any kind of real strategy in Rock-Paper-Scissors, the AI will smoke you. If you even pay attention to what the computer (or any opponent) does at all, you are buying into the lie and will become predictable.

As that page mentions, “[a] truly random game of rock-paper-scissors would result in a statistical tie with each player winning, tying and losing one-third of the time.” This is true assuming that both players are playing randomly, ignorant of one another’s choices. If one player adopts a random strategy (“plays irrationally”) while the other one plays with a strategy (“rationally”), the player with no strategy is unaffected, but the player with the strategy will be at a slight disadvantage.

A given choice in RPS is identical to the other possible choices — each one can win, lose, or tie the round with equal probability. The choices have no inherent value until the opponent’s choice is revealed. When both players play rationally, they attempt to out-think what their opponent will pick, and assign a weight value to the available choices based on that prediction. The thing to consider here is that the weight assigned is entirely based on the assumption that the opponent is selecting something on a rational basis. By selecting your choice randomly, you completely negate any advantage the other player would have gained through their strategy; not only that, but there is also a subtle cumulative penalty that they incur for as long as they believe you are still acting rationally.

When playing Texas Hold’em with some friends, a few years, ago, I realized that I was outmatched on skill and experience, so I instead adopted a completely irrational strategy – I would bet erratically, irrespective of what I was actually holding (unless I had a REALLY strong hand) and I ended up winning. Granted, my friends aren’t professionals, and that strategy would probably fail against real pros.

The fundamental difference between Poker and RPS is that RPS has no memory of previous rounds, unlike Poker. Each round in RPS may as well be a roll of the dice, a completely separate statisical event. You can play completely randomly and are not penalized cumulatively, like you would be with chips in Poker.

The screen-cap above is a small sample run I did against the computer, using a random number generator to make my choices. In a range of 1-3, 1 is Rock, 2 is Paper, 3 is Scissors. No matter what the computer plays, stick with the random protocol. You might as well just hide half of the screen, so that you aren’t tempted to make a “strategic choice.” After 40 rounds of random choice, my final record was 16W, 11T and 13L. Admittedly, the sample size isn’t very large, but I think it at least provides some good support to my argument: regardless of whether or not your opponent is using any kind of strategy, a random play is strictly better, and the more rationally they try to play the worse they do.

Why Arsenic-based life is cool, but not revolutionary

If you’ve been on the Internet the past couple days, particularly if you use any social media, you’ve invariably read something about the Arsenic-based life forms discovered in the bottom of Mono Lake in California.

The headlines have read with typical sensationalist flair:

From the sounds of the headline, one would think it was ET that we found, or that this discovery somehow turned our understanding of life and biology on its head. But not quite. Continue reading

Scraping Twitpics with PHP [Coding]

Update! My twitpic scraper (as well as search API calls) have been integrated into NCSU’s Tweetgator. Check it out on Github!

A couple months ago, IU East re-vamped its twitter wall. We incorporated a codebase originally developed by NCSU, and then I extended it by adding inline hashtag searching and a twitpic scraper.

At the time I wrote it, I could not find any other existing Twitpic scraper – Twitpic doesn’t have a formal API (or at least, it didn’t then; I don’t think it does at the time of this writing, either).

Effectively what this script does (see after the jump) is to browse the Twitpic site, parse out the image IDs, and then re-create the Twitpic images. It is somewhat rudimentary in that it does not cache nor does is it actually download the images — anyone reading this may feel free to extend the code into something like that. Continue reading

Syndicating your shared Google Reader items

I’m an avid user of Google Reader. I follow a couple dozen different websites, check it daily (and sometimes quasi-daily), and have a very elaborate system of tags.

One thing that I did a year or two ago was to take my public broadcast feed of my shared items and integrate it into my main website directly. The goal was to have the homepage of my website always have fresh content by linking it to my shared Reader items (I share anywhere from 3-8 items per day, on average).

Originally, my solution was a bit of a hack: I used Magpie RSS reader to consume the feeds, then did some serious PHP acrobatics to parse out the Google Reader feed — what I failed to understand, at the time, was the fundamental differences between RSS and Atom feeds (subtle, yet significant). All in all, I think it took somewhere from 100-150 lines of code to effectively snatch the feed and parse it out; and it wasn’t perfect, either — frequentle the title and source would get mashed together. But for that particular time, it was fine.

The other night, though, I decided to try and fix it up proper. I discovered that the Zend Framework has some native Atom Feed classes and thought this would be a good place to start. (Details, including my PHP source code, after the jump)

Continue reading

Euro-Gaming in Linux [Linux FTW]

A “euro-game”, also known as a “German-style board game” are

are a broad class of tabletop games that generally have simple rules, short to medium playing times, indirect player interaction, and physical components, which are frequently wooden player tokens or markers. The games emphasize strategy, downplay luck and conflict, lean towards economic rather than military themes, and usually keep all the players in the game until it ends.

The most well-known example of this would be Klaus Teuber’s Settlers of Catan.

Where western / American-style board games tend to focus more on direct competition, zero-sum arrangements, and frequently combat themes, German-style games instead focus on empire-building, strategizing, and often economic themes. If American-style games are “during the war”, German-style are “before and after”. There is player interaction, of course, but it’s frequently circumstantial or coincidental. The publishers “Rio Grande Games” and “Mayfair Games” are both terrific sources (as are many games that win the annual Spiel de Jahres award)

In any case – they are a variety of games that have become quite popular here in America over the past decade. My friendly gaming group frequents many of these.

Over the past year, I have discovered several computer-based editions of these games that can either be played online (against other people) or locally (against computer AI) — the best part is that they have Linux-based versions! The games I’ll cover here, along with how to set them up and where to find more information on playing them, are:

  • Settlers of Catan
  • Race for the Galaxy
  • San Juan
  • Dominion / Puerto Rico / Carcasonne / others

Continue reading