Friday, April 25, 2008

Blast from the present

Check out this blast from the present



Made possible by generous cloud computing. For the inquisitive, read animoto's EC2 case study on Right Scale's blog.

Thursday, April 17, 2008

The blog works how?

As somebody (as always, to be read as nobody) once said, Architect the crap out of everything ;-). Following that grand tradition, I present the architecture of my blog 'Listen to me !!!'

Goals:
Publish feeds per tag.
Have human readable feed links.
Profile, audit, and stalk feed subscribers (just kidding - i just look at statistics)

I blog at blogger.com and as you know, the blogs are served by Feed burner. Feed burner gives decent feed statistics. The trouble is, blogger.com and Feed Burner in all their Google backed glory do not support Tag specific feeds (if I'm wrong, please do let me know).

Enter Yahoo Pipes which lets you slice, and dice feeds. I created a pipe per feed that essentially a ContentFilter (ContentFilter from EIP). The content filters looks for the specific Tag, and block all other posts. But, the url of yahoo pipes is believe me, not human readable. For this and other reasons, the outputs are routed to feed burner and voila !!! You now have all three goals achieved.



Oh, the Tech feed is also routed to my employer Lab 49's blog so all my tech feeds appear in that site too.

And yes, since these feeds are dependent on Blogger, FeedBurner, Yahoo Pipes and Your blog reader working perfectly, it gives me a great sense of confidence that the feeds won't go down :-)

Friday, April 11, 2008

The Rise of App Engine

Google released AppEngine, and there were a bunch of reviews comparing it with Amazon EC2. Not quite the same. From a manager's perspective who is trying to get a web project done probably yes, you can achieve the same goal in this case with both...

But, the real difference is in the level at which these are operating. AppEngine, Heroku et al are I would say at a service level. EC2 bascially lets you write what the heck ever code you want, and provides an abstraction at the machine level. Instead of running on the bare metal, you would run on EC2 and get all the goodies that come with the classic "Add another layer of abstraction" rule.

The importance of AppEngine is the productivity gain that it would bring into a very focused but large set of applications. Yes, there is no support for batch and so, lot of other cleanup jobs etc cannot be really run on the platform as of now. But, it is still in it's initial stages and too early to comment. I don't see it ever brimming with additional features though. If you have noticed with Google's products, it is not the feature set that they try to win the market with. Example: Yahoo Mail and Yahoo Messenger kick GMail and GTalk's butt respectively in terms of feature set. But, it is ease of use, attacking the problems that matter (like spam, being able to find what you wrote, and storage size)

Also, I really don't see them ever supporting my current favorite web framework Grails. Why? Grails is tied to hibernate which I don't see running on a non relational database like the one google has as the data store of AppEngine. Not to say they are not working on a "Write your Grails, we port it to something else and run on AppEngine" virtual machine.

There have been free services that ran JSP/ASP based web applications out there for a while. But, those were more of a "write your app, run on our server" kind of model. App Engine is essentially a scalability/availability mantra for the masses. Google has enforced the scalability best practices by restricting the developers to use a subset of features which lend themselves to scaling.

On an un-related note, I could not find a way to get either blogger or feedburner to offer Tag specific feeds. I had to jump through hoops to achieve it. More on that in a later blog. Stay tuned...

Thursday, April 10, 2008

The blog is named what?

I got several (to be read as 0) inquiries about the name of the blog. So, I want to explain it to remove any confusion. The name is supposed to be pronounced with a bit of command in your voice. Imagine yourself in a classroom full of boisterous, out-of-control kids. And, you want to get their attention. Now use that tone of voice and pronounce "Listen to Me!!!"

Now, Listen to Me!!!, and enjoy reading the posts.