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

"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

Educationopia


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

GameE

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

Hitasp


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 ...

Thursday, November 29, 2007

Perfecto Designo


There are certain things which I see as perfect creations. Now do we really have such a thing as a perfect design? A design is a solution to a problem that usually has a measurable criteria and includes different constraints. Now sometimes we don't even have the measurable criteria or aren't aware of it, as is the case in aesthetics, artistic design. Wikipedia has great definitions about design.
What if the problem is to find the shortest path between two points, in that case the design would be a line connecting them, in this case is this a perfect design?
Well I won't get drowned in the idea right now and will leave it for future. The image shown here is a Porsche 911 Carrera, one of these perfectly designed entities that exist. Now why do I think this creation is so well done? Well... maybe because it is not the best in many aspects, Ferraris or Lamborghinis are much better sports cars, stronger, faster ... but it seems like this baby is trying to get the most out of what it has, doesn't have much bells and whistles attached to it and its perfection is something that is outside the normal measurement dimensions that we are used to. Such designs are usually implemented by the subconscious of their designers. Their designers are in love with their designs. Their love transforms into some meanings placed in to their artifacts.
In this specific case, the love of Ferdinand Anton Ernst Porsche has been behind the story. And lets conclude with two quotes from the master:
"I couldn't find the sports car of my dreams, so I built it myself."
"If one does not fail at times, then one has not challenged himself."

Hello Joomex!


A new idea has been around for a while here in our office flourishing from the creativity visions of Farshid. Ajax enabling a PHP portal with the least modifications. Success was achieved for the xoops portal, however after a few discussions, the project is based on joomla portal now.
The project is called Joomex and it will be born officially on the internet pretty soon. It is still in a womb called Meijin.

C++ wonders ...

I've been playing with c/c++ for a while now. I started with a translation of Bjarne Stroustrup's book called "The C++ Programming Language" while I was in the 11th grade, 1991 and I got serious with it at work while I was employed at Dassault Systems. However I get shocked about finding out new features both in the language and in the compiler supports everyday. It is interesting how much details there is in the language and how much concepts and tools have been created around it.
A new concept related to the tools that I've ran in to recently is the idea of "Profile Guided Optimization". Post optimization for c++ code based on the way the actual executable is used. Interesting idea.

Thursday, November 22, 2007

Rain


Rain brings me a special feeling usually, something rather negative, and the reason has its roots in old times... days that we used to go to school, early in the morning .. with one goal in mind...heart beating as we got close to the entrance of the high school... the basketball court was waiting there for us.. usually a few already playing... sometimes you were there first and had to show the toughest patience till the first dude with the ball showed up... and then it was all show time ... until the $%#^ing bell rang ... and the rest of the game had to be played in the mind ... while the often useless teachers were playing there own game ...
Now nothing could stop those early morning days but there was something that could turn it light a little bit .. and that was nothing but the lovely "RAIN"... or "SNOW" ... however the max that it could punish us was to have all the hands, face and clothes dirty from the splash of dirt and water caused by a bounce....
Maybe if this sub conscious associative memory didn't exist in my mind, then I would've loved rain since during my childhood when I was in Japan rain was as usual as sunshine and I have never felt bad getting wet in the rain.. in fact I like it a lot... my Persian culture praises rain a lot and it has been considered something very precious since the ancient times..
Well rain returned this morning again after all these years of not being able to show how viscous it was and ruined our Thursday morning basketball ... it is "November Rain" anyway ...

Monday, November 19, 2007

Airport

Quite a journey so far and this state is the waiting state at the dubai airport for 8 hours. I got here around 12 midnight and I'd have to wait till 8 am to get on the plane. The wi-fi is nice and this post is being sent from a new situation and that being me sitting on the ground in the airport with lots of people sleeping and lying around, on the ground and on chairs all over. The dubai airport seems to be the busiest around these hours, most of it due to being the main hub for emirates flights.
I wonder if it would be possible for airlines to not have a centralized hub these days and somehow decentralize the nodes for connections. It would be nice to know the advantages of this design, single hub, versus other distributed designs.
I had a chance to watch the new Michael Moore movie called "Sicko" on the flight which was pretty nice, and sad. On the way going I saw "The Simpson's Movie" and that was really awesome too, I am a big admirer of the beautiful point of view and very nice implementation of fine detailed concepts done by the designers for the series.
Let's see what happens in a few hours, I might join the dudes next to me ;).

Saturday, November 17, 2007

Ending


It all ended, was very useful and informative. However the flight back to dubai is canceled due to lots of fog in Dubai and we will have to get back with one day delay. Lots of time to blog now.

Anyway probably the most interesting discovery for today came from a presentation that we got in the Malta NCC center about how they prepare their lecturers for the courses, mostly related to the practices the lecturers can follow to improve their efficiency in the class and being able to transfer the information to the students. The topic was really really interesting. I will have to reflect on it as much as I can later on.

One of the ideas in the presentation was that 90 percent of the knowledge that we have is in our subconscious, when we try to teach something, we are usually trying to be conscious about what we are talking about and this isn't easy. This is why we have many good professionals who aren't necessarily good teachers. The more you become an expert in a field, the more it moves into your subconscious. (The samurai have a good statement about this fact related to the definition of a Meijin, a master samurai who will engage in a war in a subconscious manner) And also this is why a lot of sub conscious actions of the teacher are important in the whole process, like the way he talks, his posture or body language, maybe sometimes more than what he is trying to say.

Other interesting topics were learning models and how it is important for the lecturers to know themselves first, the type of learner they are and then be able to understand what kind of weak points they might have, and how they can improve it in order to provide a solution for all types of learners in the class.

I'd have to launch a big research campaign now that I have found proper systematic information about these areas. I might be back with more later. :)

Rain and Sun at the same time is very popular in Malta.

Thursday, November 15, 2007

In the heat of the conference


Ok so I am here in the heat of the conference right now, the first day is over, so far things have been gone really good, the networking in this conference was great and I met lots of useful people both from NCC and from other centers.

I also found out about the secret behind the success of the Malta center (they got excellence in education award from NCC today). Close relationship with the industry and customizing the program. They had a full program about it today, they even have strong support from their government and their minister of IT had a talk too. The idea is to have the student work part time while studying, 3 days work, 2 days study. This provides a good understanding about the concepts for the students and broadens their view, leading to more motivation towards their studies. Classically the opposite was thought.

Looking back I see that the best students that I have known have been the ones who had tried to use their knowledge in a real situation, now this can be employment job or any other stand alone real project. Of course there are some other "Getting good grades" students who never worked and their sole reason for getting the good marks is being afraid badly of getting bad grades. These turn to be useless eventually.

Let's see what happens tomorrow.

Malta is a real nice place with wonderful weather and really really expensive. 100 US dollars will be 28 Maltese Lira, hard to imagine such currency, seeing expensive products having a price tag of 55 Liras gives you a good feeling by the way, before trying to do the math of course :)

The rest has been fine other than my luggage getting lost in the connection in Dubai, it should be here tomorrow afternoon, the end of the conference and I can grab it with me to go back to Iran.

End of log

Monday, November 12, 2007

Trip


I've been teaching for NCC Education for a while and this week there will be a regional conference that I will be attending. The conference will be held in Malta.

Wednesday, November 07, 2007

7.5

I've got 7.5 months to fix all (or most of) the little and big problems and shortcoming that I have since after that I'd have to be a good example for the new born child of mine.
Hmm... let's see how it goes...

Monday, November 05, 2007

Code Liebhaber

I had the chance to go over a commercial portal/CMS solution recently (a break from the open source ones we've been dealing with). It is called Abaxx and has been developed by a German company. The software is quite good.
Seeing it triggered a thought for me, there are a lot of great German software available, some of these software are among the best in the world. What is the root reason? Well obviously these guys have a very strong history in general engineering but so do many other countries which are not necessarily as important in software and software engineering in itself is a rather different story after all.
Some research provided good conclusions. At least a good theory can be constructed based on it. A theory that I am interested in, one that focuses on the importance of individuals and the power of the subject.
In the document and many other places on the web it is evident that the German are among the most active countries doing open source development. If we consider per capita statistics, they are the first. It is very interesting to see that in the same document, it shows that IT investment in this country is not really high and the value is close to the average of the whole EU. Well what this could mean is that the government is not necessarily pushing a lot of money in this industry and the success could stem from the power of the individuals, the high open source involvement is the result of one thing and that is pure love. There are a lot of people over there who love to work on software, are very serious and should clearly believe in being able to prove many things as has been the case with companies such as SAP. Open source is about giving back to the community and man this giving back is what pushes you and your environment forward. This attitude is something that I feel is very valuable.
I wanted to do some research about their educations system related to computer science and software but I haven't found good sources yet, this study might continue later ;)
I might come up with a different theory next time and it might be focused on the relationships between good beer and good software :).
Auf Wiedersehen

Friday, November 02, 2007

Spiral out


We have faced many paradigm shifts in software systems development. Starting from analysis and design and toward the actual coding methods. There seems to be a recurring pattern generated in each paradigm. We turn a process into a declarable entity. We make procedural or data abstractions. By doing this, problem understanding and solution definition becomes easier for us. By doing this, we are scaling the system, usually in space and downscaling time. By describing a process as an entity, we are ignoring the time it takes for that process to run and look at it as something with state in an instant of time. (a function name, instead of the procedure that it defines)

These paradigms started with pure machine code (specifying the lowest level procedures), followed by assembly (abstracting several machine code procedures into a macro command, an entity with name, callable), high level languages (abstracting assembly commands into a high level command, every entity covers more tasks, has shorten time even more), structured programming(embracing procedural abstractions in the form of functions, to turn a collection of high level commands into an entity), object oriented (several behaviors and state are placed in to an entity - object - and it represents a span of time and also has scaled in size even more), component based design (where the scale is even larger than before).

Recently there has been a lot of talk around Service Oriented Architecture and most recently Data Oriented Architecture which are trying to be the next paradigms for software development. Clearly what is happening is again scaling in size and reducing the sense of time for these systems. Converting some processes in to a declarable entity that doesn't show time in its definition.

If we look at it from the outside it seems like a spiral moving in time, repeating the same kind of pattern but in larger scales and for larger problems.

Now how come we have been able to shrink the time factors so much and still feel the same time is going by when we work with a software system? Well, clearly Moore's law has been the helping factor.

Monday, October 29, 2007

Either way you will be correct

"You can believe you can, or you can believe you can’t, either way you will be correct."
Absolutely wonderful quote from Henry Ford.

The human mind is a scary thing ...

Sunday, October 28, 2007

Stepping on the shoulder of giants ...

The recent ubiquity of information using the internet, whether getting answers to questions, learning new techniques, or accessing open source code has enabled some possibilities that I think can not be fully understood at the moment.

Things can be done and achieved today that weren't even dreams 15 years ago. My concrete examples are expert community websites and using open source software.

However there seems to be a shift in the type of problem that we face.

The problem which was not knowing something, not having access to some code a few years ago has transformed in to not having the time to find out, or not following the information in the appropriate way. Maybe we can say that knowing what not to have is the most valuable skill that someone needs in this new era.

Focus would be a key attitude since the state space has increased tremendously, and we are limited so much in our time.

It was rather hard to find the giants to go over their shoulders and there used to be many many giants unnoticed, but right now it seems like you're in the middle of an American football field with a lot of giants as players and you'd have to decide about which one to select and be careful not to be tossed over with a tackle. Isaac Newton is watching from the private room, never thought it would become like this.

.... the most recent giant that I've found is Project Dark Star as a multi player server infrastructure software ...

Friday, October 26, 2007

Old gaming devices


I recently ran into this article in gamasutra : A history of gaming platforms, the Commodore 64
It reminded me of the days that my cousin had this device and the lots of fun that we have with its games, which were loaded by a tape reader and it took around 30 minutes for each tape to first load in the system. Many times the tape would just crash in the middle and you'd have to do it all over again.
However in the same time, the device that had taken my heart by far was the Japanese Famicom (Nintendo). The first game I had for it was Spartan X. I would still love to play it. And the game which was irresistible was Dragon Quest, I followed it up to the third relesase. It was probably the most precious thing to be for me for quite a while.
Around the same time again, my brother was busy with his Apple 2 e.
The first of the Ultima series was the wonderful RPG for that machine.
But these weren't the first devices for us to experience the digital gaming world with, the first was an orange box which was called a TV Game at that time, I don't really remember the brand or any more information about it now, haven't been able to find it on Wikipedia due to lack of info. The game for that device was a tennis game which consisted two sticks going up and down and a ball (square) moving between the two sticks.

Monday, October 22, 2007

The reason ...


I was watching NCAA basketball last night and something that I had thought about before kicked back at me seriously this time. How come the collegiate games have so much excitement and it seems like each and every one of the players try to do their best and show 200 percent of their capacity. This is not only in the final four, it can easily be seen from the early games too.

This kind of energy is not seen very much in NBA games.

Could it be because :
1 - They are not pros, pros have other things in mind other than the pure sports moments? Somehow like the problem that happens to some football teams with lots of professional stars.(Brazil recently)
2 - They believe in their college by all their heart since that is the only place that they have played and will play as a college player, unlike professionals which change teams often?
3 - All their fans have a strong root to the college and they all share one unique thing?
4 - They have more love towards the game since they haven't experienced all aspects? (Beginners love, there is a Samurai rule which says : "Never lose your beginners joy")
5 - They have better coaches to motivate them?
6 - They want to make it to the NBA? (... this shouldn't be on the minds of all of them)
7 - Money is not involved?
8 - ... ?

I am sure there lies great lessons in the answer to the above question because this pattern seems to repeat in many other areas.

Saturday, October 20, 2007

Time

One of the most mysterious words. Can be thought about for ages.
There will be a seminar today about the meaning of time according to Iranian Sufism , it might shed a bit more light on this deep concept.

Picture is taken from wikipedia:

"A tesseract, a cube in 3 dimensions extended to a fourth, as a description of time; adhering to defined finite bounds, all possibilities for this configuration are conceptually representable."

Thursday, October 18, 2007

The moment

.. you feel the wind move by your ears... you see the nervous face in front of you ... in complete rhythm with the movement ... in complete rhythm with the sound ... get pushed to the right ... the wind goes by faster... the sweat on your face makes you feel really cool ... a sudden force felt on the leg ... a sudden stop ... the left hand comes to show support ... while the heart is pushing out the blood, you feel weight less ... the movement of the wind gets slower ... a white object passes by your eyes ... everything else goes down ... suddenly you feel time has stopped, everything has stopped... at the peak ... why am not always in this state ... time to let go ... release it ... the moment of absolute confidence ... you let go ... seems like by doing that, all the mass of the earth starts to pull you down ... the wind starts to move slowly by the ears again ... feel the ground again ... try to control the land ... everything moves again ... where was I? ... what is the next move? ... what you had released has reached the rim now ... (better go in it !)

Also know as pull up J !

Wednesday, October 17, 2007

Google Reader


Started using it a while ago ... it was ok ... then it was nice ... then it was cool ... now can't live without ...

Google Reader

Monday, October 15, 2007

Change in title

There is a new title for this blog. The increment operator is being used for "Thought".

I have recently been thinking about the idea of how we have two things in the whole world, processes and entities and how these two transform into one another and the duality in between. Well a lot can be said about this topic and a lot has been said, I will probably touch upon it every once in a while since I really believe there are some very basic and critical ideas hidden in this area of knowledge.

It seems that being in a process is one attitude which is needed for improvement. At every instant of time, you can think about making something better, trying again, working harder, playing harder, moving ... and these are all example of being in a process. Staying in an entity situation would be when you believe that you are at a state and need to remain there, or stop from doing something to change state .... not performing any actions... which seems to be something that could stop improvement and a real danger for evolution, maybe we should be grateful that evolution itself never thinks this way.

So what about the ++ operator? Whenever you look at it, it is incrementing, it is moving, it is trying again and never rests in a state, never becomes an entity ... hmm.. what a nice thing... lots of things can be learned from this small operator... can make anything enhance and evolve.

Every post in this blog would be the result of an increment in the thought process, or maybe every post can cause an increment in the thought process of the author, which might probably be the real reason behind this blog... reminds me of reflection... well at least this is what I wish for and the thoughts becoming an entity is what I would try to avoid...

.. and it has to be a prefix operator rather than a postfix operator...

Sunday, October 14, 2007

The task...

The most exciting, challenging, interesting, .... task right now would be creating a character model which can shows passive reactions and also active reactions to the environment.

A kind of tuned rag doll with biometric measurements for the passive reactions plus joints and springs and something novel for the active part.

hmm...

Saturday, October 13, 2007

Shock


The new game from 2k games really shocks you , BioShock.

Other than very nice graphics and a polished look, the whole design, character AI, physics and sound implementation is really nice. Ken Levine is the designer.

I get goose bumps whenever the enemies (zombies) attack ! Very immersing. They move very well, look frightening and say very creepy things.

However, the one game which I can't wait anymore to get my hands on is : Assassin's Creed.

Thursday, October 11, 2007

C++ coder...


How nice would it be right now if a very talented c++ coder would fall from the sky... right into our office ... help out in the creation of the underlying modification in the arrangement of bits on a CD/DVD which is going to have the title "Soshians" some day ...

ok back to the PhysX tutorials.

Tuesday, October 09, 2007

Pain

Sepultura once had this in the lyrics: " Pain makes me stronger ... everyday..."
It is interesting to know in what aspects it makes you stronger and it could be analyzed thoroughly.. however a new aspect hit me last night while I was in pain ( tooth ache) ... I noticed that time goes by very slowly and you really feel every moment and every instant of time... well the downside is having a hard time but generally feeling every moment and being in the instant will make you stronger ...

Sunday, October 07, 2007

Physics wars

Well there are a lot of good physics engines available these days and my search space has narrowed down to two of these species. Physx and ODE.

PhysX seems to be more professional while ODE is like the standard for academics research.

Some research will reveal which one is best for our case.

Friday, October 05, 2007

Back from the North...

Ok back from a short trip to the north and ready to roll... hmm.. lots of things to do ... have to see how things are winding down at Fanafzar and focus on Soshians... well at least this is the code name for now.

Tuesday, October 02, 2007

What is software?

This was probably the most mind crunching question I heard today... "What is software?" ... what is it really?

Well actually two kind of people ask this question, the very novice guys and the very experienced guys in the field of software... in my case the person was of the second kind and this throws you in a deep thought ...

Sunday, September 30, 2007

Nietzsche

All Nietzsche books online ... wow ...

http://www.holtof.com/library/nietzsche/ns/select.htm

Now that we are at it ... lets quote something from the man :
"The herd instinct, then--a power that has now become sovereign--is something totally different from the instinct of an aristocratic society: and the value of the units determines the significance of the sum.--Our entire sociology simply does not know any other instinct than that of the herd, i.e., that of the sum of zeroes--where every zero has "equal rights," where it is virtuous to be zero.-"

...hmm.... democracy !???

Friday, September 28, 2007

Refactoring

It has been a few days that I have looked back at the topic of rafactoring and it has kept me thinking. Well first of all Martin Fowler's Refactoring book is great.
I've been thinking about the range that refactoring can be applied ... whether there can be any limits to code refactoring ... how will the most refactored code look like after several refactoring rules performed on it ... how well can this be done automatically ... and so on.

This has been something that has been happening constantly and is happening for the game project.

Wednesday, September 26, 2007

Siavoshgard

The city, is going to be called Siavoshgard .... doomed and ruled by the ferocious Deev Akumanah ... the here would have to find his way through this city .... hoping to reach the castle and somehow in ....

Monday, September 24, 2007

Pressure...

Nice word in a movie that I don't remember right now about being in pressure ... the guys said something like this : ".... the more I get squeezed, the more I focus ...."

This seems to be a nice sentence to remember every once in a while ...

hmm...

Sunday, September 23, 2007

Deals ...

If only people would deal with one another the way they used to do in ancient Iran...

A lot of problems arise from breaking the promises and not doing what you tell others you'll do. This simple fact is causing problems in different layers of society ... from small friend circles to the systems of society...

This is a wonderful article written by Shervin Vakili about the idea and how it used to be in the old days (Farsi Article):

Article Link

We need to be like that one more time ...

Saturday, September 22, 2007

How to teach programming...

Well this has been a big question for so many people and I've had many discussions with friends about how programming should be taught at many different levels.

Finally I found an academic study about this topic here:

http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Meetings ...

It is interesting how formal meetings with a client usually has very little efficiency. I think some drastic changes are needed in the way meetings are done. Big time can be saved in that case.

Friday, September 21, 2007

OGRE


OGRE - Object Oriented Graphics Rendering Engine is the rendering engine that we are planning to use for the upcoming game project.



Other than having excellent architecture and being very lean for graphics, it has got an excellent community, which I think is one of the most important factors in choosing an open source solution. We've had some bad experiences in this area before.


The main website is : http://www.ogre3d.org/


Ohloh.net has analyzed the code base and suggested that it would take 89 Person Years for OGRE to be developed, 336000 lines of code. Hmm.. this would mean we should already be on the shoulder of a giant.

Thursday, September 20, 2007

Fighter

There is a question and answer session with the author of the book "Jangjoo" today, should be lots of fun since the book is wonderful, what is it about? Well a fictitious story somehow related to everything in life and the basic questions that exist for most people.

Almost half of the book can be read online here : http://soshians.net/shownews.asp?103 but the full book is definitely recommended, I can get you a copy.

Basketball..

It was a good basketball this morning... great weather... nice air close to the mountains in Velenjak... a little one on one with Fariborz, just like 19 years ago in our yard ... still as fun as it was ...

The first post...

OK so I guess this is going to be the first post... and I would probably be writing about everything and anything from now on...