Tuesday, July 31, 2007

Hate spending a fortune on passport photos?

It is not often that one needs passport photos, but when the need arises, it is usually arrives in the form of a deluge! Anyone who has had to file for the I485 or the N400 or Passports/Visa/PIO/OCI for the entire family knows what I am talking about. And those passport photos are not cheap either!

If you have had yours taken recently, you know how it works at the photo shops. They snap your photo using a digital camera and then hand it over to their photo software to do the rest. If you are a little bit enterprising, here is a cheap but efficient way of getting your passport photos.

Use your digital camera to take the photograph.
If you choose, you can use photo-editing software like Picasa (a free service) to refine the photo.
Then, use epassportphoto (also a free service) and follow the steps to upload your photograph, format to desired size and then save it back to your computer. Each image will be automatically sized to fit on a 4x6 paper and will have six to eight copies of your photograph depending on your chosen size. Copy this saved image onto your portable media and take it to a photo-printing lab to have it printed. If you are not able to use portable media, you can even choose a service like Snapfish (listed on the website) to have your photos printed at a neighborhood photo shop.

Alternatively, you can even print it at home provided you already have the required hardware. Once you have the printout, cut out the photographs and you are ready to put them to use! All this for the price (maybe lesser) of having a single 4x6 sheet printed.

Thursday, July 26, 2007

magicJack - the advent of truly portable, affordable VOIP?

When the nation’s second largest VOIP service provider bit the rocket (err… bullet) mid-July, it was time for me to start searching for another provider to satisfy my long distance calling requirements. My home phone is local only and I cannot use my cell phone for long distance.

VOIP providers lost no time in making attempts to woo ex-Sunrocket customers. Via talk was offering a ‘contract buyout’ of up to a year for those who got scorched by the rocket’s fumes, but that offer was cut overnight to a maximum of six months (I understand it was later cut down to three months)! This prompted me to start looking elsewhere for a solution that would work for me.

The search led me first to GrandCentral (see previous post), the telephone management company that was recently acquired by the ubiquitous Google. The concept was interesting but it still didn’t solve my problem, as it worked fine for incoming calls, but I wouldn’t be able to call long distance using the GC number.

Next, I took a look at Skype that I had first used a few years back when it was still a free service. I recalled that call quality was not that bad, but I didn’t get around to using it much at that time. This service doesn’t give you a dedicated phone line either. With Skype’s new avatar, it looked like I will have to pay about 60 bucks a year to have the ability to make unlimited incoming and outgoing calls within the US. And then I had also heard of complaints about their overall call quality.

A little more searching got me to what I might say is an interesting alternative in the form of magicJack. This is basically a VOIP solution, but it doesn’t involve an adapter or wires. Instead, it comes in the form of a USB device that has a phone jack on the other end. The first time you plug in the device into your computer, you will be allowed to choose a US phone number and you are ready to start making/receiving calls. You can receive calls either on the computer itself or on the phone that is plugged into this device. The only downside is that your computer will have to be constantly on (with an active broadband connection) if you need to make calls. Yes, traditional VOIP is portable, but magicJack goes one up here as there are no adapters or additional wires to carry around! The magicJack device includes voicemail and has a feature whereby incoming calls can be forwarded to another number. All this for a cost of $20 per year! Yes, that was not a typo; it is really supposed to cost you $20 a year for unlimited long distance within the US. As this company is still in beta, they have very few area codes available at this time.

An interesting possibility is the use of magicJack in combination with GrandCentral. Setup GrandCentral to transfer all incoming calls to the numbers of your choice (home/cell /magicJack etc.) and use the magicJack number to make your long distance calls. What makes it even more appealing is the possibility of using this device to call your US number from anywhere in the world provided you have a computer with a broadband connection. And setup is a breeze!

MagicJack even did it’s own bit in trying to attract Sunrocket’s ex-base by placing this humorous ad on it’s website.

Tuesday, July 24, 2007

GrandCentral - Manage your phones with one number!

Grand central has since been acquired by Google and is now called Google Voice.

Recently, I came across a telephone provider that had come up with an innovative approach of treating your phone number. GrandCentral operates on the simple concept that your phone number(s) should be tied to you, not the other way around!

What a neat concept! These days, most of us have at least three phone lines. Heck, some of us even have more phone lines than TV remote controls! How would it be if we can give out just one number to all of our contacts and that one number then manages the rest of our numbers? That way, regardless of the number of times our numbers may change, as long as the main number doesn't change, we don't have to communicate a number change ever again! That one main number is the number that you can now have from GrandCentral.

Once a GrandCentral (GCNumber) phone number is assigned to you, you can keep it for ever and you can link up all of your US numbers to your (US) GCNumber. Anybody calling your GCNumber will be forwarded to the (USA) numbers that you have asked your GCNumber to forward the call to. There are a host of other cool settings that can be setup right down to the individual contact level. You can record your conversation with a press of a button, have your voicemails forwarded in the form of emails, setup buttons on websites (like the one I have in the sidebar on this blog), transfer your call to another of your phones in the middle of your conversation and much much more.

Check out the demo that is posted on Tom's blog. For more information, goto the GrandCentral website or google 'grandcentral phone'.

Itching to check it out? Ever since Google purchased Grand Central early this month, signing up is by invitation only. I had been able to sign up thanks to Tom, and I now have a very few invites left. Just leave your full name and email Id. in a comment if you would like to be invited.

Will the insult go unpunished this time?

The recently concluded Presidential elections in India has been widely perceived as a big joke that was thrust upon the hapless people of India against their wishes. This was a case of the politicians (well, almost all of them) brushing aside the popular will of the people to ensure that the 'prestige' that came with the highest office of the country was retained within the 'political class'.

The people of India wanted the highly popular current incumbent Dr Abdul Kalam to continue for another term, but the politicians (as usual) were not willing to listen. There was no major election coming up, so they had little to fear. Given the short memory of the voters, by the time the next election came about, this incident would have long been forgotten.

The reasoning that only a politician should be President was put forth, but it was not the least bit convincing. The general perception was that the politicians looked upon the post of the President as their exclusive birth-right. In the long run, such an attitude may not sit well with the citizens of the land.

The final insult came about when many politicians started throwing verbal jabs at the Dr Kalam when he agreed to contest the election at the behest of the 'Third Front'. The ruling coalition took their banter to a new level when even veteran leaders came out criticizing Dr. Kalam for his decision. Never once did they think that by making digs at a Bharat Ratna, they were undermining their stature in the eyes of the people even further. It looks like the politicians are quite a distance away from learning to understand that if India is to make strides into the future, it is essential that the prominent posts of India should be represented by accomplished, younger beings in the class of Dr. Kalam (politician or not). Gone are the days when such posts were reserved only for old hags or politicians on the verge of retirement.

This incident has brought back calls from various groups to make the election of the President of India a direct election where the people elect him/her instead of the present format where the politicians get to elect the President (and the VP).
I can only hope that, come election time, the people of India don't forget this insult that was thrust down on them by their elected politicians.

The politicians may justify their decision by saying that India was ready for a female Head of State, but that argument is pretty feeble. I think India is past the stage where we will have to have a Head of State from each sect and category. India, at this stage of her economic journey, is ready for Heads of State who, among other things, will be able to rub shoulders with the leaders of the world on an equal footing and who will be the face of a knowledgeable India to the world. In this era when information and knowledge is king, a politician is the last person that anybody would turn to in search of such a face.

In hindsight, it may go down in history that the lady at the helm of the Congress party didn't want Dr. Kalam to continue in office. The reason? My opinion: Vendetta. Revenge. Three summers ago, the lady almost became the Prime Minister of India. It was widely believed in several circles that she was advised by the President's office not to take up the post. What did Dr Kalam tell Sonia on that fateful day when she decided to 'give up' the seat of power? We may never know, but it may well turn out that the whole drama that unfurled in front of us over the last few weeks may be a direct result of that piece of advice that Dr. Kalam gave Sonia on an eventful summer day.

Friday, July 13, 2007

Using Monitor to trap errors

In good old RPG, what would we do if we wanted to check if the value in an alpha variable is integer or not?

Well, we would have defined a constant that has all integers or characters as the value (like '0123456789' for integers, I will not even try to demo the alpha equivalent) and then use the CheckR Opcode or the %CheckR BIF (built in function) to determine if the variable has any matches or not.

With the advent of Free RPG and the Monitor OpCode, there is a better way to do this. Here is how we can handle the error (using free form RPG) if the value in an alpha field is not integer:

Monitor;
CustInt = %Int(%Trim(Cust));
OsCust = %EditC(CustInt:'X'); // Customer number
On-Error; // If value is non-integer
OsCust = Cust;
EndMon;

The vlaue in the variable Cust should always be numeric, but sometimes, it turns out that it can be alpha too. When that happens, as the statement [CustInt = %Int(%Trim(Cust)); ] throwing an error condition is within the [Monitor - EndMon] block, the system flags an error condition and control skips to the statement following the "On-Error" statement. In my case, I just move the value in Cust as is to the OsCust field (which is also alpha)! The "On-Error" statement is executed only when an error condition exists within the Monitor block.

If the value is numeric, I make sure that it is padded with leading zeros (that is where the %EditC comes in handy) before moving it into the target alpha field.