Fri, 29 Oct 2004

Motorola: Terrible Customer Service

I sent the following email to the Motorola Complaint department this morning. It seems I'm not the only one who has suffered from Motorola's decision to completely isolate their customer service department from those in the company who do more than simply answer the phone. Pat Keene has set up a blog called Hello Moto. Where's my phone? detailing roughly the same experience I describe below. If your call center is in India, and your repair center is in Tennessee, it's not like the CSR can walk over to the shipping department or a technician to get an actual answer. I got the idea to copy Stu Reed from Pat.

Date: Fri, 7 Sep 2007 10:55:32 -0700
From: "Christian G. Warden" 
To: d2d001@motorola.com
Cc: stu.reed@motorola.com
Subject: Customer Service Breakdown (RMA #XXXXXXXXXX)

Sir or Madam,
I sent my Moto Q in for repair at the end of July with RMA #xxxxxxxxxx
(zip code xxxxx).  It was received by Motorola on July 31.  According to
the IDEN website, the replacement was sent back to me on August 17.  The
Fedex web site confirms that it received notification of a package
shipped Overnight Priority with tracking number xxxxxxxxxxxx, but has no
record of actually receiving the package.

Having not received the package after one week, I called customer
service at 1-800-453-0920 on Friday, August 24.  I was given case number
xxxxxxxx, and was told that I would receive a call back within 24 hours
from the repair facility.  I didn't receive a call until 3 days later,
on Monday, August 27, and I was told that it was a "courtesy call", that
the caller didn't have any information about my phone, and that I would
receive a call within 24 hours.  I never received that call.

I have since called the customer service number four or five more times.
Every time, I am told that I will receive a call within 24 hours, but I
have never received another call since the courtesy call.  During one
call, I was transfered to the voice mail at repair facility.  I left a
message, but alas, did not receive a call back.

On September 1, I submitted a request through your web site (Incident
#xxxxxx-xxxxxx) explaining my situation and my inability to get through
to someone regarding the whereabouts of my phone.  I received an email
response saying that I would receive a call back.  I didn't.

On Tuesday, September 4, I called 1-800-331-6456 as suggested in the
response to by online request.  I was transfered to same call center I
had spoken with on numerous occasions prior.  I explained the situation
and was given a new case number, xxxxxxxx, and once again told that I
would receive a call within 24 hours.  I didn't receive that call.

On September 5, I received an automated response that my online request
had been closed as "SOLVED".  I responded that it was indeed not solved,
and that I still needed someone to contact me.  I received an email
response, "Once again, we apologize for any inconvenience this delay may
cause you. You will be contacted back to the contact phone number you
provided for accurate assistance with your repair."

This morning I called customer service once again, explained the
situation, and was told that they would contact the repair facility to
have them contact me.  I explained that this process obviously does not
work because the repair facility never calls me.  I asked to speak to
someone at the repair facility, and was told that no phone number was
available.  I asked to speak to the person responsible to managing the
repair facility, and was told that no such person was available.  I
asked for the phone number of the Chief Operations Officer, or a person
of a similar role in your organization, and was told that such
information was not available.  Finally, I simply asked to speak with
the supervisor in the call center.  I was told that the supervisor,
whose name the CSR ("Nicole", #351359) refused to give me, was
preoccupied and would call me within 10 minutes.  I didn't receive that
call either.

Due to the malfunctioning phone, and inability to get it replaced in a timely
manner, I have been without a phone for about six weeks, and have continued to
incur charges from my carrier, Sprint, during this period.

Your assistance in resolving this issue would be greatly appreciated.

Regards,
Christian Warden
(temporary) mobile: 310.xxx.xxxx
home: 408.xxx.xxxx

Update (09/23/2007): After I sent the email above, I received a call from Dorothy Hodges in the consumer advocacy department. She was very pleasant and eager to resolve my problem. She ordered me another Q, but they weren't in stock so she sent me a RAZR2 as a loaner. She also sent me a bluetooth headset as a sorry-we-screwed-up consolation token.

Upon receiving the RAZR, I checked my voicemail, and I had two messages from the management of my apartment complex. It turns out the original replacement phone was devlivered, but that Fedex didn't leave a notice, and that the tracking number Motorola recorded was incorrect. So last Monday I called Sprint with Dorothy and activated the Q. She requested a credit on my behalf since I had been without a phone for six weeks while still paying the bill. I managed to get them from their original offer of 100 minutes to $10 to $30, at which point I accepted.

business | Comments | Permanent Link

Pricing That Doesn't Make Sense is Annoying

Seth Godin is trying to make a point about how people act differently when on camera.

Odd segue: Today, in anticipation of a dinner party, I stopped at a lobster seller in Chelsea Market in NYC. I asked for a six pound lobster. The pricing at the store is $9.95 a pound for small lobsters and $8.95 a pound for lobsters six pounds and up.

The lobster weighed (I'm not making this up), 5.97 pounds. For reference, that's just less than a pound by the weight of a penny. Feed the lobster a plankton and it would be six pounds.

He started to ring me up at $9.95 a pound. I pointed out the price breakdown and the guy shrugged and said, "It doesn't weight six pounds."

Two co-workers came over and with precisely the same uncomprehending grin, repeated his point. I added a penny to the scale but they weren't swayed.

So, the two questions are, "Do you think the owner wanted them to act this way?" and "Would they have acted differently if they were on camera?"

Maybe because it's obvious, but he doesn't mention the absurdity of the pricing scheme. The price for the lobster should, of course, be something like $9.95/lb for the first pound and $8.95/lb for each additional pound. Damn, it's annoying when you run into companies that have stupid pricing.

Mark Hurst describes a conversion with a Dell sales rep in which the sales rep explains that a computer without a monitor costs $400 more than the same computer with a monitor.

business | Comments | Permanent Link

Thu, 28 Oct 2004

Google Ads are Hard

We haven't had much luck with Google Ads for Postica so far. There's a lot of competition in the spam filtering market so it's hard to stand out among 10 ads for spam/virus filtering products and services on the same page.

It's frustrating having what I think is a great service, and not being able to reach potential customers. We're mostly focusing on selling through partners now, but we haven't completely given up on Google Ads yet. Here's our latest.

business » marketing » advertising | Comments | Permanent Link

Northern Trust Does Good Economic Research

The smart folks at Northern Trust publish daily economic reports that are short, informative, and full of interesting graphs.

From a recent report on the illusory nature of the recent growth in household net worth:

The rise in household net worth in recent years has largely resulted from inflating prices of corporate equities in the late 1990s, and residential real estate in the past four years. But this rise in household wealth is illusory. The true measure of an increase in the wealth of a nation is the growth in its capital stock. In recent years, growth in our capital stock has slowed and the composition of the slower growth has moved in favor of McMansions and SUVs, which do little to increase the productive capacity of our economy.

From a report titled Investment Implications of the Inevitable Rebalancing of the U.S. Economy or Making Lemonade Out of Lemons, here's a chart of the residential real estate "P/E" ratios, i.e. the ratio of market value to rental rates.

I've setup an RSS feed of their reports so I can read new ones as soon as they're released. It tracks their daily and weekly reports, as well as their economic outlook forecasts which are published monthly.

Update (11/09/2008): I've redirected northerntrust.rss to a Yahoo Pipe that aggregates Northern Trust's own RSS feeds. It does not include their press releases, however.

business | Comments | Permanent Link

Sun, 24 Oct 2004

How To Vote on November 2nd in California

I was planning on writing up a summary of how you should vote on each of the propositions on the California ballot in the upcoming election. Steve Friedl beat me to it though, and since I agree with him, in general, I'll limit my comments mostly to where I disagree and the emphasis of points I concur with.

Prop 59

Public Records. Open Meetings

Yes - public disclosure of government actions is good.

Prop 60

Election Rights of Political Parties

Yes - American elections are broken in general. The current system makes it almost impossible for third-party candidates to be elected. We really need to move to a system in which voters can vote for multiple candidates such as approval voting or even better, Condorcet voting in which voters rank the candidates.

Prop 60 does nothing to improve the situation, but, at least, keeps third-party candidates on the ballot.

Prop 60A

Surplus Property

Yes - Requires the government to pay off debt when they have a garage sale. I'd prefer they give me back my money, but this at least puts it to good use.

Prop 61

Children's Hospital Projects

No - Steve's right

The first thing I do when evaluating a bond measure is to look in the argument supporting it: if it says in capital letters "DOES NOT RAISE TAXES", I automatically vote no. This is like saying that using your credit card DOES NOT TAKE CASH OUT OF YOUR WALLET, and if they will be intellectually dishonest on this, I won't believe anything else they say either.

Politicians are idiots. They think they can borrow money without any way to pay it back.

Prop 62

Elections. Primaries.

No - I'm not opposed to open primaries. If political parties want to nominate candidates in a closed matter, they can figure out a way to do so not at public expense. I'm against 62 because it limits general elections to two candidates. (The opposition's repetitions about the Klu Klux Klan are absurd, though.)

Prop 63

Mental Health Services Expansion

No - Tax the rich to pay for others' medical problems? No thanks.

Prop 64

Limits on Private Enforcement of Unfair Business Competition Laws

Yes - This will require plaintiffs to show actual damages in order to sue for "unfair business competition". There are probably lots of things other than fraud encompassed by "unfair business competition" that shouldn't be illegal, but that will have to wait for another election, I guess.

Prop 1A/65

Local Government Funds/Revenues

Yes on both - I don't know that local government is any more fiscally responsible than state government, but I suppose they can be held accountable easier.

Prop 66

Limitations on "Three Strikes" Law. Sex Crimes. Punishment.

Yes - It doesn't get the people in prison for victim-less crimes out, but, at least, keeps me from paying as much for their incarceration. As the opponents point out, it would let out some nasty criminals who are currently imprisoned for less serious crimes, but who have already served their time for their more serious felonies. If their earlier sentences weren't long enough, sentence guidelines for such felonies should be changed. This proposition does double the sentences for sex crimes against children.

Prop 67

Emergency Medical Services. Telephone Surcharge.

No - There is already a 10% city tax on my phone. I don't want to pay 3% more. I pay for my medical care. If you came to my door saying I had to pay for your medical care, I'd tell you to get lost. If doctors aren't being paid, they should find a new job, new customers, or start a charity to raise money for them.

Prop 68

Non-Tribal Commercial Gambling Expansion

Yes - I have mixed feelings about this one. Since Indian reservations aren't really sovereign nations, in that their "citizens" are also U.S. citizens and are, as far as I know, entitled to the same tax-payer funded benefits, they should pay the same taxes imposed on the rest of us. This initiative doesn't impose the same taxes, but would collect significant revenues.

Alternatively, it loosens the restrictions on gambling, but not in a free market way, granting rights to some existing enterprises.

So, 68 gets an unenthusiastic Yes.

Prop 69

DNA Samples. Collection. Database.

No - I don't think this is terribly prone to abuse, but I don't like the idea of treating people who are arrested the same as those convicted.

Prop 70

Tribal Gaming Compacts. Exclusive Gaming Rights.

Yes - Another anti-free market initiative that gives Indians a monopoly on gambling in exchange for, apparently, unaudited tax revenue.

Prop 71

Stem Cell Research

No - Stem Cell research should be done by private enterprises using private funding.

Prop 72

Health Care Coverage Requirements

No - Employees should negotiate with employers for health care benefits that they want.

culture | Comments | Permanent Link

Sun, 10 Oct 2004

Blosxom Static Rendering with Writeback Plugin

This site runs on a poor little Pentium MMX 200, so the performance of Blosxom, the software that drives the site, isn't very good. Luckily, Blosxom has a static rendering mode which allows Apache to serve flat html pages. In order to use the writeback plugin, though, POST requests to trackback an entry or post a comment must be handled directly by Blosxom.

So I set up Blosxom in a hybrid manner where new entries are rendered statically every 15 minutes, and the entire site is re-rendered every two hours to bring in comments and trackbacks to the flat pages. All POST requests are handled by Blosxom, as are requests for pages which haven't been pre-generated yet. I can also temporarily disable static rendering if I want to preview a new post without it showing up on the index pages.

My crontab

*/15 * * * * test -f /usr/local/www/xn.pinkhamster.net/.gen && /usr/lib/cgi-bin/blosxom -password=xxxxxxxxxxx -quiet=1

# regenerate all pages to pull in comments
15 */2 * * * test -f /usr/local/www/xn.pinkhamster.net/.gen && /usr/lib/cgi-bin/blosxom -password=xxxxxxxxxxx -all=1 -quiet=1

I can remove the .gen file and preview an entry by going directly to the entry's URL.

Apache Rewrite Rules

RewriteCond %{REQUEST_METHOD} !^POST [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{DOCUMENT_ROOT}/static/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/static/$1 -d
RewriteRule ^/blog(/?.*)$ /static/$1

I test for an empty query string so that Blosxom will handle the request when I want to enable autotrack. Also, if I want to preview changes to an entry that has already been generated, I can just tack something on to the query string.

It looks like this is similar to Rael's setup, but he only serves the statically rendered index pages directly from Apache and has Blosxom handle all individual entry pages.

tech | Comments | Permanent Link

Sat, 09 Oct 2004

Tivo Sucks

...a little

Neanderthal Tivo

My Tivo died last weekend. I suppose I'm not quite a typical Tivo owner. I have an old TV with just an RF input. Up until a few months ago, when I moved to Northridge, my only television source was an antenna. I had my Tivo hooked up to my TV, and had my DVD player plugged into my Tivo. My Tivo was configured to think that my DVD player was a satellite receiver.

There were a couple nice things about this setup. I could start a movie on the DVD player, and then use the Tivo remote to control it, allowing me to use the instant replay feature, for example. I could also record DVDs to the Tivo by setting up a manual recording. There are a number of downsides to such a setup, though. I couldn't watch DVDs while the Tivo was recording something. Also, a number of Tivo features didn't work correctly. Tivo stopped recording recommendations after I setup the satellite receiver (DVD player) and some of the search features stopped working. I think it would only search the satellite channel list, even though I had setup My Channels to only include a single channel from the satellite input, 100 - Pay-per-view Previews, that I used to watch DVDs on. I also couldn't take advantage of multi-channel digital audio on DVDs, though that didn't matter with my RF-only TV.

Movin' on Up

I decided to buy a stereo a few weeks ago. I've never owned a real stereo. I've had a sub-$200 bookshelf stereo for about 10 years and the CD player no longer liked playing the first three tracks of most CDs. I was thinking about getting one of those home-theater-in-a-box systems because I figured it would be good for listening to music as well as watching movies. Music is much more important to me than movie sounds effects, though, so I wanted to make sure that music would sound good on the system.

On a Sunday afternoon, I went down to Best Buy with two CDs, Idlewild's The Remote Part and Tom McRae's self-titled. First thing I learned, music sounds like crap on those little speakers that come with those home-theater-in-a-box systems. Ideally, the store would allow customers to hook up any receiver to any CD or DVD player and to any speakers. It didn't seem to work like that at Best Buy, though. So I picked up a Sony Receiver, STR-DE897, assuming it would probably sound good and that I could always return it if I had any problems. Next, I had to decide on speakers. They have a bunch of speakers hooked up to receivers and CD players that have about 6 music tracks you can choose from. After listening to the same tracks over and over, I decided on a pair of Sony floor speakers that sounded good and weren't too expensive. I found a sales guy and told him which speakers I wanted, and he said they didn't have any. Here's a recommendation for brick-and-morter retailers: If you don't have somethingn to sell, take it off the shelf. If I wanted to order something and wait a few days before taking it home, I would've bought it online from the cheapest store.

I bought the receiver since it was a pretty good deal. There was a 10% and it was an open box, so the price was about $270. Next, I went to Circuit City to check out their speakers. (I also went to Good Guys, but quickly left after checking the prices. This is my first real stereo; I'm not fanatical yet.) I spent a long time listening to different speakers and decided on a pair of Polk Audio floor speakers. It should be noted that Circuit City has a much better selection of songs in their test systems. I listened to Snow Patrol and Franz Ferdinand song a number of times. There weren't any sales people working in the audio section, so the car audio guy (he apparently doesn't know anything about audio equipment that can't easily be mounted in an automobile) wrote down the item number and told me to take it to the register. Not having learned my lesson, I was frustrated, though not terribly surprised, to learn that Circuit City only had a single speaker of the model I wanted in stock. So I went home with just a receiver.

I hooked up the receiver to my Tivo and little bookshelf speakers, and ordered the speakers I wanted from circuitcity.com. After doing lots of research trying to determine if there's any possible way for copper wires that come in fancy packaging to sound better, I went to Home Depot to buy some 16-gauge wire.

After getting the new speakers setup, I decided to get the DVD player hooked up directly to the receiver so I could watch DVDs while the Tivo is recording and see how the digital audio compared to running audio over RCA cables through the Tivo. Back at Best Buy, I bought an RF modulator and a digital coax cable. Next lesson, "digital coax" cables are the same as normal RCA coax cables, so that $12 cable is going back to Best Buy, replaced by one from the 99 cents store.

Death of a Tivo

After getting everything hooked up, and powering everything back up, I found that the Tivo had died. Black screen, green light. That's it.

Pressing the Tivo button on the remote made the green light flicker, but couldn't wake the box from it's sleep. I tried hooking everything up how it had been previously thinking that maybe the Tivo got confused when the inputs had changed, but no luck.

My Tivo is just over two years old, long out of warranty. I have paid for the lifetime service, so I definitely wanted to get it repaired, and not have to buy a new Tivo. I opened up the Tivo and found that the hard drive was spinning up, but it didn't sound like it was seeking at all. I pulled the hard drive out, stuck it in my computer, and was able to make a backup using MFS Tools. I emailed the guys at weaKnees, who sell Tivo upgrade an repair parts, and asked if I could bring it. They said it sounded like a bad power supply and that they didn't have any replacements.

I called Tivo to see how I could go about getting it repaired. I hoped that they had local authorized repair shops that I could drop it off at and, hopefully, have it back within a few days. Tivo has an obnoxious voice response system. Automated telephone systems that make you press a myriad of buttons are bad enough, but those that make you speak to them, which I'm sure the manufacturer claims is more satisfying to customers, annoy the hell out of me. After finally navigating the system to the place where I tell the system I wanted to speak to a human, I was told there was a 20 minute wait.

The tech support guy, of course, made me go through the motions of unplugging and replugging the Tivo, pressing the Tivo button on the remote, and even made me replace the coax cable between the Tivo and the TV, not convinced that the cable was OK despite the fact that the television worked fine with the Tivo unplugged and the signal passing through it.

Eventually, we got to the point where he told me I could them my Tivo and $79 and get a replacement. I suppose this is a pretty good deal for a device that's out of warranty. Seventy-nine dollars is also the amount that Best Buy charges for their four-year insurance policy (not an insurance policy in Kansas) on a Tivo. I've never worked in the insurance industry, but it sounds like Best Buy, or the insurance underwriter, would make a good profit off such policies.

FedEx Kinko's shipped my Tivo to Louisville, KY for $10.05. The best thing about the presendential debates is that I can watch them commercial-free without a Tivo.

culture | Comments | Permanent Link

Sat, 02 Oct 2004

Overcoming Procrastination

Steve Pavlina, the founder of Dexterity Software, has written an excellent article on overcoming procrastination. If you don't have time to read it right now, here are the major points to avoid procrastinating on a given task.

  1. Realize that you don't have to do it.
  2. Start on a small subtask.
  3. It doesn't have to be perfect.
  4. Do things you enjoy first.
[via Business Opportunities Weblog]

business | Comments | Permanent Link

Free iPod Shuffle from ex24

Thanks to MyMoneyBlog, I will soon be the owner of an iPod Shuffle courtesy of ex24. ex24 operates order books for a handful of securities that allow it's customers to trade odd lots (less than 100 shares) amongst themselves. Basically, they are both an ECN, like Island (now INET) or Archipelago, and a broker/dealer. The description of how quoting works on their order books makes for somewhat interesting reading.

At times when the CQS is not operating, ex24 raises its offer quote by one cent each time members collectively buy from ex24 for a net 99 shares in that after-hours session and lower its bid quote each time members collectively sell to ex24 for a net 99 shares in the after-hours session. If ex24 raises (lowers) its offer (bid) quote due to after-hours purchases (sales), it increases (lowers) its bid (offer) quote by the same amount to maintain the same spread width. After ex24 has raised (lowered) its offer (bid) quote by five cents it either keeps its quote at that price or deletes its offer (bid) quote, depending on market conditions.

The decision whether to freeze the quote or delete it is effected pursuant to an algorithm that operates automatically. This trading parameter is intended to provide ex24 a degree of protection from the risk associated with posting quotes during times when CQS is not operating. Additionally, ex24 reserves the right to withdraw its quotes at any time during the after-hours session, which it might do in response to significant news affecting the price of a security traded on ex24 at times when CQS is not operating.

Finally, ex24 may program its algorithm to refrain from posting its offer (bid) quote if customer orders to sell (buy) at or near the CQS offer quote reside on the ATS. ex24 is in the process of determining the amount of customer orders that might cause it to refrain from posting a quote. Regardless of the metric chosen by ex24, the algorithm which determines whether or not to disseminate a quote operates automatically.

If you open an account, fund it with $500, and make at least one trade, they'll send you a free iPod Shuffle. Apparently, it's possible to use the Shuffle with Linux so I'm a happy camper.

business | Comments | Permanent Link

Fri, 01 Oct 2004

Clusty Asks "Which Hat?"

Clusty, the newest next Google, asks you which hat you're wearing after you do a search by grouping related results into clusters. So you can search for eclipse, and it will give you the option of seeing results related to lunar eclipses or software.

Under Customize!, they have a blogs channel, and even a slashdot channel.

tech | Comments | Permanent Link

Correct Use of FROM Clauses

There's an interesting article by Stéphane Faroult on ONLamp about when to use subselects rather than JOINs in SQL queries. He says that only tables from which you are returning columns or those tables necessary to join such tables should appear in the FROM clause. All other tables used to limit the rows returned should appear in subselects in the WHERE clause. He rewrites


select distinct a.CUSTOMER_ID, a.CUSTOMER_NAME
from CUSTOMERS a,
     ORDERS    b
where a.ZIP_CODE in ...
  and b.ORDERED_DATE >= ...
  and b.CUSTOMER_ID = a.CUSTOMER_ID
order by a.CUSTOMER_NAME

as


select a.CUSTOMER_ID, a.CUSTOMER_NAME
from CUSTOMERS a
where a.ZIP_CODE in ...
  and a.CUSTOMER_ID in (select b.CUSTOMER_ID
                        from ORDERS b
                        where b.ORDERED_DATE >= ...)
order by a.CUSTOMER_NAME

He also gives another way to rewrite the query as an uncorrelated subquery. (Read the article for an explanation of the difference between correlated and uncorrelated queries.)

Having done almost exclusively MySQL development, I have yet to ever use subselects, but I'll definitely keep Faroult's article in mind for when I do.

tech | Comments | Permanent Link

The state is that great fiction by which everyone tries to live at the expense of everyone else. - Frederic Bastiat