Total Pageviews

Tuesday, May 17, 2011

How to make Programming Language Trainings effective

Giving training in programming languages is not as easy as it seems. Getting happy audience out of these course needs good bit of thought.


To make it effective and interesting what one needs to understand is what audience are looking for. The complete spectrum of audience can be classified in 3 categories. I could not think of single course that can satisfy everyone.

1. Starters - Fresh starters and have very minimal exposure to any programming before. These are audience who are really looking to get good overview of the language features. To this audience language details have to be presented in a manner that is easy to absorb. Detailed explanations with simple examples are appreciated by this audience.

There is second category of starters. These are guys who have had some programming experience and picking up a new language. The new language presented correlating to language they are aware of on the common set of features and detailed approach on the unique aspects of new language is more effective.

Very advances features of language can be skipped here.

2. Application - These are audience who have been using it for a while but are more interested in enhancing the usage to make it more effective. This training should start off with the various typical usage pattern of the language.

This session could also cover various best known practices that should be followed. It should also cover the features of language that makes user power user. Also cover the gotchas.

3. Philosophy - This team is practicing seasoned engineers or leads who need to make decisions. Goal here is to present the bigger picture. Cover to an extent why things way they they are aspects. Tracking project which is using this language. If there are any methodology on specific way of usage of this language are of greater interest here.

Friday, April 15, 2011

ಸೋಲಿನ ಸೌಂದರ್ಯ

ಸೋಲೆಂಬ ಪದದಿಂದಲೇ ನೂರಾರು ಮೈಲಿ ದೂರ ಓಡಿ ಹೋಗಲು ತುದಿಗಲಾಲಲ್ಲಿ ನಿಂತವರು ನಾವು. ಅಂತಹದರಲ್ಲಿ ಅದರ ಸೌಂದರ್ಯವನ್ನು ಕಾಣಲು ಎಲ್ಲಿದೆ ನಮಗೆ ಸಮಯ ಹಾಗೂ ತಾಳ್ಮೆ.

ನಮಗೇನಿದ್ದರು ಗೆಲುವು ಬೇಕು. ಗೆಲುವನ್ನು ಅಪ್ಪಿಕೊಳ್ಳಲು ಸದಾ ಕಾತರರಾಗಿವರು ನಾವು. ಎಸ್ಟೋ ಸಾರಿ ಅಂತೂ ಅತ್ಯಂತ ಕುರೂಪಿಯದರೂ ಕೂಡ ನಮಗೆ ಗೆಲವೇ ಆತ್ಮೀಯವಾಗುತ್ತೆ. ಗೆಲುವಿನ ಸ್ನೇಹಕ್ಕಾಗಿ ಯಾವುದೇ ತ್ಯಾಗಕ್ಕೂ ಸದಾ ಸಿದ್ಧರು ನಾವು. ಕೆಲವು ಬಾರಿಯಂತು ಮನಃ ಸಾಕ್ಷಿಯನ್ನು ಬಲಿ ಕೊಟ್ಟಾದರೂ, ಸರಿ ಗೆಲುವಿನ ಸಾಮೀಪ್ಯ ಸಂಪಾದಿಸಲು ಹವಣಿಸುತ್ತೇವೆ.

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

ನಾನಿಲ್ಲಿ ಬೇಕಂತಲೇ ಸೋಲಿ ಎಂದು ಹೇಳುತಿಲ್ಲ. ಸೋಲಿನ ಭಯದಿಂದ ಜೀವನದಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಹಿಂಜರಿಯದಿರಿ. ಈ ಪ್ರಪಂಚದಲ್ಲಿ ಹುಟ್ಟಿ ಬಂದ ಪ್ರತಿಯೊಂದು ಜೀವವೂ ತನ್ನದೇ ಆದ ಒಂದು ಏಕೈಕ ಉದ್ದೇಶವನ್ನು ಹೊತ್ತು ಬರುತ್ತದೆ. ಆ ಉದ್ದೇಶದ ಸಾಧನೆಯೇ ನೈಜ ಗೆಲವು. ಆ ಉದ್ದೇಶ ಏನೆಂದು ಹೇಗೆ ತಿಳಿಯವುದು ? ಹೊಸ ಮಾರ್ಗಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿದಾಗ ಹಾಗೂ ಸಹಜ ಕೌಶಲ್ಯವನ್ನು ಅರಳಲು ಬಿಟ್ಟಾಗ. ಇಂತಹ ದಾರಿಯಲ್ಲಿ ಸೋಲಿನ ಸಂಭವನೀಯತೆ ಕೂಡ ಹೆಚ್ಚು.

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

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

ನಿಮ್ಮ ಸಾಮರ್ಥ್ಯದ ಅತ್ಯುನ್ನತ ನೈಜ ಗೆಲುವು ನಿಮ್ಮದಾಗಲಿ. ಅದಕ್ಕೆ ಬೇಕಾಗುವ ಪ್ರೇರಣೆ ಉಡುಪಿಯ ಶ್ರೀ ಕೃಷ್ಣ ನಮ್ಮೆಲ್ಲರಿಗೂ ಕೊಡಲಿ.

Wednesday, April 6, 2011

Mumbai - Addiction to hard work

Recently visited Mumbai couple of times on some personal work. Here is what I got addicted to in Mumbai.

Mumbai is really a inspiring place. Hard work is there everywhere but I kind of sensed it in a heightened state in Mumbai.  I was always scared of Mumbi due to the image of it created by Bollywood in common man. But in contrast I found it as a very different place. Mumbai's local trains define mumbai. The discipline of local trains can be seen in every true Mumbaikar. Mumbai is, what it is, due to intense hard work residents.

To my surprise Autowala's and Taxiwal's dont cheat as much as I have seen in other places. They want to work hard and earn what they deserve. I salute this spirit. A waiter at hotel would rather clean up the already clean tables and plates once again than standing idle. He would never allow your water glass run empty. He will try to understand and guess what you would need. Well there by he earns his well deserved tip. Every one doing the best in whatever one is doing honestly. This makes every ones life that much easier. I now think that's why our text books said man is social animal.

Although in Mumbai as well people are self absorbed as in any big city the one thing that differntiates is people are aware of pain individuals go through leading the life in Mumbai. They know life in Mumbai(for that matter in any big city) is not simple. This simple understanding has done one wonderful things. People are ready to help. Its not when you yourself are not trying to help yourself but when some one is doing his best and yet fails due things he/she cannot control. Rest assured there is one helping hand from some where.

Not that I have not worked hard myself before. But I have not quite felt the power of it. I have not appreciated it much. May be as a part of growing up I am starting to enjoy the hard work. I feel proud to be human and what humans have accomplished by their diligent hard work.

Every day I enjoy the hard work of many and it has slowly starting to inspire me as well to work hard. Work hard to enjoy the feeling of working hard. I am able to see the value that hard work brings in. I am able to see how world looks more beautiful by hard work. Now I perfectly understand the meaning of Kannada saying "ಕೈ ಕೆಸರಾದರೆ ಬಾಯಿ ಮೊಸರು".

Historical monuments like Hampi, Belur, Halebidu, Banavasi and many more have always inspired me. Now I can imagine what vision and hard work has made that possible. Taking the responsibility and taking things to closure is  truly a amazing.

Diligence makes hard work meaningful. Results of hard work are making me get addicted to it. I think every one should try to be active most of the time and diligently work hard. Humans have great future ahead. Lets go grab it !

Friday, March 18, 2011

Data Strctures are Pillars of Software Structure

With "ನಮ್ಮMETRO" and many Flyover work to make signal free ring road on-going at many places in Bengaluru, I see lots of pillars all around the city. Here is how they kind of inspired me.  

Many modern day structures strength relies on its pillars. Pillars also are designed keeping the scalability that might be desired in the future. Once the right pillars are in place rest of construction work comes up real fast. Mistake in choice of pillars can also prove fatal. Once committed its tough add or change these. Any such attempts also affect the beauty of building. Structure will not look coherent.

On the same lines data structures form the pillar and beam of the Software structure. Good data structure extend the life of the software. They also make it easy to weather the changes without collapsing.

Invest time to build good quality data structures and they will help tremendously at the later point. Have sound philosophy that relates well the problem at hand and/or uses some standard data structure concepts.

Poor data structures will be tougher to debug, difficult or impossible to extend.

Friday, March 4, 2011

ಉಡುಪಿಯ ಕಂಡಿರಾ ಉಡುಪಿಯ ಕೃಷ್ಣನ ಕಂಡಿರಾ...


ಈ ವಿಷಯ ಬರೆಯಲಾಸಾಧ್ಯ. ಆದರೂ ಭಕ್ತರಿಗೆ ಉಪಯೋಗವಾಗುವ ವಿಷಯವಾದ್ದರಿಂದ ನನಗೆ ತಿಳಿದಷ್ಟು ಬರೆಯುತ್ತಿದ್ದೇನೆ.

ಉಡುಪಿ ಶ್ರೀ ಕೃಷ್ಣನಿಗೆ ಉಡುಪಿ ಶ್ರೀ ಕೃಷ್ಣನೇ ಸಾಟಿ. ಆತ ನಿಂತ ಬಗೆ ಅಖೀಲಾಂಡ ಕೋಟಿ ಬ್ರಹ್ಮಾಂಡದ ನಾಯಕ ಎಂಬ ಪದಕ್ಕೆ ಮೂರ್ತಿ ಸ್ವರೂಪ ಕೊಟ್ಟ ಹಾಗಿದೆ. ಆಚಾರ್ಯ ಮಧ್ವ ಕರಾರ್ಚಿತ್ ಉಡುಪಿಯ ಶ್ರೀ ಕೃಷ್ಣನ ಇತಿಹಾಸ ಬಲ್ಲವರಿಗೆ, ಆತನ ನೋಡುವ ಬಯಕೆ.

ಒಮ್ಮೆ ನೋಡಿದವರಿಗೆ ಪ್ರತಿದಿನ ದರ್ಶನದ ಬಯಕೆ. ಆದರೆ ಲೌಕಿಕದಲ್ಲಿ ಸಿಲುಕಿ ಪ್ರಪಂಚದ ವಿವಿದೆಡೆ ತಮ್ಮ ಕರ್ಮ ಭೂಮಿ ಕಂಡು ಕೊಂಡಿರುವರಿಗೆ ಅದು ಆಸಾಧ್ಯವಾದ ಮಾತು.

ಸಧ್ಯದ ಪರ್ಯಾಯ ನಿರ್ವಹಿಸುತ್ತಿರುವ ಅಷ್ಟ ಮಠಗಳಲ್ಲಿ ಒಂದಾದ ಶಿರೂರ್ ಮಠದ ಪ್ರಯತ್ನ ಅತ್ಯಂತ ಶ್ಲಾಘನೀಯ. ಶ್ರೀ ಶ್ರೀ ೧೦೦೮ ಲಕ್ಷ್ಮೀವರ ತೀರ್ಥರ ಮಾರ್ಗದರ್ಶನದಲ್ಲಿ ಪ್ರತಿದಿನದ ಪೂಜೆಯ ಭಾವಚಿತ್ರ ಹಾಗೂ ದೃಶ್ಯಾವಳಿಗಳು ಅಂತರಜಾಲದಲ್ಲಿ ತುಂಬಾ ಚೆನ್ನಾಗಿ ಮೂಡಿ ಬಂದಿವೆ. ಗುಣಮಟ್ಟ ಕೂಡ ಅತ್ಯುತ್ತಮವಾಗಿದೆ.

ಶಿರೂರ್ ಮಠಧ ತಂಡಕ್ಕೆ ಅಭಿನಂದನೆಗಳು ಹಾಗೂ ಧನ್ಯವಾದಗಳು.

ಭಕ್ತರೆಲ್ಲರೂ ಕಣ್ಣು ತುಂಬಾ ನೋಡಿ ಆನಂದಿಸಿ.  ಉಡುಪಿ ಶ್ರೀ ಕೃಷ್ಣನ ಕೃಪೆ ನಮ್ಮೆಲ್ಲರ ಮೇಲಾಗಲಿ.

ಜಾಲತಾಣ ವಿಳಾಸ : http://udupishiroormutt.in/shiroor/


|| ಶ್ರೀ ಮುಖ್ಯ ಪ್ರಾಣಾಂತರ್ಗತ ಉಡುಪಿ ಶ್ರೀ ಕೃಷ್ಣಾರ್ಪಣಮಸ್ತು ||

Friday, February 18, 2011

ಶ್ರೀ ಶ್ರೀ ೧೦೦೮ ಸತ್ಯಾತ್ಮ ತೀರ್ಥರು ನೀಡಿದ ಸಂದೇಶ - ತಿರುಕೊಯಿಲುರ್ ೨೦೧೧

ಪ್ರತಿ ದಿನ ಇಷ್ಟಾದರೂ  ಮಾಡುತ್ತೇನೆ ಎಂಬ ಸಂಕಲ್ಪವನ್ನು ಮಾಡಿ :

೧. ವಿಷ್ಣು ಸಹಸ್ರ ನಾಮ

೨. ಗೀತೆಯ ಒಂದು ಅಧ್ಯಾಯ [೧೦ ವಿಭೂತಿ, ೧೧ ವಿಶ್ವ]

೩. ಭಾಗವತದ ೧ ಶ್ಲೋಕ [೧೦ ನೇ ಅಧ್ಯಾಯ]
ಇದರಿಂದ ಗುರುಗಳ ಸಮಾಗಮವಾಗಿ ಮೋಕ್ಷಕ್ಕೆ ದಾರಿಯಾಗುತ್ತದೆ.

ವೀಶೇಷ ವೈಶಿಷ್ಟ ಇರುವ ಯಾವುದೇ ವಸ್ತು ಅಥವಾ ವ್ಯಕ್ತಿಯಲ್ಲಿ ಹೆಚ್ಚಾದ ದೇವರ ಸನ್ನಿಧಾನ ಇದೆ ಎಂಬ ಅನುಸಂಧಾನ ಇರಬೇಕು.

Sunday, January 16, 2011

Art movies and Programming

I was reading weekly suppliment of Local news paper Vijay Karnataka. Article by N. Manu Chakravarthy about Art Cinema.

I want to first quote few lines of translation from this article. "Its about duo of Girish Kasaravalli and Ramchandra. These two have made some artistic kannada movies. Starting from Ghata Shraddha to last one Gulabi Talkies. While Girish Kasaravalli did the concept, script creation and direction, Ramchandra did the camera work. Thier creative abilities complemented each other.

Kannda literature's various stages, dimensions and critique traditions were very closely known by Girish. While Ramachndra always gave appropriate symobilm or icons for manifestation of Girish's ideology with his camera work.  This did touch audience and helped them experience and internalize the message.

The point that really caught my attention is about their work. It said " This is the way technique and ideology should unite. This symbolizes the creativity of director and cameraman".

Well let me swicth gears. From psycology point of view programming is one of the abstract and complex task that humans do among many. In my view writing programs is no different than making a beautiful art movie.  Lets see how ?  A movie is one of medium to convery the thought process.

A Successful movie making has four primary ingriedients. Director with concept, symbols to execute concept like actors, places etc and camerma man who can capture this expression. Success of it depends on final component the audience.

Now lets come to programming. We have problem. A solution with sound philopshy behind it. Programming language as symbol to depict the solution. Programmer using the programming language to express it. Who is the audience its programmer itself over period of time or worse another programmer who takes over the code. Note that its possible in the programming world that director, camera man and audience can be same programmer.

A successful program is not only the one that does what it is suppose to do and does not do what it is not suppose to do but  also the one that can weather the enhacements and fixes yet remain young and beautiful. Like a brand new one.

I want to tackle one tough question here with this article. I have seen many times, mainly from young programmers. They always ask well this programming construct and putting this piece of code in some other module will also do the job. Then why not do it ? At times its difficult to answer.

Yes it will work but specific program construct usage and specific place to put the code is like work of camera man who is giving the expression to ideology. Unless this is done right, it wont be the true unification of "technique and ideology". When its not, it wont reach out the audience. Unless it reaches out it, it wont remain new and young. It might even die.

To close, I would like to quote  Abelson & Sussman, Structure and Interpretation of Computer Programs
""Programs must be written for people to read, and only incidentally for machines to execute."