eMusic Customer Service FAIL

A quick chat transcript of a live chat session I had with an eMusic customer service representative. FAIL.

Harold- eMusic Support
Hello, Thank you for contacting eMusic. I’ll be assisting you today.

11:02:25 AM Unknown Customer
Hello. So, here’s the thing. I tried eMusic before with a free trial and never downloaded a single track. That was a few years ago when there was hardly anything I wanted to listen to. I was wondering if I could get the bonus 45 free tracks upon signing up since I never _really_ used the service before.

11:02:46 AM Harold- eMusic Support
sorry 1 trial per customer

11:04:20 AM Unknown Customer
I’ll take my business elsewhere, thanks.

11:05:01 AM Harold- eMusic Support
I’m glad we were able to assist you today. We’ll send you a copy of this chat session in case you need to review what we did.

Thank you for contacting eMusic!

1 Comment


iPhone 3G ICS Compatibility and Ringer Volume

I just wrote feedback to Apple about the iPhone 3G, so I thought I’d post it here.

I just purchased an iPhone 3G two days ago and I have a couple of issues already.

First, where is the ICS file compatibility? If I’m going to sync my calendars using your MobileMe service, I should be able to manage my calendar and accept/decline invitations through the Mail application on my iPhone.

Second, there is no option to adjust the volume of SMS messages, voicemail alerts, and others separately from the volume of the ringer. I’d like a quiet “ding” when I get an SMS, but I want my ringtone to be loud enough to hear at the same time. If I turn the ringer volume up, the SMS alert sound is really loud and distracting in my office.

Tags: , ,

No Comments


PHPUnit: Mocking Objects Fun

I was having some trouble mocking objects for unit testing in PHPUnit. I found that making the mocked object meant calling the real object’s constructor. I’m not sure why you’d want this, because I think that defeats the purpose of mocking an object. You shouldn’t care what the real thing does, because you’re just removing dependencies.

If you are mocking an object, such as in the following example, it may fail just fail.

$mocked_obj = $this->getMock(’SomeRealClassName’, array(’someRealFunctionName’));

In this case, I got a nasty error:

Argument 1 passed to Mock_SomeRealClassName_602df62f::__construct() must be
an instance of SomeRealParentClass, none given

Blah blah blah, right? Give me my damn mocked object! I don’t care what the real thing wants!

From PHPUnit’s TestCase API documentation:

object getMock($className, [array $methods,
[array $arguments, [string $mockClassName,
[boolean $callOriginalConstructor, [boolean $callOriginalClone,
[boolean $callAutoload]]]]]])

See those optional booleans? Set them to false if you don’t want/need the original __construct(), __clone(), or __autoload() functions called.

$mocked_obj = $this->getMock(’SomeRealClassName’,
array(’someRealFunctionName’), array(), ”, false, false, false);

Voila! No more bitching when just trying to send through a I-don’t-care-what-this-thing-really-does object.

Tags: , ,

No Comments



SetPageWidth