MochaHost: Subpar service and support

In exploring alternatives for low-cost hosting providers, I did some research and decided to give MochaHost a shot. They seemed to offer reasonably-priced plans with a solid set of features and a 30-day money backguarantee — can’t go wrong there.

After getting the confirmation e-mail that my account was set up, I went in, created a subdomain, and tried configuring it for ASP.Net — when I got an error from the control panel. OK, maybe the hosting account wasn’t fully configured yet. It was a Friday, and I decided to wait until the next week.

A few days later (this past Tuesday), I go back in to see if I can configure an ASP.Net directory — still no luck, same error. I submit a ticket to their support staff, and was told that problem would be fixed (this was on 10/28 at 10AM).

I went in to the control panel again today, tried to configure ASP.Net, and got the same error. Instead of going back to support, I went to the billing department and requested my account be canceled and that a full refund be issued.

Here’s the email I sent to them.

I would like to cancel my account. I am in the 30-day money back guarantee window, so I am requesting a full refund credited to my charge card.

Why am I canceling? Since signing up, I have yet to be able to create an ASP.Net application just to test your service. The problem was there on my account on day 1. On Tuesday Oct 28 I was told the problem was to be fixed; two days later it still isn’t. If this is the service you give you new customers, then you don’t want me as a customer.

Please cancel my account and issue a full refund. Thank you.

Poor service (just didn’t work out of the box) and poor support (they didn’t fix it in a timely manner). What a way to retain new customers!

New CheckBoxList and RadioButtonList control adapters

I recently implemented a new control adapter for the CheckBoxList control, with lots of available functionality, as the first component in the (relatively new) ASP.Net Control Adapters open source project. It’s not complete, but it is definitiely functional.

Since the RadioButtonList control is very similar, I decided to implement it. After five minutes (mostly spent copy/pasting and renaming CheckBox to RadioButton), I had a RadioButtonList control adapter that had the same functionality as the existing CheckBoxList control adapter. Very cool!

Part of the testing process is to examine the HTML rendered by the default controls, comparing it to the adapted controls, to make sure whatever is implemented is done properly. In that process, I found one odd behavior related to the AccessKey property.

With the CheckBoxList control, the AccessKey property is applied to each input type=checkbox. With the RadioButtonList, the AccessKey property is applied to each input type=radio when the RepeatLayout is set to Flow. However, set the RepeatLayout to Table, and the AccessKey property is applied to the table that wraps around the controls. I doubt this is by design; if it was, the behavior would likely be the same in the CheckBoxList, which it isn’t.

Anyway, the CheckBoxList and RadioButtonList control adapters are there for your testing and review. Please check them out and let me know what you think!

Announcing the ASP.Net Control Adapters, a new open source project

Over the past few weeks, I started doing some experimentation with a different approach to changing the rendering of default ASP.Net controls. For a few years, I (and many others) have used the CSSFriendly project for this. That project does some nice things, but has many shortcomings.

I hemmed and hawed about this a bit (see Rewriting the ASP.Net CSS Friendly Adapters – does anyone care?), but in the end some fundamental interest — and the underlying popularity of the CSSFriendly project (consistently in the top-20 downloads on CodePlex) made me decide to go ahead with it.

So, I am proud to announce a new open source project: the ASP.Net Control Adapters! Continue reading

Why I won’t support Mike McMahon for Congress

I just received the following in an email from the campaign of Michael McMahon for Congress:

Dear Friends:

I write to ask for your support in my campaign for the U.S. House of Representatives for New York’s 13th Congressional District, which includes all of Staten Island and a portion of Brooklyn. I graduated from Farrell in 1975, and with your support we can make sure that this Congressional seat stays a Lion seat in 2008!

Mike McMahon and I went to the same high school (he graduated 13 years before me). Yes, I’ve seen his name emblazoned on signs throughout my neighborhood and others in this election season. Not knowing much else about him, I decided to go to his web site,, to find out.

A lot of it was political fluff, and nothing shook me good or bad, until I got to the Michael on Social Security page, which says:

Since its creation in 1935, Social Security has been the single most successful domestic program that our government has ever run…

Replacing our current Social Security system with privatized investment accounts is simply unacceptable, and I strongly oppose it.

That’s all it took to convince me not to support Mike McMahon. Why? Well, I wrote him a letter about it, and I share it with you below.

Continue reading

Sometimes, search results bring unexpected surprises

While working on a project today, I needed to incorporate an animated AJAX spinner image. I knew there was a web site that had lots of them, but I couldn’t remember the domain name, so I did what most people do: I turned to Google.

Here’s a screenshot of Google’s search results for the terms ajax load image.

Granted, the first item in the search resultswas the site I was looking for, What I didn’t expect to see is a woman in a bikini coming up in the image search results. The image comes from a blog post tutorial, How to Make a Brazilian Bikini Photo Gallery With Drupal and AJAX.

OK, maybe Google’s results weren’t too far off, but they certainly were surprising!