Total Pageviews

Saturday, December 24, 2011

Birth of Innovation


Well, I dont know If I am authorized to talk about it. I have invented nothing that mattered a lot so far. The only reason I allow myself to write this is because of the problems I have solved.  Some of them have been tough nuts. My strong belief is that this process holds a clue that can lead to innovation and I wanted to define it out to myself to extent I have understood it.  

I was browsing about what is it that leads to big inventions,  much of material I found did not give me clear idea towards process of its birth. I think every one first needs to invent process of invention that works for him/her. Here is what I felt from my very limited experiences. 

Innovation's birth place is mind. In order for it to take birth,  a virtual world of the problem space you are dealing with has to be re-created in the mind. This is not over night process. As they say "God is in detail". Details have of problem space has to be keenly observed and absorbed. Step by step, atom by atom, electron by electron. Without any prejudice and with highest sensitivity and accuracy. Over time the virtual world continues to grow in size and details.

This problem space needs to be built very intensely in your mind. Benchmark of such intensity is, one should be able forget the external world completely when one enter's this virtual world. It should become like trans state of mind, like in deep meditation. 

This is nothing different from settling down in another planet. Duration for which one can stay in another planet depends on the supplies stored. Duration of staying in this state of trans in virtual world depends on the details one has absorbed. Higher and finer details ones holds greater the duration of stay. Greater the duration of stay greater the possibility of solving the problem or inventing something new. On the other hand during early stage of this process not all details are absorbed so there will be frequent entry and exits out of this state. Exit's to absorb the missing details from real world. If you are aware of how Computer Cache's work you would understand this better. There is no real auto pilot mode. You need to make an conscious effort to make this sub-conscious mind to the do the work. It has to be intense, focused and pro-longed effort.

Another Benchmark of such clarity is you should be able to get in to context of problem space in split second. It needs to be continuously refined to make it clear. Immediate practical application is being able to write better programs. Check this out Holding Program in One's head.

I have found a close alignment to way's of Tesla. No I am not claiming to be him but all I am saying is this stuff I have experienced in some discrete forms is closent I have come to defining it. Snippet from "The Power of your Subconscious Mind", About Tesla: When an new idea came in to his mind, he would build it up in his imagination, knowing that his subconscious mind would reconstruct and reveal to his conscious mind all the parts needed for its manufacture in its concrete form." Mainly the information absorbed needs to be consciously organized in mind for sub-conscious mind to work of it. I know its not a easy process and relentless work but worth the effort.

Archimedes's eureka moments are as result of living in such world. Its not a accident, its hard work and deep meditation on the problem.

Barrier for innovation has raised in today's world. There is already so much that has been invented and as humans we need to build on the top of what has been already done. Now the point is in order to do that effectively in a chosen field what has been already known has to be on the top of head. It has to be well organized in mind. This needs to be done in order to not to repeat the inventions. When what is known is known in best possible ways we can invent what is not known. 

For programmers like us who all the time deal with the computer programs, we are really living in a virtual world. Tesla's process application needs little bit more effort since virtual world imagined here does not exist physically et all. What I am adding to what has already captured by many is you can't innovate if you can't live with the problem as naturally you live at home. Innovation space needs to become part of life. One should be able to correlate it to life and live intimately with it. This intimacy is what finally leads to birth of innovation.

Monday, November 21, 2011

Rangoli holds key to Apple's Woz vs Jobs puzzle


Apple Fever that caught me on during July 2011 continued to grow.  It became serious enough that I had to be admitted to Apple stores. I had buy MacBook Pro and iPAD2 to get it diagnosed. Then I had to take regular dose of reading IWOZ by Steve Wozniak and Steve Jobs by Walter Isaacson(special instruction: browse about various stuffs that came along in those books). I followed all that sincerely.
All in vain. No cure yet.  But the good news is that this fever is part of my life now.

Okay let me quickly come to real stuff as to why I started this entry. I am sure this question would have passed by every one who knows even "A for Apple" of Apple, about Woz Vs Jobs(here after refereed to as WvsJ) as to Who was really great? Was Woz under valued?

If you are indian you would what Rangoli is. Its traditional decorative folk art of India. It has deep spiritual significance as well. If you are wondering how did suddenly Rangoli got in to this epic WvsJ, just hold that thought and first watch this video(just about a minute) to know/refresh what is Rangoli . I would have loved to have apple logo drawn using Rangoli.  But out of luck, my wife is out of town on maternity. I will make one when she is back and replace this video pointed.

Simple video? Isn't it. Video opens with the the set of dots. Second part is connecting those dots to make the pattern that appeals to us.

Pop quiz: Can you now connect the dots between Rangoli, Woz and Jobs? I hope you guessed it right. No extra points for guessing if you know about Apple and these guys.  If not continue to read the answer to this puzzle.

Those dots can be treated as work of the inventors. Yes people like Woz start placing those dots. Only difference in real world is these dots would be placed randomly. Here we just see them on a single plane and in order. But real world its infinite planes and random order. In different planes different inventors are placing these amazing dots.

Now people like Jobs kick in and start connecting these dots to discover these amzing and great patterns. The ones that we all enjoy.  These patterns kind of existed right from the point dots were put but not visible.  Until some one shows it to us we cannot see it. So connecting dots is really not an invention rather its discovery.

Discoveries are important as well. The possibilities of connecting these dots are way too many. That's where it requires a great taste and immense focus to create clean, uncluttered and yet very appealing and functional patterns. That's where Jobs excelled. Focus is essence. You will always discover many more patterns enroute but discoverer needs to stay focused on his vision. Vision needs to be clear in his mind. Otherwise its easy to get  lost in this maze.

There is even Jobs famous quote "Say no to 1000 things". Says it all. He also had binary decision making. It's either insanely great or shit. Yes this is needed when you are dealing with such enormous possibilities. You need to trust your intuition and make a right pick. You need a strong connection to gut all the time.

Now one may argue, well Woz also initially connected dots by creating the terminal using the TV. Yes in a bigger scheme of things when you zoom out work of inventors they are also connecting few near by dots along with ones they are placing. But they mostly limit themselves to single plane and focus more on placing dots than connecting dots.

This is purely my view. Contrary to belief that Jobs was selfish guy, I would think of him as truely
non selfish in a way he did Apple products. He adopted(/Stole) many technologies developed by others. This is something not possible for true inventors. They cannot adopt kids of others. They need to have their own. They hardly even prefer to look at other's kids. However good they may be. They dont work great as a team players. They are loners. You can see that in the creations of Woz. He rather worked alone and his message in his book to budding engineers is to "Work alone".

Connecting dots is different game. It needs a great taste. Ability to pick the best dots that fall in-line with vision for great product. More so it needs one to have bigger heart to adopt best from every where. Ability to sell vision  to great people or find great people who are in-line. In my view this is  one of most selfless act one can do. Ability to recognize and channelize talent is big Talent by itself.

As Jobs grew he started catching hold of people who can put some dots according to his vision of how he wanted to connect them. He not only connected technologies but connected right set of peoples as well to put together the great teams. He discovered great people and great work. Its certainly not easy to hold and manage this tremendous energy. Its nothing less than any nuclear energy. If I say in fact its greater than that, I dont think it would be exaggeration. Jobs really knew how to deal with it.

So finally my verdict, I hope you are convinced by now that we need both of these guys. We need both Inventors and Discoverers. Discoverers tend to get some extra credit for their vision and selfless act that discovery demands. A Inventor  on other hand gets compensated by the enjoyment in every bit of his invention because its his own kid. A Discoverer at times may not enjoy some of his adopted kids but that's just part of learning to discover. Its greater risk and Selfless act, so even rewards are higher as well. Yes this world is fair. I think their family background also kind of led to this way. Jobs was adopted and while Woz grew up in a close knit family. Both have got what they deserved.

This world is fair in it's own weird ways, I salute it's creator !


Sunday, October 9, 2011

ಸೃಷ್ಟಿ


1. ಪಂಚಭೂತದಲ್ಲಿ ಲೀನ ವಾಗಿ ಮತ್ತದೇ ಪಂಚಭೂತಗಳಿಂದಾದ ಶರೀರವಿದು. ಭಗವಂತನ ಲೀಲೆಗೆ ಇದಕ್ಕಿಂತ ದೊಡ್ಡ ಸಾಕ್ಷಿ ಬೇಕೇ ?

2. ಭಗವಂತ ತನ್ನ ಸಂಕಲ್ಪ ಮಾತ್ರದಿಂದಲೇ ಜನನ ಮಾಡಬಹುದು. ಹಾಗೆ ಮಾಡಿ ತಂದೆ ತಾಯಿಯ ಮನಸ್ಸಿನಲ್ಲಿ ಪ್ರೀತಿ ಹುಟ್ಟುವ ಹಾಗೆ ಪ್ರೇರೇಪಣೆ ಮಾಡಬಹುದಾಗಿತ್ತು. ಏಕೆ ಹಾಗೆ ಮಾಡಿಲ್ಲ ? ಯಾಕೀ ಜೀವನ ಚಕ್ರ ?

3. ಹುಟ್ಟಿನ ಮೂಲಕ ಜೀವಗಳಿಗೆ ಕರ್ತೃತ್ವ ಭಾವನೆ ಬರುವಂತೆ ಮಾಡುತ್ತಾನೆ ಆ ಭಗವಂತ.

4. ಮಳೆ ನೀರಿನ ಮೂಲಕ ಜೀವ ಭೂಮಿಗೆ ಬಂದು ಬೆಳೆಯಲ್ಲಿ ಬೆರತು ತಂದೆ ತಾಯಿಯ ದೇಹ ಸೇರಿ, ನಂತರ ಜೀವದ ದೇಹ ಉತ್ಪತ್ತಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

5. ತಂದೆ ತಾಯಿಗೆ ಆ ಯಾವದೋ ಒಂದು ಜೀವಿಯ ಮೇಲೆ ಹುಟ್ಟಿನ ಮೂಲಕ ವ್ಯಾಮೋಹ ಹುಟ್ಟುವಂತೆ ಮಾಡುವ ಆ ಭಗವಂತನ ಆ ಲೀಲಾ ವಿನೋದ ಮನಮೋಹಕ.

6. ಪ್ರತಿ ಹುಟ್ಟು ತಂದೆ ತಾಯಿಗೆ ಭಗವಂತ ಕೊಡುವ ಒಂದು ಜವಾಬ್ದಾರಿ. ಮುಂದಿನ ಪಾತ್ರಧಾರರ ಪಾಲನೆ ಪೋಷಣೆಯ ಜವಾಬ್ದಾರಿ.

7. ನಾಹಂ ಕರ್ತಾ ಹರಿ ಕರ್ತಾ ಎಂಬ ಭಾವದ ಮೂಲಕ ತಂದೆ ತಾಯಿ ತಮ್ಮ ಜವಾಬ್ದಾರಿ ನಿರ್ವಹಿಸಬೇಕು.

8. ಮಗಳಂತೂ ಗಂಡನ ಮನೆಯ ಸಂಪತ್ತು, ಬೆಳೆಯುವವರೆಗೆ ತಮ್ಮ ಕಡೆ ಇಟ್ಟು ಕೊಂಡಂತೆ ಭಾವಿಸಬೇಕು. ಅಗಲೆ ಎಲ್ಲರಿಗೂ ಶ್ರೇಯಸ್ಸು.

Sunday, September 25, 2011

How to become extreme expert ?


I am  peacefully enjoying  Michael Jordan's basket ball play highlights.

Suddenly a virus hits my mind. What drives one to become extreme expert at 
something? 

I know this world would give me abstract answers that are tough to roll out in real life. Yet unable to tolerate the virus I dare to ask the question.

Among all those I closed on simplest one. May be you guessed it as well, its one word answer Passion. Passion is most popular answer as well. 

Even before I could catch breath out of high performance game that I was watching or celebrate victory of fist answer next virus hits me How do you become passionate? 
Here comes next popular one Find what you love to do and enjoy.

Now I am  getting mildly sick. I ask real question How do I find out what you love? 
Right back comes blow, Look for the things that you can do effortlessly. 

Paused for a moment to realize for a small group of people it might be easy to find out. Those who are naturally gifted to extent that it stands out.  Like great voice of Lata. 

But that's just 1 % of population what about 99% of us where its not standing out?     

Deep silence….I could hear cricket's concert outside.

Turned my head to window to enjoy the concert and I see a cat  very carefully moving over the compound wall of my house. I continued the  cat watch. Cat moved carefully in style. Well it was looking for its hunt.  I could sense that every part of cat was 100 % focused on this one task. I envied its concentration and continued the watch. It continued on its move. It jumped from longer back side compound wall to shorter adjacent compound wall.  It smartly made use of its nails to take one step hold on longer compound wall as if walking vertically before landing on the shorter one to minimize the impact. To get a better view I moved out and cat did not like it and it quickly moved on.    

Nothing new, well I have seen many exotic hunt sequences on the National geographic and Animal planet channels. But I guess live has its own charm. Just glimpse of one of these great hunts of cheetah hunting to save itself and it's cubs.

This expertise shown by animals made me think further about it.   I think certainly nature has gifted every living beings ability to become expert of the area on which its life depends. Its so simple. Animals will go great distance and even some do good bit of innovation to make their living. They adopt and evolve.  They cannot take not possible or No for answer. They will do anything and everything to get what they need. Need and wants are two different things.

We humans fail to understand this fact. Simple way to be expert at something is being able to have a skill by which you can earn your living. Master this skill to make your living consciously. In the civilized society this capability may get hidden behind the team work. This is fine to an extent. But its not acceptable when one is ignorant of it or even worse lazy or smart at fooling system. In all these cases people are hurting themselves. They are denying themselves the greatness that they are gifted by nature. I don't understand why this simple truth  its wrapped in so many layers.

Earn your living well. One should work like as if one's life depends on it. Think of it as hunt that cheetah is attempting in video. It cannot miss it. Both cheetah and its cubs will starve to death if it misses.  Make yourself accountable to every single rupee taken out of system to your efforts. No, not your boss but to yourself.  Earn it well and you are on your route to glory. On this route you are bound to find the thing you love. The one that is made for you. This is basis of economy as well. We need to produce equivalent of wealth we are earning. 

I was cured of virus by realizing Be raw, Bare yourself and Earn it well.   

Sunday, July 17, 2011

ನನ್ನ ತೇಜಸ್ವಿ - ೧

ರಾಜೇಶ್ವರಿ ತೇಜಸ್ವಿ ಅವರ "ನನ್ನ ತೇಜಸ್ವಿ" ಓದುತ್ತಾ ಇದ್ದೇ[೧೭೪/೫೮೪ ಪುಟ ಓದಿದೆದ್ದೇನೆ]. ತೇಜಸ್ವಿ ಅವರ ಸ್ವಂತಿಕೆ ಅವರ ೨೪ರ ಯುವ ವಯಸ್ಸಿನಲ್ಲೇ ತುಂಬಾ ಗಾಢವಾಗಿ ಹೊರ ಹೊಮ್ಮಿದೆ. ಅವರ ಆ ಸ್ವಾಭಾವಿಕ ಹಾಗೂ ಪಾರದರ್ಶಕ ನಡವಳಿಕೆ ಅವರ ಅಗಾಧವಾದ ತಿಳಿವಳಿಕೆ ಹಾಗೂ ಧೈರ್ಯವನ್ನು ತೋರುತ್ತದೆ. ಇದು ಅವರಿಗೆ ಜೀವನದ ಬಗ್ಗೆ ಇದ್ದ ಪ್ರೀತಿಯ ಪ್ರತೀಕ ಕೂಡ ಹೌದು.  ತೇಜಸ್ವಿಯವರ ಆತ್ಮವಿಶ್ವಾಸ, ಗಟ್ಟಿಧೋರಣೆ ಹಾಗೂ ಸಟೆದು ನಿಲ್ಲುವ ಶಕ್ತಿ ಅಗಾಧವಾಗಿತ್ತು.


ನನಗೆ ಹಿಡಿಸಿದ ತೇಜಸ್ವೀಯ ವಿವಿಧ ಧೋರಣೆಗಳು:

ತೇಜಸ್ವಿ ತಮ್ಮ ಭಾವಿ ಪತ್ನಿ ರಾಜೇಶ್ವರಿ ಅವರಿಗೆ ಬರೆದ ಪತ್ರದ ಒಂದು ಸಾಲು ತುಂಬಾ ಹಿಡಿಸಿತು. "ನನ್ನ ಜೀವನದ ಸರ್ವಕ್ಷೇತ್ರಗಳನ್ನು ಆವರಿಸುವಂತ ಯೌವುದೂ ಅದು Love ಆಗಲಿ Literature ಆಗಲಿ ಅಥವಾ Music ಆಗಿರಲಿ ಅದು ನನಗೆ ಬೇಡ."

ನಾವು ಬಯಸಿದಂತೆ ಬದುಕುವ ಸ್ವಾತಂತ್ರ್ಯ ಯಾವತ್ತೂ ಒಂದು ಭಯಂಕರ  ಹೋರಾಟದ ಫಲವೇ ಹೊರತು ಸುಲಭಕ್ಕೆ ಸಿಗುವದಿಲ್ಲ. ಸ್ವಾತಂತ್ರ್ಯ ತೇಜಸ್ವಿಗೇ ಪ್ರಾಣ ಪ್ರಿಯ.

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

ನನ್ನ ವ್ಯಕ್ತಿತ್ವ ಇಷ್ಟೊಂದು ರಂಜಕವಾಗಿ colorful ಆಗಿರೋದೇ ನನ್ನ ಆತ್ಮಭಿಮಾನದ ಮುಖಾಂತರ, ಅನ್ನುವ ದಿಟ್ಟತನ ಹೊಂದಿದ್ದರು.

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

Fashion ಒಂದು ಕಡೆ ಬದುಕುವ ಉತ್ಸಾಹ ಗೊತ್ತಾ. ಯೌವನವೇ ಅದು. ಏನು ಬೇಕಾದರೂ ಮಾಡು ಒಂದು ಜೀವನೋತ್ಸಾಹದಿಂದ ಮಾಡು. ಕಾವಿ ಬಟ್ಟೆ ಬೇಕಾದರೂ ಅದಮ್ಯ ಉತ್ಸಾಹದಿಂದ ಉಟ್ಟೋಕೋ. ಆದರೆ ನಿಸ್ಸಾರತೆಯಿಂದ ಜೀವನದ ಬಗ್ಗೆ ನಿರುತ್ಸಾಹದಿಂದ ಬದುಕಿದ್ದಾಗಲೇ ಸಾವಿನ ದಾಸರಾಗೋದು ಬೇಡ.

ಸ್ವದೇಶ ಚಿತ್ರದ ನಾಯಕನಿಗೆ ಮಾದರಿ ಆಗುವಂತೆ ೧೯೬೬ರಲ್ಲಿಯೆ ತಮ್ಮ ಚಿತ್ರಕೂಟ ಮನೆಯಲ್ಲಿ Hydraulic Ram pump ನಿರ್ಮಿಸಿಕೊಂಡ ಎದೆಗಾರಿಕೆ ತೇಜಸ್ವಿಯರದು.

ಹ್ಯಾಟ್ಸ್ ಆಫ್, ಸರ್ !

ಮುಂದುವರೆಯುವದು ..


ಅಲ್ಲಿಯವರೆಗೆ : http://www.tejaswivismaya.com/

Monday, June 20, 2011

Murphy's Law

Well many times few things have gone bad. But they never really came close to being tagged as Murphy's law experience. But here is the one that happened on  16 June 2011 really came out as classic example.

15 June 2011 was one of the longest lunar eclipse night. I was awake till 4 AM. Catched some 4 Hrs sleep and got up at 8 AM on this D-day of 16 June. As it was late decided to take my car to office instead of office transport.

Reached office at about 10:30 AM. Had pretty much regular day and started back from office at about
8:30 PM. I was really tired due to night out and wanted to get back home quick. Started back with one of another colleague who was heading in the same direction in his car. Just after about 15 minutes travel one of the front tire went flat. You quite expected it right ? No..No...this is not it just read ahead and see what unfolds.

I had never dealt with flat tire before so I thought, I could quickly call and stop my friend in another car just ahead of me for help. That's when I realized my mobile had completely drained off and had switched off. It was lying there unaware of fact that my first help has gone off and I cant even inform back home.

It was for last couple of days, I was thinking of taking out the cash from ATM but had not done it yet. Checked my valet there were just thirty rupees in all. Fine, I said to myself turned on car's emergency lights. Parked by the road side. Started taking a walk around. Quickly spotted a small Maurti Service centre. I was really happy initially but to my disappointment the guard said all the staff has left. He pointed me towards road where I can find more garages. I quickly checked time it was 9 PM already so rushed to that street. Another disappointment all those small garages had already closed.

But fortunately I found a ATM and took out some cash. There on decided to catch a Auto driver to help me fix it. I found couple of guys and they agreed. They came to place where I had parked the car and started the work on the replacing the flat tire. To my surprise I found that tools were not returned to me during the last car service.

Fine, I said to myself and stopped taxiwala who was passing by and asked if he could spare the tools. Although that guy was good he said well TATA Indica tools wont work on Maurti. There on like Vikram of Vikram-Betal, I started looking around the houses to see who has Maurti car parked. Found the nearest one and requested security of that house to get me the tools after explaining the situation. My watch was already clocked 9:30 PM. Land lord lady was kind and she gave the tool set to security who accompanied me. The autowala's managed to replace my flat tire.

Do you think its end yet. Not there is still small part left. I had to reward my star team. I could pay some twenty rupees to security and asked him to thank land lord lady on my behalf. But I just realized ATM had given all 500s new notes. They smiled at me. I asked autowala's they had no change. Checked with the nearest grocery store and medical shops who were about to close for change. You guessed it right they politely refused. There was Bar near by. Figured these are rich people and checked with them. Bang ! got the change. Quickly settled the account of Autowala's.

Just smiled at myself on what had unfolded in last 1 hour 30 mins. Headed back to home to reach at 11 PM completely exhausted.

I had experienced the Murphy's law first hand.

"If there is a possibility of several things going wrong, the one that will cause the most damage will be the one to go wrong." - Murphy






Wednesday, May 25, 2011

Debugging in the System Verilog/VMM Constrained Random Verification[CRV] test benches

70 % of asic design goes in verification and 70 % of verification goes in debugging.

Planning for the debugging goes a long way. Feature by feature the way we architect the test bench pay some attention as to how will it be debugged. This strategy will pay back heavily.

One old principle is don't forget the basics. Understand the ground rules well.

In verification ground rule is generate the stimulus and check the response. That's it.

In the directed case it would be evident just by reading the test source code.

The same is not true when one looks at the the CRV test benches. Although the ground rule is still the same.

Well debugging the CRV test benches is little different ball game. Now one needs to figure out the stimulus  generated from the test logs. There is no source code to refer on the lines of directed case.

I am not going to talk about technicals of the vmm_logs. May be I will put a word or two as to what customization can be done to make it more effective.

0. Usage for the Logs is they are 90 % of time grepped and not read line by line. So design the regular
expression friendly logging messages.

1. Just because they are grepped does not give you a license to go wild and print the universe. Follow
some good logging etiquette. Well formatted information is worth the time spent in putting up the format.
Address map, details of transactions, configurations needs be formatted to ease the read.

2. Implement intent driven logging macros. Intent driven macros could distinguish between the messages
that give out information about specification, implementation, test bench specific etc. This can help in debugging across teams. Lets look at a case where the unit test bench gets ported to system.System team might just be interested in the messages that give out the spec information and they may not be interested in the test bench specific messages. So it would be good to have this control.

3. With the vmm logging macros tend to print out multi line messages. Do customization to make them
single line. Also group the related multiple lines that need to go together in a string data type and print it out with the single call to messaging macro. While built in vmm component logging is useful it can be big distraction and can increase your log file sizes beyond wave dumps. So have knobs to turn off this internal logging and enable only your own TB logging or together.

4. It should be very straight forward to find out the stimulus generated and the response given out by the DUT. VMM test benches heavily utilize the concept of the transaction and transactor. Transaction go via
the channels. The built in logging of the channels puts out messages about transaction being added/removed.
This can be very informative for the stimulus and response extraction.

5. Debug messages cannot be put just for the sake of it. There needs to two views that needs balanced.
One is being able to have as complete information as possible being available in the logs when the highest
verbosity is enabled but the second one is ease of localizing the issue using a question/answer/elimination.

Few simple quick information to help ruling out the basic issues. There on eliminations. First one is : Is it
really a RTL or test bench issue. If its test bench issue then it should answer is it originating in generator, transactor, BFM, score board, driver, checker etc

6. For TB issues after its localized to a component put enough information to be able to figure out what is the state of different threads in the component. If its waiting for some event it will go a long way to put that debug message as to what it is waiting for.

7. End of test itself can be multi phased. Put enough information to indicate as to which phase of end of test is being waited on.

8. Even when its closed as RTL issue messages need to be clear enough to convince the designer. It should be easy enough to give the picture of scenario as designer would imagine.

9. Build the set of frequently used regular expressions and use the egrep to find out the complete sequence of event that took place. This bigger picture is very vital.

10. Have a easy mechanism to identify the requests and corresponding response. For the buses that allow
multiple outstanding requests and allows out of order completion it goes a long way to build this
identification mechanism. Even though the bus may have some id mechanism of the transactions as they get reused it might be tough to debug. Go ahead and add TB id for the transaction as well that is unique throughout the sims and map the completions on to this ID and it greatly ease the debug.

11. Don't plan to debug everything using logs and thus put everything in logs. Plan on using the single
stepping/watch capabilities of simulators. Synopsys DVE works great for the test bench debugs. This step means extra time but trying to solve all debugging needs using logs would reduce the logging efficiency.

12. Put enough note verbosity message to be able to figure out the timestamp from where the dumps needs to be started and if you can decide if the dumps are needed that would be great.


Test Bench issue Preventions:

0. Go defensive and be paranoid in terms of coding. Next time you are 100 % sure to find the element you are going to look for in the queue where you are tracking transaction completion still add an fatal error statement if its not found. These checks go a long way in catching the issue at root. Otherwise these can morph in to very tricky failures.

1. Having lots of failure with the similar error message but for a different causes is an indication of more granular checks are needed. More granular checks make it easier to debug.

2. Pay attention while doing copy/paste to avoid those extra compile cycles and painful debug cycles.

3. One aspect that is different coding in SV compared to C/C++ is the time dimension. Be aware that
hardware interfaces are parallel while something is being processed at one interface there can be activity on the other interfaces as well. This thought process can save you from normal items that come in as a part of dependency but also take care of race conditions.

4. Multiple threads accessing the shared resources is one more issue. While one writes the code it might be tough to imagine the concurrency of threads. Build your own way to imagine this concurrency and put the
needed protection of the semaphores.

5. Zero time execution is another trap. Beware the vmm_channel put and get are blocking. What it means
is on every channel put/get the scheduling coin gets tossed again. All the contesting threads get a  chance to compete and execute. While in your head you may be thinking of only the two components connected by channel to be active but its not true other components can also get a chance.

Sunday, May 22, 2011

ಅಳುವುದೊ ನಗುವುದೊ ನೀವೇ ಹೇಳಿ ?

೨೨ ಮೇ ೨೦೧೧ ರವಿವಾರ "ನಂಗೆ ಇಷ್ಟಾನೋ" ವಿಶ್ವೇಶ್ವರ ಭಟ್ಟರ ಅಂಕಣದಲ್ಲಿ "Brilliant ಉತ್ತರ ಬರೆದರೂ ಹೀಗಾ ?" ಎಂಬ ಶೀರ್ಷಿಕೆ ಅಡಿಯಲ್ಲಿ ಕೇಳಿದ ಕೆಲ ಪ್ರಶ್ನೆ ಹಾಗೂ ಉತ್ತರ ಹೀಗಿದೆ.

ಪ್ರಶ್ನೆ : ಟಿಪ್ಪು ಸುಲ್ತಾನ ಯಾವ ಕಾಳಗದಲ್ಲಿ ಮಡಿದ ?
ಉತ್ತರ: ಕೊನೆ ಕಾಳಗದಲ್ಲಿ

ಪ್ರಶ್ನೆ : ಸ್ವಾತಂತ್ರ್ಯ ಘೋಷಣೆಗೆ ಸಹಿ ಹಾಕಿದ್ದು ಎಲ್ಲಿ ?
ಉತ್ತರ:  ಕಾಗದ ಕೊನೆಯಲ್ಲಿ

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

ಈಗ ನೀವೇ ಹೇಳಿ : ಅಳುವುದೊ ನಗುವುದೊ ?

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."

Saturday, January 15, 2011

Message of Veda - Hari Sarvottama and Vayu Jevottama

Understanding the scriptures of Veda, upanishad, Ramayana, Mahabharat, Bhagavata or purana's is no easy task as we all know.


Even more danger lies in mis-understanding them without the help of right Guru.

Just wanted to high light one point that I had heard during the Pravachana from Sri SatyatmaTeertharu. All these scriptures have one intent that is tell about the Hari Sarvottamtva and Vayu Jevottamtva.

At any point one sees the anything that does not align with this in the scriptures way to resolve it is:

1. If it stating something opposing the Hari Savottamtva or Vayu Jevottamtva then treat it as done for the Aasura mohana (confuse the evil forces, demons)

2. If the same event is quoted little differently in different scriptures like places, persons or time change etc then treat it as would have happened in different Kalpa's.

I dont know for sure but Kalpa is time for one complete cycle of Bramhanda coming in to existence and getting destroyed.

There have been several kalpa's and all the main Eeethehas[History] repeats itself.

Creation of Bramhanda during every Kalpa is compared to tree and Bhagavanta himself acts as a seed for it. As quoted in the Bhagvad geeta 7.10 Sloka. There is also term Avyakruta named for the seed. Seed has this property that it leads to tree of the same type.

If you look at the VishnuSahasraNama one could identify the Avyakruta.

I wonder in our Mother earth the seed and trees are here to tell us about his leela of creation of the universe.

If you see any mistakes in my understanding please let me know.

Shri Krishnarapanamastu.