Tuesday, November 8, 2011

Object Oriented Computing -- So What?

A lot has been said and written about Object Oriented computing in the last several years. So what new would I have to write about it? I think there is still something new and probably, unwritten.

For one, I believe that object oriented computing is something that should be of interest to people outside computing. Non technical people need to be educated about it -- and I will say why. Secondly, that opens up a vast new field of Information Technology that directly meets many needs of the world.

But first, what is object oriented computing (or programming). Any software essentially involves modelling real world constructs and their relationships in a language that computers can process. Earlier the software was developed as a series of instructions (procedural). But now with OOP, software is a collection of objects and those objects then interact with each other. A software object often maps to a noun in our day to day language. For example, a classroom scheduling software may have objects like students, teachers, classrooms, subjects, etc. The behaviour of each object is described under its own heading. For example, the object classroom might store data about number of seats in it, student object will have the name and class (grade) of the student and so on. To understand this better, in a procedural way of programming, the names of students might be stored in a list (table) and the software would fetch this data one by one for each student according to the procedure described in the program.

I know this description may not be complete or enough to really explain what is OOP, but I can't go more into that here without explaining how software is written. Try googling for more information.

The main takeaway from the above is that nouns can be mapped to software objects. Software engineering provides for standardised ways for documenting and storing the state and behaviour of the objects.

Now, think about this: just as a dictionary defines all the nouns (and other language artefacts) of a language, what if we could have a dictionary of software objects that map to all or to most of the nouns in the language, say English? I will answer this and more in my subsequent posts.

Sunday, November 2, 2008

Creating life

If you accept the definition of life as I presented in my previous posts, we can use it to create 'life'. Life can be created at two levels: software simulation and hardware (live robots). Since both of them are related, i.e., robots too will be driven by software, we could simply concentrate on software. The definition given in the earlier post can be conceivably implemented in software.
The first part of this effort will be about defining environment that will host the life in terms of all its chemical and physical properties. It is roughly like defining an environment in a Playstation game. Then, at the same time, we need to define the implementation of our artificial life -- the living being. We have to define what is this being made up of, what is its structure and how does it remain functional (Remaining functional should be a core part of definition of life and it is mentioned in my definition by reference to life's self organising properties. Anything that is not functional can't be alive.)
Let me deviate for a moment to say something about being functional. This gets a little philosophical. The question is, what should be the being functional for? It should be functional towards what end? My definition of life says that the function of life is nothing but to sustain itself. Take any living being and examin various functionalities within that being, such as blood circulation system, digestive system, reproduction, foraging, socialising, etc. All these functionalities do nothing but help the being sustain itself and continue its existence -- the survival instinct. That way, if we are creating a life on our own, the issue becomes cyclical like chicken and egg problem. Life must have at least some functionality and that functionality must be to sustain itself.
Coming back to defining life functionality, we could pick up any arbitrary functionalities that help keep our living being functional. We could perhaps start with the form -- choose the shape and colour of this being and then see what functionalities are needed to develop and maintain that form over this being's life cycle. The functionalities of this being need to be in sync with the environment, i.e., the functionalities should be able to take sustenance from various cycles in the environment (like day/night, seasons, etc.) and supplies made available.

Sunday, October 26, 2008

Transcranial magnetic stimulation - A future tool for Thought Communication?

In my earlier posts, I discussed how mobile phones could evolve to support communicating by thoughts and how that could dramatically change human dynamics. The idea is not simply to substitute brain thoughts for voice generated by vocal chords -- that would still be serial communication -- but to enable parallel communication by sharing the thought process. It involves getting one person feel the same things that the other person feels, which includes that person's core assumptions, information, facts known, credibility they attach to entities, beliefs, logical inferences, likes/dislikes, fears, apprehensions, optimism, etc.
In other words, to take an example, if you hold certain views on terrorism (or energy and environment, a business opportunity, or any other such topic), can I feel your views in exactly the same manner as you feel them? This is beyond you thinking "Hello! How are you Ankur?" and I hearing a voice reciting that to me on my phone.
There are devices that can pick up an individual's thought signals (thought helmet). But are there devices or technical prinicples at least that can generate thought signals in recipient's brain? I recently learnt about Transcranial Magnetic Stimulation (TMS) in a news article which talks about using TMS to cure depression. I don't know much about how anti-depression using TMS works. Does it work by generating positive thoughts in a depressed person, or at least, by removing negative thoughts? In either case, an electronic tool is changing thoughts in human brain. That is indeed a great technological advancement.
I wonder if in 25 years from now TMS could be used to generate thoughts in humans! How would a combination of thought helmet, mobile phone network/Internet and TMS pan out in next 25 years? What will be its effects?
Could it eventually lead to a kind of human super-consciousness, where all human minds are some sort of components to a giant virtual mind?

Tuesday, October 14, 2008

"Thought helmet"

Imagine my surprise when I came across this article today about a helmet being developed for communications by thought. I wrote about this barely 20 days back in my post below "The future of mobile communication"!
Did I get this idea about writing it on my blog because they tested their thought helmet on me and sent me this idea in my thoughts? How will I ever know!
BTW, have you read this book The Secret by Rhonda Byrne? It says that you think and it happens. So I thought about communications by thought and here I see it today on Internet...

Thursday, October 9, 2008

What is Life? (Part 2)

Continuing from definition of life in my previous post...
There are two things that need to be explained for the definition to make sense. One, what is meant by such phenomenon, if life is to be defined as one. Two, how does that definition cover complex facets of human life -- can our emotions, desires, consciousness, etc. be covered in such a lifeless definition?
Let me take the first aspect first. If you notice, the life phenomenon as described in the post, is a highly self organising phenomenon. This is to be noticed because one would expect that most processes and effects should degenerate into chaos when they run on their own. I will leave out a discussion on the second law of thermodynamics but let me say that in our universe there are other self organising phenomenon (from disorder to order) as well. Consider matter around us. It started as nothing but a hot soup of protons and electrons. As it cooled, rather than electrons and protons just clumping together, they formed atoms of 100 elements or so with complex properties. Those atoms then settled into crystals, combined with each other, created cycles and processes (e.g., seasons, ages, ocean currents, monsoon, and many such cycles even on other planets) and eventually created a highly evolved universe as we know it, even if you don't count life. All this from disorder to order.
Why such a counter-intuitive (non-life) organisation took place? No one knows, but it happenned and so was created this universe. Creation is a self organising phenomenon. Since life needs an environment as per my previous post, this environment got created from which arose life. One could consider life as just an extension of this phenomenon -- a relentless persuit of higher and higher levels of organisation, or spawn of a new phenomenon, or possibly say that universe itself is living by extending the definition to the environment itself.
Let's come to the second aspect mentioned above -- the correlation between the definition and human experiences. The characteristic of continuity in the definition translates into survival instinct (survival of self and offsprings) of the species, whether humans or bacteria. Based on what I understand from evolutionary psychology, survival instinct is the most powerful force that has guided human evolution. A lot of things can be explained through this -- people's fears, why women doll up, power, money, attraction, parental love, and so on. In other words, things that improve or assure your chances of survival make you happy. You have a good day at work, and you feel truly happy. Feelings of happiness and sadness are the result of chemicals, which are generated in the brain in such situations. The chemicals drive people's mind, not something abstract.
In other words, our ability to think and feel is nothing but a menifestation of a complex response system of a highly developed neural system, DNA and neuro-chemicals -- all physical things. At the basics, it is nothing but one's reaction to the heat of fire, one senses heat and automatically learns to move away to survive. This is what bacteria do, animals do and humans do.
Is the definition of life in my previous post starting to make sense? If yes, in my next post I will explain how we could perhaps create life, and other implications of that definition.

Saturday, October 4, 2008

What is Life?

A very fascinating question!
This is also a very important question which leading thinkers and scientists are trying to answer. Advances in space research (search for life), robotics, computing, biology, etc. have now reached those frontiers where it is becoming necessary to be able to define life. See some current approaches to understanding of life here.
Does life has to be like that of humans? Does it have to be intelligent (What's intelligence?)? Does it have to have feelings (What are feelings?)? Does it have to have DNA? Does it have to be based on carbon or organic chemistry?
As you answer surely or tentatively 'No' to these questions, you slowly start becoming uncomfortable and ask, then what is life at its core?
While no one knows for sure how to define life, everyone can recognise life when they see it. It is easy to see that a single cell bacterium is live but a complex computer chip is dead. All known living beings are made up of carbon and have DNA (again, made of carbon) but there is a realisation that life doesn't have to be based on carbon. Could it be silicon? If yes, could some computer chip some day be taken as live? Here is my definition of life that I think is helpful.
Life is a phenomenon within the context of an environment. A unique characteristic of this phenomenon is that it simply strives to continue (or you may say, survive and sustain). It derives sustenance from environment and the same environment threatens its continuity in different ways. In turn, by virtue of its characteristic of continuity, the phenomenon adapts its "implementation" (the living beings) or manifestation to give it newer forms and survival tactics. Another distinguishing characteristic of this phenomenon (to distinguish from other non-life continuing phenomena) is that it moves from the state of disorder to order over time in its local environment.
An important pre-condition that I may add here is that the environment must be natural, i.e., an environment with pre-set rules (like laws of physics which do not change for life to sustain) and randomness, not a controlled environment (like a man-made environment where humans can interfere and change conditions). It's not natural in the sense that humans can't create it but it must meet above criteria.
At first sight this definition might appear too simplistic and even silly to many but in next few posts I will build more arguments around this and will hopefully show this definition as an underlying thread behind all life we know, including ourselves. For the time being, the take home from here is that the purpose of life is just to sustain itself. In the meantime, do some reading on evolutionary biology...

Tuesday, September 30, 2008

Thought Communication

Taking the discussion further from my previous post on this blog, let us see what happens when people will communicate by just thinking. A user, A, will think of the person he wishes to communicate with, B, and will ask (or "think") the phone to connect. The phone with B will alert him by giving a thought signal. B will quickly compose himself, prepare to accept A's thought call, bring up his previous interactions with A in his active memory and thoughts and will ask his phone to accept the call.
Now the fun starts. The thoughts flow two-ways between A and B, which will include information, opinions, view points, feelings, creative ideas and a sense of eventual agreement between the two. Not a word is spoken. When we talk, we convert our thoughts - which are parallel (a bunch of interdependent ideas that exist in our minds, including logical and illogical aspects) - into speech, which is serial, i.e., things are said and heard only one by one not concurrently. This serial communication is usually insufficient. A lot of things remain unsaid and misunderstood but with parallel communication, both the users will be able to clearly "experience" each other's thought process and the point of view, and therefore a far closer agreement at least in some sense.
I know that there are a lot of ifs and buts for this scenario to materialise (Must we always speak truth then, if the other person can read our thoughts? Will the phones need to parse our thoughts? What will be the abstract nature of this thought interface -- consider this: Three friends talking in thought about sharing the bill in a restaurant last night. One guy paid Rs. 2,435 for all the three. While thinking can they invoke a calculator in a computer or phone and get the value of 2,435/3? Similarly, if an entrepreneur is talk-thinking with an investor, can they invoke Google, search for a market study report, find expected market size next year, correlate their product and target segment in it and make a sales forecast -- all in thoughts? What about unclear sub-conscious thoughts like fear, greed, temptation, liking, taste, pride, shame, etc. These are those thoughts which play a role in our communication but we don't want others to know about them; often, even we are not aware of these thoughts guiding our opinions!) but for a moment let us ignore these things.
I would like to talk about the agreement that will result between the two persons when they talk-think. An entrepreneur genuinely trying to convince an investor will be able to communicate his true vision to the investor. And in turn, will be able to appreciate the investor's concerns. They might be able to build a mutual plan for realising the opportunity taking in account all concerns. All this will happen much faster if they can experience each other's thinking process. Today, based on speech and even on PowerPoint, Excel presentations, this process still takes long, is painful and most often actually doesn't work.
Consider this - I am trying to convince an investor to invest in a project. The investor agrees that the idea is superb, the market is huge, the value is great, etc. but he feels that the technology is unproven and therefore risky. I believe that technology risk is much more known, verifiable and controllable than other possible risks, say, market risk (not being able to generate sales). I would even like to point to the investor about his other investments where the technology was proven but the risk due to unknown market demand was much more than the technology risk here. Talk-thinking could perhaps resolve this conflict.
Investor-entrepreneur scenario is just an example. I hold the view that if two individuals could really experience each other's thought process, they will have far greater respect and agreement with each other. Consider George Bush and Osama B. Laden -- the two most apart people in the world today. If these two guys, including their cronies, could experience each other's thought process and beliefs truthfully, a lot of things could change dramatically. Perhaps there wouldn't be any need for OBL to do 9/11 and the need for GWB to carpet bomb the hutments in huge swathes of Mid-East Asia.