Saturday, December 29, 2007

Music blues ...

The music industry has been complaining about the losses they face because of people downloading all kinds of music using the internet. Is this the first time that technology has been against an industry, a business or an individual? What about the guy who had a distant small restaurant by a road and sold warm food to travelers and suddenly because of the advent of railroads and trains, no body passed through that path and he went broke. (Actually this was a fictitious story and I don't know the guy)

We all know thousands of such stories, but usually these people and businesses are not as strong as the music industry to be able to make such big issues out of this reality and try to enforce all kinds of rules against it.

Lets face it, what is really happening here is a degeneration of values. Degeneration of the value of music for people. There used to be a time when you would wait for the release of a CD, buy it really quick, listen to it all day long, love it and sing it everyday .... but now, you have the music before you even know it has been released, there are so many artists and bands out there which are rather similar... you might even forget to listen to some music that you have because of this abundance and this has led to the degeneration of values that I am talking about... maybe because we have limited cognitive powers... we can not really find the value in situations of abundance of resources .... when you have lots of books available around you .. it would be hard to find the passion for following one of them as compared to the situation when you have a hard time finding a book.

So I think the root of the music industry crisis right now is this real value of music for each individual which has been lost and thus they will not be willing to pay much for something they don't care as much and this phenomena can not be changed much with enforcing all kinds of restraining rules and regulations... Dear artist (if I can call you so), your work is not admired by people these days as much as it used to be, and justice says you shouldn't expect to make as much money as you used to, don't push it.

So what about the poor artists ( ... poor really) , well they should do a research and see what all the people in the world did when they were faced with a change in the business ecosystem due to technology change and find another way of playing the game, a new game. Will some artists have to not be in the music industry anymore? Well I hope so... it will open possibilities for some real lovers and artists and also help in increasing the values... breaking the existing business driven monster. Maybe we have to start all over in this case and see how music should really be ...

The world will balance itself sooner or later...

Wednesday, December 26, 2007

Tennis of the masters

You are faced with a problem and you try to come up with a solution. From the moment you decide that you want to solve, till the exact moment that you solve it, what really happens? When you say that "I'm thinking", what are you really doing?
It seems like there are several things going on. In fact it's like a tennis match between two major players... between critical thinking and creativity. These two players have other forms and looks which I'll describe soon.

Critical thinking is about reasoning. Putting together the pieces of data (information) that we have and concluding. It is talking about convergence. Creativity on the other hand is finding new theories and information, lateral thinking. It is talking about divergence. A very nice article can be found here which talks about their differences.

So it thought process goes something like this, you see the problem ... try to see if you have the basic rules to apply to it and come up with a solution (Critical Thinking). If you have it, then everything is done, a lot of times these basic rules are what you know and hence considered part of your knowledge. (Related to the memory of your brain)

This would be what an expert could do very well, having domain specific knowledge and applying it for solving problems.

Although in many cases, problems will not be solved this way, there could be many reasons for that and a simple one being the problem is just too complex and using the normal rules that we know is not going to work. This is the time for creativity and it goes something like this: You shoot a method for solving or a seemingly unrelated rule and see how you can get closer to the solution, then you evaluate what you did, if you were not successful, you'd go to the first step again, so what we have here is a repeating loop of firing ideas and testing them. This process is not very much sequential like critical thinking.

Lets go a under the hood now. The left brain is known to take care of logical deductions and language and the right brain for holistic and simultaneous understandings. Critical thinking is powered by the left brain and creativity seems to be based in the right brain. Critical thinking is a conscious behavior and you can even talk about its steps but in creativity a lot of times something happens which we are unconscious about, an example would be : "you can't exactly describe how you came up with a piece of code."

The left brain being the source of language is known to be responsible for conscious behavior too so it seems to be the reason critical thinking is a conscious process for us but for creativity we have to dissect it a little more.

In fact creativity has been described as a four or five step process:
  • Preparation
  • Incubation
  • Illumination
  • Evaluation
First you gather information about the problem and also generally about the domain. Basic knowledge. In Incubation your mind is working on alternative solutions for the problem. Illumination is the "Aha" moment where you've find a possible solution and during evaluation you test and make sure that is a good design.

The first and last part are conscious behaviors, you can talk about them and they are rather sequential activities, however the big unknown is the second and third parts. It has even been said that Incubation happens while you are not directly thinking about the problem, under a shower, during sleep or while walking home. So actually the full creativity process should start from the left brain, followed by the right brain and then again the left brain.

One of the conclusions of this article is that the reason Einstein was such a creative person was because of the strong connections between the left and right hemispheres of his brain. This has been experimented.

Still going under this layer and into the brain module layers, the firing of ideas happens in our frontal lobes and the assessment and domain specific knowledge exists in the temporal lobes of our brains. So in creative thinking, the frontal lobe is firing and the temporal lobe is evaluating what has been fired. The faster new ideas are fired, the faster evaluation has to be done.

You might have seen some people that come up with a lot of different ideas but never actually follow one .. well maybe the frontal lobe is firing too much and the temporal is not capable of handling it.

Some might be able to reason very well but don't come up with new ideas much, in which case indicates a quiet frontal lobe.

Interesting thing is that these two regions inhibit one another so you can suppress (naturally or by drugs) one to increase the other, this is why incubation and illumination in creative thinking can happen while you are doing something else, which means your temporal lobes are resting and not inhibiting the frontal lobe, the frontal lobe can dance in the infinite possibilities of the indeterminate world.

Too much new ideas from the frontal lobe makes you lose attention and focus and too much processing in the temporal lobe prevents you from looking at the problem from other angles, so what really needs to be done is a cooperation and collaboration by these two different masters that we all have in our heads. The faster both of them work, the better we can be at problem solving, which is the major activity related to thinking.

So let them play their tennis, as hard as they can, and we'll get nice solutions to our problems as a result.

Monday, December 24, 2007


"Power does not corrupt. Fear corrupts... perhaps the fear of a loss of power."

John Steinbeck

Saturday, December 22, 2007

Winter resolutions

While a lot of my big and small friends, the ones in Antarctica , are getting ready to hibernate the whole winter, my plans are to be as awake as possible. At the end of the winter, the development and pre-production stages for our game in progress should be finished and we should be ready for production. This means a lot of tasks and tests need to be done. I'd have to spend much time on the project, which means less time for me at Fanafzar while more conscious about the situation. I am once again a soldier, starting from zero, prepared to test the extremes. Very critical 3 months ahead. This should be the time that the core of the open source project we are working on needs to be solidified and many other projects are hoping to see light in this dark winter. So sleep tight my friends, and sleep some for me too...

This is what Hafez had for me on Yalda night... interestingly related... I will change my perspective.

Thursday, December 20, 2007

Reposition them to new positions they've never had ...

I was talking to a friend of mine who works in the financial sector in Wall Street, they do financial analysis and forecasting, so I asked him whether they use any software tools for their tasks and he said no since if there is a software, then that means there is something that everyone can do. In their case they wrote specific code themselves for their needs.

This is really important and true. It reminds me of the discussion that exists usually in the profession community regarding the use of a language like VB or C. VB programmers have some features ready to be used which makes life sometimes easier, but on the other hand, this means everybody can use those features. With C, you have to do a lot yourself, but maybe you can do something that others haven't done yet. Business applications can be created using .net language, easily but at the same time this is what lots of companies are doing and you can't be the cutting edge really on this platform, however with C, you can come up with some features that haven't been thought of and that gives you the cutting edge. Does Google use any of the popular web development platforms for its core engine technology? I am almost certain the answer is no.

Se lets try to generalize now. With any tool, you can perform some tasks, but so can anyone else. By knowing a process, you can do something, which others might not be able to, because they have to follow the process exactly like you did, which is not always easy and possible. An example, you buy microwave pizza (an entity) and put it in the microwave and serve it to your friends. The next week you are the guest and your friend serves microwave pizza. How different are the tastes going to be? In a parallel world, you Make a pizza yourself (a process) and eat your friend's microwave pizza, I bet you that you'll be their host forever. (or maybe the reverse !)

Now one more level back, what does it mean to know a process? Well if we know C instead of VB, do we know a process? What about Assembly?
Here goes a definition: "A process is how we arrange some entities in time"
When I can sort 10 numbers (sorting process), I know how to arrange them in time so that at the end they will end up sorted. I am not going to create a new entity. Entities are not created in the world, they all exist, its just how we arrange them in time that makes new things, or at least we think that we are making new things. A new chemical substance is just a re-arrangement of the molecules of other chemical substances. How different is a blank CD compared to a CD which contains a sophisticated scientific software? Anything but re-arrangement of bits on the CD?

Now the second question is : "What can be re-arranged?"

If we are going to create things, we know that we have to re-arrange things. What is the basic element of re-arrangement that we have? Well when you create objects using Lego blocks , your basic elements are the Lego blocks. You things that you can create are confined to the possibilities for arranging these lego blocks. If you you only two simple ones, you can create two artifacts, one when the red is over the yellow and the other one, yellow is over red. This is by far how creative you can be and if you are among 100 other people, that is what almost everyone can do. (Conclusive point : don't try to find out the most talented person by giving them only two lego blocks!)
Even if you have many lego blocks, then you are still confined. (This is why I hated Legos growing up since you couldn't create really cool cars or planes with them.)
You can draw with thin brushes or with thick brushes, on a fixed size paper, can you be more creative with thin brushes or thick ones?
The less granular our tool is, the more possibilities for re-arrangement, and the more possibilities for creativity and less similarity between different people.

C is less granular than VB, Assembly is less granular than C, so it is obvious how each one of these tools can provide the possibilities for new creations.

Conclusion, if you want to be able to do noble things, if you want to be surfing in the forefront waves and be an absolute avantgarde , then you have to rely on good processes, meaning you have to be able to do things in time that others can't follow, meaning you have to select the basic elements as small as possible compared to the context that you are working in so that there is lots of possibilities for re-arrangement and you using your knowledge and skills, can come up with wonderful new solutions.

"So should you use VB or C for your next project if you want to be avantgarde?"
The important thing is the context which you are going to work on. If your goal is an artifact which is made of elements and these elements can be UI elements and some simple Objects, then VB (having ready many basic elements) is going to be the lego blocks that you will use to create that, however if the monster that you want to create is made out of elements that are maybe specific arrangements of data in memory or specific configurations in instruction calls for high efficiency, then your legos should be called C. But of course the possibilities for novel ideas with the less granular tools are more so you won't lose anything by selecting C.

Last word, I am not implying that everybody needs to be on the cutting edge, some have to be, others are just experts that are great in a field, not necessarily unique. There is a nice article here about the differences between an Expert and a Genius.

Monday, December 17, 2007

In Dreams Shall I live...

I get shocked many times at the power of creativity that my mind somehow digs up while I have shut down whatever I can... while asleep. The sub conscious proves to me to be the real master. Like last night, I found myself in a hotel, packing up to get to the airport and 1001 things went wrong, creating obstacles in my goal to get out of this hotel, a few examples: getting stuck in the elevator, elevator not stopping at that floor, losing the keys, getting lost in the lobby, losing the bus, and right when this sub conscious king was running out of ideas, my feet were so tired that I couldn't move, I had found a solution to all other problems but this time the legs just stopped working .... I guess once it gets too surreal then that's the time your conscious slave can overcome the situation and you wake up ... quite happily in fact... but the conscious slave still envies the unconscious king about the power of imagination and creativity that it has ...

Maybe part of this fact can be due to the inhibition that our brain system gets while awake.

Wow, I just did a small google and came up with this interesting and strange article!

Or maybe I am sleep now and awake when I am sleep? Sounds so much "Waking Life", an absolutely wonderful movie by the way.

Friday, December 14, 2007

Tool Band

This fabulous work illustrating my favorite(probably) band , Tool, is done by a friend of mine and our concept artist Soheil.

"Wear the grudge like a crown. desperate to control.
Unable to forgive. and were sinking deeper.

Defining, confining, sinking deeper. controlling, defining, and were sinking Deeper.

Saturn comes back around to show you everything
Lets you choose what you will not see and then
Drags you down like a stone or lifts you up again
Spits you out like a child, light and innocent.

Give away the stone. let the waters kiss and transmutate these leaden grudges
Into gold.

Let go"

Yes .. . we have to let go... or Saturn will come down ....

Wednesday, December 12, 2007


Another boring meeting with a government client. I had a good time to do a small simulation research meanwhile.

A little study goes like this:

A very simplified education system is consisted of 3 entities in the education area directly and one related indirectly. The 3 direct ones are "Student (S)", "Teacher (T)" and "Administration (A)". The indirect entity is "Industry (I)".

State Space :
Motivated Student: S+ Un-motivated Students: S-
Motivated Teacher: T+ Un-motivated Teacher: T-
Motivated Administration: A+ Un-motivated Admin: A-
Motivated Companies: I+ Un-motivated Companies: I-

Motivated student is trying to learn more and more, a motivated teacher tries to teach better with a higher quality, motivated admins want to have happy students and happy teachers and ... we'll see what else is needed for these admins in a bit.
Motivated companies try to increase their efficiency and quality of their work everyday.

Lets see what kind of educational institutions can exist.

1 2 3 4 5 6 7 8
s- s- s- s- s+ s+ s+ s+
t- t- t+ t+ t- t- t+ t+
a- a+ a- a+ a- a+ a- a+

Case 1 : Bad students, bad teachers, bad administrators. Well the students don't want to learn, the teachers don't want to spend lots of energy, usually very little content is delivered, really easy exams, rather good grades for the students, the students are happy, the teacher is happy, the admin can be happy or maybe not happy, if it is an a-, then it will be happy. So such a center is stable.

A stable center is one where everybody is happy and hence no changes happen to it in the future.

Case 2: Bad students, bad teachers. The admin is a good one. A good admin will not be satisfied with the situation and will probably try to change the teachers or the student intake. Can lead to case 8 in this situation.

Case 3: The teacher cares, but the students will have bad results, the admin is not happy that the students are not happy and will probably say goodbye to the teacher. Non stable and will move towards Case 1.

Case 4: Bad students in a good environment. Not stable, the students will be replaced, will lead to case 8.

Case 5: Good students in a bad environment, not stable. They will either let go of this institute or turn into s- in order to be happy. Converges to Case 1.

Case 6: Only bad teachers. Admin will know this very quick and probably replace the teacher. Becomes Case 8.

Case 7: Good students and teachers, administration not really good. Doesn't support the teachers, doesn't care about special requirements, will probably lose the teachers and then converge to Case 1. Students and teachers can't change the admins.

Case 8: Educationopia. Wow. Highly stable.

Now the main question is, how can an administration be a good one or a bad one? Well the first aspect was that a good administration wants to have happy students and teachers. But if this is the only case, then it would have problems with case 2, a good admin should not be silent in case 2.

It seems like a very good criteria for a good admin can be how well they know the industry and the requirements. If you have un-motivated teachers and students and they all get good grades at the end, how do you know your institution has problems? Well maybe you can be in touch with the companies in the industry and be able to judge based on their requirements. In that case you can easily see that although everybody gets good grades in your school, they have problems in the real world. Here is how it goes after the education period.

s+ s- s+ s-
i+ i+ i- i-

Motivated students become motivated individuals and professionals and if hired by a high quality company, everyone will have a good time and flourish, everybody happy and stability.
Un-motivated individuals will be rejected by good companies, if in time all they can get is un-motivated individuals, then the company turns into an un-motivated company after some time (After all, what is a company other than its people?).
Good individuals will not stay in bad companies and bad individuals love an un-motivated company and everything is stable.
So assuming that initially the number of i+ and i- are the same, if in time more s- are added, then we'll have more i-'s and if the input of s+ is more, then the i- can convert into i+. So we need more than 50% s+ coming out of the educational institutions.

In the model above if the initial distribution for s and t are 50% each, then the only way that we can have more than 50% output for s+ is that if case 1 turns to case 2. If that happens then 1 becomes 2 and 2 can become 8 and stable after some time.

So dear administration, if you want your society to be successful, please don't be satisfied with the happy faces of your students and the frowns of your teachers, see what's going on out there and judge based on that.

Maybe some time has passed by and the only I's out there are i-'s. This can happen, in that case when a tries to evaluate its performance with i's, it is not going to get valuable results and hence will remain an a-. In this case our beloved a should go global and measure everything in a global scale, shouldn't be that hard these days with all the information flowing everywhere.

I had to talk at this point and wasn't able to delve into the subject anymore.

Tuesday, December 11, 2007

Thought extremes...

You can do weights to strengthen the muscles .. you can run really fast to be able to jog easily ... try to type really fast in order to be comfortable at normal speed... in general, experience the extremes to feel comfortable with the normal situations. Now I'm wondering what these extremes could be for normal day to day thinking and decision making which will be followed by day to day actions .... hmmm... experiencing the extremes in this area will for sure provide a big advantage ...

Sunday, December 09, 2007


I've been lucky enough to get to know two talented coders who have had quite some experiences with OGRE and have lots of shared interests. Yaser and Farzam. We've been thinking about starting out a new project which is an open source game engine. It is in initial studies stage at the moment.
The code name for the engine is GameE. It will not be tailored for any specific genre.
The brainstorming sessions have been on general engine requirements, high level architecture, configuration management issues and things are pretty fun already.

Using the cores

Visual Studio 2005 by default uses multiple cores of a CPU for compiling different projects at the same time and if your solution is made from only one project, then the multiple cores aren't really going to help you. This tool MPCL will be installed in VS and will make it use all cores for compiling a single project. Very nice and handy.
VS 2008 is going to have this feature in it, other than this there doesn't seem to be much enhancements for the VC part.

Monday, December 03, 2007


The dark guard of the dungeon in the palace of Akuman in Siavoshgard. Hitasp is known to possess magical powers and immune to normal crafted metal weapons. In order to reach Akuman, Soshiant will need to overcome this monster somehow ... It has been said that Hitasp's axe can break the skull of a human being only by letting it down with its own weight ...

"Hitasp'e Zarrin Taj" as the locals call him ...