Archive for the ‘internet’ Category

Reading news and keeping in touch..

Sunday, July 29th, 2007

I tried google reader long time back and wasn’t impressed. I had been using rojo for a while since then. However after its relaunch and increase in traffic from Facebook I took notice of it again and liked it this time around. I don’t know how Scoble keeps up with 600 feeds… I have hard time keeping up with just over a hundres I follow. But grouping feeds helps me focus on feeds I really like and those which I can ignore for long time. I you are interested in find out what I’m reading check this out. [ My public Google reader feed]

compare rojo and google reader

Facebook is the latest app I’ve been looking at. After using Orkut, linkedin and plaxo it seems like Facebook’s Platform OS idea is what will differentiate it with other social networking sites. Plaxo’s feature, pulse, was a very interesting idea which notified me everytime someone’s flickr account gets updated. I also found out when my contacts were changing jobs, moved houses or changed phone numbers. Facebook had a similiar interface called “News feed” to keep friends/contact informed about what you are up to.

The next big thing…

Sunday, July 22nd, 2007

The search, Web2.0, blogging, social networking and now online television.

There are two kinds of innovation happening on the internet today. The first kind are the ones which are redefining the internet, and the second kind build over the first kind. Unlike traditionally research and innovation, its not the idea but the implementation and execution which makes or breaks a production or service in todays world.

As a hobby for the last few years I’ve played around with quite a few ideas to understand the implementation and execution complications involved in bringing ideas to life. I wrote a internet feed crawler 2 years ago, created a personalized feed reader preference detection engine using bayesian algorithm, created a IP/networking debugging tool called huntip.net, a digg like social news publication site called zoppr… and the latest experiment I had with was a service called flagthis . In my other life (at my real job) I kicked off a search product based on lucene with a fullblown Ajax interface using GWT 3.0.

I’ll be on the lookout for the next interesting idea to implement… and experiment with. Let me know if you have something interesting to share.

Design to fail

Thursday, November 30th, 2006

Last night I went to an SDForum talk by two eBay architects Randy Shoup and Dan Pritchett on how they built, scaled and run their operation. The talk didn’t have anything substantially different from what I’ve heard before, but was still impressive because they were applying some of the common thinking to their operations which runs over 15000 servers any given time. [ Slides ]
Here are a few interesting phrases I took away from the talk.

  • Scale out not up: Scaling up is not only expensive, it will also become impossible beyond a certain technical limitation. Scaling out, however is cheaper and practical.
  • Design to fail: Every QA team I know, do a whole batch of tests to make sure all components work as they should. Rarely have I seen a team which also does testing to see whether the servers stay up if certain parts of the application fail.
  • If you can’t split it, you can’t scale it: Ebay realized early on that anything which cannot be split into smaller components can’t be scaled. A good example of such operation are the “joins” on multiple tables in a database. Relying on database to do joins across a large set of tables means that you can never partition those tables into different databases. And if you can’t split it, you will have t
  • Virtualize components: If they can virtualize it, and create an abstraction layer to take care of these virtual components, then rest of the application need not worry about the actual server names, database names, table names etc. The Operations team can move components around to suite scalability needs.

JSON: Breaking the same-server-policy Ajax barrier

Thursday, November 23rd, 2006

The same origin policy prevents document or script loaded from one origin from getting or setting properties (XMLHttpRequest) of a document from a different origin. The policy dates from Netscape Navigator 2.0. This is a very important security restriction which disables rogue third-party javascripts from getting information from your authenticated banking server session.

Unfortunately, this also almost completely shuts down any possibility of data sharing between multiple servers. Note the use of the word “almost”, because “JSON” is the new Saviour of web2.0 world. JSON or Javascript Object Notation, is nothing but a simple data interchange format which can be easily used by javascript applications. Whats different here is that unlike XMLHttpRequest which can send back answers in any format the javascript application wants, JSON requires the answers to be in JSON format, which is basically a subset of Javascript Programming language, or to be more specific Standard ECMA-262.

For those who are curious how this works and don’t have time to read the complete documentation, the difference is that a javascript application can still call other javascripts to be loaded from third party websites. So if you are running an application on www.royans.net and you have some data on data.royans.net, you can load that data into your application as long as you masquerade that information as a javascript.

Thats it, there is no rocket science here… but it does feel like one when you first come across it. I surely did.

While you are at it, watch out for JSONP (JSON with padding) too. Google is one company which I know have been using such mechanisms for a long time. They recently came out with more vocal support of this new open data interchange standard.
Oh, and before you go hacking your code, one thing you might like to watch out is to avoid opening up private/privileged information using JSON mechanism, because its open to XSS (Cross site scripting hole).

Flashy Speed test

Wednesday, August 16th, 2006

There are tons of speedtesting tools out there. But here is one you might not have seen before. Its called speedtest.net. Whats cool about this site is that it allows you to test your bandwidth against multiple server in US and Europe instead of just one.

Speedtest1