Indian Photographers II: Raghu Rai

Having talked about Lala Deen Dayal I want to move on to a more contemporary photographer: Raghu Rai. He was born in 1942, and is a photographer and photojournalist since 1965. He joined The Statesman in 1966 and was awarded the Padamshree in 1971.

A photograph by him:


Some more photos featuring him:

Raghu Rai
Raghu Rai

A gallery of his photos is available here.

(Photographs are copyrighted, except for the one labelled ‘Raghu Rai’, which is under CC-NC-ND)


Drawing on Palm

When I purchased my Sony Clie handheld, I was quite happy about the ability to create scribbles/drawings. This method, I found, was much better than writing on paper and scanning because the result had fewer colors and all sorts of transformations – like rotation, conversion to B&W etc – were much easier. Also the results could be saved as GIF because it had fewer colours – with the additional benefit of having a transparent background.

This is a landscape scene that I drew back then:

Of course, the Clie is no longer working, and I am currently without a replacement. I do miss my Clie!


When NOT to normalise the database

When talking of Database Normalisation, textbooks often talk of BCNF, fifth and higher normal forms. However, in practice (in large software/ERPs) I have rarely noticed normalisation beyond Third Normal form. In fact, there is a certain degree of redundancy that is desirable.

While doing database design, I believe there are two critical aspects that should be kept in mind but I see ignored in a lot of common software.

The first is the time aspect of data. First – an example from finance. Consider a company having multicurrency invoicing. The tables can be designed as:

INVOICE: InvoiceID, ..., Currency, BaseCurrency, TransactionDate, ...
CONVERSIONS: FromCurrency, ToCurrency, EffectiveDate, RateMultiplier

This is a design having no redundancy. On the basis of the three fields in the INVOICE relation, we can always find out the latest row from the CONVERSIONS table having EffectiveDate less than TransactionDate. Hence we can determine the RateMultiplier.

Consider another design:

INVOICE: InvoiceID, …, Currency, BaseCurrency, TransactionDate, RateMultiplier, …
CONVERSIONS: FromCurrency, ToCurrency, EffectiveDate, RateMultiplier

Here, the system determines the value of the RateMultiplier at the time of invoice creation and records it permanently within the INVOICE table itself. To me this would be more mature design. Why? Because a lot of data in the INVOICE table would actually depend on the RateMultiplier: for example the VAT details. If on 1-JAN-2009 we know that the exchange rate is 1.1. However, on 3-JAN-2009 we come to know that the rate was incorrectly recorded. Someone changes the CONVERSIONS table to reflect the new exchange rate, of 1.2. All the details in the INVOICE table for the invoices created between 1-JAN and 3-JAN become inconsistent since the BaseCurrency is now inconsistent with the RateMultiplier.

Now consider an example from HR appraisal systems. A table stores what stage an appraisal process is at for a particular employee. This is then used to decide what access he has.


Note that this has no Date, or Year field. An employee is trying to see records for the previous year appraisals, yet is unable to see some of the data, because current appraisal process is still in initial stage.

The next problem is that of storage of “under calculation” fields. For example, consider the training department maintains the scores of each student trained. The test administered is of 100 marks, but has a weightage 40. Proposed design:

SCORES: CandidateID, TestID, Score, Flag

At the time of recording, the Flag is set to N. Thereafter a process runs that multiplies the score by 0.4 and sets the Flag to Y.

In my opinion a better design would be to retain both the scores even though the pre-weightage score is not relevant to the business process, because a process can also terminate in between due to erroneous data being supplied. Hence if the process ends after setting the flag to Y, and before changing the score; or in reverse order: after changing the score and before setting the flag then we end up with inconsistent data. Improved design:

Scores: CandidateID, TestID, Score, WeightedScore

At the time of recording, Score is entered and WeightedScore is set to zero. Thereafter a process runs that multiplies the Score by 0.4 and stores the value in WeightedScore.

The central idea is to retain all information permanently so that even if the process fails, we know what data existed.


Bloggers NOT for Advani

BloggersIts election time in India once again, and Mr. L.K.Advani, of the BJP has asked for support from Bloggers. However, nowhere on his blog he mentions why they should support him.

His own party condemned him for his views on Jinnah, he has competition from the likes of Modi and the party does not have a clear leader.

The campaigning is all negative: finding faults with the Congress government, with NO mention of a vision for the country or what he will do if brought to power.

Last of all, he is foolish enough to say “it should be legislated that a PM should be a member of the Lok Sabha”. Anyone can understand that he said this because Manmohan Singh is not a LS member. Is he so afraid of competing against Manmohan Singh? He knows he cannot win any other way: so outlaw the candidature of current PM!


Of Tailor, Jeweller and movie Director

the cut

What is common between a tailor, a jeweller (diamond polisher) and a movie director? Their careers depend on where they “cut”!

So also with us blog writers, teachers, managers etc. – people who need to communicate for a living – it is important where we draw the line. What we leave out of our discussion is as important as what we keep. A discussion has to be interesting and focused: the moment you let go of a discussion, the audience looses interest. This interest is very difficult to regain control of. Hence, leave out the uninteresting, or make it interesting and related!


Ik Onkar wallpaper

Today I am sharing a wallpaper that can be used as the center piece of your screen. It explains the meaning of Ik Onkar. This is my own interpretation, apologies if I have got it wrong – please let me know through the comments section.

Ik Onkar

Click on the photo for a bigger version.

Excellent Punjabi explanation of Ik Onkar:

Central to the meaning of Ik Onkar is the following couplet from Gurbani:

ਏਕਮ ਏਕੈ ਆਪੁ ਉਪਾਇਆ ॥
एकम एकै आपु उपाइआ ॥
At first existed the formless One without any manifestation, Who then became manifest.

ਦੁਬਿਧਾ ਦੂਜਾ ਤ੍ਰਿਬਿਧਿ ਮਾਇਆ ॥
दुबिधा दूजा त्रिबिधि माइआ ॥
He created the sense of duality, and thereafter came the tri-phased Maya.

ਚਉਥੀ ਪਉੜੀ ਗੁਰਮੁਖਿ ਊਚੀ ਸਚੋ ਸਚੁ ਕਮਾਵਣਿਆ ॥੪॥
चउथी पउड़ी गुरमुखि ऊची सचो सचु कमावणिआ ॥४॥
By climbing the steps under the guidance of the Guru, and earning the Guru’s Order – one finally liberates oneself from the influence of Maya and reaches the Fourth State of Eternal Truth.

Maya is everything that we can see with our eyes and the emotions we feel. The True Lord is the underlying hidden entity.

So, within “Ik Onkar”, the “Onk” or the “Ong” stands for Maya and represents the “creation, preservation and destruction”. The “Ik”, which means “One” stands for the Lord in innate state. So first existed the formless Lord, Who then manifested as the visible universe (and universes beyond ours). Within the universe there is the positive energy of the Lord, which takes care of his Creation, and the negative energy of Maya which is responsible for sorrow: love, hate, anger etc. The suffix “Kar”, in Punjabi, means a boundary or demarcation (eg. the Punjabi word Raamkaar). Here, it means the demarcation of Divine Will. So, all creation-preservation-destruction happens under the Divine Will and is not random. One who grasps hold of this Divine Will, under the Guru’s instructions is liberated and reaches the highest zone of Eternal truth. He is not subject to Maya’s influence anymore.


Chaupai Sahib

Chaupai sahib is Gurbani composed by the tenth Sikh Guru, Guru Gobind Singh. This Bani is one of the five Banis recited by the initiated Sikh every morning.

Below is a beautiful rendering of Chaupai Sahib, with translation. Please listen; it is one of my favourite Banis Continue readingChaupai Sahib


Guns on video games

As a teenager, I used to have a video game console with a ‘gun’. On the screen you could see some ducks – flying around – and you had to shoot them down. I used to wonder how, with a normal TV – the gun was able to detect whether a duck has been shot or not.

Now I know – the computer controlling the device blanks the screen for a fraction of a second, and shows only the duck in white. On the gun there is a ‘photodiode’ – a small LED like thing that can detect light. If it senses darkness followed by white light, it means a duck has been hit.

Video Game

Licensing and information about the blog available here.