Behind Google search - Udi Manber interview

Today I came across an interesting interview with Google guru Udi Manber.  Udi is the Vice President for search quality at Google. It is challenging position considering the monetary value associated with search engine ranking. There are two things which caught my attention from the interview,

So let me first tell you about Google. At Google we do not manually change results. For example, if we find for a particular query that result No. 4 should be result No. 1, we do not have the capability to manually change it. We made that decision not to put that capability in the algorithm—we have to go and actually change the algorithm. That is, we have to find what weakness in the algorithm caused that result and find a general solution to that, evaluate whether a general solution really works and if it’s better, and then launch a general solution. That makes the process slower, but it puts a lot more discipline on us and makes it more unbiased.

So what this means is that Google algorithm is continuously changed to tackle spammers, link exchanges, link sales etc. So if someone is clever enough to circumvent the quality parameters of Google, they fix it in the algorithm rather than specifically penalizing the guy. Of course, in extreme cases the site is taken out from search results!

Yes, I told you we launched our 450 improvements. When we decide to launch something, we have a weekly meeting where all those things come together and we look at all the evaluations and we make decisions—revenues and any effects on ads do not come into those meetings. We don’t even know what the effects are.

This is another interesting aspect. Even though majority of Google revenue comes from advertising, the search algorithm is focused only on search quality. It is hard to believe that search engine enhancements are in no way impacted by Google’s interest in the advertising revenue.

I have been experimenting with Google search algorithm for sometime now. One thing is certain. If you have quality articles which are not too short, they get ranked well even if you don’t have many links! Also there seems to be some algorithm which ranks new good content very high initially. During this initial period the content automatically gets linked by a lot of people who reads it through search results. If the content is not good, it won’t get linked and the ranking drops gradually.

Here is an interesting recruitment mail from comat

Comat is a small company operating in rural India. They  “bridge the digital divide” by bringing computing benefits to villages. They are looking for programmers to work with them. The long recruitment mail is inspirational and I am sure they will get a lot of candidates! Check it out.

Consider this: the average village that we operate in receives four hours of power supply a day. The supply is often at 150V, far too low to power a computer or charge a UPS battery. The place is also a good four hours from the nearest urban centre, and given the state of roads in much of the country, that’s four agonising hours for anyone who must go attend a support call because the operator complained that his web browser is saying “Page Not Loading” and he’s got a long queue of agitated customers who are threatening a riot because that printer is not producing the document that will determine their livelihood.

You, the hotshot Web 2.0 and assorted buzzword compliant web developer, must produce an app that will keep that crowd happy. You’re not going to get away by telling them that your JSON-spewing Ajax application requires a low latency internet connection. You’re going to have think this through very carefully.

Indeed!

Missing the obvious

Check out the following video. This is a perfect example of missing the obvious!

 

Can movies affect our lives?

There is a lot of debate on the influence of movies in our lives. Can violent movies or games be responsible for increase in crime?  There are people who want a complete ban on such material. But then there are those who support these citing freedom of speech. The struggle between them has a long history and is not going to end any time soon!

In India, attack on freedom of speech is much more violent and is on the increase. As you can guess, every movie is going to offend someone. If the villain is of a specific color some people get offended. If the hero is muslim some others get offended. There are even guys who get offended when they see love between a man and woman!. There is no end to such madness :-)

I am always on the side of freedom of speech. But when you see all the latest english horror movies (for example - saw series or hostel series) I get doubtful. These take violence into its most vulgar form. Most of us may see it and then just forget it. But there could be psychopaths who would want to simulate the movie and that isn’t pretty.

That is exactly the problem with freedom of speech. Above I have written that I somehow find Saw and Hostel movies repulsive enough to warrant a ban. But another person might find other movies equally repulsive. See? It is a catch 22 situation.

Movies have affected my life in various ways and mostly it is in a positive sense. My career in software development is a direct result of the movie terminator 2. I still remember staggering back home after watching T2 lost in thoughts about artificial intelligence. It has motivated me to jump into programming and soon I realized a machine like terminator is not going to built in my lifetime :-). Another movie that left a lasting impression is American Beauty (especially the character Ricky Fitts).  If you haven’t seen it yet I suggest you rent the movie for this weekend.

Brontok virus in Indian Railways

Indian Railways is making a lot of money in profits (Over 25,000 crore rupees last year). Now the question is what is done with this money? Unfortunately as far as basic infrastructure is concerned, nothing much is done.  In fact, travelling by any of the general compartments will be a “lesson in torture”! What is more infuriating is the fact that they are spending huge amounts in gigantic plasma and lcd displays. To majority of commuters these are useless because many of the displays are used for advertising and the ones which displays train timings are almost always incorrect!

Last week I was travelling from Trivandrum to Trichur and the waiting room in Trivandrum railway station had a huge HDTV display supposed to show train timings. Someone in railways had downloaded something nasty on the Windows machine which powers the display and is infected with Brontok virus.

brontok virus in indian railway machine

This display is located in a “luxury waiting room”(??) which is air conditioned and charges Rs. 10 per passenger for 2 hours. Even if you have a first class train ticket which costs more than first class flight ticket(!) you need to pay Rs. 10 :-)

Talking about basic infrastructure, the trivandrum railway station is the “most advanced” station in kerala and is supposed to be at “international level” but doesn’t have enough chairs in platforms for passenger to sit.

I guess what they mean by international is either “pakistan” or “somalia”.

Cherai beach experience - ideal for a relaxing holiday

Cherai is a coastal village located in central Kerala, India. This place is a unique combination of sea and backwaters rimmed by lush green coconut palms and paddy fields. The backwaters are a combination of lakes, lagoons, canals and estuaries. Cherai Beach is one of the most beautiful beaches in Kerala. The 15 km long beach is clean, shallow and is ideal for swimming, surfing and sun bathing.  A lot of infrastructure at the beach was destroyed due to Tsunami which had hit the place in 2004 and some of it is yet to be rebuilt.

In this post, I capture my holiday trip to Cherai beach.

Introduction
I spend most of my time in front of computers and hence rarely go out on a holiday trip. But last week Internet access was pretty slow due to some underwater cable damage. Hence I decided to go on a tour with family and relatives. We headed out to Cherai beach which is about 30 kilometres from Ernakulam. Man! It was the most relaxing holiday trip in my life.

Getting There
I was staying at Irinjalakkuda and from there Cherai is only one hour drive. The road is ok, but becomes narrow as you reach Cherai. From Cochin international airport, Cherai is just 20 kilometres and the easiest way to reach is to hire a taxi.  You can also get a bus to Paravur from Ernakulam and then another bus or autorickshaw from Paravur to Cherai beach. If you are coming by car, beware of the narrow wood bridge on the way to beach. The beach access road is well lit and the main beach entrance has flood lights.

Cherai Beach Map
Check out the following cherai map to see location of various resorts and facilities.

Cherai beach resort map

Hotels and Resorts
There are a couple of good hotels and resorts in Cherai. Some of them are on the beach side and some are located some distance from the beach.  Obviously the beach side ones are the best.  I had stayed in Baywatch beach home which is the nearest resort(5 metres from the water front) to the beach. It is so near that I was a bit worried(in fact the floor of the hotel was at the same level as the sea!) .

Tariff for a decent double room varies from Rs. 1000 to Rs. 4000. During off peak season (monsoon time), the rates almost 30% of the peak time tariff. Of course, monsoon time is not exactly a good time to spend at the beach! :-)

Baywatch resort where we stayed, charges Rs. 2000 per day for an airconditioned double room and the good thing is that they have a 24hour check out period. Other resorts charge extra if you stay beyond 12PM.  For us it was crucial since we reached beach after 8PM. But unfortunately this resort is not well maintained.

Initially we had some problems in getting two rooms at the Baywatch and hence we headed out to another seaside resort named Sealine Beach Resorts. The reception there was pretty bad. They behaved like they are not interested in giving out the room (either because they were doing something illegal or because they don’t want ‘desis’ at the hotel). We came back to Baywatch and luckily we got the extra room we needed.

Activities
There are a lot of activities possible at Cherai beach. The most obvious one is swimming. The water is shallow and is ideal for comfort swimming. Walking along the beach is another activity which I liked most. Early morning is the ideal time for a walk and you may be able to take a peak at the day’s catch in a boat.

Another interesting feature of this beach is the variety of sea life you can find on the shore. You can find a wide variety of sea shells, sea birds and if you are lucky and adventurous you can even catch a large crab! Since the beach is long, this activity itself is worth spending a day. To move around, you can also hire a bicycle from nearby(I saw a couple of foreigners roaming around in bicycles).

The local food is delicious especially the sea food. You can try out different crab dishes or the mouth watering butter roasted tiger prawns (which costs around Rs. 200 for 3 pieces).  Another ‘must eat’ dish is the ‘Karimeen Pollichathu’.

‘Kite flying’ is another timepass activity at Cherai. The beach comes alive during evenings with a lot of colorful kites. You can buy a kite for Rs. 10 and additional chord will cost you Rs.30.

Lastly, it is a ideal place to just relax and sun bath. Most of the hotels at the beach side offer umbrella/chair set. At the baywatch resort there was a shortage of these chairs and we had to finally borrow it from a german couple! :-)

Essential Tips

  1. Best time to spend at this beach is the morning time.  Beach is almost deserted during mornings and you may see a couple of early morning tourists. It is very crowded during evenings and during weekends it is crowded like a football stadium!
  2. In Kerala, it is illegal to sell alcohol without a license. Still you can find that most of the places offer alcohol (or atleast beer). But buy liquor only from reliable places. A government owned liquor shop is located about 1KM from the beach. Alcohol available at the resorts tend to be 3 to 4 times costlier.
  3. Cherai beach is relatively safe. But surrounding areas are dangerous. It is better to stick near the beach atleast during night time.

Impressions

We reached around 8PM and after food and couple beers went to sleep. Next day morning was cloudy day and we missed the sunrise. The beach is almost deserted during the early morning and we went for a walk. As i said earlier, morning is the time you should be at this beach.

cherai fishingA couple of fish boats were seen in the morning. The team shown here had a very bad catch. They got fish worth probably Rs. 100 or so. You can spot these boats during night also. Another adventure would be to board one of these!

Most of our time was spent at the seashell restaurant situated over the Baywatch resort. The restaurant is not very costly and they do serve beer. It becomes crowded in the evening.

There is only one waiter at this hotel and hence service can be a bit slow. But hey! who care about slow service at a beach…

Conclusion
If you are looking for a place to relax and unwind, Cherai beach is an ideal destination. Pack your bags and head out to this place for a couple of days!

Gallery
Check out the photos that I had taken at Cherai beach.You can click on them to see a bigger picture.
Early morning at cherai beachCalm beach in the morningFisherman on a solitary tripBaywatch beach home in the early morningCan you see fishermen carrying a boat?!Baywatch beach home is frighteningly near to the beach!Lonely fishermanView for BayWatch ResortVendor at the beachGerman couple relaxing at the beachBeach is deserted during the noondsc01263.JPGBaywatch beach homesAs you can see the beach is shrinkingThe main beachside where most of the people hang aroundA small crab trying to escapeStones at the beach to prevent tsunami damageCherai beach water is clean!Kite flying at cherai beachSunset at cherai

Introducing instant domain search - 10xwhois

I have been working on a domain search utility for couple of days and it is ready for release. 10xwhois is an instant domain search tool built with ajax and java. If you are into domain name business, this is a must have tool.

Just type in your desired domain name and select the domain extensions you are interested in. Domain availability status will instantly appear below. For non available domains, whois service is also provided.

This tool is running on Java and is hosted on a dedicated server. Got any comments/suggestion? Let me know.

United States legalizes torture

It is funny how we humans are good at twisting things. The latest trend(possibly started by americans) is to sugar coat unpleasant truth using formal jargon.  Let me illustrate with a few examples.

You are a policeman in charge of an area. You decide that it is ok to use third degree methods in interrogation.  But while using some of the harsh techniques, a couple of suspects die in your custody. Earlier you would have said - “The policeman used illegal torture and three suspects died during torture”.  But now in the changed political climate you say - “There were some collateral damage during terror investigation”.

Notice how the sentences hide the human factor involved. It even appears that the collateral damage is essential to keep us all safe.  We all become just parameters for some process. It is like applying six sigma or CMM5 to human life :-)

The reason why I wrote this post is this news item.  Current american government believes that torture (simulated drowning to be specific) is legal. But there is one problem with this approach. There is no difference between the ‘good’ guys and the ‘bad’ guys!!

In one of earlier posts I had written that I don’t believe in God.  But at the same time I amazed at the wisdom of Jesus Christ when he said,

Then said Jesus unto him, Put up again thy sword into his place: for all they that take the sword shall perish with the sword.

And what do you benefit if you gain the whole world but lose your own soul?

I am not a ‘human rights nazi’.  I do believe that strong and decisive action including death penalty is needed when you are dealing with evil.  For example, consider what happened in Rwanda. But the sad part is that nobody cared about Rwanda at that time.

Consider this scenario - you are a police officer who is entrusted to protect people. Suddenly a mob goes around killing people. There is no doubt in my mind, you must shoot and kill if necessary to protect people. It is worth noting that as per Indian law you can kill someone not only for self defence but also to defend others.

But this is quite different from dropping bombs on a country to feed them ‘democracy’.

David letterman on Bill Gates retirement

This one is funny, especially if you have used Windows 95 :-)

Barcamp2 at Cochin

I will be attending the second barcamp organized at cochin (Thrikkakara Campus) on 3rd February. I will not be presenting anything, but just want to listen. Hopefully a lot geeks are going to turn up there. I know a couple of them through their blogs.

If you are geek, don’t miss this event. It is an ideal platform to meet other geeks (as you know finding geeks in Kerala is not easy :-) ) You can register for the event here.

Wondering what a barcamp is? Here is wikipedia for the rescue.

Anand on why “less is more”

Anand has done an interesting post on the principle why “less is more”.  He is talking from his consulting experience, but it doesn’t limit to consulting alone.  I can relate to him. Especially this one,

Third, you’ve got to be brave enough to shut up, or say “I don’t know”. Initially, this was tough for me, but I learnt from a friend. I always thought him not-so-smart, but honest. He’d ask, “But why?” and when I’d explain, he’d say, “I don’t understand it.” After two hours of trying to get him to understand, I’d realise that I was the one who never got it in the first place. After a while, I got into the habit of being very prepared before I explained anything to him.

Saying “I don’t know” doesn’t make people think less of you, I’ve found. I know a lot of people disagree with me. One of the most consistent feedbacks I’ve received in the first half of any project or firm I’ve been in is, “He should speak up.” Dammit, I don’t have anything to say! If I know something, I’ll say it. If not, I’ll shut up. Now, despite this feedback, no one’s quite objected to me. And in the second half, they’re always amazed at how much I’ve improved based on the feedback.

The feedback had nothing to do with it, of course. I just happen to know more in the second half of a project.

Using unnecessary buzz words and bloating a proposal document is all too common now in software industry. Sometimes it goes upto the extend that it makes me sick. Yesterday I was watching CNBC and one senior manager of a software company was saying - “this strategic acquisition of rival will position us to provide holistic support to our clients” or something like that…

Installing tomcat 6.0 on MediaTemple dedicated server

In the last post, I looked at how Java can be configured on MediaTemple CentOS server. This post will show you how you can install Tomcat on your server.

1. Download and extract tomcat 6.0 binary distribution. Get the URL of the tar.gz file from http://tomcat.apache.org/download-60.cgi. From the ssh console download using wget.

wget http://apache.deathculture.net/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz

Now use the following commands to extract the files.
gunzip -d apache-tomcat-6.0.14.tar.gz
tar -xvf apache-tomcat-6.0.14.tar

2. set JAVA_HOME variable to point to your Java installation.For this you need to login as root. Create or edit a java.sh inside /etc/profile.d. Add the following line in java.sh.

export JAVA_HOME=/usr/java/jdk1.6.0_04

3. Start tomcat from bin folder. Login again to SSH using your non root user id.  The startup script for tomcat is in [tomcatdir]/bin. Change to bin and then execute,

./startup.sh

Voila! You should see the tomcat server running at www.yourdomain.com:8080/

To shutdown you can use ./shutdown.sh, but for some reason I am not able to execute it. So currently the only way to stop is to kill the Java process from SSH. Update: I got shutdown.sh working by adding -Xmx4m as JVM parameter in catalina.sh for “stop” block of code.

Now my next task is to get Struts2 sample application running on this…

Installing Java 1.6 (JDK6.0) on MediaTemple dedicated virtual server (dv)

I recently bought a dedicated virtual hosting service on MediaTemple. The idea was to use this server for all my future projects in J2EE and Ruby on Rails. For $50/month, this service is not exactly cheap, but I am yet to find an alternative VPS host (I am planning to evaluate SliceHost sometime in future)

By default, the server comes with Ruby 1.8.5, but not Java compiler. My first task was to install latest JDK (1.6) on the VPS server.

All dedicated virtual servers hosted by MediaTemple comes with a CentOS installation. You can check that by running the following command on SSH terminal.

cat /etc/redhat-release

I got CentOS release 4.5 (Final) on the console.

Now before you can install Java, you need to know the password of “root” user in your server. For this, create a new support request and ask MediaTemple to set your root password of your choice.

Now comes the second problem. How do you download Java binaries onto your server? One option is to download JDK on to your machine and then upload it to server. Since the file size is more than 60MB, I didn’t want to use this method.

What you need is the ability to download J2SE 1.6 rpm binaries directly to your dedicated server. The Linux command “wget” is the ideal tool for this. But what is the URL to download?

The problem with Java download is that there is no direct link available for download. In order to force license display and acceptance, Sun uses a hidden redirect to the actual download. You need to find this URL.

For MediaTemple installation, select Java download which is “jdk-6u4-linux-i586-rpm.bin” from the list at http://developers.sun.com/downloads/. Using Firefox, start the download. Immediately pause the download and then righ click on the “resume” link to get the actual download link.

Paste the URL in a text editor and then quote it by adding double quotes at the beginning and at the end of the URL.

Now from the SSH terminal, type the following.

wget <quoted url from text editor> -O j.bin

This will download the Java binary as j.bin in the current folder. Now change to super user mode by typing sudo su.

Make the j.bin executable for using the command chmod a+x j.bin and execute it by ./j.bin. Accept license terms and continue. You will get the Java installed on the MediaTemple DV server.

But you are not there yet! Following is the error I got when I ran “java -version” on the command prompt.

Error occurred during initialization of VM
Could not reserve enough space for object heap
*** glibc detected *** free(): invalid pointer: 0xb7e71280 ***
Aborted

On CentOS you need to do something more to get Java installed. You need to set a link to Java. Execute the following from the root privileges. Change jdk1.6.0_04 to your version of JDK download.

/usr/sbin/alternatives –install /usr/bin/java java /usr/java/jdk1.6.0_04/bin/java 1

After this I was able to get a sample Java program running on the MediaTemple dedicated server. Now the next step is to install Tomcat App server. That is for another day….

Build your next pc under $500 (Rs. 20000)

I recently got a brand new pc assembled. Prices have been steadily dropping for pc components and it is possible to assemble a good system under Rs. 20000 ($500) in India. In other places it should be cheaper. Check out the following specifications and price. I am not an ‘expert in bargaining’ and if you are smart enough you should get the components less than the price indicated.

1. Motherboard - ASUS M2A-VM HDMI - Rs. 4000 ($100)
This is one of the first motherboards to support HDMI. This means you can play HD-DVD or Blue-rays discs. Comes with integrated ATI Radeon X1250 DDR2 800 graphics.Another important feature is that you get dual monitor support - DVI-D and RGB. You can also with the DVI version (without HDMI) and it is cheaper by about $15.

2. Processor - AMD X2 4800+ - Rs. 3500 ($85)
This is a medium range dual core processor from AMD. Depending on your budget you can choose 4200+, 4400+, 4800+ or 5200+. Price difference among 4xxx range is rather small and hence I prefer 4800+

3. Harddisk - Seagate 80GB SATA - Rs. 1500 ($40)
I normally don’t need even 80GB since I plan to use this PC exclusively for programming and related stuff. Don’t go for higher capacity disks unless you really need it in next one year. Another option is 160GB SATA which costs around Rs.300 ($8) extra.

4. RAM - 1GB DDR2 800 (2 nos) - Rs. 2200 ($55)
These days you need atleast 2GB of RAM. So go for two 1GB DDR2 800 modules. If you are into real multitasking with eclipse in one monitor and radrails in another, you can probably go for four 1GB modules. The motherboard supports it!

5. Cabinet with SMPS - 500W Mini- Rs. 1500 ($40)
Go for a 500W mini cabinet. There are too many in the market. Go with the one which has better warrant terms.

6. LCD Monitor - 19″ WideScreen - Rs. 8000 ($200)
Here your options are between a 17″ and 19″ inch LCD screens. I think it is better to go for 19″ considering the small price difference (around 10% extra). Here some of the choices are samsung, LG, viewsonic etc. Buy it after comparing the lcd monitors since each one has his own preferences. It may be a good idea to go with the one which has integrated speakers (if you not music crazy!)

7. Keyboard,Mouse and DVD Drive - Rs. 2000 ($50)
Again too many choices to list here. Go with a medium model which is good enough for regular use.

So total price = Rs. 22700 ($565). Oops! We started with a budget of Rs. 20000. Now here comes your bargaining skills. When you are buying all these together you might be able to reduce Rs. 700 atleast. Then change your monitor to a 17″ and AMD X2 processor to 4200+. Now you have an excellent desktop pc under $500! :-)

You can get almost all the items in this list from Amazon. Those are listed below. Of course, you cannot bargain with a Website :-)


Changing spamming tactics

I had submitted this blog to a couple of free web directories. The end result is that I don’t have much of traffic, but I do get plenty of spam comments. Now recently it has reached a new milestone of 100 spam comments per day.

I think spam study will be a fascinating field. Most of the spam is auto generated, but I do get occassional manual spam. If I have a post on “ruby”, the comment will be something like “your ruby knowledge is amazing!”, flattering indeed!

Then there is a kind of spam message no one is going to approve. These are long comments and most of them contains over 10 links! These guys seem to survive on blogs which are not moderated.

I had even some comments pleading not to delete them.

Now you would be wondering why I am writing a post on blog spam? Well, today I got a reason - I got a gem among the comments that needed moderation. Check out the following screenshot.

Best spam comment I have received

This is guy is telling me not to delete the message and he says “the money from spam will go to help hungry children in uganda”! Funny that he calls the message as spam :-)

I don’t know whether this tactic will work. Ok. This might work. After all, even in India nigerian spammers are able to cheat some innocent (read: greedy) guys.

On war and god

Most of us don’t think that we will probably die tommorrow. But it is quite different for soldiers who are on the battle field. I had always thought that someone must be really stupid to join to an army.

Today I came across this blog post written by Andrew Olmsted. He was killed on January 3rd,2008 in Iraq. This blog post was written earlier by him and was to be published in case he dies in the war. It is a very touching post and the following paragraph struck me most,

Soldiers cannot have the option of opting out of missions because they don’t agree with them: that violates the social contract. The duly-elected American government decided to go to war in Iraq. (Even if you maintain President Bush was not properly elected, Congress voted for war as well.) As a soldier, I have a duty to obey the orders of the President of the United States as long as they are Constitutional. I can no more opt out of missions I disagree with than I can ignore laws I think are improper. I do not consider it a violation of my individual rights to have gone to Iraq on orders because I raised my right hand and volunteered to join the army. Whether or not this mission was a good one, my participation in it was an affirmation of something I consider quite necessary to society. So if nothing else, I gave my life for a pretty important principle; I can (if you’ll pardon the pun) live with that.

There are a lot of people who blame George Bush for the war. But the reality is that he is a democratically elected president and had the majority support in US for going ahead with the war. The soldiers who fight the Iraqi war are just doing their duty.

People die every day due to diseases, accidents and due to old age. But people also die due to human stupidity. There cannot be a better example for human stupidity than Iraqi war. For any conflict, war must be the last choice, not the first!

Personally I don’t believe in God. But most of the time I strongly wish that there is a God who values goodness in men and who punishes those who perpetrates violence and war.

There is no hope and no justice if there is no God.

Hurray! : I won 1 million euro lottery!

Today is my lucky day. I just won the Europe national lottery for one million euros. Here is the mail I got,

Sir/Madam,

CONGRATULATIONS: YOU WON 1,000,000.00.

We are pleased to inform you of the result of Europe National Lottery which was held on the 15th, March 2007. Your e-mail address attached
to e-ticket number: 834509819, with Prize Number: 237359446 drew a prize of 1,000,000.00 (One Million Euros).

This lucky draw came first in the 2nd Category of the Sweepstake. You will receive the sum of 1,000,000.00 (One Million Euros) from
our authorized bank.Because of some mix-up with sweepstake prizes, including the time limited placed on the payment of your prize: 1,000,000.00,
we advice that you keep all information about this prize confidential until your funds: 1,000,000.00 have been transferred to you by our bank.

You must adhere to this instruction, strictly, to avoid any delay with the release of your funds to your person. This program has
been abused severally in past, so we are doing our best to forestall further occurrence of false claims. This sweepstake was conducted
under the watchful eyes of 8,000 spectators. Your e-mail address was selected and came out first by a e-ballot draw from over
250,000 e-mail addresses (personal and corporate e-mail addresses).

This program is sponsored by CFI Networks to compensate faithful internet suffers around the globe. Congratulations for becoming
one of the few lucky winners.With your permission, your e-mail will also be included in the next sweepstake of 5Million.

You must claim your prize: 1,000,000.00 not later than 14-days from the moment you receive this e-mail.
In order to avoid unnecessary delays with your claim from the bank. please contact them immediately,
and quote your winning and personal information to the Bank in all your correspondence with the paying bank.

<< contact information deleted >>

Congratulations.
Angelic Van Theiry.(Mrs)
Coordinator.Europe Million Lottery Internation

But I still don’t understand why the mail is addressed to “undisclosed-recipients”. :-)

Jokes apart, these things are increasingly becoming dangerous. I have got “genuine looking” mails from ICICI, HDFC and Paypal asking for complete details including ATM pin, internet user id et. The “from id” is forged and the URL text looks genuine. The fake site URL also is very similar and they copy the exact branding! What is more problematic is that they even bypass gmail’s spam protection.

Reading Malayalam Websites in Ubuntu (non unicode ones)

Unicode fonts are the best for publishing Malayalam (my native language) content on the web. But many of the popular regional sites such as Malayala Manorama and Deepika still use custom fonts which works on ISO encoding.

In Windows, these fonts are automatically supported. When it comes to Ubuntu, what you see is a jumbled set of characters. Following set of instructions will help you reading Deepika in firefox. Follow a similar procedure for other sites.

1. Install the custom font. For Deekipa, Malayalam font can be downloaded from http://www.deepika.com/font.htm. Download this to a folder and then using terminal go to the folder. Now copy the font to /usr/share/fonts,

sudo cp mlkr0ntt_TTF.ttf /usr/share/fonts

2. Refresh the Ubuntu font cache. For that run the following command,

sudo fc-cache -fv

3. Close all firefox sessions and reopen firefox. Go to www.deepika.com. Now from the firefox menu select the following,

View => Character Encoding => Western (ISO-8859-1)

Now you should be able to see some Malayalam characters!

Installing Adobe flash player on Ubuntu 7.10

These days flash player is a must have plugin for browsers. Without it you cannot a lot of video sharing sites such as YouTube. By default Ubuntu doesn’t come with flash player since the Adobe flash player is proprietary. So I did,

jayson@jayson-desktop:~$ sudo apt-get install flashplugin-nonfree

Everything went smooth till the last step where I got,

Download done.
md5sum mismatch install_flash_player_9_linux.tar.gz
The Flash plugin is NOT installed.

It turns out that Ubuntu does a MD5 checksum check on the packages it install. Unfortunately Adobe changed the flash player installer sometime in December. So what to do?

The solution is to manually install flash player. Ensure that you close all the browser windows before doing this.

# get the flash player tar
wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz

# extract the tar file
tar xvf install_flash_player_9_linux.tar.gz

# run the installer
cd install_flash_player_9_linux
./flashplayer-installer

# specify the firefox folder during installation
/usr/lib/firefox

Thatz it. Now you can watch flash videos on Ubuntu!
This also shows why it may be better for your grandma to stick with Windows! :-)

Migrating from Windows to Ubuntu

I recently uninstalled Windows from all my machines and installed Ubuntu on them. There are two reasons for this,

1. I don’t want to buy a new Windows license whenever I buy a new machine. I already have spent over Rs. 10K on Windows licenses and is not ready to pay again!

2. Ubuntu supports all my hardware out of the box! Even WiFi cards(NetGear) and WiFi adaptors (Dlink DWL-G122)  are supported when you boot Ubuntu.

It has been a smooth transition. One of the things that I enjoy a lot is the Pidgin IM client. Now I can login to all my IM accounts at once. Hence I got in touch with old friends on some of my old IM accounts!

Here is quick re-cap of what I did,

  • Booted using the latest ubuntu release - 7.10.
  • Deleted all existing partitions on my 80GB disk.
  • Created a root partition of 6.5GB and a swap partition of 1GB. I kept these partitions below 8GB since on M2N-MX motherboard, grub is having problems booting from a partition over 8GB!
  • Installed the following software using apt-get - Java 1.6, Aptana IDE, unrar, Lyx, Ruby1.8.6 and Rails2.