Tuesday, December 21, 2010

The model of your mind

This is a common diagram of the mind.  There are 2 parts - the conscious and the subconscious.  The subconscious is full of potential but it's not something you can always control directly.

 Here's a common example:  Have you ever met someone when you were out walking in a mall, in a business meeting or a school reunion that you recognize but you can't recall his or her name at the moment?  That's weird isn't it?  You recognize the person, you know that you've met that person in the past and you can even recall memories where you've interacted before.  The weird thing is you know that you know his or her name, but at that moment you don't know what that name is.  After situations like that, sometimes after a few minutes or hours the name just pops up in your mind, or sometimes it takes longer or even not at all.

Let's now take a look at the software developer's version of the mind. :-)
Your conscious mind is like your PC 
Your subconscious mind is like an asynchronous server connected to your PC.  There is  bit of documentation on how to access the server, but the problem is that it is incomplete.  Most of the docs are based on experiments, hacks and reverse engineering, and trial and error.

So you can imagine the situation we described above. 
1. You meet someone and you recognize them. [Your PC sends an asynchronous request to the server, providing a callback URL that the server can call  - Based on this image, who is this person. In a short response time, the server sends an answer to your PC's callback - "Yes you know the person, these are some memories when you've met"]
2. You try to recall the name of the person. [Your PC sends an asynchronous request to the server.  There is no response.]
3. After some time, you may recall the name [The server sends a response to your callback.]

Of course this is a simplistic view of things but the point is there are some undocumented ways that the brain can be accessed that makes it give answers more readily.