Polymorphism

Multiple implementations behind single public interface

Examples:

  • Multiple cars with different engines behind similar interface to drive them.
  • Virtual method with same signature implemented in different classes in same hierarchy.
  • Two different classes implementing same interface.
  • RSS
  • Print
  • PDF
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • Digg
  • Add to favorites
  • StumbleUpon

Encapsulation

Private implementation behind public interface

Example:

  • Car engine is an implementation which is ‘hidden’ behind public interface made up of steering wheel, clutch, gear-knob, brakes, accelerator and key.
  • In a restaurant, waiter is public interface which hides kitchen & chefs – an implementation.
  • Computer IO (Display, mouse, keypad, touchpad) is an interface while mother-board, processor, RAM etc. are implementation.
  • RSS
  • Print
  • PDF
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • Digg
  • Add to favorites
  • StumbleUpon

I have questions…

1. How can we defend Ram for sending pregnant (that too with twin) Sita to jungle?

2. How can we defend Lord Krishna having many wives?

3. How can we defend Lord Krishna to have affair with Radha who was already married?

4. How can we defend Ram taking Agni-pariksha for Sita and not taking it himself ?

5. How can we say “No” to a child begging for a rupee at the cross roads?

6. How can we say “We have to bribe in India”, if we believe in Dharma?

7. Where is Atma? What is it? Who has it? How to find it? And what is Parmatma and Jeev?

8. We are going to have rebirths? Where? Why? Who decides?

9. Ramayana and Mahabharata has actually happened? Why such big wars which sacrificed many-many innocent soldiers for resolving disputes of respective Royal families?

10. How come planets orbiting thousands and millions kms away affect us?

11. Are there ghosts? Why cannot they join our society and we give them voting rights – at least to good ones?

12. Why a person with money is respected very much, at least in person, regardless of means of earning it in our religious society (and poor guys never get real respect)?

13. We thank god in our prayers. Why do not we thank (at least few prominent ones) scientists, researchers, doctors, engineers etc in our prayers?

  • RSS
  • Print
  • PDF
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • Digg
  • Add to favorites
  • StumbleUpon

Why would you buy Nokia N8 ?

I am aware that there is a war out there.

Following is what I find ‘valuable’ in Nokia N8 based on my own experience, in no particular order. Note that India still has no good 3G coverage.

1. Watch AVI, mp4 videos.

You can watch a movie easily without breaking for recharge.

Performance is amazing. Both video and audio goes great.

2. Store movies on 16GB on-device or 32GB card storage.

Less hassles. Also, copying files is reasonably fast.

3. Connect to HD TV with HDMI cable.

4. Good battery performance.

I spend whole day easily with video, game, bluetooth, wifi and phone usage.

5. Connect USB drive to device.

This is very convenient some times.

6. Great Radio.

Amazing audio quality.

7. Great Audio output with supplied headset.

Keep on hearing music!

8. Great camera.

I have almost forgot I have a digital camera. Except limited zooming, as with all mobiles, there is no other short-coming compared to usual digital cameras.

9. Organize photos.

You can create albums or tag your photos.

10. Great video capture.

Really great quality.

11. Reasonable fast search within device.

12. Charge battery both from USB or wall charger.

13. Sturdy, scratch-less metal body.

14. Superb power saving mode. Only works with GSM.

15. Easy connectivity with PC with Ovi Suite 3.x.

16. Easy to update device.

17. GPS with free maps with own voice navigation.

18. Gr8 FM transmitter.

19. Easy backup on PC or web.

20. Free music download.

21. Bluetooth which does not eat away battery.

22. Connect to internet via WiFi.

23. Check mails/News/Cricket score or browse using Opera mini/mobile browser.

24. Use snaptu for various information from net.

25. Use skype and fring to call or chat on net.

26. Use free software to access wikipedia, youtube, dictionary, translation etc .

27. Very reasonable price.

  • RSS
  • Print
  • PDF
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • Digg
  • Add to favorites
  • StumbleUpon

Gap analysis template for single requirement (against a software product)

Can this requirement be dropped?
Yes No NA

If yes, provide details.

Is requirement implemented fully, as it is, by proposed product?
Yes No NA
Does product has superset functionality of what is required?
Yes No NA

If yes, provide details.

Can this requirement be replaced by another requirement to remove gap with proposed product?
Yes No NA

If yes, provide details.

Can this requirement be changed to remove gap with proposed product?
Yes No NA

If yes, provide details.

Is requirement implemented fully, by tweaking requirement a bit, by proposed product?
Yes No NA

If yes, provide details.

Is requirement implemented fully, by tweaking user operations, by proposed product?
Yes No NA

If yes, provide details.

Is requirement implemented partially by proposed product?
Yes No NA

If yes, provide details.

Does requirement need repurposing proposed product feature/use case/UI element/DB element?
Yes No NA

If yes, provide details.

Does requirement need configuring proposed product?
Yes No NA

If yes, provide details.

Does requirement need change in UI of proposed product?
Yes No NA

If yes, provide details.

Does requirement need change in proposed product code or database? Please note that ‘change’ is considered different than ‘addition’.
Yes No NA

If yes, provide details.

Does requirement need addition in proposed product code or database?
Yes No NA

If yes, provide details.

Does requirement need development effort?
Yes No NA

If yes, provide details.

‘NA’ stands for ‘Not Applicable’.

  • RSS
  • Print
  • PDF
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • Digg
  • Add to favorites
  • StumbleUpon