Tag Archives: web host

Dreamhost – The place to be in 2008!

Well, as some of you may know, Dreamhost had a $7.5 million billing error on January 15, 2008. Basically, they billed all of their customers up until December 31, 2008 accidentally. There also seemsThere’s been a pretty huge backlash on their dreamhoststatus.com site as well as on their apology posted on the Dreamhost Blog.

On top of that, a quick skim of Technorati shows that Dreamhost is one of the top search items right now.

It seems that there are a huge number of Dreamhost customers who are going to be leaving Dreamhost and finding other places to host their sites. I for one won’t be leaving Dreamhost. I’ve been through a number of big outages and other screw ups with them in the last 8 years. Do I expect any other low cost (aka CHEAP) web host to provide any better service? No, I really don’t. Basically, I get what I pay for. I’m not running a business, I’m running a hobby site where I can spew crap and play around with stuff. If I were running a business I’d be getting hosting from a place that took things seriously. Odds are I’d also be looking at a monthly cost 3-5 times more than what I’m paying Dreamhost and I’d be getting far fewer services for that price.

The other reason I’m staying is that now I should be able to get lots of help! With all of these people supposedly leaving, there should be fewer problems with the shared servers and everything should run lickety-split. :) Yeah, I know, that’s probably not what’s going to happen.A large number of people who said they were going to leave are going to realize that it’s too much of a pain in the ass and this billing error really isn’t the end of the world. They’ll be too cheap to pay for “real” hosting. Then, there will be another bunch of people who will realize that the grass is not greener on the other side – it’s just a similar shade of shit brown.

So I’m saying that Dreamhost is the place to be in 2008. Hopefully this screw up will prompt them to make sure that their systems are a little more robust. What’s worse than one major billing issue? Two for the same reason. ;)

The Dreamhost $7.5 million Oops

This morning I was checking my email and noticed a billing email from Dreamhost (my web host) and I thought it was sort of weird. Turns out they had a slight snafu with their billing software and they basically billed their entire user base for the entire year of 2008.

They have since started reversing all of the charges for their users and posted the following on the Dreamhost Blog detailing what happened:

DreamHost Blog » Um, Whoops.

Now, I’m a little annoyed by this but not so much as to drop everything and leave. Dreamhost has had it’s ups and downs but for the most part it provides a good service for a fantastic price. What I’m more interested in is the reason they’ve given for the billing error in the first place. Now, I’m interested because I write software for embedded systems for a living and we have to be very conscious of the code we write as it’s very difficult (and super expensive) to fix issues once the product has gone to the customer.

Basically, their billing system was written in such a way as to allow future dates to be run through the system. Why? Someone decided (or more specifically, failed to decide) that the system should be able to bill for any date, past, present or future:

Well guess what… NO! We will NEVER want to rebill as though today were a day that hasn’t happened yet! But instead, somebody along the line (Sage? Me? Somebody else?) figured, “What’s the harm in keeping it flexible?”

Flexible? This is not a flexible design, it is a massive failure waiting to happen. Now, given the fact that Dreamhost can potentially bill for any date in the future, they are damn lucky on this one as it may have been as easy to have another typo – December 31, 2070. Could you imagine how much money Dreamhost would have been attempting to pull out of their customers? If they had a $7.5 million billing error for an 11.5 month goof, what would a >60 year billing error look like? How about around $465 million? For me personally, I could have been dinged with a credit card charge of over $7000 if that had happened. I’m not sure Dreamhost would survive the backlash (and likely lawsuits) of a billing error of that size.

So, from the coding point of view, what can we learn from this? Well, one thing is bounds checking. You always need to ensure that the data you’re about to process is “reasonable”. What’s reasonable? Well, for a billing system, I’d say 30 days in the future is a reasonable maximum. (Ideally, 0 days in the future is what it should be but maybe you want to allow it to happen in some specific situations.)

What about ensuring that your system has some sort of safety checks to validate the user input:

You’ve specified December 31, 2008 which is a future date, are you sure you wish to continue with this operation?

Super simple even if it’s annoying to see. Heck, I’d guess that 99.999% of the time the operator would not see such a warning at all even if it did exist.