23rd May 2008

DIY Laptop Solid State Drive

The hard drive in my Dell laptop started acting poorly so I’m trying to replace it with a solid state drive. Being too cheap to go spend $600 on an “off the shelf” SSD I’m trying to make one using a CF->SATA adapter and a 32GB CF card. Total cost $160.

The only catch is it doesn’t work so far. The Vista install dies part way through “uncompressing files”. Same with XP. At this point I’m wondering if the problem is my CF card (RiDATA 32GB 233X) or the adapter?

Any thoughts? Anyone get this working? There is a really cool looking adapter that lets you use 3 CF cards, but its $180 and its only from geekstuff4u where the shipping to the US is another $45. I can’t find that part from any US place.

posted in Technology, Hardware, Storage | 1 Comment

22nd May 2008

Cool DeepRockDrive Intro

A couple of weeks back Bertrand Paré, DeepRockDrive’s interactive director did this cool intro video that we run at the beginning of shows explaining how things work. We put together a version that folks can preview online and I think its pretty cool-

posted in Technology | 0 Comments

22nd May 2008

Facebook Stats Weirdness

Facebook has some really nice developer pages that let you track the stats of your application. They show you total users, active users each day, daily adds, removes, blocks, and more.

The only catch is that the stats appear to be wrong half the time which limits their usefulness quite a bit. At DeepRockDrive our “daily active users” is frequently LOWER than our daily application adds.

Even worse the total user count which should be a pretty easy statistic swings wildly all over the place. On Tuesday it said we had about 15,000 users. On Wednesday morning it was reporting over 20,000 users, but only about 1,000 new ones??? And today its down to 12,000. From some other stats I suspect the 15,000 number is the closest to reality, but it does undercut my confidence in the overall stats.

posted in Technology, Facebook | 0 Comments

21st May 2008

DeepRockDrive Videos

Stuff at DeepRockDrive has been pretty exciting lately- bigger and bigger shows, some VC visits, scaling up the new site, and all that. But today we just came across something that was pretty amazing.

We have had people post videos of our shows for quite a while. All in all there are 30+ videos of the Sunday Marie Digby show but today we found a few videos on YouTube of people watching the shows. NOT the show itself, but fans enjoying the shows, clapping, waving hands in front of the screen…

http://youtube.com/watch?v=mSEa_1w9Wh8

http://youtube.com/watch?v=esIRYCvfok0

Whoa…

posted in Technology | 0 Comments

12th May 2008

Twitter, Ruby on Rails and Scalability

Blaine Cook, the former CTO of Twitter writes about scalability. Twitter has often been pointed to as an example of the kind of problems that a Ruby on Rails application will often encounter when trying to really scale big. He points out that languages don’t scale, architectures do.

Which is right. The problem isn’t Ruby. Its Ruby on Rails. Ruby is just a language. Ruby on Rails is an architecture that makes database interactions sometimes _too_ automatic. Unfortunately Blaine’s post seems to miss this distinction.

Its possible to build scalable applications with Ruby on Rails, but for all that Rails advocates making writing web apps the right way “on rails”, it leads you down some poor paths with respect to scalability. I know some great developers who understand enough about how the inner stuff works that I’m sure they can make scalable Rails applications, but I’ve also seen most that aren’t.

posted in Technology, Developers, Software | 0 Comments

9th May 2008

Facebook Connect

Facebook just announced Facebook Connect which lets you use Facebook to authenticate on your own site. Except that, uh, its already possible to do that with the existing Facebook APIs, although other than our implementation at DeepRockDrive I haven’t seen many other sites do this. I suppose the Connect stuff makes the approach a bit more smooth and supports it more officially, but its all there already.

For us supporting Facebook authentication was a no-brainer. We care about getting a ton of people to our site to see our cool interactive shows. If we can skip a whole registration process and all that mess and have them just click the Facebook icon, and it works, perfect.

posted in Technology, Developers, Facebook, Software | 0 Comments

6th May 2008

Visual Studio 2008 Crashes

I’ve been having a ton of issues with Visual Studio 2008 since it came out. I mostly use it as a text editor at the moment for editing my PHP files. I know this is a bit of a wacky scenario, but you can open a web project, get a good view of your directories, and I’m very used to all its shortcuts, etc (I feel lost in Eclipse, other editors).

One of my favorite VS features has been the fairly powerful “find in files” command. I’m sure Eclipse has something equivalent, but I haven’t found it yet. Unfortunately this has been routinely crashing in VS 2008, to the point where I have a copy of VS 2005 open just to search in my project. Then today Visual Studio 2008 crashes just opening one of the PHP files in my project.

I’ve seen a bunch of reports of similar things on the net, although most seem to be issues with 64-bit systems. Searching around a bit I found Scott had posted a link to a hot-fix patch roll-up. The good news is that it looks like it fixed my “find in files” problem, but it doesn’t seem to have fixed the problem opening that one file. I’ll post more as I figure it out later.

Update- After editing that problem file in VS 2005, the crash went away in VS 2008- so far the patch is a big success. Also, Scott Guthrie continues to score points in the “most responsive and helpful Microsoft person ever” category by jumping on my post with an offer to help. Given his 5-gold stars (I’ve been playing too much Rockband) and 1million+ score in that contest, I’m sure no one can catch him anyway.

posted in Technology, Developers, Software | 1 Comment

2nd May 2008

Microsoft Mesh Second Impressions

I mentioned last week that I was going to have a hard time playing with Mesh because it won’t run with UAC disabled. First of all, Microsoft did post an explanation of why the current version requires UAC. I understand the explanation, but it is one of the typical cases where teams have to build on this internal technology and that one and this other one, none of which are ready for prime-time and all of which aren’t necessarily focused on actually providing user value…

In any case, I did install it on two XP machines. I’m about to shut it off. I noticed one of them was running a bit slow lately and checked the task manager. Mesh is using 490MB of memory, and has consumed 9 hours of CPU over the past couple of days. And in case it wasn’t clear, I haven’t really been asking it to DO anything…

I’m also mildly annoyed that the process is named “Moe.exe” so it took a small amount of digging to figure out what it was that was consuming all my system resources. They also have a second process called MoeMonitor.exe that somehow has consumed over 1.25hours CPU and 33mb RAM. It appears to be responsible for the task-bar icon.

posted in Technology, Microsoft, Software | 2 Comments

2nd May 2008

Memcache Append

The Memcache protocol specification defines a command “Append” that looks very useful. You can use it to add data to an existing key without having to do a read/write (and deal with race-conditions that can introduce).

The only catch is that the standard PHP Memcache client implementation I’m using doesn’t seem to support it. So I think I’m out of luck until someone adds it to the standard PHP memcache client library I use.

Of course this is all open source so I’m probably just supposed to grab the PHP sources and add it myself, right? Wow does that sound like a lot of effort…

Update- I discovered that version 3.0 of the Memcache PHP client library supports append. They are on 3.0.1 now but the status is still officially “beta” so I guess I’ll just wait a bit more, but its good to see this is coming soon. Also note that you need the memcached server version 1.2.4 for append.

posted in Technology, Developers | 0 Comments

24th April 2008

Some Comments on EC2 and Ops

The following is adapted from an email I sent to the Seattle Tech Startups mailing list. The conversation started when someone asked about peoples experience with EC2. Eventually someone pointed out that its important to take into account your time when doing the cost calculations between EC2 vs. building out your own data center, pointing out that many people don’t take into account how much effort goes into building out and running a data center.

However I don’t buy the argument that somehow running EC2 magically uses a lot less of your time than running your own data center. I’ve seen this argument many times, but frankly the cost of sticking a couple of servers in the data center in terms of time maintaining the hardware can be very low. And the time to maintain EC2, write custom code to maintain your instances, deal with the quirks of their environment, build extra code to deal with their failure modes can easily overwhelm the time it takes to stick a couple of boxes in a rack somewhere.

Eventually these environments might get more automatic- one of the nice things about the the Google Engine stuff is that as far as I can tell it’s a heck of a lot more self-managing than EC2. But for right now, either way you are going to spend a bunch of time on OPs, and the hardware aspect of it will be the low order bits…

Just as an example- I stuck a server in a data center in December 2006. I haven’t touched it since (physically). So it took me a few hours to setup, and since then I’ve been lucky and its been trouble-free. Sure I have to make sure the OS updates (er, all 3 of them since I’m running VMs on it). But the same is true for your EC2 images. Since I installed it my server has given me the equivalent of $4000 worth of EC2 time, and it cost me $3000 ($1600 + ~$1200 in hosting fees). Because its running a really simple configuration and I have direct control over it, its saved me far more than that in ease of development time.

Sure you say, but I’m going to be huge and will need to manage 20+ servers. However, at that point you are going to need someone to deal with ops. 20 servers in EC2 aren’t going to manage themselves any more than 20 will in a data center. Now granted, in EC2 you can scale up from 1 instance to 60 (equivalent of the 20 servers) in an instant by just kicking off those instances, right? But is your software really designed so you can just duplicate your machine image 60 times and it works right? If I need more machines in my data-center I can call up Dell and have them installed in a week. Sure its not over-night, but unless you hit the lottery and get an unexpected extreme traffic spike, it will usually work out. Even with 20 machines (this is based on some recent experience at DeepRockDrive) the hardware part of the setup is likely only a couple of hours to unpack all the deliveries from Dell, plug them into some good power, run some network cables, and flip on all the switches. Set things up right and from that point you have just created a single OS image and can just copy that image to all of the machines. In other words, once the physical hardware is plugged in, the software part works pretty much the same as EC2 does. (Disclaimer- there are lots of more complicated and time consuming ways to do this, so I’m sure many folks have examples of times it took weeks. But modern OS imaging if you know what you are doing is very cool and works great.)

As part of a recent project I did some cost calculations. Just working in to the equation raw CPU, EC2 can be cost effective if your daily traffic pattern exceeds a 8-1 ratio. In other words, if you expect that you will need ~8 instances for 3 hours a day and can get by with just 1 instance for the other 21 hours, it can be cost effective. That is some pretty extreme peaks- keep in mind that if those other 21 hours you actually need 2 instances the peak would have to be 16 to be justified. Of course that is assuming that scaling is just a matter of CPU- depending on how you build your site, your scale limiting factor might e something like your MySql database, in which case the super-large instance is still not as big as you can buy with commodity hardware (even in 1u factor) so you just have an upper limit with EC2. The biggest EC2 instance the “extra large” provides 8 EC2 “compute units” while an 8-core Xeon system you can configure from Dell for less than $3000 should be able to provide the equivalent of 24 “compute units” in one instance.

One really key disclaimer here- my calculations were not factoring in bandwidth. The best part of EC2 as far as I can tell is that the bandwidth charges are really really low compared to what you are going to see in your own datacenter so if bandwidth is going to be a major cost factor, that does tip in the favor of EC2, and they even announced some price-cuts coming next month so that angle does get even better in favor of the EC2 route. I have to admit that with the progress of technology I’m really surprised that prices don’t seem to have dropped that much on bandwidth charges at the big co-location centers.

In any case, back to the main point- Ops in EC2 are not free. The Ops tasks are different than with a conventional data-center, but its not at all clear that one or the other requires less time on ops-type tasks. These types of services have a great potential, but right now they are still in their infancy. Building a “conventional” site is something that there are some very well established practices around, both for site architecture and ops. Granted, especially in this area there are some EC2 experts, but I’d really think twice about tackling it unless you have one of those experts on your team. When you look at your new business, do you want to distinguish yourself with your new service for your customers, or by innovating in how you host it?

posted in Technology | 0 Comments