Friday, September 24, 2010

The two legs of Education

"Education is not the amount of information put into your brain runs riot there all through your life undigested. Its character building, men making and assimilation of Ideas" -- Swami Vivekananda.

From the above quote we can deduce there are in essential 3 purposes of education. Unfortunately all the three have become a rare commodity. My idea in this post is not to brood over these ideals, since in our context we only can have ideals in books but not lives. My pursuit is more mundane here.

In the current system we have rote learning. What I observed in most of the instances is whats there in the text book or more so in notes. When I was recently speaking to my daughter's teacher in school, I made the following suggestions:

  • Make her read through the text book completely: -- What I observed is they are either read important sections of the lesson in the school or important points in the lesson. This would make them think too focussed in getting marks rather than that of "Learning for Joy"
  • Don't give notes: -- Giving of notes makes you lazy. Note preparation by the student is fine since it would impart very good of culling or sieving the important information from hoard of other information which is not so important or if they note the important points they should able to make the story around in the examination. This would also improve their imagination. But if the teacher gives notes its the end of every imagination and it would end the world for them.
  • About Question Papers :
    • They should not be from the notes:
    • They should not be from the Questions with in the text book
    • They should rather be from other sections of the Lesson 
    • At least some of the questions must be thought provoking and imaginary like for example: 
      • You have "hinge joint" at elbow and knee. What happens if the joints were of "Ball and socket in nature"?
      • What happens if earth stops moving (revolving / rotating)?
    • These would not only test their understanding but also their insight into the concept.
  • Language Skills: -- At least make 2 periods / week make comprehension compulsory or at least make it as mandatory exercise at home
  • Do not give rote home work: -- There is no point in a kid writing the answers for or the passages repeatedly. Once they understand we should leave it to their imagination and give credit for their expression also. 
I could understand the institutional reaction w.r.t. the parents anger for their kids not getting the marks. But I would suggest the following things in this regard:
  • Educate the parents and bring them awareness regarding the virtues of educating rather than becoming literate. I believe we only need to convince them.
  • Make changes in the Examination pattern and grading.
  • Orienting the kid/teacher regarding intelligent/smart learning rather than rote learning. I can write a lot on this but not here or now unless there is need.
Coming back again to the legs of education. What are they? why are they important? How to impart them? Lets see....

They are: Application and Extension. The former one comes after application of the concept that is learnt. The kid learns in geometry that a straight angle is 180 and sum of angles in a triangle is 180. Then if he is able to identify whats angle A given B/C following sum then it becomes application.



And if he can himself tell the sum of the opposite angles in triangles is equal to the angle remaining with in the straight angle by extending the line then it becomes the extension.  

Nurturing both these things must be the fundamental aim of education. Unfortunately arguably both these skills are "God Gifted" or "Must be there in the Kid". I beg to differ at least till the extent that we must strive inculcating essentially these skills as part of education. Depending upon the CPU/Hard Disk the kid might respond (Look at the factors discussed in my previous post: Every Child is Unique). Now not just arguing but I would put forth comprehensive thought behind my saying:
  • We can prod the child since childhood (probably we do it unknowingly till some time from the moment they took birth) for not just imitate, but whether they can use the acquired skill at different places. For eg. 
    • where do you see the right angled stuff at home. 
    • how can they measure milk / any liquid once they learn volume for solids. 
    • Can they see  "evaporation" from any live example round
  • We should also make them extending the thought by "probable / improbable" questions..  Like what I enunciated earlier while giving eg. in case of Question Papers.
  • We need to nurture the passion for questioning till they understand / apply and extend. Fortunately if your kid is endowed and is passionate about the surroundings, and is relentless with questions please do not discourage him by brushing aside. Who knows probably he might be the next Einstein. Admit if you do not know the answer and find out the answer and let him know or else take him to somebody who can answer him. Probably he might get inspired too!!!. At the same time your admitting would give him good character by way of admitting and striving for answer too.
These things are not tough. The only thing is we do not meditate and apply ourselves for this cause. The thing I tell repeatedly to my kids is -- "If you read for 40 minutes think for another 40 minutes". You just need to take the pain of observing the things around and make all the possible questions for your kid. Fortunately lot of times we get the material for putting the right questions from a bit of higher classes with out much work from our side. 

What I see is parenting is the most toughest part and the most responsible part of life for everybody. We must not only cherish the moment of becoming parent but all the way of making the kid equipped too.. 

Thursday, September 23, 2010

How to determine deployment architecture

Lot of times especially when your Application is Enterprise level and you need to deploy that to some hardware it becomes really tough to see what Hardware is exactly needed and how do we deploy the application. The following information should be considered for doing the hardware sizing and telling about the CPU/Memory and concluding on probable deployment architecture.

There are few factors based on which we do hardware sizing and Memory sizing.

  * How many interfaces are there in the project?
  * What would the the expected peak load on each of the interface (External Systems like DB etc.s) ?
  * What is the exposure for that interface - i.e. is that by SLSB / WS /
    BPEL /BPEL based WS ?
        o Whats the load on each of the interface ?
        o Whats the message structure look like?
        o Whats the max. payload?
        o What is the hardware on which this External system runs? --
          This question is basically to know the hardware limitations
          of the systems on which the interfaces run. These should be
          factored while committing the performance numbers on that
          interface.
        o TPS (Transaction Details on each of the interfaces)
  * Whats the rationale for exposing that interface in that way ?
  * Whats the messaging infrastructure?
        o How many Queues / Topics ?
        o Whats the message load on each of these ?
        o What are the expected criteria for this -- for determining whether this is going to be deployed as another server
          process or on a grid like..
              + Reliability
              + Effect of message loss
              + Are the WS messages pushed to any Queue? If Yes, is this our system's responsibility or who is taking care
                of the reliability at this level? -- I am asking this question since we are do not have any guarantee there.
        o Do we need a grid? -- Rationale for the same. Hardware on  which the messaging grid runs.
  * Are there any EOD jobs running? If Yes, what is the expected  thruput in that case?
  * Are we running any jobs that are based on Scheduler?
        o what's the OS and environment on which it runs?
        o Are we going to incorporate the OS based scheduler? -- In some cases where we do need fine grained scheduling we need to go in for OS based schedulers.
  * What were the considerations for the grid infra at the Runtime level 
        o Whats the SLA with respect to critical interfaces?
              + Do we need to run them 24 * 7?
              + What is the expected down time of the server and at
                what interval?
              + Are we using file based interfaces at any point?
                    # how many and what are the configurations ? -
                      Since File I/O is the most time intensive and depends on things like
                          * RPM of the hard disk
                          * Interface/bus speed
                          * hardware sink etc..
              + What are the memory considerations that are thought off?
        o How many ears we are going to deploy on the Application Server?
        o Application Server version?
  * Whats the LAN infrastructure we will be having -- Is that going to be Gigabit Ethernet or is that going to be something else? This
    determines the Network latency?
  * Does the client have anything like DataCenter ? If Yes, whats the
    infrastructure there?
  * What are the future considerations for this project?
        o Scalability aspects of the system.
        o With respect to software and hardware future requirements? -
          Where would they be hosted?

YOY data with respect to projections in % (Users / TPS / etc..)

  * Business Process tuning considerations :
        o Are we going to have persist-able BPs? If yes how many in
          number?
        o We need to have a matrix where in we have number of
          instances at any point in time and then how much time each
          BP is going to be live.
        o What would the possible number of simultaneous instances we
          are going to have at any point in time?
        o Are we going to have the BP's enabled in clustered
          environment? If Yes, have we decided about the BP
          persistence Database?
        o Are we going to have any BP where in we are going to enable
          the XA persistence at the "Whole BP" level? --
              + What are the considerations for such architecture?
              + Are the scalability issues taken care or factored
                while thinking about such things?
        o Details of the WS implementations
              + Do we have security in place
              + What is the max size of message
        o

  * How are we going to deploy the UDDI Server etc. ?
  * Constraints for suggestions of the architecture -
        o Money
        o Cost
        o Time
        o Administrative
  * Possible Deployment Architectures
        o Talk about what are all the possibilities
  * Choosing an optimal architecture.
        o Choose the one best suites the context out of the lifted
          ones above.
Hardware -- What are the considerations... Which vendor etc. Based on the above information and the CPU on the Hardware proposed we can think of the number of boxes etc..
OS details -- Whats the OS, patch level etc..
Volumetric with respect Load - No. Users
Concurrent peak load
Need for session persistence / replication for the logged in users -- would everything be maintained by SSO which is the gateway -- If there are any internal users who can circumvent SSO based stuff.
What would be the average size of data thats going into the session 
Total users for the system
If clustered -- need for use of HADB for session storage.

Apart from the above which talks essentially vanilla Application Server with application consideration, we need to consider the following too which are going to reside on the environment along with the details of co-location.

SSO / SSO agents
Rule Engine component
Any other External interfaces like Databases / ERPs etc..
Any storage / retrieval systems in place etc?

With respect to the External interfaces have we run the QOS criteria and arrived the TPS that it supports on the Hardware? To think about the end to end  performance of the system we need to evaluate and know supported numbers at the interface level since that the numbers at that level would influence the overall numbers.

Once we have the above information, we can look at the measured thru-puts at some site like spec.org. We will know the the standard tests that are done on different kinds of machines, their scalability and other aspects from such reading. Depending upon the application needs we should able to choose the vendor.

Happy Deployment!!!

Wednesday, September 22, 2010

Migration / Portability among Application Servers

Lot of time we tend to think that write once and run anywhere is true in case of Java EE applications also as in case of Java. Java EE is a wonderful spec and it has made life easy with respect to portability of the application and made the world for client vendor independent. 

But in practice its not so. In any case the approach of migration the following things we need to take care even if we port the application using some tool like https://migrate2glassfish.dev.java.net/:
  • What are the custom things they used in the Deployment Descriptors of the Applications like application variables etc..
  • What are the Application Server specific things that are used in application
  • Version of Java & Java EE they used in building application
  • IDE they used while building application -- 
    • Some IDEs have built in-oprtabilities for generation of the Application server specific deployment descriptors.
    • Version of the IDE they used for developing the application
    • Portability / interoperability of the IDEs -- NetBeans supports importing of the projects developed in eclipse / JBuilder. So once we import the project and make some environmental modifications we should able to generate the stuff req. using NetBeans itself.
    • If they have used just plain Ant script also we can import the project into NetBeans / eclipse and we need to do a bit of R&D after the application is imported since it would not be directly interpreted as Web/Enterprise project rather as just Ant based project.
  • Have they used any Startup Classes -- This would be Application Server specific. For eg. GlassFish uses LifeCycleModules where as WebLogic has different way of doing the same.
  • Have they used any JMS related things -- 
    • They might be using some Message Server specific jars. 
    • And some times Vendor specific APIs for accessing. 
    • Also in other case like MSMQ kind of stuff is used application might be using some Native API.
  • What are the external systems the applications are connecting to
    • If this is just JDBC there would not be any issue
    • If they are connecting to any other external system -- What are the standards they are using like JCA etc..
    • In above case we need to port the JCA adapter too to the WLS -- Also this might have been provided by vendor and might have been under some licensing area.. we might have to know about this.
  • Are these applications using any other Libraries either Open-Source or Vendor supplied -- If they are using
    • Licensing terms and conditions
    • Way by which they are deployed and configured -- this might be application server specific 
  • What are all configured at JNDI level w.r.t. resources -- Their configuration settings. Tuning for these parameters differ in different application servers.
  • Any tuning that has been done to Application w.r.t. 
    • JVM -- Version and other details
    • Application Server specific
    • Which Database they are currently using in the project and the tuning thats been done on Database. -- This would have effect on JTA support and sometimes might effect porting. 
  • Sizing details of the Application Servers and the QOS details -- Current Performance details -- premises for the same -- because different  application servers differently. For achieving the same QOS we need to have the bench marking correctly.
  • Any serialization & Externalization they used in the projects.
  • What is the current server form architecture (Deployment Architecture) -- so that we can evaluate.
  • If they are using WebServices which kind of stack they are using. Some kind of tokens / infra might not be supported by All the application servers. 
If we take care of above things most of the things would be taken care. 

SOA based stuff becomes I see become more platform dependent because of the product reasons and becomes even more tougher than Java EE based things because of the following reasons to list a few:
  • All the servers do not comply to same standards-- For eg. JBI - JCA etc..
  • All the files that are generated even in case of BPEL where there is a standard there are portability issues since lot of time there are vendor specific extensions
  • All the external system adaptors are also compliant since again vendor specific extensions
  • Security provisioning is also not portable because of different degrees of implementation and extension
  • Governance is specific to each of the plat form with different kinds of features etc..
That way SOA based product interoperability is rather non existent. 

Thursday, September 09, 2010

Thinking of changing news paper

I get couple of news papers one English and one vernacular. I switched my vernacular news paper to Sakshi when it launched a while ago. YSR's (the then CM of Andhra Pradesh) son Jagan has launched it. I changed from the then popular daily Eenadu thinking that its too yellowish. Sakshi was ok for some time but has soon become the mouth piece of the ruling party for obvious reasons. 


But of late following YSR's death it has become the trumpet of Jagan and his Oodarpu Yatra. It was ok for a while listening to the trumpet for a while but at one point of time more than 70% of the paper devoted to 

  • just "Jagan Yata" 
  • launching tirade on the current government. 
  • becoming black mailing media arm for any non-supporters of YSR legacy
  • challenging the high command with all the mouth pieces -- which can destabilize the current setup and can potentially create fissures in the congress party. 
Now it became unbearable for me listening to all this and desperately need a respite. So started searching for an alternative to my dismay I found the following facts:
  • The so called forth pillar of democracy became corrupt enough and each and every paper (esp. vernacular ones) took side of one political party or the other
  • Lot of arm twisting happening at different levels by the media
  • Its heartening to know that even at the village levels journalism has become a very lucrative business and is no more pious. Journalists seem to extort money reg. publishing of objectionable content from different sections of the society just like the other goons or maoists. 
  • Its not just with news papers and is applicable to the Visual Media too.. :)
If this pillar is corrupt there is no hope for any country. The ex-CVC's comments reg. corruption in the country are to be quoted here "When we were growing up I remember if somebody was corrupt, they were generally looked down upon," he said. "There was at least some social stigma attached to it. That is gone. So there is greater social acceptance." 

The latter part of the sentence is what is to be lamented about. Our prime minister always laments reg. the economic impact or future economic growth because of the increasing levels of corruption. But I think it won't certainly leave there it would rot the stem and the roots too one day and the whole fabric might be burnt. 

And we might be just be a single country just by chance but not by any other thing since this might have well effected the areas of both internal as well as external security of the country as well. 

Wednesday, September 08, 2010

Understanding the Brain of a child. How to evolve it?

I do not want to brood over Biology much here because its beaten out and you have plenty of material outside. I suggest on theoretical side the book by Joe Dispenza "Evolve Your Brain: The Science of Changing Your Mind"Evolve your brain"


There are few facts which would make you understand how are we different:

  • Human Brain is over three times as large as the brain of a typical mammal with an equivalent body size
  • Human Brain has enormous adaptability -- it can wire itself to adapt to new circumstances for eg. normally in human beings the speech functionality is developed in the left side of the brain but if any child's left side brain is impaired then the same functionality is developed in the right side.
  • Its much more powerful than any super computer invented till now because of its cognitive learning and ability to program itself.
  • We have huge potential but we use < 10% of our brain power.
  • We can certainly overcome and co-create your own world all we need are:
    • concentration
    • will
    • ability to understand the gap between action and reaction and exercising the free will there
  • There is something called Hard wiring which can't be undone in the brain but there is vast potential for soft wiring which can be programed by our own perception/will and Brain would adapt to those circumstances. 
There is huge amount of ongoing research on the powers of brain both at physical (Macro) and psychic (Quantum or Micro) levels. And the research findings say that lot of untapped potential can be tapped. And if we can tap and utilize the same we can improve ourselves, generations to come and make earth a better place to live.

I suggest the following sites which can be of use:

  • http://www.brainmetrix.com/
  • https://www.mybrainsolutions.com/
  • http://www.lumosity.com/
There are lot of philosophical angles to this discussion but I would like to stop here and will discuss depending upon the interest in next posts. 


I had my own experiments with my kids on these aspects which I will be sharing in my next post..

Thursday, September 02, 2010

Every Child is Unique

Of course every person knows all of us are unique, why do we need to talk about this? We do need to talk about this because of the following reasons. When I say we here its 'Parents' and most of these discussions might revolve around Indian Psyche or perhaps South Indian Psyche in more specific cases.
  • We do ignore this fact conviniently in this compititive world. 
  • Though we acknowledge this at our level (parental level) and try to reason for our 'failure' we tend to compare our kids against his peers. Some times we become brash and go beyond reason making either fun or other wise.
  • We might sympathize with the kid but would never or almost never empathize with them.
  • We tend to chase success ignoring excellence. (Excellence will always bring success where as the otherway might not be true).
  • We almost always take children as one of the pride possessions rather than individuals having their own ego states and tastes.
Every child is unique for the following facts:
  • Genetics: Even fraternal twins are not identical even the identical twins will have their finger prints and eye retina will be different.
  • Economical: Unless otherwise twins we are born with different levels of comfort levels of our parents
  • Social and Cultural: Eg. kids born to Bengali parents with a 5-6 yr gap one in Hyderabad and the other one in Chennai
  • Psychological: It varies with genetics as well as other factors influence and the physiological age also will have great impact (for e.g. during Teens because of the hormonal changes we all will have weird behavior) apart from above factors.
  • Perceptional: This is the most important difference which can't be perceived... :).. What I mean here is every body will have his own individual unique window to the world... He can see "only" through this window.. Unless understood in his own perspective we can never understand his world which is the most important thing and is the piller of imparting.
My daughter Srikari, keeps on reminding me whenever I err with my perception and look to apply the same yardstick for both my kids saying that "You only said no 2 persons are same yet you compare me with Bojo". And I do apologize her with my heart and try to rectify myself. But all the ecological systems we built around us force us to forget this often.. :(

The whole purpose of understanding the uniqueness is for differential education for students who are gifted,
demonstrate high performance capability, and are in need of enrichment is a practice that relates directly to the education of the whole child by focusing on individualized instruction to cater to the specific developmental needs of each student. That means that we must create an atmosphere in which teachers are not compelled to “teach to the middle” in order to meet parental pressures and academic institutional pressures. Instead, teachers must be encouraged to teach to the abilities of each individual child, taking into account his or her specific needs and talents.

I strongly believe that "Alone this measure could, bring the Equality of Opportunity" which is enshrined in the constitution. I believe every child has unique gifts and talents that must be developed, but not necessarily in accordance with prescribed programs and rubrics. Enthusiasm for helping each child realize his or her unique
gifts goes a long way toward inspiring students to have confidence in their own abilities should be the objective of our educational system. Helping all students reach their highest potential is the best investment we can make toward ensuring a thriving economy and learning society in our country’s future.

Wednesday, September 01, 2010

Probable Contents Further

I am thinking of the following topics going further. Any suggestions are welcome.

  1. Every child is unique
  2. Understanding the Brain of a child. How to evolve it?
  3. Learning a unique experience. 
  4. How does a child learn? Modes / learning disabilities / super-abilities
  5. Whats Education? and how does learning differ from Education?
  6. Every Parent is a Teacher and every Teacher is a Parent
  7. Every Parent is not a Teacher and every Teacher is not a Parent
  8. What to impart? -- Clarification 
  9. How to impart? -- Means of communication
  10. When to impart? -- Timing
  11. How to work on imparting? -- A parent's homework (might be mind work???)
  12. Is it imparting the Kid or the Parent getting imparted?
  13. Setting the example for kid.

All the above topics are not going to be from the books and are not like collections. But all of them are out of my experience with the kids and the reflections from my interactions. Probably some of the experiments / inferences might have some relationship with the ideas in other books. 

They are going to be anecdotal and are from the real world experiments and experiences. Whoever associated with me do know the incidents but might not have reflected upon from my perspective. In fact this series is at the behest of those who wanted that my experiences to be put into black and white. So that the experiments can be validated with others. If anybody can take anything out of these experiments or comment and express their opinions on them it would be an enhancing and exhilarating experience for the readers.  

Whats this "45 Minutes Stuff?"

Surprisingly my wife stumbled upon my previous entry and commented "Do you think this 45 would suffice? Its a life time stuff..". Apparently she did not get my meaning of "45 Minute Parenting".. So I try to explain whats there in my mind in this post.

These 45 minutes are not just "45 Minutes" literally but they are like "45 minutes" of purposeful engagement with the kid on daily basis. When I say purposeful engagement what I mean in the words of Covey is "Begin with End in mind". So we must have thought out whats the outcome of the interaction prior. The following things comes to my mind when the word interaction comes into picture:

  • Whats the purpose
  • What is that we want during the course of interaction -- or subject of the communication
  • Whats the opportune time for interaction
  • Which mood I should broach the topic
  • What should be the out come
  • Can this interaction be split
  • And the probable conversation content for the topic. In some of the conversations we might need to take positions and we should have well thought out the options 
    • win-loose 
    • win-win
    • loose-win
  • Most importantly how should you transfer -- this depends on the type of the child. 
  • What are the modes of transfer
    • Conscious level implant
    • Sub-conscious level implant
With the last point you would be tempted to think of "Inception". Yes it is in fact like in the plot of inception where in you want to impart or transfer or imprint or let them imbibe the crux of the conversation and make it the part of their own. 

This is essentially like dealing with the most important client(s) of your life. And I feel (I hope the readers agree) is the toughest job anybody handles. For these 45 minutes of engagement you need todo a homework of 1 hour to a day or perhaps more of time depending upon the above factors..

So in essence its not just "45 minute job". I will be exploring further on each of these and other things too.. going further...

Inception of "45 minute parenting"

Today happens to be my daughter Srikari's birthday. I was strolling down in the morning along with her on a morning walk. Since some time different sections of people were asking me to log my thoughts on parenting since someway or the other I was either evoking thoughts or inspiring them while I talk regarding this topic.

Today I made a promise to my daughter saying that I would start penning down in my blog a separate line for escapades/ adventures I had with my kids.

Watch out for more on this.