Thursday, July 5, 2007

"ಭಾರ್ಗವಿ" ನೃತ್ಯ ತಂಡದ ಬಗ್ಗೆ ....

ಮೊನ್ನೆ ಶನಿವಾರ ಸೋನಿ ಟಿವಿಯಲ್ಲಿ ಪುನರ್ ಪ್ರಸಾರವಾಗುತಿದ್ದ ಭೂಗಿ ವೂಗಿ ನೃತ್ಯ ಕಾರ್ಯಕ್ರಮ ನೋಡುತ್ತಾ ಇದ್ದೆ. ದೇಶದ ಮೂಲೆ ಮೂಲೆಗಳಿಂದ ಬರುವ ಸ್ಪರ್ಧಿಗಳ ನಡುವೆ ಆರರಿಂದ ಅರವತ್ತು ವರ್ಷಗಳವರೆಗಿನ ವಿವಿಧ ವಿಭಾಗಗಳಲ್ಲಿ ಜಿದ್ದಾ ಜಿದ್ದಿನ ಸ್ಪರ್ಧೆ ಈ ವೇದಿಕೆಯ ಮೇಲೆ ಕಾಣಲು ಸಿಗುತ್ತದೆ. ಸ್ವತ: ಉತ್ತಮ ನೃತ್ಯ ಪಟು ಮತ್ತು ನಟರಾದ ಜಾವೆದ್ ಜಾಫ್ರಿಯವರು ತಮ್ಮ ಸಹೋದರರೊಂದಿಗೆ ಈ ಕಾರ್ಯಕ್ರಮವನ್ನು ನಡೆಸಿಕೊಡುತ್ತಾರೆ. ತಮ್ಮ ಲವಲವಿಕೆಯ ಮಾತುಗಳಿಂದ, ಹಾಸ್ಯಗಳಿಂದ ಕಾರ್ಯಕ್ರಮದ ಯಶಸ್ಸಿಗೆ ಇವರದ್ದೂ ಸಿಂಹ ಪಾಲಿದೆ.

ಆ ದಿನದ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ಒಂದು ಸುಂದರ ನೃತ್ಯದ ಬಳಿಕ, ಕಾರ್ಯಕ್ರಮ ನಿರೂಪಕರಾದ ಜಾವೆದ್ ಜಾಫ್ರಿಯವರು ಮುಂದಿನ ತಂಡ ಕರ್ನಾಟಕದ ಉಡುಪಿಯಿಂದ ಬಂದಿದ್ದಾರೆ ಎಂದು ಘೋಷಿಸಿದಾಗ, ರೋಮಾಂಚನದ ಜೊತೆಗೆ ಏನೋ ಪುಳಕ, ನಮ್ಮ ಊರಿನ ತಂಡ ಎಂಬ ಹೆಮ್ಮೆ. ಎಲ್ಲರನ್ನೂ ಕರೆದು ಟಿವಿ ಮುಂದೆ ಕೂರಿಸಿದೆ.

ಬಣ್ಣ ಬಣ್ಣದ ನವಿಲಿನ ವೇಷ ಭೂಷಣ ತೊಟ್ಟ 6 -7 ಮಕ್ಕಳನ್ನೊಳಗೊಂಡ ತಂಡ ವೇದಿಕೆಯ ಮೇಲೆ ಬಂತು. ತಮ್ಮ ನೃತ್ಯಕ್ಕಾಗಿ ಎಲ್ಲರಂತೆ ಪ್ರಸಿದ್ದ ಹಿಂದಿ ಚಲನ ಚಿತ್ರಗಳ ಹಾಡನ್ನು ಆರಿಸಿಕೊಳ್ಳದೆ ಪ್ರವೀಣ್ ಗೋಡ್ಕಿಂಡಿಯವರ ರಾಗ್ ರಂಗ್ ಧ್ವನಿ ಸುರುಳಿಯ ಒಂದು ಅದ್ಭುತ ರಾಗವನ್ನು ಆರಿಸಿಕೊಂಡಿದ್ದರು.ಇನ್ನು ಅವರ ನೃತ್ಯದ ಬಗ್ಗೆಯಂತೂ ಎರಡು ಮಾತಿಲ್ಲ, ಒಂದು ಹೊಸ ತರಹದ ಪ್ರಯತ್ನದಲ್ಲಿ ಜಿಮ್‌ನ್ಯಾಸ್ಟಿಕ್ ಬಾಲೆಯರನ್ನೂ ಮೀರಿಸುವಂತೆ ದೇಹದಲ್ಲಿ ಎಲುಬು ಇಲ್ಲವೇನೋ ಎಂದು ಸಂಶಯ ಬರುವಂತಹ ಒಂದು ವಿಶಿಷ್ಟ ಅತ್ಯದ್ಭುತ ನೃತ್ಯ ಪ್ರದರ್ಶನ ನೀಡಿದರು.

ಕೊನೆಗೆ ನಿರೀಕ್ಷಿಸಿದಂತೆ ಅವರ "ಭಾರ್ಗವಿ" ತಂಡಕ್ಕೆ ಬಹುಮಾನವೂ ಬಂತು. ಬರದೇ ಇರಲು ಸಾಧ್ಯವೂ ಇರಲಿಲ್ಲ !. ತಮ್ಮ ಪ್ರದರ್ಶನದ ಬಳಿಕ ನಿರೂಪಕರು ಕೇಳಿದ ಪ್ರಶ್ನೆಗಳಿಗೆಲ್ಲ ಹಿಂದಿ ಭಾಷೆ ಬಾರದ ಕಾರಣ ಇಂಗ್ಲಿಷ್‌ನಲ್ಲೇ ಉತ್ತರಿಸ ತೊಡಗಿದರು. ಕೊನೆಗೆ ಬಹುಮಾನಗಳ ಘೋಷಣೆಯಾದ ಬಳಿಕ, ಈ ಸ್ಪರ್ಧೆಯ ಬಗ್ಗೆ, ತಮಗೆ ಬಹುಮಾನ ಬಂದ ಬಗ್ಗೆ ಎರಡು ಮಾತುಗಳನ್ನಾದಲು ಅವಕಾಶ ಕೊಟ್ಟಾಗ, ಅವರೊಲ್ಲೊಬ್ಬಳು ಹುಡುಗಿ "I will tell this in my mother toungue Kannada" ಎಂದು ಹೇಳಿದ ಮಾತುಗಳನ್ನು ಇಲ್ಲಿ ಹಿಡಿದಿಡಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ. "ನಮಗೆ ಪ್ರೋತ್ಸಾಹ ನೀಡಿದ ಕರ್ನಾಟಕದ ಕನ್ನಡದ ಎಲ್ಲ ಜನರಿಗೂ ನಮ್ಮ ಧನ್ಯವಾದಗಳು, ಮತ್ತು ನಮ್ಮ ಅಜ್ಜಿ ಮಲ್ಲಮ್ಮ ಅವರಿಗೂ ನಮ್ಮ ಧನ್ಯವಾದಗಳು, ಹೀಗೆ ಎಲ್ಲರ ಪ್ರೋತ್ಸಾಹ ನಮ್ಮ ಮೇಲಿರಲಿ". ಅವಳು ಈ ಮಾತುಗಳನ್ನು ಹೇಳಿ ಮುಗಿಸಿದಾಗ ವಾಹ್ ವಾಹ್ ! ಎಂಬ ಉದ್ಗಾರದೊಂದಿಗೆ ಜಾವೆದ್ ಅವರಿಂದ ಮೊದಲ್‍ಗೊಂಡು ಅಲ್ಲಿ ನೆರೆದಿದ್ದ ಪ್ರೇಕ್ಷಕರಿಂದ ಕರತಾಡನಾಯಿತು. ಕನ್ನಡ ಚಾನೆಲ್‌ಗಳಲ್ಲಿ ನಡೆಯುವ ಅಪ್ಪಟ ಕನ್ನಡ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲೇ ಇಂಗ್ಲಿಷ್‌ನಲ್ಲಿ ಮಾತನಾಡುವ ಜನರ ನಡುವೆ, ನಿಜವಾಗಿಯೂ ಆ ಮಕ್ಕಳ ಮತ್ತು ಅವರ ಹೆತ್ತವರ ಕನ್ನಡದ ಬಗೆಗಿನ ಅಭಿಮಾನ ಕಂಡು ತುಂಬಾ ಸಂತೋಷವಾಯ್ತು. ನಿಜವಾಗಿಯೂ ನನ್ನ ಸ್ವಂತ ಸಹೋದರಿಯರೇ ಬಹುಮಾನ ಗೆದ್ದಷ್ಟೇ ಹೆಮ್ಮೆ,ಸಂತೋಷವಾಯ್ತು.

"ಭಾರ್ಗವಿ" ತಂಡಕ್ಕೆ ನನ್ನ ಅಭಿನಂದನೆಗಳು, ಈ ತಂಡವು ಇನ್ನೂ ಹೆಚ್ಚು ಹೆಚ್ಚು ಸಾಧನೆ ಮಾಡಲಿ, ದೇಶ ವಿದೇಶಗಳಲ್ಲಿ ಪ್ರಖ್ಯಾತವಾಗಲಿ ಎಂಬ ಪ್ರೀತಿಯ ಹಾರೈಕೆ.

Friday, April 20, 2007

ಐ ಟಿ ಗ್ರಹದ ಜೀವಿಗಳು



ನಾನೀಗ ನಿಮಗೆ ಹೇಳಲಿರುವ ವಿಷಯ ಸುಮಾರು 25 ವರ್ಷಗಳ ಹಿಂದೆ ನಡೆದಿದ್ದರೂ, ನಿನ್ನೆ ಮೊನ್ನೆ ನಡೆದಂತೆ ನನ್ನ ಮನಸಿನಲ್ಲಿ ಹಚ್ಚ ಹಸುರಾಗಿದೆ. ಸುಮಾರು ಮುಸ್ಸಂಜೆಯ ಹೊತ್ತು, ಪ್ರಶಾಂತ ಹಾಗೂ ನಾನು ಕಾರ್ಕಳದ ಗೋಮಟೇಶ್ವರ ಬೆಟ್ಟಕ್ಕೆ ತಿರುಗಾಟಕ್ಕೆ ಹೋಗಿದ್ದೆವು. ಬೆಟ್ಟದ ಮೇಲೆ ತಿನ್ನಲು ಕಡಲೆ ತರಲೆಂದು ಪ್ರಶಾಂತ ಕೆಳಗೆ ಹೋಗಿದ್ದ. ನಾನು ಗೋಮಟೇಶ್ವರ ಬೆಟ್ಟದ ನೆತ್ತಿಯ ಮೇಲೆ ಮುಂದೆ ನಡೆಯದಬಹುದಾದ ಅದ್ಭುತದ ಬಗ್ಗೆ ಎಳ್ಳಷ್ಟೂ ಸುಳಿವು ಇಲ್ಲದೆ, ಆ ಅಗಾಧ ಮೂರ್ತಿಯ ಹಿಂದೆ ಮಂಗಳಪಾದೆಯನ್ನು ನೋಡುತ್ತಾ ನಿಂತಿದ್ದೆ. ಆಶ್ಚರ್ಯ! ಆ ನೀಲ ಆಕಾಶದಲ್ಲಿ ದೂರದಿಂದ ಬೆಳ್ಳಿ ಚುಕ್ಕೆಯೊಂದು ನನ್ನ ಕಡೆಗೆ ಬರತೊಡಗಿತು. ಚುಕ್ಕೆಯಂತೆ ಭಾಸವಾಗುತ್ತಿದ್ದ ಅದು ಹತ್ತಿರ ಬಂದಂತೆಲ್ಲಾ ತಟ್ಟೆಯಾಕಾರದ ತಳೆದು ತನ್ನ ಕಡ್ಡಿಯಂತಹ ನಾಲ್ಕು ಕಾಲಿನ ಮೇಲೆ ಗೋಮಟೇಶ್ವರ ವಿಗ್ರಹದ ಹಿಂದೆ ವಿಶಾಲವಾದ ಖಾಲಿ ಜಾಗದಲ್ಲಿ ನಿಲುಗಡೆಯಾಯ್ತು. ಭ್ರಮೆಯೋ ಏನೋ ಎಂದುಕೊಳ್ಳುತ್ತಾ ನೋಡ ನೋಡುತ್ತಿದ್ದಂತೆ ಆ ತಟ್ಟೆಯಾಕಾರದ ವಾಹನದಿಂದ 8 -10 ಜನ ಮಾನವನಂತೆಯೇ ಕಾಣುತ್ತಿದ್ದ ಜೀವಿಗಳು ಹೊರಗಿಳಿಯತೊಡಗಿದವು. ಮಾಲೆಯಂತೆ ಧರಿಸಿದ್ದ ಗುರುತು ಚೀಟಿಯಿಂದ ಅವರೆಲ್ಲರ ಕೊರಳು ಅಲಂಕರಿಸಲ್ಪಟ್ತಿತ್ತು. ಇದನ್ನೆಲ್ಲ ನೋಡುತ್ತಾ ಆಶ್ಚರ್ಯದಿಂದ ನಿಂತಿದ್ದೆ.ಅವುಗಳಲ್ಲೊಂದು ಜೀವಿ ನನ್ನೆಲ್ಲಾ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರವಾಗಲೋ ಎಂಬಂತೆ ನಾನಿದ್ದ ಕಡೆ ನಿಧಾನವಾಗಿ ನಡೆಯುತ್ತಾ ಬಂದಿತು.ಅವರ ಬಗ್ಗೆ ತಿಳಿಯುವ ಕುತೂಹಲದಿಂದ ಅದನ್ನು ಮಾತನಾಡಿಸುವ ನಿರ್ಧಾರ ಮಾಡಿದೆ.
ನನ್ನ ಭಾಷೆ ಅದಕ್ಕೆ ತಿಳಿಯುತ್ತೋ ಇಲ್ಲವೋ ಎಂಬ ಸಂಶಯದಲ್ಲಿ ಮಾತನಾಡಲು ತಡವರಿಸುತ್ತಿದ್ದೆ. ಅಷ್ಟರಲ್ಲಿ ಅದು ತನ್ನಲ್ಲಿದ್ದ ಮಣೆಯಂತಹ ವಸ್ತುವನ್ನು ತೆರೆದು ಅದರಲ್ಲಿದ್ದ ಗುಂಡಿಯನ್ನು ಒತ್ತತೊಡಗಿತು. ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಅದೇ ಹೇಳಿದಂತೆ ಅದೇನೋ ಇಂಟರ್ಪ್ರಿಟರ್ ತನ್ನ ಕಾರ್ಯರಾಂಭ ಮಾಡಿತು. ಅದರ ಸಹಾಯದಿಂದ ಪರಸ್ಪರರ ಭಾಷೆ ಇನ್ನೊಬ್ಬರಿಗೆ ತಿಳಿಯುವಂತಾಯಿತು.

ನನ್ನ ಮೊದಲ ಪ್ರಶ್ನೆಯನ್ನು ಅದರ ಮುಂದಿಟ್ಟೆ.

ನಮಸ್ಕಾರ. ನೀವೆಲ್ಲ ಯಾರು? ಎಲ್ಲಿಂದ ಬರ್ತಾ ಇದ್ದಿರಿ?

"ನಮ್ಮನ್ನು ರಿಸೋರ್ಸಸ್ ಅಂದ್ರೆ ಸಂಪನ್ಮೂಲಗಳು ಅಂತ ಕರಿತಾರೆ.ನಾವು ಐ ಟಿ ಗ್ರಹದಿಂದ ಪ್ರವಾಸಾರ್ಥವಾಗಿ ಗೋಮಟೇಶ್ವರ ಬೆಟ್ಟಕ್ಕೆ ಬಂದಿದೇವೆ. ಇದನ್ನು ನಮ್ಮ ಭಾಷೆಯಲ್ಲಿ ಟೀಮ್ ಔಟಿಂಗ್ ಅಂತ ಕರಿತಾರೆ. ಇದು ಒಂದು ತಂಡದ ಸಂಪನ್ಮೂಲಗಳ ಮಧ್ಯೆ ಪರಸ್ಪರ ಭಾಂದವ್ಯ ಬೆಳೆಸಲು ಸಹಕಾರಿ ಎಂಬುವುದು ನಮ್ಮಲ್ಲಿರುವ ಒಂದು ನಂಬಿಕೆ."

ಭೂಮಿಯೂ ಸೇರಿದಂತೆ ಒಂಭತ್ತು ಗ್ರಹಗಳ ಹೆಸರುಗಳನ್ನು ವಿಜ್ಞಾನ ಪಾಠದಲ್ಲಿ ಉರು ಹೊಡೆದಿದ್ದೆ. ಆದ್ರೆ ಈ ಹೊಸ ಗ್ರಹ ಯಾವ್ದು ಅಂತ ತಿಳಿದೇ ಗಲಿಬಿಲಿಗೊಳಗಾದೆ. ಆದ್ರೂ ಆ ಗ್ರಹದ ಜೀವಿಗಳ ಬಗ್ಗೆ ಇನ್ನೂ ಹೆಚ್ಚು ತಿಳಿಯುವ ಕುತೂಹಲದಿಂದ, ಅವರ ಬಗ್ಗೆ ಇನ್ನೂ ಸ್ವಲ್ಪ ಹೇಳುವಂತೆ ಕೇಳಿದೆ.

"ನಮ್ಮಲ್ಲಿ ಮುಖ್ಯವಾಗಿ ಐಬಿಯಮರ್ಸ್, ಇನ್ಫೋಸಿಯನ್ಸ್, ವಿಪ್ರೊಟ್ಸ್ ಮುಂತಾದ ಜನಾಂಗಗಳಿವೆ. ನಾವು ಮುಖ್ಯವಾಗಿ ಸಿ, ಸಿ++, ಜಾವಾ, ಎಕ್ಶ್ ಎಂ ಎಲ್ ಮುಂತಾದ ಭಾಷೆಗಳನ್ನು ಉಪಯೋಗಿಸ್ತೇವೆ. ಇವಿಷ್ಟೇ ಅಲ್ದೆ ಇನ್ನೂ ಹತ್ತು ಹಲವು ಭಾಷೆಗಳ ಉಪಯೋಗ ಕೂಡ ಇದೆ. ಸಣ್ಣ ಪುಟ್ಟ ಜನಾಂಗಗಳೂ ಇವೆ "

ಇದೆಲ್ಲಾ ವಿಷಯಗಳು ತುಂಬಾ ವಿಚಿತ್ರವಾಗಿತ್ತು. ಒಂದು ಅಕ್ಷರವೂ ಅರ್ಥ ಆಗ್ಲಿಲ್ಲ. ಆದ್ರೂ ನಾನು ಬಿಟ್ಟು ಕೊಡಲು ತಯಾರಿಲ್ಲದೆ ಅವುಗಳ ಕೆಲಸ ಕಾರ್ಯದ ಬಗ್ಗೆ ನನ್ನ ಮುಂದಿನ ಪ್ರಶ್ನೆ ಎಸೆದೆ. ಅದು ಒಂದೊಂದೇ ವಿಷಯ ಪಟ್ಟಿ ಮಾಡುತ್ತಾ ಹೋಯ್ತು . ಅವುಗಳೆಲ್ಲವೂ ನನ್ನ ಮಟ್ಟಿಗೆ ಕಲ್ಪನಾತೀತವಾಗಿದ್ದವು.

"ಮೊದಲನೆಯದಾಗಿ ನಾವು ಎಲ್ಲ ಕಾಲದಲ್ಲೂ ಹವಾ ನಿಯಂತ್ರಿತ ಕೊಠಡಿಯ ಒಳಗೆ ಬದುಕ್ತೇವೆ. ನಾವು ಕುಡಿಯುವ ಕಾಫಿ ಚಹಾದಂತಹ ಪಾನೀಯಗಳು ಭೂಮಿಯಲ್ಲಿರುವಂತೆ ಬೆಂಕಿಯಲ್ಲಿ ತಯಾರಿಸಲ್ಪಡದೆ, ಯಂತ್ರಗಳಿಂದ ತಯಾರಿಸಲ್ಪಡುತ್ತವೆ. ನಮ್ಮಲ್ಲಿ ಕೆಲವರು ರಾತ್ರಿ ಹಗಲು ವಿಶ್ರಾಂತಿ ಇಲ್ಲದೇ ಕೆಲಸ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ ಉಳ್ಳವರಾಗಿದ್ದಾರೆ. ನಮ್ಮಲ್ಲಿ ಕೆಲವರಿಗೆ ಪದೇ ಪದೇ ತಮ್ಮ ಕೆಲಸ ಬದಲಾಯಿಸುವ ಅಭ್ಯಾಸ ಇದ್ದು, ಕೆಲವರು 6
ತಿಂಗಳಿಗಿಂತಲೂ ಕಡಿಮೆ ಅವಧಿಯಲ್ಲಿ ತಮ್ಮ ಉದ್ಯೋಗ ಬದ್ಲಾಯಿಸ್ತಾರೆ. ಎಷ್ಟೇ ಪ್ಯಾಕೇಜ್ ಅಂದ್ರೆ ಸಂಬಳ ಸಿಕ್ಕಿದ್ರೂ ತೃಪ್ತಿ ಪಡದೆ ತಮ್ಮ ಓರಗೆಯವರೊಂದಿಗೆ ಹೋಲಿಸಿಕೊಳ್ಳುವುದು ನಮ್ಮಲ್ಲಿರುವ ಇನ್ನೊಂದು ಅತಿ ಮುಖ್ಯ ಅಭ್ಯಾಸ."

ಕನ್ನಡ, ಹಿಂದಿ, ಇಂಗ್ಲೀಷ್ ಮುಂತಾದ ಭಾಷೆಗಳನ್ನು ಕೇಳಿದ್ದ ನಂಗೆ ಅದು ಹೇಳಿದ ಭಾಷೆಗಳ ಹೆಸರು ಬಹಳ ವಿಚಿತ್ರವಾಗಿ ಕಂಡಿತು. ಅಲ್ದೆ 15 ವರ್ಷದಿಂದ ಒಂದೇ ಬ್ಯಾಂಕಿನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದ ನನ್ನ ತಂದೆ, 20 ವರ್ಷದಿಂದ ಅದೇ ಶಾಲೆಯಲ್ಲಿ ಅಧ್ಯಾಪಕರಾಗಿದ್ದ ನನ್ನ ಮಾಸ್ಟ್ರು ಮುಂತಾದವರನ್ನು ಕಂಡಿದ್ದ ನನಗೆ, ಅವರ ಉದ್ಯೋಗ ಬದಲಾಯಿಸುವ ಅಭ್ಯಾಸ ಕೇಳಿ ತುಂಬಾ ಆಶ್ಚರ್ಯವಾಯಿತು.

ನಾನು ಮುಂದಿನ ಪ್ರಶ್ನೆ ಕೇಳಲು ತಯಾರಾದೆ. ಆದ್ರೆ ಅದು ಮಣೆಯನ್ನು ತೆರೆದು ಅದೇನೋ ಓದ್ಲಿಕ್ಕೆ ಶುರು ಮಾಡಿತು.. ಕೂಡ್ಲೆ ಅದೆಂತದೋ ಕಸ್ಟಮರ್ ಮೈಲ್, ಪ್ರೊಜೆಕ್ಟ್, ಬಗ್ ಬಂದಿದೆ ಅಂತ ತನ್ನವರಿದ್ದ ಕಡೆಗೆ ಓಡ್ಲಿಕ್ಕೆ ಶುರು ಮಾಡಿತು. ಸ್ವಲ್ಪ ಹೊತ್ತಿನ್ ನಂತರ ತಮ್ಮ ಪ್ರವಾಸವನ್ನು ಅಲ್ಲೇ ಮೊಟಕುಗೊಳಿಸಿ ಅವರೆಲ್ಲ ವಾಪಸ್ ಹೋಗ್ತಾ ಇದ್ದಿದು ಕಂಡಿತು..

ಇನ್ನೂ ಕೇಳಬೇಕೆಂದಿದ್ದ ನನ್ನ ಎಲ್ಲ ಪ್ರಶ್ನೆಗಳು ನನ್ನಲ್ಲಿಯೆ ಉತ್ತರವಿಲ್ಲದೆ ಉಳಿದು ಬಿಟ್ಟವು.

ನನ್ನನು ಹುಡುಕುತ್ತಾ ಬಂದ ಪ್ರಶಾಂತ ನನ್ನ ಈ ಅನುಭವವನ್ನು ಕೇಳಿ ಒಳ್ಳೆಯ ಕಲ್ಪನೆಯೆಂದು ಹೊಗಳಿದ. ಎಷ್ಟೇ ಹೇಳಿದ್ರೂ ಅದು ನಿಜ ಅಂತ ನಂಬ್ಲಿಕ್ಕೆ ತಯಾರಿರಲಿಲ್ಲ. ನಾನೂ ಆ ಘಟನೆ ನಿಜವೋ ಸುಳ್ಳೋ ತಿಳೀದೆ ಬಹುಶಃ ಭ್ರಮೆ ಇರ್ಬಹುದು ಅನ್ಕೊಂಡು ಅಲ್ಲೇ ಸುಮ್ಮನಾದೆ.

ಈ ಘಟನೆಯ ಕೆಲವು ದಿನಗಳ ನಂತರ ಐ ಟಿ ಸಂಬಂದಿತ ವ್ಯವಹಾರಗಳ ಹೊರ ಗುತ್ತಿಗೆಗಾಗಿ (ಔಟ್ ಸೊರ್ಸ್)ವಿದೇಶಿ ಕಂಪನಿಗಳು ಭಾರತದತ್ತ ಮುಖ ಮಾಡಿರುದರ ಬಗ್ಗೆ ಸುದ್ದಿ ಕೇಳಿದೆ.

ಈಗ ನಾನೂ ಆ ಉದ್ಯಮದ ಭಾಗವಾಗಿ ಆಗ ಉತ್ತರವಿಲ್ಲದೇ ಉಳಿದ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರ ಕಂಡು ಕೊಳ್ತಾ ಇದ್ದೇನೆ.

Friday, March 2, 2007

The code made me feel proud of my logical skill

Being a software engineer, I have written many codes. There is nothing special in that. Even when I came up with a solution for some tricky problems, I felt happy. Also such things gave me satisfaction in my work life....

But this one stands first among all those gems.

Just to let you understand the senario, for which I came up with the solution, I will explain that first.

This is regarding a small application, that can be used for making reservations. For example Room booking systems, Car booking systems Etc.
The requirement was to avoid the duplicate bookings. Users shouldn't be allowed to book same room for the same time frame. means once if a room or car is booked for some time, it should not be allowed for others to book that same room/car for the same duration. And overnight booking was allowed.

Booking form was as below.




Try to find solution outline for this.
----------------------------------------------------------------------------------
After struggling a quite, finally I came up with a decent solution.....
And that gave me the most happiness ever I experienced in my 2 years software work life.
----------------------------------------------------------------------------------
Normally for this type of situations, if reservations are restricted to only one day , solution would be as below. Will be quite simple.

1. Search for the existing reservations, with the same car name/number or room name/number. (Some thing like unique key).
2. Get the collection of all those reservations from above list, which matches our reservation date.
3. Check weather any of them have reservation time, which may deny us booking the room we want.
4. If yes then prompt a message like room is not allowed.
5. Else allow booking.

But now in our case over night reservations were allowed, where reservation may extend to 2 - 3 days. This made the problem bit tricky, as it is not that easy to follow the solution explained above.

Ex: If a resrvation already exists for 18/01/2007 then our booking is from 16/01/2007 to 19/01/2007 for the same room, it is not that easy to check weather reservation is not possible for us or not.

If we keep on comparing dates and times separately, we will end up with more than 12 if conditions, that too may not work properly for all senarios. After finding this fact I started thinking some alternative way, where I can simplify whole thing in much efficient simpler way. That leades to the master piece of code, I ever written in my work life....
I decided to combine date and time as one entity, as follows.

'Set the new request start date and end date time
Set StartDateTime =New notesdatetime( docRequest.DepartureDateDT(0) & " " & docRequest.DepartureTimeDT(0) )
Set EndDateTime = New notesdatetime( docRequest.ReturnDateDT(0) & " " & docRequest.ReturnTimeDT(0) )


This made my life much easier as it simplified the things.

'Get the collection of reservations that may be in conflict with the new reservation I am going to create now.
Set colDuplicateCandidates = LookupView.GetAllDocumentsByKey( key, False)

Logic was

Suppose, x's reservation is picked as a duplicate candidate then

if My start date is greater than x's end date then directly allow
else if My end date is less than x's start date then allow
else
don't allow

Actual code goes here..
************************************************************************
'checking whether the selecteted cars are vacant or reserved.
If colDuplicateCandidates.count > 0 Then

Set docDuplicateRequest = colDuplicateCandidates.GetFirstDocument
While Not docDuplicateRequest Is Nothing

' make sure we are not comparing to our own document. (While editting existing documents this case will arise).
If (Strcompare(docRequest.NoteID, docDuplicateRequest .NoteID) <> 0) Then

'Set the start date and end date time of the duplicate candidate
Set DupStartDateTime = New notesdatetime( docDuplicateRequest .DeptDateDT(0) & " " & docDuplicateRequest .DeptTimeDT(0) )
Set DupEndDateTime = New notesdatetime( docDuplicateRequest .ReturnDateDT(0) & " " & docDuplicateRequest .ReturnTimeDT(0) )

'Directly skip the duplicate candidate as end time is less than our start time. Else go on and chck other conditions
If StartDateTime.TimeDifference(DupEndDateTime) < 0 Then
If DupStartDateTime.TimeDifference(EndDateTime) < 0 Then

strAvail="False"

'Exit Sub 'Don't waste time by checking other documents. any way it is not available
Goto Result
End If
End If
End If
Set docDuplicateRequest = colDuplicateCandidates.GetNextDocument(docDuplicateRequest)
Wend
End If
********************************************************************************

Wednesday, February 21, 2007

Handling user roles in Lotus script

Problem description: In lotus notes development it is quite often, we developers face situations, where based on the user's role we have to grant/restrict some of the functions for him/her.

Solution: Solution is quite simple. we can use 'Evaluate' function as follows.

Step1:

Create a function in the script library as below.
%REM
=============================================================
Input: Role name should be passed to this function, without square brackets
Return value: True if the passed role is enabled for current user. Else false.
=============================================================
%END REM

Function CheckUserRole(RoleName As String) As Variant
Dim CheckRole As String
Dim Userroles As Variant
CheckUserRole=False
CheckRole="["+RoleName+"]"
UserRoles= Evaluate("@UserRoles")

If Not Isempty(UserRoles ) Then
If Not Isnull(Arraygetindex(UserRoles,CheckRole,0)) Then
CheckUserRole=True
End If
End If
End Function

Step2:

Now use the above function, wherever it is required as follows.

Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
'If the user do not have [Admin] role then do not allow him to delete a document

Dim Response As Integer

If Not CheckUserRole("Admin") Then
Msgbox "You are not authorized to delete document from the database", 16, "Warning"
Continue = False
Exit Sub
End If

End Sub

Thursday, February 15, 2007

IBM Lotus Notes Domino 7 Application Development Update Exam

When I decided to write Lotus notes R7 updation, I tried to serach for the resources (of course free) every where. But I found that very limited resources are available around. So i thought of collating the questions, I faced in the exam for the reference of the interested people. Here it is for you. (Verify the answers.)
Good luck..
Though I thought whether it is legal or ethical to post the questions like this. But if you see, there are plenty of mock exam providers and their questions will be more or less same to the actual questions.

if you feel like this is wrong or unethical please let me know.

Please don't use these questions for any commercial purpose.

1.Is it possible to have Exit prompt enabled for notes client but not for designer.
Ans: No Exit Prompt setting applies to both Client and Designer (even Admin client). It is not possible to have separate settings.

2. Where debugger status information is shown.
Ans: In Status Bar / Status line.

3. How to sign a java script library.
Ans: Select the script library in the designer and click on the SIGN cotton.

4. How to find whether shared action buttons are using custom images or notes standard image?
Ans: Notes designer, shared action list -> check the new column Icon type, which indicates above information.

5.New option available for adding a comment to a form.
Ans: Notes designer, form list -> Click on the comments column to edit it and enter the comments.

6. Quickest way of adding an Alias name to a form.
Ans: Notes designer, form list -> Click on the alias column to edit it and enter the alias name.

7. Where do you find web services in the designer?
Ans: Sheared Code -> Web services

8. Where do you set the auto save interval?
Ans: File -> Preferences->User preferences ->Auto save every --minutes

9.Mark wants to use @Command([DiscoverFolders]) to check which folder(s) contain a certain document. This command does not appear to be working for him. What property should Mark check?
Ans: Database Properties - Allow Folder Discovery

10.Rebecca has a number of shared actions in her Domino application, but she needs to quickly determine which actions display in the action bar and which actions display in the menu. What feature in Domino Designer can she check to find this information?
Ans: The shared actions design columns for action bar and menu locations.

11.Joanna needs to check to see if the Administration ECL in the name and address book is locked. What function will give her this information?
Ans: @AdminECLIsLocked


12.While using @Dblookup, what supported function, user has to use to catch the error returned?
Ans: @IsError

13.A user wants to use a shared column but want to have different look and feel for that column in different views, can he do that? What option he’ll have to choose while including the column in different views.
Ans: Use formula only…

14. In Web Service, what is purpose of ?
Ans: The data types used by the service.

15. In Web Service, what is purpose of ?
Ans: An abstract description of an action supported by the service.

16. What does WSDL stands for?
Ans: The web services description language.

17. How to allow only admins to edit a field?
Ans: Use @IsMember(“[Admin]”; @UserRoles) in the input enabled field formula.

18: Description of the web services
Ans: A Web service is a self-contained, self-describing, modular application, based on XML, that can be published to and invoked from the Web.

19. Some thing related to securing web service.
Ans: Some thing like set the ACL of the database where web service is written.

20: Some thing like How to preview web service.
Ans: Preview any Page or form then change the URL to ?OpenWebServices or
?WSDL.

21. What setting must be done in order to ensure DiscoverFolder works as excepted?
Ans: Ensure that at least one embedded outline property ‘Maintain folder unread information’ is selected.

22. Remote debugging of a java code is not working. Where to check in the first place?
Ans: File->Tools-> Java Debugging Preferences

23. Which port to be used for remote debugging?
Ans: Any unused port.

24. One question related to new accessibility feature of the table.
Ans : Selecting ‘Row header’

25: How to close all open window tabs?
Ans: File -> Close all open window tabs.

26. Method for validating the DXL being exported.
Ans: NotesDXLExporter.ValidationStyle.

27. The URI of the schema for the DXL being exported
Ans: NotesDXLExporter.SchemaLocation

28. Method which gets the documents in a database that are modified since a specified time.
Ans: NotesDatabase.GetModifiedDocuments( [ since ] , [ noteClass% ] )
But be careful there will be one more option like GetAllModifiedDocuments.

29. Function which indicates whether the application is running in the Workplace Client.
Ans: NotesUIWorkspace.IsEmbeddedInsideWCT

30. User wants to modify a shared column. How can he find, in which views they are used?
Ans: Button ‘Who is using shared column’

31. User wants to use a complex view column in another 4 views. How can he do that?
Ans: select the column and make it as shared column using ‘Copy as shared column’ option.

32. Already there are too many action buttons to be displayed. But user wants to include 5 more actions. What he can do, so that those 5 columns can be easily accessible without scrolling the action bar?
Ans. Action property -> Include in right click menu.

33. User finds that agent is running very slowly. What he can do to analyze the agent?
Ans: Profile the agent using the Agent security tab option ‘Profile this agent’.

34. What will be included in profiling results?
Ans: Class Method Operations Calls Time.

35. A developer wants to give the WSDL to another user. How can he do that?
Ans: Export WSDL -> then send the resultant file to the user.

36. A user wants to generate WSDL what he wants to do?
Ans: Nothing WSDL will be generated automatically, when web service is saved.


37. What developer has to design to retain the widths of design list columns?
Ans: Nothing, the setting will be persistent between the sessions.

38. What WSDL stands for?
Ans: Web Services Description Langage.

39. In Web Service, what is purpose of ?
Ans: An abstract definition of data being communicated to or from the service.

40: One question about view color columns.
Ans: Some thing like, now multiple user defined color columns are possible in notes views.

41. Quickest way of finding Agent trigger information.
Ans: trigger column in the Designer->Agent list.

42. What happens when a shared column is deleted?
Ans: Nothing. This column will remain in the views as normal columns.

43. What function we can use to indicates whether a field is locked by an administration policy and cannot be modified.
Ans: @PolicyIsFieldLocked( fieldName )