So Lazy

I alarmed myself yesterday with the idea that 5.8 km (three and a half miles) was a long way to walk for a beer.  The TTC was on strike, and a friend of mine was having a birthday party at a pub 5.8 km south of where we live.  I decided to hoof it, and it took just over an hour to walk.  Today I rode my bike for perhaps another 5 km or so, and found I was tired afterwards.  I’m a big fan of everything ethereal and physical being connected easily, but it’s clear I need to do some things less efficiently for the secondary benefits.

Someone please remind me that if I ever make a billion dollars, I should spend my life planting trees or doing something otherwise energetic and satisfying.

I can’t escape

I just read my last post from a while ago and it occurred to me that I’ve unfortunately been trained in the Microsoft/Windows way of doing things, and it doesn’t wear off easily.

Last week I needed to copy a hard drive image from one Windows XP laptop to several. The last time I did this was many years ago and we used Norton Ghost. After a quick Googling, I found a free (as in beer and freedom) and straightforward piece of software called SelfImage which seemed to fit the need. It’s main feature was that it can take an image of the hard drive while Windows is running. I imaged the drive to the network share without too much fuss. Loading the image to the other laptops required an operating system that didn’t run from the hard drive, so I found the SelfImage plugin for BartPE and burnt a bootable DVD, but had some difficulty in reloading the image because the network drivers didn’t want to work, and even when I burnt the image right to the BartPE boot DVD, it still wasn’t going, possibly because there was a tiny physical error in the 4GB burn process or maybe because the image itself was corrupt. Either way, it occurred to me that I was messing around with the bass ackwards way because I’ve been Microsofted for a large portion of my work. Something like a binary copy of a disk shouldn’t require a whole GUI piece of software and custom-built OS environment, or more than about two commands.

The Linux way barely required a few steps and was infinitely less painful. Plus it actually worked. Step 1: Boot Ubuntu Live CD, image the drive with dd if=/dev/sda | gzip –fast > sda.img.gz.  Step 2: Boot Ubuntu Live CD on second laptop, restore image with zcat -dc sda.img.gz | dd of=/dev/sda.  To be fair, since I was in the Live CD, I did need to add the Universe repository, apt-get install sshfs and mount a network share, but only because that’s the way I find easiest.  It would have been just as good to use something like FTP or Samba to get the network share image.

Joel Splosky wrote a really good piece on the Microsofted way to tangle UI with functionality, if you’re interested.

Microsofted Users Are Trained To Be Bad

Today I was sending a colleague a rather large file over IM.  We work in a mixed Linux & Windows environment, and since we both happened to be on our Linux boxen at the time, we were both using Pidgin.  After a while, my colleague messaged me “Oh no, I think I’ve killed the transfer…I closed the window”.  Not so I explained, and showed him that the transfer was still running in the background, and that the window could be reopened.

After several years of using Windows, and in this case MSN Messenger (which is now Windows Live Messenger), we were trained to expect the world to end when we close the chat window with the transfer.  A much nicer Pidgin allows us to uncouple the two functions and not have to deal with the extra windows.  Unfortunately, this reminded me that we’ve all been pretty much trained to use PCs as Microsoft has taught us.

Training training people in bad user interface is going to blow up in everyone’s face.  This really concerns me with Vista, which now dims the screen to let apps ask a user’s permission to do ANYTHING useful (aside: I’m not claiming this as an original idea, I’m sure I’ve read other rants about this).  Windows now prompts for functions that older applications have been able to do, and humans who are used to working with them will now be trained to click “Yes” automatically to make things work.  Want to install this new app?  Click Yes.  Want to allow this connection through your firewall?  Click Yes.  Want to install this pretty screen saver with spyware?  Click Yes.  Want to participate in a DDoS attack?  Click Yes.  Want instant gratification without thinking?  Click Yes.

Hosting Sucks.

I can’t figure out why web hosting companies have so much trouble designing a usable, responsive service. Today, I had the displeasure of learning that Netfirms takes 24 hours to make A Record changes in their nameservers go live. Not to propagate the Internet, just before they get around to making the change in their servers.

I also came across a blog that had been heavily dugg, only to realize that Dreamhost had gone into the user’s folder and renamed the index.php to index.php.DISABLED_BY_DREAMHOST, presumably because they wanted to disable it for being popular. This makes MediaTemple’s sluggish database performance and occasional downtime look great by comparison- at least they’ve designed a good hosting architecture in theory.

Disabled By Dreamhost

Google Checkout Is All About Cost-Per-Action

When Google launched a payment system, Google Checkout, all the rumours that circulated were about Google killing PayPal. After the launch, it became clear that it’s just another payment processing solution instead of a “bank”, and since eBay won’t let Google in to pay for online auctions, PayPal’s core group of users is fairly safe.

I recently checked out Turn, a Cost-Per-Action advertiser that’s “still in beta” (it seems that everybody’s “still in beta” until they get acquired). They rely on a small piece of javascript placed in the “Thank you for your purchase” page. I diligently added the code and tested it on the Turn (before they let you advertise, they require you to “hit” the code at least once to make sure it’s working). There’s an enormous problem for them here: what happens if you disable the code after testing it? They’ll continue to send you plenty of sales, but never get credit for them. Even if they eventually start testing to see if the code is present, what’s stopping an advertiser from only displaying the code every 5th sale? It will look to Turn like the campaign isn’t performing very well, and the seller will beat the system. It’s a bit of a moot point so far, because in the last month my ad has had only 13 impressions and zero clicks.

Enter Google Checkout. This is the last piece of the puzzle for trackable Cost-Per-Action or Cost-Per-Sale advertising. Google doesn’t need you to add javascript code to your pages if you’re already integrated into their checkout system. They get real metrics on how many people are buying, and could even take their advertising cut directly from the merchant payment of each sale. Needless to say, I’m looking forward to Google Checkout in Canada.

Google and Game Theory in the FCC spectrum auction

I read today that Google might be interested in bidding in the 2009 FCC spectrum auction, adding to the company’s wealth of fiber optic capacity to become a full service content provider and ISP. Vertical integration is one thing (I would probably trust Google to deliver better service than Rogers or Bell with fewer strings attached), but this looks like a defensive play to me.

The issue of net neutrality hasn’t gone away for Google. I think there’s a very good chance they’ll lose, if only because existing big media have very established lobbying ties to the US Government. Google would be a huge threat to large ISPs that manage customer connections if they bought spectrum and launched broadband services: “Not only will we plow right past any attempt to squeeze revenue out of us by charging us for showing YouTube, we’ll eviscerate a profitable part of your business”.

Amazon S3 future-proofs their pricing model

I got an email this morning from Amazon S3, informing me of a pricing change to their Simple Storage Solution.


Dear Amazon S3 Developers,

This is a note to inform you about some changes we’re making to our pricing, effective June 1, 2007.

With Amazon S3 recently celebrating its one year birthday, we took an in-depth look at how developers were using the service, and explored whether there were opportunities to further lower costs for our customers. The primary area our customers had asked us to investigate was whether we could charge less for bandwidth.

There are two primary costs associated with uploading and downloading files: the cost of the bandwidth itself, and the fixed cost of processing a request. Consistent with our cost-following pricing philosophy, we determined that the best solution for our customers, overall, is to equitably charge for the resources being used – and therefore disaggregate request costs from bandwidth costs.

Making this change will allow us to offer lower bandwidth rates for all of our customers. In addition, we’re implementing volume pricing for bandwidth, so that as our customers’ businesses grow and help us achieve further economies of scale, they benefit by receiving even lower bandwidth rates. Finally, this means that we will be introducing a small request-based charge for each time a request is made to the service. Below are the details of the new pricing plan (also available on the Amazon S3 detail page):

Current bandwidth price (through May 31, 2007)
$0.20 / GB – uploaded
$0.20 / GB – downloaded

New bandwidth price (effective June 1, 2007)
$0.10 per GB – all data uploaded

$0.18 per GB – first 10 TB / month data downloaded
$0.16 per GB – next 40 TB / month data downloaded
$0.13 per GB – data downloaded / month over 50 TB
Data transferred between Amazon S3 and Amazon EC2 will remain free of charge

New request-based price (effective June 1, 2007)
$0.01 per 1,000 PUT or LIST requests
$0.01 per 10,000 GET and all other requests*
* No charge for delete requests

Storage will continue to be charged at $0.15 / GB-month used.

The end result is an overall price reduction for the vast majority of our customers. If this new pricing had been applied to customers’ March 2007 usage, 75% of Amazon S3 customers would have seen their bill decrease, while an additional 11% would have seen an increase of less than 10%. Only 14% of customers would have experienced an increase of greater than 10%.

We don’t anticipate making further structural changes to Amazon S3 pricing in the future, but we will continue to look for ways to drive down costs and pass the savings on to you.

Sincerely,
The Amazon Web Services Team

P.S. Please note that the reduced bandwidth rates shown above will also take effect for Amazon EC2 and Amazon SQS. The bandwidth tier in which you will be charged each month will be calculated based on your use of each of these services separately, and could therefore vary across services.


This strikes me as superbly forward thinking. First of all, large services that use S3 have got to be negotiating great discounts on the transfer bandwidth, so this standardizes some of those negotiations. Secondly, Amazon realized that the service that is supposed to provide storage uncoupled from compute still has some great ways to use the platform in other ways. I’ve been looking forward to Mark Atwood’s launch of the MySQL storage engine for S3, which was recently released. Even though Amazon doesn’t offer “temporal guarantees” (there could be a difference between the time you write data and when it’s available for reading, for example), there are some interesting ways to exploit the metadata and naming conventions for S3 as database indexes. Imagine a database with one billion 10 byte objects. It would work out to roughly 10 gigabytes of storage, or $1.50 a month to store on S3. Now imagine the cost in terms of hardware resources to be able to shuffle and index those objects: much more than the cost of storing them.Along those lines, we have yet to see a company provide massively scalable databases with no overhead, similar to S3 or EC2. There’s a lot more complexity there.

Media Temple shoots themselves in the foot with MySQL containers on their Gridserver

I’ve been quite frustrated with the downtime on Media Temple’s Gridserver product. When I first came to Media Temple, I was really impressed by the idea of hosting where I could put up a website and have it scale up, with no intervention on my part, if it became suddenly popular. Nobody else was doing this at a $20/month price point. I understand that there are going to be some growing pains with any hot new service, and my approach was to grin and bear it.Apart from glitches, Media Temple has had particular trouble with some database intensive sites. They explain that these are the customers who are thrown off other services, into Media Temple’s loving arms, for being too resource hungry in the database department. The bottleneck for dynamic content websites is always the database, and scaling it up isn’t easy. The technology to balance traffic between servers that send out webpages is well established, but balancing the database servers, which feed the content into each webpage, is much harder if you don’t have an IT budget supporting multiple servers. This was the big reason Media Temple’s Gridserver was so attractive in the first place: dynamic sites can scale from zero to infinity for $20 with no trouble.

I respect the company’s “we won’t leave anybody out to dry” approach, and particularly their willingness to redesign a major feature of their Gridserver to accommodate these customers. With that philosophy, the solution to 1% of their clients using 90% of the grid is to give people MySQL database containers, with dedicated resources so they can’t have any impact on anyone else. On the surface this looks great, because you can set up the configuration that’s best for your website in your own private little box. But what happens when you suddenly get a Diggstorm arriving at your website? You’ve now got dedicated, finite resources on your database server, and it will crash. Media Temple says they’ll offer several packages so that you can upgrade your MySQL container instantly from your account control panel. Having to manually adjust your MySQL container completely defeats the purpose of putting your site on the Gridserver in the first place: instant scalability without worry in case of a traffic spike. We’ve had virtual private servers with dedicated resources for years, even some which are instantly upgradeable from a control panel. Unfortunately, this development eviscerates the value of Media Temple’s Gridserver.