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


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


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


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


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.