Archive | September, 2008

Accessing CouchDB Admin Without Exposing It To A Public Port

23 Sep

I’m running couchdb on EC2, but I don’t neccessarily want to expose the port it runs on (5984 by default) to a public IP address.  But, I want to be able to access the luxurious Futon admin system – so what are my options?

Turns out, there’s a simple solution – run an SSH tunnel to the ec2 server:

$ ssh -L 5498:localhost:5984 [mylogin]@[some-ec2-instance.com]

When you access your local port 5984, i.e. http://localhost:5984/_utils, you’re actually tunneling to your EC2 instance. Now, you can run the couchdb server safely and still enjoy the Futon admin!

Reblog this post [with Zemanta]

Amazon Is Working on a True Content Delivery Network

18 Sep

Just received this email from Amazon Web Services announcing that they are working on building a true Content Delivery Network!  It’s light on details, but I can see this having a huge effect on services that are using AWS and S3 for video delivery.

Many of you have asked us to let you know ahead of time about features and services that are currently under development so that you can better plan for how that functionality might integrate with your applications. To that end, we are excited to share some early details with you about a new offering we have under development here at AWS — a content delivery service.

This new service will provide you a high performance method of distributing content to end users, giving your customers low latency and high data transfer rates when they access your objects. The initial release will help developers and businesses who need to deliver popular, publicly readable content over HTTP connections. Our goal is to create a content delivery service that:

 

  • Lets developers and businesses get started easily – there are no minimum fees and no commitments. You will only pay for what you actually use.
  • Is simple and easy to use – a single, simple API call is all that is needed to get started delivering your content.
  • Works seamlessly with Amazon S3 – this gives you durable storage for the original, definitive versions of your files while making the content delivery service easier to use.
  • Has a global presence – we use a global network of edge locations on three continents to deliver your content from the most appropriate location.

 

You’ll start by storing the original version of your objects in Amazon S3, making sure they are publicly readable. Then, you’ll make a simple API call to register your bucket with the new content delivery service. This API call will return a new domain name for you to include in your web pages or application. When clients request an object using this domain name, they will be automatically routed to the nearest edge location for high performance delivery of your content. It’s that simple.

We’re currently working with a small group of private beta customers, and expect to have this service widely available before the end of the year. If you’d like to be notified when we launch, please let us know by clicking here.

Sincerely,

The Amazon Web Services Team

Google AppEngine’s Smart Quota Doesn’t Match Reality

16 Sep

I love App Engine – I think it’s the best thing since sliced servers (bad joke)!  But one thing they got wrong is their “smart” quota management.  This has been something that has irked me ever since I heard a google rep talk about it at the Seattle App Engine Hack-a-Thon.

Here’s how it works according to the representative:  You have about 1 million free pageviews per month, but it’s not a simple you-have-exceeded-your-monthly-limit quota.  The app engine team has developed a way to evenly spread out your quota over the full month, so it is possible that you receive a generic “this account has exceeded its limit” page at the beginning middle or end of the cycle.  See anything wrong with that?

From what I’ve seen, most of the web properties that are looking for traffic do it in a very specific pattern that invovles two phases iterated many times.

Phase 1 – get a huge spike in traffic somehow.  Get on Digg’s homepage,  get a mention on Techcrunch, etc etc. You now have an unusually large number of visitors over a short period of time.

Phase 2 - a small percentage of those visitors will stick around and become loyal or engaged visitors.  This is the traffic you care about!

Here’s a snapshot of this site’s traffic after getting linked to by a popular internet pundit last month.  You can see the two phases very clearly.

One of the primary benefits of hosting in the cloud is that they are built to handle this type traffic profile – large random spikes!  Google’s App Engine is so promising as a platform because you can leverage their infrastructure to handle a lot of traffic.   But, very few sites have high, steady traffic – it’s mostly spikes like this.

But, with google’s “smart” quota – you have all the limitations of a single physical server!  When their quota system detects you’ve gone over your micro quota for the day, or the hour, or however they track it, then your site is officially taken down and a generic quota screen is shown.  Ouch!  Now that bump in steady traffic doesn’t quite stay as high as you’d like because many of those visitors that would stick around never get to see your content.

This very well may change when Google announces it’s pricing and other features, but for now this is a non-starter for sites that are looking to take advantage of google’s infrastructure to handle a lot of traffic.

The Answer To Gaming Piracy Was Perfected Over a Decade Ago

14 Sep

The Spore DRM debacle is still making press with the latest story coming from TechCrunch.  One phrase that really rang true to me was Erick’s argument that the legitimate version of a game should never be more hobbled than a pirated version – so true!

There is a lesson here for all media companies. Whether they are producing videogames, movies, or music, adding DRM won’t stop piracy. The best way to stop piracy is to hobble the pirated version, not the official one.

Easier said than done, right?  No, not really – this concept was pioneered and perfected over a decade ago by none other than Blizzard Entertainment with the release of Diablo 1 and battle.net (bnet).  If you’re not familiar with bnet, it was a network integrated into Diablo that managed all of it’s multiplayer interactions (minus LAN).  It opened up a whole new, exponentially more valuable gaming experience because it was the first mainstream game that made the social interactions that we all take for granted in gaming today easily accessible!  The game was ‘complete’ without battle net, but the entire experience wasn’t.

How did they combat piracy?  A valid CD key was required to get on – that’s it – no crazy DRM scheme, no limiting installs, none of the stuff Spore is getting a lot of flak for.  And people bought the game like crazy because no self-respecting gamer played Diablo alone!  (I mean alone in the macro sense, i.e. in the context of bnet).

So, am I saying that every game developed today should have a valuable online component?  That solo gaming is a thing of the past and developers should be expected to provide multiplayer experiences with everything they develop?  Yes!  If the game industry wants to prevent piracy, then yes, the internet is the answer.  Ironically, the internet is also the reason piracy has become so prominent.

Installing Aptana Jaxer 1.0 RCB On Ubuntu Hardy 8.04

14 Sep

(I go through this process once a week and forget how I did it every damn time, so this is my reminder.  I published it in case anyone out there is trying to do the same thing.)

This is a pretty specific setup, but works really well for playing around:

  • Running Ubuntu Hardy 8.04 on EC2 (alestic makes the defacto instance – ami-c0fa1ea9)
  • The latest and greatest Jaxer release candidate (http://aptana.com/jaxer/download)
  • Using the built-in apache in jaxer
  • port 80, publicly accessible

Step 1 – get your instance up and running.  I recommend ElasticFox.  Instance ID I use most often is ami-c0fa1ea9.  (As a quick aside – why don’t I just repackage the instance? Because I want to use the latest and greatest Jaxer and it changes fairly frequently. When Jaxer 1.0 comes out, I’ll repackage the instance if Aptana doesn’t do it themselves.)  Instructions on how to get an AMI up and running are a dime a dozen so I won’t go into them here.

Step 2 – grab a few necessary libs that don’t come with the alestic hardy.

$ sudo apt-get install unzip libgtk2.0-0 libxt

Step 3 – grab the latest jaxer zip from http://aptana.com/jaxer/download

$ wget http://... [latest jaxer].zip
$ unzip -d /opt [latest jaxer].zip

Then follow the instructions Aptana provides for making jaxer publicly accessble.  If you want to run apache safely, I recommend creating its own user:

$ groupadd apache
$ useradd -c "Apache Server" -d /dev/null -g apache -s /bin/false apache

Make sure to set your User and Group to apache in /opt/AptanaJaxer/Apache22/conf/httpd.conf.

Voila! That should do it. Start jaxer with:

$ cd /opt/AptanaJaxer/scripts
$ ./start.sh

Access your site through http://[public DNS instance name]/aptana and run the diagnostics.

Avacado Burgers with Homemade Potato Chips

13 Sep

Good vs Evil at TechCrunch50

11 Sep

TechCrunch 50 is over and congrats to the winner – Yammer.

There were two presenters that stuck out to me, one positively and negatively, and they just happened to be gaming related (or they stuck out because they were gaming related).

Atmosphir

From TechCrunch:

Atmosphir is a gaming platform and engine that allows users to easily create their own levels in a 3D world by painting basic elements into a three dimensional grid.

As far as gameplay goes, Atmosphir seems to be very straightfoward, much like a standard “Mario Brothers” game. The player’s avatar can run and jump around each level, which allows for jumping puzzles and the stomping on bad guys, but that’s about it.

Interesting and I love it.  The recent success and all around awesomeness of Braid proves that there is still a lot more fun to be had with simple platforming games.  By exposing an abrstraction layer on top of the building blocks of a platformer, I think Atmosphir will spawn a strong nostalgic movement back towards short, fun, pick-me-up-for-15-minutes games.

Increasingly, I find that I’m too busy to play the AAA titles while I sat down and ran through Braid in the span of a couple hours – I look forward to seeing what comes out of it.  Heck, I may try to see if I can get in the limited beta and mess around with the tools!

Shattered Reality

From TechCrunch:

Shattered Reality has released Kaos War, a multi-player game with absolute transparency and social network design functionality which allows the players – not a bunch of overpaid and overfed game designers – create future expansion packs and levels based on player requests.

Although it’s in the same vein as Atmosphir – I just don’t like the vibe I’m getting from this snippet.  Don’t know if that’s John Bigg’s fault or if he’s paroting the pitch the Shattered Reality guys gave.

Why do we want to remove the professionals from the profession?  I know it sounds hypocritical because I just lauded Atmosphir for doing basically the same thing, but these are two separate buckets in my mind.  

There are typically no “overpaid and overfed game designers” (horrible line – what the hell?) in the realm of short pop-cap games like the ones Atmosphir create – it’s mainly passionate independent <5 person studios.  So they are bring accessibility to the genre in my opinion.  Shattered Reality doesn’t seem to care about bring accessibility to anything.  They seem hell bent on bringing cookie cutter, cheap, and ‘user generated’ content to the AAA game market.  Do we really need that when the 1,789,327th installment of the Madden franchise just came out?

I won’t go any further, because I run the risk of getting into the politics of cheap labor – and I vow to never get into politics.

Anyways, I always enjoy the TechCrunch Conference.  Much more so than anything that comes out of Demo.  Looking forward to next year!

Revolt Against Spore’s DRM On Amazon – I Love It!

9 Sep

Right now there is a revolt going on in the gaming world.  Literally thousands of people have given Spore a 1 star rating on Amazon because of the DRM it carries.  I love it!  

But, I also hate it.  Spore is the type of game the industry needs – innovative, fresh, and well polished.  It’s a damn shame that publishers care more about pirating software than the fidelity of the gaming experience.

I hope this revolt affects EA’s bottom dollar so much that they realize that pissing off your customers with computer-destroying DRM is much, much more damaging than underground software pirating.  I personally will never install this game on my computer – I can’t stand hidden processes, can’t stand spyware, and can’t stand the audacity of some publisher who thinks they can get away with this trash on my computer.

Sorry to all the people who poured their creative effort into what appears to be an amazing game.

Ok, Apple Not Stupid – They Have Just Turned Into “The Man”

9 Sep

Wow, I got a lot of feedback yesterday.  Protip: don’t call Apple stupid in the title of your blog post if you want Apple fans to read the content of your post!  I got some really thoughtful comments which I’ll go over here, but I got a lot more email that, if there were Cliff’s Notes, would read something like, “no your [sic] stupid.”

bud says:

I’m sure apples boilerplate rejection has nothing to do with the apps rejection.

It is pretty obvious why they would reject it; to prevent hooks from websites into the iphone; potentially malicious hooks.

Isn’t this obvious? If it is not obvious, you are disingenuous.

Yes, I agree – most likely Apple is not ignorant of the implications of Big5 and phonegap projects!  There is a small chance that the review team at Apple just didn’t “get it”, but most likely they did get it and decided to keep it under wraps.

Why? Peter agrees with bud that there are security concerns:

As has been pointed out, this is rejected because it allows an external application to access information about the iPhone. That said, he’s right that someone at Apple should have explained that rather than using the “limited utility” explanation.

To wander a little bit afield, though, I worry about this “limited utility to the broad iPhone/iPod touch user community” sentence.

One of the reasons for third-party developers is to address these areas that are of limited utility to some but valuable to others. For example, medical dictionaries are not of interest to “the broad iPhone/iPod touch community”, though there are some who will find these invaluable. So is Apple now going to try to determine whether there really is a market for your application and decide whether or not enough people would be interested in it?

He brings up a good point about the implications of Apple deciding what is considered ‘useful’ to the general public.  2 years ago if you had asked me if Twitter was useful to the general public, I would have laughed in your face.  Now, I read the RSS feeds of a bunch of different people on it and I consider it one of the best ways to access people’s raw, unfiltered thoughts.

Imagine if Apple owned the internet platform and just didn’t see the usefulness of this app…

But, as I said – Apple isn’t stupid (in the ignorant way), they are just turning into “The Man.”  My partner in crime got so riled up he went so far as to suggest Apple is the new Microsoft.  Personally, I would rather have the new innovative Big5 browser and then patch the security risks later, rather than shutter it out of fear.

As much as I hate to use Internet Explorer as an example of anything but a steaming pile of sumo wrestler dump on a burning tire, imagine if the 90+% of the people in the 90’s hadn’t been exposed to it because it might have security risks?  We know now that it was chock full of nice juicy security risks, but I would say the exposure to the internet and booming of the industry that pays my bills is a far greater consequence!

Apple Too Stupid to Understand Utility of Outside-The-Box Apps

8 Sep

UPDATE: Apple Isn’t Stupid – They’re Just “The Man”

The problem with an application review process like the one Apple has in place is that there are humans on the reviewing end that are most likely too stupid or narrow minded to pick up on really innovative applications.

I don’t care if the reviewers are the people who built the platform and think they know what it can do like the back of their hand. They will not immediately understand the usefulness of some applications, and those applications may be game changers. Instead of being introduced to the public and living or dying by a meritocracy, they will probably get a message like this:

Dear Developer,

We’ve reviewed your application Big Five.   We have determined that this
application is of limited utility to the broad iPhone and iPod touch
user community, and will not be published to the App Store.

Sincerely,

What is Big Five?  A very useful application developed by Dirk Holtwick.  It’s an alternative web browser for the iphone that enables websites to use the native iphone APIs.  So, as a web developer if I knew that visitors where visiting through Big Five, I could offer special functionality, like integrated location using their iphone’s GPS, or accelerometer functionality, etc.  Oh, and I could do all this without ever having to know Objective C or Cocoa Touch – I could use the javascript I already know and love!

(Big Five is built on the phonegap project which I talked here about and contributed to here and here.)

It’s really a very interesting application that opens up game changing possibilities for the browsing experience!  But, alas Joe Q Reviewer has decided that this is of limited functionality to the public.

Why does apple think this application is of limited use to the public?  Here are two possible justifications (albeit bad ones) that I can think the reviewer may have.  (Oh, by the way they did not offer any of these justifications, just the short and incredibly useless message I posted above).

“Well, it is of limited use because there are no websites out there that take advantage of big5 yet.”  Huh?  The logic behind that is so incredibly stupid that I don’t know where to begin.

“This application is targetting developers more than it is targetting the public.”  It targets developers in order to provide a richer experience for end-users!  If Apple would provide phone-gap like functionality in Safari itself, then maybe we wouldn’t need Big Five, but alas they have not.

The bottom line is that the application review process is tedious, narrow minded, and broken.  I wish at the very least Apple would provide a reason or some pointers to why Big Five isn’t considered useful.  I also wonder if I should not waste any time developing phonegap enabled applications because Apple is too dense to understand the possibilities it opens up?