Friday 29 June, 2007

Google Bowling

Google looks like trying to improve its page ranking algorithm - by penalizing and awarding some points to sites based on their behaviour. Page ranking usually depends on how many incoming links are there to your page and what's their ranks. Looks like in latest algorithms, people found some loophole and it is properly expalined here. "Kick Your Competitor With Negative SEO?" is shared article related to this.

Wednesday 27 June, 2007

Abt Tomcat and Comparision between that and my project

These two classes (HttpServerRequest and HttpServerResponse) are also called as Servlets (as far as I know) ( Don't bother about terminology :) )
So, the following things happen:
1. You receive a request from browser
2. Handle it using HttpServerRequest API's (Don't worry, that request from browser comes as HttpServerRequest object to you)
a. Here, you can get all the headers from the request
b. You can get the POSTed data also if it is POST request
c. I don't know abt HTTPS related things. For this also, API's should be available
3. Now, analyze the request and make the response using HttpServerResponse API's. This is the data that will be sent to browser
a. Here, you can add the headers that you need to send to browser
b. Can add the data part of the HTTP protocol stack
4. That's it. You implemented one webserver

Just this much is tomcat. My project is atleast double the size of this one.
My project is 'Proxy'. In my project also, we have HttpServerRequest and HttpServerResponse classes. These will be used to handle the request coming from browser and to send the response to browser respectively. As 'm 'proxy', we don't have the data that need to be sent to webserver. So, we need to have similar classes that sends this request to webserver and handles the response that comes from webserver.

So, my project is at least double the size of tomcat, right?
Over this, we have much other work to do. Need to change the request that will be sent to webserver and also need to change the response that will be sent to browser.
So, mine is a nice one to learn.... right?


This site is very cool. It zooms almost every village of India. I was very excited, happy ( and :-( also) to look at this. And, this allows you to mark the places also. Hats off to the creator.... I came to know about this from my colleague.
I just have a doubt - what is the backend database used for these type of sites? how the mapping will be there from this database to the one that we view on browser? I just have a very high level answer for this - Spatial Database

Tuesday 26 June, 2007

Google Custom Search

This blog is not related to the functioning of Google Custom Search at all. I landed at this Google Custom Search after visiting my friend's blog. Formats of the annotations that it supports caught my eye. It allows to upload a file that have the url's in some format and when you give any query, it searches in that url set.
Looks like this is useful in the project which I'm currently working to configure the rewriter profile. This may help me in explaining one of the junk idea I have.

Thursday 21 June, 2007

"We don't view that kind of activity as an appropriate activity for one partner to do to another."

Above are the words said by a eBay spokesman against Google's act of having the Checkout Freedom Party at the same time of eBay's meeting with its users. So, eBay pulled its ads out of Google's Adwords. Google cancelled its party. Its a slap for Google from the online auctioneer giant eBay. Win for eBay and lose for Google.

Sunday 10 June, 2007

Abt Tomcat and Comparision between that and my project

Note: This may not be useful for those who know abt Tomcat.
Had a small discussion in my room with my friends. They are working on jsp's, servlets and tomcat. They were asking qn's like - on what requests, tomcat won't support redirection? how to set that header? and how to do the redirections etc.... I was not knowing abt tomcat previously. By listening at those qns, I got some idea on that. Here is a small update for those who doesn't know what is tomcat.
Its nothing but a server which can be used to implement webservers. It will receives request coming from the browser and allows the following things to be done by programmer on that request:
- to analyze the received request's headers (HttpServerRequest class will help us)
- to make the response for browser based on that (HttpServerResponse class will help us)

<'m not getting time to complete this. I will post remaining after some days>

Thursday 7 June, 2007

Memory Related issues detection tool

Since last 3 to 4 days, I hadn't done even a single defect fix. Time was getting consumed in reviews, meetings and investigations. In the last 3 days, I was getting tired too much. Finally, found the reason for that - I was not hearing to Music last 3 days. Ok, this blog is to explain some tool that I learnt today in detecting memory issues like leaks, corruptions, heap usage etc....
It is MemoryScape. Its a good tool. This can be attached to the running process, or the core that got generated or the new program that to be started.
First, faced problems in attaching this to my binary file - as my binary file not generated using the libraries provided by this tool. Finally was able to do by using LD_PRELOAD environment variable.
But, leaks reporting is not happening. That tool provides some so's. At the time of linking, it makes any fork or malloc or free calls to its functions and then it tracks them. And, then, internally, they call the original functions.
Attached para is copied from its document:
Behind the Scenes

MemoryScape intercepts calls made by your program to heap library functions that allocate and deallocate memory by using the malloc() and free() functions and related functions such as calloc() and realloc(). The technique it uses is called interposition. Our interposition technology uses an agent routine to intercept calls to functions in this library.

In the similar way, fork also gets intercepted. Just compiled my code with them and yet to test them. In the mean while compilation is going, thought of putting this here....

Wednesday 6 June, 2007

Finding large files in your linux box

My HD was reaching 100% usage now and then. So, I want to find large files in my box and delete them. I don't know scripting. Google made me to reach here.
find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
In some linux boxes, we may need to change the parameter $9 for print as $8 or something else
Got the above one from this place
Just thought of putting it here

Monday 4 June, 2007

"Street View" in "Google Maps"

New "Street View" in Google Maps is an idea which have both the faces. It frowns people as it peeps into their privacy. And on the other side, we can't stop ourselves admiring its technology and idea.
Google made contract with Immersive for licencing the idea of taking 360-degree street level images.
Vans are there roaming in the streets that captures the photos in different angles (I think somewhere I read it as 11 angles). This link explains about the SICK device used in the vans. The real time challenge is the image processing system where it collects all these images and give a proper images to the viewer. Somewhere, I read that they are using Nikon DLSR cameras.

Friday 1 June, 2007

Split Pannel - Xn for Firefox

I don't know, but, somehow I like these extensions very much (may be becz they are very smart). I got introduced to these by Ramki (my buddy at Novell). Today, while Googling, thought of some extension for browser that splits it like 'vi's split or vsplit' command does, so that, instead of opening every link in new tab and close them again one by one, we can have it in the same screen but divided. Looks like this "Split Pannel" extension will do that work. I installed it but yet to look how it works. For this, I need to close my browser but I rarely do this (ofcourse, I have the "session manager" extension to firefox which will open all my closed tabs at a time).
I guess this "Split Pannel" should work and solve my issue (its not a big issue, but, still an issue) :)
Too much, in a single day, I wrote 2 blogs. Ofcourse, this what usually happens, afterwards, I won't blog for many days. Tomorrow, I will blog on Google Maps.

Microsoft Surface

Looking at the Microsoft Surface, felt very astonished. I was thinking what and all different styles of algorithms - Surface computing, Geometrical algorithms, Ubiquitous computing etc - they should have implemented for this. Thinking of the work that I'm doing now - felt very bad and embarassed. Ofcourse, I'm in networking field - but I don't think I'm implementing latest things in this space also. ('m too bad that I don't have idea wats happening in this field). Still hanging over the (g)old HTTP protocol (ofcourse, https and other network protocols also). But, this is my level and I will improve myself.
Watever it is, this product from Microsoft is good (usually, this is not the case with Microsoft - my personal view). Hats off to Microsoft for this. Let us see what happens in the future - there is long road ahead....