Mohammed A.Aziz
I felt recently like drowning in the Facebook market, where over 100 guys on my Friends list Share (Photos, Links, Notes, Videos), Like and Comment... leaving no space for simple and remarkable words

Yes, it takes me a couple of minutes to think of a "wise" reply and other couple of minutes to think of that guy's post among a number of duplicated posts!

Life used to be much simpler with a blog... and twitter. Even now Wave makes it more fun

Finally, I decided to see how it feels to be away from Facebook, how would I remember my friend's birthday or fasting Arafa? become a fan of Zewail? and keep in touch with everyone... just through 'this' (my blog), my twitter: "melmorsy" and my Wave.

I see it veeery possible, and I find it even silly to think of how I would survive without a facebook
Mohammed A.Aziz
Lists and arrays in Perl.


That will be my last post about Perl, however Perl doesn't stop here :) ... you may notice I didn't mention the strength of Perl string processing and file handling. It's worth searching for ;)

What about list?
I may have mentioned before that lists could be generated easily this way in Perl:


(1..5)



This is a range list, it's also valid for character types



What about:

(c..10)



This one is valid too! since "c" is interpolated to Zero (0), then it becomes: (0..10)



Lists in general could be written this way:

('Item1', 'Item2', 'Item3')

or

qw(Item1 Item2 Item3) #you may use any delimeters for this method rather than the parens



Indexing the list is much like any other language you know,using square brackets. The two things that might be of interest in Perl:

- Using a floating number to index, will be floored

- Using a negative number will index starting from the end of the list (backward)

- You may user a list of indexes! this will return another list for the indexed positions (list slice)

- You may combine slicing and ranging to construct the list of indexes. [1,2,3 .. 7]



Assignable lists:

($firstItem , $secondItem) = (1,2);

print $firstItem; #This should print '1'



Array type:

@arrayName = (1,2,3,4);

print @array,"\n"; #Output: 1234

print "@array\n"; #Output: 1 2 3 4 #Notice the spaces! Amazing



Indexing an array variabe:

use "$" to tell Perl what you "want" to get out of the variable.

$firstItem = $arrayName[0]; #Notice the usage of the '$' when indexing the array

#That's because it's returning a single/scalar value;



The "scalar" function may take care of this too.



What's the array's last index? $#

So for example, for array "@arr", that last element's index is: $#arr



List methods:

- shift: Add element to the front

- unshift: Get & remove element from the front

- push: Add element to the back

- pop: Get & remove element from the back

- sort: returns a sorted array, be default it sorts using the string comparison methods.



sort { <:method expression>} @arrayName



So it would be for example:

sort { -($a <=> $b) } @array;

This will return a sorted array, in descending order.

Mohammed A.Aziz
This post will be about loops and conditions! Hopefully this will be too short.

Loops and if conditions are not much differnt from other langauges:
while, for, do-while, if, foreach

What seems new to me (Cx & Java developer)
- if -elseif
- until (negative of "while": while not)
- do ... until
- unless (negative of "if": if not)

What about loop controls?
- last (aka "break")
- next (aka "continue")
- redo (the amazing keyword, just redo the loop!)

while(<STDIN>) #Keep reading the standard input
{
print; #No argument? yes, it defaults to printing the magic variable: $_
if($_ > 0) {
$_--; #Decerement
redo; #Back to the top of the loop without executing the condition body!
}
}

Expression Modifier
What about rephrasing the "redo"?

redo if $_-- > 0; #Remember, the post-decrement has the lower precedence
See, the statement (action) comes before the condition in this expression modifier.

This is valid for the "if" and "unless" too. Give it a try!
Mohammed A.Aziz
Assalamo Alikom,

This post is about Perl, a well known programming language, and you don't want to ask me about it! I'm still a beginner doing the book execrices, didn't finish my assignments yet.
Better you go google "Perl": A {Scripting Dynamic} Langauge

This post is intended mainly to mention the first facts I've learned about Perl, it'll be all about the "print" function and some Strings and Numbers!

Print:
Here's the first picture of "print":
print "Hello... you know!";
This will print: Hello... you know!

Trivial, hah? even this:
print 'Hello... World!'
This will print: Hello...World!

What if we embeded this (scalar) string $myName inside the first version of print:
$myName = "Muhammad";
print "Hello $myName"

The second version?
$myName = "Muhammad";
print "Hello $myName"

This didn't automatically convert my string, good!

What about this:
print `Hello World!`;

These are different quote styles: `
This should output something like: Command not found ... Yeah, this print will execute what's inside!
So you may try something like:
print `cp file1 file2`;

("cp" is the copy command for bash)

What about Strings/Numbers?

Strings in Perl are First-Class Citizens! users shouldn't treat them as a character array!

$stringOne = "1";
print $stringOne + 1;

This prints "2" ;)

What about this:
$stringAddress = "8A";
print $stringAddress + 8;

This will print a warning! and then? ... it will print "16" which is 8+8
Perl starts parsing the string until it finds a non-numeric value it terminates but it keeps the valid piece. Notice that if the address string was something like: "A8" it would be converted to "0"!

Incrementing strings:

print ++"A0";

This will output: A1
You should give it a try yourself ;)

Hopefully I'll have more to say later on :)

Assalamo Alikom
Mohammed A.Aziz
Assalamo Alikom wa rahmato ALLAH...

Hi pals... long time no see :)

I've been encountering a serious problem with my laptop during the last week. Windows is no more behaving as normal; Taskbar loads in 30+ mins, any executable takes no less time, and any processing is nothing better!
This is incredible, I had to try booting from a Windows CD (Hopefully that fixes the problem)... on my HP Compaq nx9010 :|
But, the CD-ROM is malfunction and no bootable floppy, neither boot from USB is an available option.

I had to look for alternatives:
  1. Boot from LAN
  2. Extract the HDD, connect it to a PC and format-install Windows

The second option was hard enough such that I wasn't able to get my HDD out of the laptop, so I left the laptop alone so not to take any insane actions against :)!

The first option is my man! although it took me 3 nights to set the environment, as in the following steps (However, I've not finished installing Windows yet... still copying files!):

  1. Setup the PXE Server PC
    This server will contain all required files for the laptop to boot successfully

    Here's all about preparing the server: http://home.allegiance.tv/~joem298/
    OR you can just download and extract this ZIP anywhere, then run "tftpd32". This will start your PXE server.

    netw.imz: is the bootable floppy image, equiped with the network drivers. Non built-in drivers are available on www.nu2.nu/bootdisk, with many helpful info on how to install it.

  2. Start the laptop and select "Boot from LAN" option
    This will connect to the server through 1-to-1 connection cable (avoid routers for clean startup and especially any DHCP enabled one)

    Enable network driver.
    If driver auto-detection failed, then you might find it in the "Manual Selection" dialog (you'll be offered that option if auto-detection failed).

    Otherwise, you will need the help of "whatnic" command, this will show the adapter type and recommended drivers to download from www.nu2.nu/bootdisk
    You'll then need to modify the "netw.imz" to include the new drivers. AND make sure to select "Rebuild" option when restarting from the new bootable (rather than "Auto" or "Manual"); this will rebuild the drivers on the bootable disk, and reflect your changes.

  3. Having a Windows CD shared on the PC, and network driver enabled on the laptop, now you can access the shared folder and install windows

    Using "msnet" command on a well set laptop (victim), this will ask to map a drive to your shared folder. Make sure to use the server PC name NOT the IP address when specifying the shared folder path on your server.

    DONE! now run the windows installer or whatever you wanna do with your powerfull DOS!
Thanks ;) ... I hope the windows installer will speedup In-Shaa-ALLAH :)
Assalamo Alikom wa rahmato ALLAH
Mohammed A.Aziz
هل توجد لكل سؤال إجابة واحدة صحيحة، أم يمكن أن تكون له إجابات عديدة صحيحة، نختار منها نحن ما يناسبنا؟
يتوقف هذا طبعا على السؤال، مثلا إذا سُئلت: من أين تشرق الشمس؟ أو ما هو مجموع 2+2؟ أو السكر حلو أم مرّ؟ تأتي إجابتك على الأسئلة الثلاثة واضحة (تشرق من الشرق، مجموعها يساوي 4، السكر حلو). وتكون أي إجابة مختلفة عن أي من هذه الأسئلة خاطئة، لأنها أسئلة موضوعية لا تتطلب رأياً أو اختياراً منك
وإذا اشترى لك والدك دراجة حمراء وسئلت عن لونها، قستجيب على هذا السؤال الموضوعي بالإجابة الوحيدة الصحيحة (أحمر) .. لكن إذا سئلت: هل هي مريحة؟ أو هل تستطيع أن تسبق بها دراجات زملائك؟ أو أي لون ترى أنه أنسب للدراجات؟
توجد أكثر من إجابة واحدة لكل من هذه الأسئلة الثلاثة، لأنها ذاتية، يتوقف الجواب عليها على تقديرك وذوقك الشخصي.
في الواقع أنه ليست فقط إجاباتنا على الأسئلة، بل كل تعبيراتنا تكون عادة موضوعية أو ذاتية.. مثلا، بينما تتناول إفطارك وتأكل بعض مربى البلح تقول: هذه مربى مصنوعة من البلح . وهذه حقيقة موضوعية، ثم تضيف: مربى البلح ألذ المربات. وهذا رأي ذاتي ، غير حقيقي دائما، إذ يوجد غيرك عشرات الأشخاص الذين قد يفضلون عليها مربى العنب أو التفاح أو البرتقال.
يجب أن تعرف إذا أن تفرق في حديثك، وفي كلام الآخرين، بين الإجابات والتعبيرات الموضوعية والذاتية كي تكون أكثر فهماً للناس، ووضوحاً في تعاملك معهم
ده موضوع من مجلة "ماجد" العدد ده
طب هو أنا ليه كتبته؟
أولا، عشان الموضوع عجبني، بسيط وهادف
ثانيا، عشان أنا كنت زماااان بنقل مواضيع من المجلة دي على الكمبيوتر، عشان أتعلم وورد، واتعلمته بجد ;)
قلت قشطة، أكتب الموضوع ده :)

السلام عليكم ورحمة الله

Mohammed A.Aziz
Assalamo 3alikom,

Here is Cosmos ;)
Recall: http://mohammedabdulaziz.blogspot.com/2006/12/click-finish-to-complete-your-os.html
Mohammed A.Aziz
Image:RacingBicycle-non.JPG

The image “http://www.xinda.cn/int/102_8473.jpg” cannot be displayed, because it contains errors.

http://www.hwi.buffalo.edu/Images/Building/building.jpg

Mohammed A.Aziz
Assalamo 3alikom w ra7mato ALLAH wa barkatoh,

We believe that big part of the Marketing process is the intersection of the customers need and what the vendor can give.

What the vendor can give could be a something new, whatever are the customer needs, this new thing might be then supported with reputation or it might not, where the later case is a wrong action!
Regarding the start, we have one example here: "Archimy.com is a service for drawing the graphs of all kinds of functions.With Archimy, you will draw the graph of any function and form, just use your imagination"
And? so What? ... what then?

On the other hand, it might be the marketing words that rule, for example "Microsoft Robotics Studio", why did researchers and companies used MSRS?
It's because "The Microsoft Robotics Studio is a Windows-based environment for academic, hobbyist and commercial developers to easily create robotics applications across a wide variety of hardware."
Is it really "Easy"...No. To use MSRS, you have to understand other concepts, SOA and CCR.
Why should I bother myself with this, when I can use a normal DLL to get my job done?

What about a mix of those?
This mix include a list of "reliable" products we deal with daily:
- Google search
- Microsoft Outlook
- Facebook

So it's a mixture of finding the customers, satisfy there need cuz you "can" do, be supportive to keep the reputation, even if you find your way in other set of products.