Tuesday, July 19, 2011

A Four-Step Technique for achieving your Objectives using Neuroscience

The Human Brain is a interconnected System of various components which evolved into its current state over the course of Human Evolution. The oldest and most primitive parts are the The Brain Stem (and Spinal Cord) and the Cerebellum which are responsible for most of our automatic motor functions. The newest structure which makes us "Human" is the Cerebrum of which the Cortex forms the executive control center and is responsible for regulating our other functions whereas its Limbic System is responsible for emotions/feelings. The brain also possesses a capacity for enormous plasticity within the cortex which makes it quite resilient. However the division of responsibilities between the "older" and "newer" parts of the brain remains more or less fixed.

Whenever we involve ourselves in any thought or activity the brain as a whole functions but different parts might be involved to a greater or lesser degree based on the type of stimulus. For example, in a "fight or flight" scenario, the limbic system fires first (in the amygdala) before the cortex can get control and regulate our response. Thus as humans desiring to control our responses so that it always is done in a rational and conscious manner, we need to delay the automatic response mechanisms in the brain and speedup the response time of the cortex so that decision-making is always under the control of the cortex. This is done using the following four stage technique;
  • Goal Setting: This primes our cortex to get involved consciously and so is the first step. Set a goal and a plan to achieve it. It helps to externalize the goal and the plan by writing it down, talking about it with somebody etc. so that it can be objectified effectively. However as you walk through the plan, at any stage, focus on the immediate goal to be achieved at that stage. This is the crucial part. The long-term goal is sort of at the back of the mind but in order to act we consciously focus on the short-term goal. Thus we "set" and focus on this goal.
  • Visualization: It seems for the brain, there is very little difference between us visualizing/imagining performing the movements of our action vs. physically performing them. Thus for any activity, we consciously and repeatedly, mentally visualize our performance prior to actually doing it. This mental rehearsal sharpens our focus and helps us when we actually engage in the physical activity. In my own martial arts practice i have found this to be quite true. Shadow-boxing is based on this principle.
  • Self-Talk: All our thoughts are in a sense, "talking" to ourselves. This is the internal entropy which we need to control and regulate in the positive direction (w.r.t. whatever activity). Therefore we need to withdraw attention from all other wasteful directions and focus it in the positive reinforcing direction. This translates to using positive language, having an optimistic attitude and in general, being enthusiastic and upbeat towards the function/activity. It can be considered a type of reinforcing autosuggestion.
  • Arousal Control: The above steps have helped us prepare for the activity by consciously focusing on the goal, mentally rehearsing the positive outcomes and pumping oneself up by an optimistic attitude and positive language. Now the brain system is "aroused" i.e. keyed up when we start engaging in the activity. At this stage it becomes very important that we (i.e. the executive cortex) retain control until the goal is achieved. For example, in a "fight or flight" scenario, we may not want the limbic system to move us into the "flight" path while the desired goal is to go down the "fight" path. One of the best ways to achieve this is by using Breath Control. Slowdown your breathing so that you are breathing slowly and evenly with long exhales. This calms down the primitive/emotional parts of the brain thus allowing your executive brain to retain control and achieve the objective.
The above is based on what we currently know about the physiology and mechanisms of the Brain. Empirical evidence for such an approach is also seen from various disciplines like Yoga, Autogenic Training etc.


      Saturday, July 16, 2011

      A Philosophical Framework for Human Life from The First Principles

      Life is synonymous with Activity. Though various factors act upon us, we are the participating and active agent. Therefore at the center of any philosophical study of the Human Life should be Self-Effort i.e. An Effort put forth by the Self (defined as the total organism, both Physical and Mental). The above diagram is one such attempt to investigate and map such a model.

      Modern Science has shown us that there is no inherent meaning to life and the various Philosophies are an attempt at inventing one so that our Experience of Life is Meaningful (whatever that might be for each person). Nihilism is the one true Philosophy and against this background we need to paint our chosen Philosophies and Ways of living. Thus we come to the central problem. What model of the Human Psyche allows us to accept the truth that Life is objectively meaningless and yet allows us to live a Happy and Meaningful Life? Clearly since the only thing inherent to us (i.e. the organism) is Self-Effort, it is there that we must seek for Meaning i.e. Self-Effort defines Meaning. The expression of Meaning is subjective to the individual or group and is purely a sociological construct bounded by agreed upon norms and conventions. For example, One may put forth self-effort to acquire wealth and power while another might put forth self-effort in the service of the downtrodden at great cost to himself. Objectively, from the viewpoint of the Universe as a whole, neither matter, whereas from the subjective viewpoint of the acting individual and the society to which he belongs to, one would be deprecated and the other commended based on what benefits they accrue to the society and individual. So we will not get into what constitutes Meaning itself but confine ourselves to what motivates Self-Effort, what are its constituents and how it is expressed.

      All of Life and Self-Effort happens on the following backdrop;
      • Nature and Time are the controlling entities. 
      • Nature sets the stage by giving us potentialities via Evolution, Genetics, Heredity and a Self-Aware Brain. We are provided the healthy proper tools or diseased and deformed ones. We have no choice over it.
      • Time the inexorable, controls the stage. All actions happen in the present, the past is gone and the future is yet to be. The following two myrmidons of Time help/hinder Self-Effort in his interactions with Time.
        • Cause and Effect. He is the unconditional follower of Time.
        • Randomness and Chance. He is capricious but still obeys Time.
      • All organisms/effort/events are Created at a point in time, Sustained for a period of time and is Destroyed at a point in time. This happens in an Environment i.e. the set of everything (material and non-material) enveloping the organism. Thus it could be considered a function of Time i.e. Environment changes with Time and affects Self-Effort.

      We start with the Motivation(the driving force) behind Self-Effort. While the Active Motivation is the one which gets us to act, it itself comes from/is an amalgamation of many from two broad categories.
      • Intrinsic Motivation: This could be thought of as a consequence of what Nature has provided for us. It manifests as "the desire for survival", "the desire to pursue our own self-interest", "the desire to have some measure of autonomy/control over our destiny", "the desire for power" etc. It is innate but could be strengthened or weakened.
      • Extrinsic Motivation: This is due to the Environment enveloping the organism and comes into effect from the moment the organism has been biologically conceived. It is manifested in innumerable ways, the most important of which is "the desire for reward" and "the aversion towards punishment". Since it originates from an external Environment which varies with Time, it stands to reason motivations in this category ebb and flow over time and also new motivations added, and existing motivations removed.
      The Intrinsic and Extrinsic motivations have a synergy between them leading to a conditioning of the organism. Sometimes the Intrinsic ones (innate) are dominant while at other times the Extrinsic ones (environmentally controlled). This eventually leads to the problem of whether or not we believe there is a Free Will (in an absolute sense). I claim that Free Will in a given Environment is well-bounded and if every single aspect in the Environment is allowed to be controlled it can be made non-existent. The Science of Human Behaviour, Behaviourism, Operant Conditioning shows us why it must be so.

      Next Self-Effort itself consists of three stages; Thought, Action and Result, which follow upon each other sequenced in Time and obeying the Law of Cause and Effect. Of these the first two are under our control whereas the last is not always under our control. Randomness and Chance can affect us at any stage thus changing the subsequent stages.
      • Thought: This is the intent before the effort. It is fired off by some Active Motivation either Intrinsic, Extrinsic or a combination of both. As an example let us consider the thought, "I need a vacation". This is obviously a combination of both types of motivations; the organism realizing a need to replenish itself i.e. desire for self-interest and a desire to avoid the negative effects if not replenished.
      • Action: This is the action consequent to the intent and is the essence of Self-Effort. Why? Because it is by action in the present that one can nullify the effects of the past and shape the future (remember we have control only over the present). Action itself is of three types; Mental, Verbal and Physical. They have the most important characteristic that the Degree of Intensity of the action determines whether or not the subsequent stage Result can be brought under our control and shaped to our liking. They can occur by themselves or in some combination. During/After the action one can revisit the original thought behind the intent and if needed modify the thought thus affecting the current action. One could also give birth to a new thought modifying the current action or give birth to a new action. These are all under our control.
        • Mental: This is the planning thought process which follows the intent. Thus following the above example, one plans the number of days for a vacation, the desired destination, the people and goods involved etc.
        • Verbal: This is unique to the Human species since language allows us a degree of complexity not found in the rest of the animal kingdom. It is mainly used to interface with other Humans in the Environment conveying our intentions and plans, gathering knowledge, generating a consensus, maintaining social equilibrium etc. Thus in the example one would talk to people who would join us in the vacation plan, convey responsibilities, elaborating and acting on the plan etc.
        • Physical: This is the physical acting out of the plan thus impinging on and if reqd. changing the environment. Thus in the vacation example this would be the actual physical activities involved in the process. Note that the Verbal and Physical actions are the only way to affect the environment.
      • Result: This is the effect arising from a cause which was our Action in the past. It can be immediate after the action (eg. tipping a glass over) or spread further along in time over years (eg. global warming). But it is not always that the result and its effects arise directly from "our" actions. Why? Because there are other objects in the environment which participate in the event on which we have expended our "Action". If they are the dominant force they can nullify our effort thus skewing the results. Randomness and Chance also play a key role here. Thus we have to distinguish between what is under our control (i.e. we are the dominant force affecting the outcome) and what is not under our control (i.e. we are not the dominant force affecting the outcome). This situation may change over time as we gain more scientific knowledge about Nature and devise new Technologies to master it. For example, ancient people lived with the vagaries of nature like bad weather and floods, considering them not under their control whereas modern man has tamed and controlled them (to an extent). Thus more of the effects could be brought about as a direct result of self-effort. The results in turn affect subsequent self-efforts.
      We now have a framework with Self-Effort occupying center-stage and as the means to providing meaning to life.


      Friday, September 10, 2010

      Profiler tips

      When using a profiler one gets a pointer to the instructions where most of the time is spent. But given the complexity of hardware processors how do we interpret it?
      • First look at the function graph to make sure that "fan-in" and "fan-out" are as expected. If not, then check the logic.
      • If they are memory loads, then we need to look at how our data is layed out in memory and how we are accessing them. On the instruction side we need to look into whether prefetch is being used advantageously.
      • If they are branches, then we have to see whether we are using the branch prediction unit advantageously. Maybe the the condition needs to be rewritten or compiler hints given to better the predictability.
      • If they are compute instructions, then we need to look at how our local algorithmic code is written and rewrite it to better use the instruction set.

      Tuesday, February 17, 2009

      Biases that influence our Judgement

      While researching something else i came across this Wikipedia Cognitive Bias page which i thought was a nice summary of all our biases. ALL our judgmental calls are made through some bias filter. Hence becoming aware of the various biases will help us better control them thus leading to hopefully better decision-making.

      Thursday, October 23, 2008

      Understanding Computer Memory

      In modern computer systems it is memory which is the main bottleneck. Hence understanding how memory works is very important to a programmer.

      Thursday, October 09, 2008

      The Spectrum of Considerations involved in Software Engineering

      The process of Engineering Software is an activity very different from most other types of engineering. Unlike other established fields of engineering you do not have absolute principles and a standard process enforcing them to deliver a product. All you have are experience, guidelines, best practices and coding techniques which can be followed in building software (Note that you do have the theory of computation involving Automata, Language theory etc. but their realization are mostly local to parts of a system and not to the whole. Thus witness the existence of lots of software developers without knowledge of the above-mentioned theories but able to successfully implement features of software systems). This is because of the complexity involved in building software. Where does this complexity come from? It comes from us trying to model the complex real/conceptual world through layer upon layer of abstractions to be executed on a finite resource machine in finite time. During the process of development we have to traverse back and forth through these different layers of abstractions keeping one or more aspects and features of the required end system in mind. Trying to juggle all these parameters simultaneously is tremendously taxing on our minds (see for example The Humble Programmer). One way to simplify the problem is to separate out the incidental activities involved in programming the system from the essential problem being solved. That way the commonalities involved in the art of programming can be applied to problems across various domains (for example i have developed software systems for the color matching domain and the computer network domain among others). Indeed this is how the profession of "Software Programming" has evolved i.e. by concentrating only on the activity of programming. But programming itself is just one consideration in developing a system. What are the others? How can we systematize our approach to these? How do they relate to each other? What aspects do we need to concentrate on to deliver an elegant and efficient system? In the rest of this article we will endeavor to answer these and related questions.

      There are two important viewpoints to doing software development that we need to keep in mind;
      • Top Down View : A top down approach is absolutely essential to zoom in and focus on your goals. What does the system do? This is the problem domain. You need to break through everything inessential right to the heart of the requirements. The system boundaries can only be defined using this approach.
      • Bottom Up View : All systems exist in a certain context. A bottom up approach is essential to understand this context and its limitations. This context is defined by computer architecture, programming languages, runtime systems etc. and forms the solution domain.
      Following the above viewpoints we look at the system as follows;
      • Problem Domain : This consists of the concepts and their inter-relationships which we are trying to model in a computer system. The key is to build a conceptual model of what the user wants. The terminology used should be that of the user. This is often referred to as "Domain Engineering" or "Requirements Analysis". The resulting conceptual model should be documented and communicated to the user (using one or more modeling tools/languages like UML etc.) Interaction with a domain expert who may or may not be the actual end user greatly aids in this activity. For example when i had to develop a software package for the Color Chemistry domain, i had access to a professor and a industrial expert who greatly helped me do "Domain Engineering".

      --To be continued

      Saturday, September 20, 2008

      The myth of the "Expert" and how to become one

      There is something very fundamentally wrong with our absolute belief and trust in so-called "Experts" and "Pundits" and their utterances. Now don't get me wrong; experts are needed. For example; since i don't know much about "nuclear physics", i would need to consult with a person who has studied it and hence is an expert relative to me. What i have an issue with is the common man's absolute deference to them. It is pretty common in arguments for one-party to quote a "well-known expert" and claim victory irrespective of whether there is any merit to it. What has happened here is that one has given control to another person and has suspended his own intellect. This is how people get manipulated and have their free will shaped by others. Now i am not saying that you disregard experts completely; they do have their uses (they are a data bank in their area of specialization). What i am saying is that do not swallow wholesale what an expert says without applying your own independent thought and judgement. If after deliberation you are convinced, then accept it but with the caveat that you might change your mind on that later (as you gain more knowledge). This is discriminating judgement.

      Now why do i feel this way? Because our current system (educational and social) is completely broken when it comes to anointing experts. All it takes to be labeled an "expert" is a certain period of study (eg: 15 years of education, a master's and then a ph.d) and/or a long period of experience (eg: 10+ years experience). Did the period of study actually result in assimilation of knowledge and has it given rise to new insights? If not you are not an expert, you are simply regurgitating stuff. Does the 10 years of experience constitute actual worthy experience or 1 year's experience repeated 10 times? In the former case you have grown intellectually and have something to offer whereas in the latter case you have stagnated and cannot be named an expert. It is especially important in the current times with the explosion of all sorts of data and news that we learn how to identify true experts whose word we can accept and whom we can ignore.

      The essence of an expert is specialization. As somebody once said "An expert is one who knows more and more about less and less". In the course of gaining "expertise" one necessarily has to go deep into the subject of study but in the process if one loses the interrelationships between concepts in the same domain or across domains what has one gained? In focusing on a small piece one loses the organic unity of the whole i.e. "one misses the forest for its trees". But specialization is an inevitability since there is only limited time and unlimited knowledge. Thus the true way to becoming an expert is to hold both the details and the big picture simultaneously in mind while studying. This has to be practiced consciously until it becomes a habit. The second thing is to be clear about the difference between a concept and its formal symbolic representation. Symbols manipulate concepts to derive relationships and/or new concepts. If the source concepts are not well understood then symbolic manipulation becomes useless since one cannot infer anything from the results. This is especially important today with science being so advanced that a lot of concepts are conveyed mainly by symbolic means (i.e. using maths). Hence concentrate on understanding the concept and more importantly the abstraction behind it before manipulating its formal representation. Spend more time in understanding the concepts by consciously searching for different explanations and viewpoints from varied authors. The formalism will follow naturally and before one knows it one has become an "expert".