Thursday, November 03, 2005

Al Dustoor (Dastoor ya syad)

Al Dustoor is an independent newspaper published in Egypt (independent on the government I mean). Over the few past months it has gained a lot of inertia and public acceptance in the educated community in Egypt, especially after most of the government dependent journals have lost credibility (long ago actually). Not only has the so called "official" journals lost credibility, it has (IMHO) dulled the public conscious, stripped it of its freedom.

Al Dustoor is very bold in criticizing the government and Mubarak himself! (esp. the articles of its chief editor, Ibrahim Esa) It is really full of contents, not just ink, full of nice sarcastic caricatural drawings and a hell lot of bold diverse opinions about everything currently concerning the people in Egypt, not to forget its radical yet neat formatting and editing.

I never really liked any of Egypt's "official" journals, nor did any of the indie ones get my respect.

On the other hand, not only do I regularly buy "Al Dustoor", but I also keep the old prints, if not for its value, then for the beautiful poems written on the header of each page (each week by a certain poet, or in a certain theme).

Thanks "Al Dustoor", thanks Mr. Ibrahim Esa, we rabena yostorha ma3aky ya masr.

Ramadan Mabrook (mosh Mubarak) wa 3eed sa3eed

Kol sana we kol el nas atyab wel 7'eir feehom ba2y, ...

Ramadan mabrook (mosh Mubarak :) ) wa 3eed sa3eed we gameel

Ya rab e3'fer lana war7amna wahdena wa 3afena warzoqna

In the coming days I'll try to revise and add contents to the physics engine's web site, read about the DirectX shaders, read about external hashing, B-trees, and external sorting and revise an algorithm for space division for the physics engine's collision detection sub-system.

QotD: "El 7eshma 7elwa wel adab matloob" :) - om el sa3d fel mosalsal el da3eef "el marsa wel ba77ar"

The Wheel of Time and The Sword of Truth

A little more than two years ago, at my final year at college, I started to read Robert Jordan's epic "The Wheel of Time". I was so fascinated by it that I almost finished the first nine books in a few months, and started to read Terry Goodking's "The sword of Truth". Again I was so fascinated that by the end of that college year, I had finished finished the first eight books of SoT.

It's been common to compare both series and debate which is better, maybe cause of the numerous similarities between them. In both series, the hero commands powers more than anyone since thousands of years, he has to fight the dark side of the universe itself, females with supernatural powers try to control him and blend him into their schemes, although they cannot actually teach him how to use his powers, almost no one can in fact. However, after
a while a group of those females come to serve under his command. Both heroes were fathered by another one than that who they thought was there father (yuch, bas sentence). both have a lot of people fanatically following them, by magic or for the sake of prophecy, and both heroes where centric to the prophecies of their world and try to understand them, both prepare for a war far beyond reason.

I might of course have yet overlooked some similarities :) ahh, .. both heroes are of course extremely good swordsmen.

Both series are quite different in my opinion. Not because of the the small details that differentiate both worlds, like that in one there is magic while in the other it's about controlling the different powers roaming in the world (that's almost the same I guess), but because both series were written with a different aim and philosophy.

Sot is really about philosophy and ideologies, the hero is as perfect as can be, in a never ending quest for doing what is right and good, ... defeating evil is his first mission, but what really motivates him is doing what he things right, for the people, those whom he loves, and himself

The enemy is not really evil, but rather adopting different ideologies than the hero, the battle is really about beliefs, ideologies, and philosophy. And surprisingly, ... it's still very interesting!! I read the nine books almost word for word.

The only thing I don't love about SoT is that the author practically re-tales the story of the previous books each time.

WoT is completely another thing, ... WoT is a real epic, with many heroes actually, a long fight, with many inter-wined threads, some of them I don't really read and I think each one can pick his favorite threads and read them.

None of the heroes is that perfect, each has his merits and his drawbacks (my favorites are Perrin and Rand). Victory or failure is not absolute each hero battles and negotiates, and sometimes compromises.

As a novel, ... WoT is more interesting epic, but on the other hand, SoT is has more value for the mind and soul.

Thursday, October 13, 2005

The company, dateem, and physics modeling - I

The past few months, I've been busying myself in starting a new startup. My two partners and I have abandoned our jobs (both of them were working at IBM Egypt for the last few months) and started to lay plans and continue work in our main product (the yet unnamed physics engine).

Meanwhile we realize how immensely greater challenge it is to plan and manage your own work in the real world. But that's what we were looking for, challenge, weren't we?

Yeah, mostly ... most of all I wanted to do thing the way I see right, not the way some company's process states is right. Some advised us to delay this risky plan, but we believe the risk is now at a minimum, we have nothing to lose, thus, nothing on this earth can crash us short of us realizing our profound incapability.

So I've been lately pondering about a lot of issues concerning starting a new software company, while reading some really nice articles like Eric Sink's "Making more mistakes" and Paul Graham's essays, esp. "Starting a startup" and "Beating the average".

Hell!! I need to know a lot, about marketing and market research, sales and pricing strategies, general management, while still trying to learn about my profession, being a good software craftsman is probably my most principal objective.

I guess the next year will be a pretty tough one.

Monday, October 10, 2005

My Mini

For so long I wanted to get a Mac. The elegance of the operating system has always allured me, but it was simply too expensive. Lately and at last, I got a Mac-Mini, the cheapest one, as good as any for me, it's the OS that I'm concerned about.

I had panther for a couple of days before I installed tiger, so I'll mainly speak about my tiger experience.

First of all, the installation is really, really painless! (linux folks come see and learn ;-P)

I think the desktop is really nice, maybe a bit less practical than windows and roughly as practical as a nicely configured linux :) the UI is a bit sluggish as it is famed to be, but is really beautiful. Fast user switching, Expose, the dashboard, etc. all combine to deliver a rich user experience.

Programming the Mac:

What really concerned me, was the development on the mac, as i am writing these lines, the interactive python shell is opened in a window just beside. OS X comes with perl and python (and even Ruby!)which is very convenient for me. But the new thing I experienced was Xcode.

I found Xcode 2.0 to be really nice, supporting multiple types of projects... I'm not expert yet, .. and it's not MS Visual Studio (I think it will soon be very competitive though) but the Interface Builder is very neat. Well, I think I can manage to bear using it for a large project. (but i would rather join in its development :) )

What really exited me was the classes, the Cocoa framework, the OO wrappers for the Max OS X functionality, and having worked long enough with Microsoft's MFCs, I must say I was amazed. Cocoa shouldn't be compared with MFCs, I think it's way more deeply object oriented (which would surely reflect also on the performance though, MFCs are really thin wrappers, therefore they do not impose a lot of performance overhead), the design is very neat, object oriented design principles are evident in every aspect of the library, I don't know much about it yet, but I say it's to be compared with the .net framework, or the java class libraries, only this time it is native. Language, Objective-C was a shock for me in its own accord, for the first time out of the scripting world (i.e. python, perl, ruby, etc) I face dynamic typing, late binding and object orientation with such elegance. Again, it is comparable to Java or Smalltalk, but this time it runs native on the machine.

Well, I'm sure the following period will hold a lot for me to learn, and I might change my mind :), but then I'd surely tell ya ;)

Angels and Demons

I feel especially lazy. Having just returned from a thrilling journey across Rome in the company of Robert Langdon. In other words, I have just finished Dan Brown's beautiful novel "Angels and Demons". It's simply beautiful, full of mysteries and theological debates. Compared to its more dominant successor "The Davinci Code" I think "Angels and Demons" is emotionally richer, although surely less controversial.

The novel contains a very intelligent dialogue between religious faith and scientific faith.

You can find a nice comparison between both kinds of faith in this article:

Two Different Kinds of Faith: A Rant.

But I would like to point out that religious faith must not be blind. There can be reasoned, enlightened, regularly questionable and renewable religious faith IMHO.

Saturday, October 08, 2005

Python vs. Ruby

I've been sleeping too long in the arms of C++, and lately I've been searching for a dynamic language to adopt. Having written some perl and php myself, read some python and heard a lot of good stuff about ruby, it shouldn't be a problem for me to adopt any of them for simply playing around. But what I'm really looking for is a long (marriage-like) relationship, where I will try to know all the intricacies of the language at hand and use it for my d-d hacking. So I actually find it very hard to decide. Perl is probably the most hackerish, but also ugliest and hardest to read (I believe READING code is a very important thing). Php seems only competent in developing fast and smart web pages with its HUGE library of functionality.

Python and Ruby on the other hand, seem to be both very competent, both seem to be elegant, OO, rapid, and have a nice learning curve. I don't have that kind of time to learn both languages by heart just to judge and choose one, so I looked for online reviews and comparisons, (googled: python vs. ruby) and was greatly disappointed. The human kind seems to be still in its dark ages. Neutrality and subjectivity seem to have disappeared from the planet. People seem to be blindly biased (i.e. being biased without knowing they actually are) to what they know better. And of course this is not just about programming languages.

Well, I'll probably give python a try first, seems to be more mature, with more culture, user base and bindings (bindings for OpenGL, OGRE anyone?) and wider adoption (jython for java runtime and a .net version)

Thursday, October 06, 2005

At last!

I've intended to do this for what seems like ages :)
I finally fooled my own lazyness to set this up.
Better late than never, I tell myself.