A project is a unique thing that has a specific goal and a beginning and an end in addition to a budget.

Let’s try to break down this definition into small pieces.


Every project is different. This is a rule.  Even If you do something more than one time , you should know that you won’t face the same difficulties and problems.

For Example : Say you have an office that offer designs for houses. Each construction project is just a unique project. Weather can change your design. Also may be you should change the concrete used depending on where it is built  or you may need to change the roof structure to handle snow.

Specific Goal

Each project should has a specific goal to accomplish. May be the project is needed to solve a problem in your company like reducing the costs or marketing your products in different way to increase sales.

Beginning and End

If  the project doesn’t has an end , this is because the goal isn’t clear enough. The goal of project is crucial to identify when it is needed to be done.


Most of  the time we are thinking of budget as money but in fact it can be the resources needed for your projects and time.

Note : You should note that there is difference between a project and normal operations

Example : If you are a student , your default work is to study every day , attend lectures , do assignments and reports but if the professor asked you to do a research about a new topic. This can be called a project in that case.

By : Ahmed Kamal


Read this before you Download Windows 8 By : Amit Agarwal


If you have been following all the good press around Windows 8 and are waiting to try it on your own computer, here’s the good news. The consumer preview version of Windows 8 (just a fancy name for beta software) is now available for download and it is very likely that your existing system specs are good enough to run Windows 8.


The System Requirements for Windows 8

According to the Windows 8 FAQ, any machine equipped with 1 GB of RAM, 16 GB of hard disk space and 1 GHz processor should be able to handle Windows 8. The minimum RAM requirements are 2 GB in case you would like to install the 64-bit version of Windows 8.

Should you download Windows 8 Setup or the ISO Image?

As you may have noticed on the Windows 8 download page, the installation of Windows 8 can be done in two ways.

  1. You can either take the easiest route and download the Windows 8 Setup program – that’s also the default option.
  2. Alternatively, you can download ISO Images of Windows 8.

If you are planning to install Windows 8 on your existing computer, either on a different partition (dual-boot) or just want to upgrade an older version of Windows to Windows 8, the default Setup program is a good choice.

Please note that that your installed software program will only be preserved if you are upgrading from Windows 7 to Windows 8. If your planning to install Windows 8 on top of Windows XP or Vista, only the files will be preserved but not the various software programs that you may have on the disk.

The ISO image may be more handy in other situations like:

  1. Your computer has an x64 processor but is running the 32-bit version of Windows. If you want to install the 64-bit version of Windows 8, download the 64-bit ISO.
  2. You have an iMac or MacBook and want to install Windows 8 on the Mac using Boot Camp software.
  3. You want to install Windows 8 on multiple computers. Download the ISO, create abootable DVD and boot the other system using this Windows 8 disk.
  4. You want to run Windows 8 as a Virtual Machine inside your existing copy of Windows.
  5. You are running Windows XP.

The universal product key for Windows 8 is NF32V-Q9P3W-7DR7Y-JGWRW-JFCK8.

Will my software programs run inside Windows 8?

Before grabbing the ISO image of Windows 8, quickly run this setup utility and it will show a list of all software programs and hardware drivers on your system that are compatible with Windows 8. Else you can visit this page to see a list of all known software that are found to be working with Windows 7.

What route should you take?

You can have Windows 8 on your computer in three ways – you can install Windows 8 side-by-side (also known as dual-boot), as a virtual machine (so that it runs inside your existing Windows just like any other software) or Windows 8 can be your main OS (there’s no going back then).

If you just want to try out Windows 8  but without disturbing any of your existing set-up, the safest bet is to use a Virtual Machine. If you have a vacant partition or don’t mind creating one (it’s easy), go for the dual-boot option. Else, if you have a spare computer, you can consider upgrading to Windows 8 overwriting the previous installation of Windows. Good luck!

Recommended By Me


Hi , under the tag recommended I will try to collect good posts from other blogs that I feel that it is useful for you. so please try to visit this tag to see the new posts. Also you can visit these blogs if you liked them . I will mention the name and the URL of the blog to save the writer copyright.

CV Writing By : Mostafa Nageeb


Many students, third year in specific, asked me about how to write the C.V. to apply for summer trainings and internships?

First let me state that there is no right or wrong way to write your C.V. but there are some facts, DOs, and DON’Ts that don’t change.

Some facts to state first:

  • C.V. will not get you an internship or training, it will just get you an interview.
  • C.V. represents you ! Take Care.
  • The difference between resume and C.V. is explained here, but forget about it, most people think they are the same .
  • C.V.s are read in 10 seconds, if the reader didn’t find what he is looking for, He won’t continue reading it.
  • Never ever exceed two pages.

Now to the DOs

1- Know your recipient:

Big and medium size companies like LinkDev, ITWorx, Microsoft, Yahoo!, Google, IBM, Facebook …etc have a recruiter and HR department, which means that the first person to read your C.V. is not (very) technical, and follows something like a standard procedure to scan your C.V. and filter it based on a criteria determined by the company, like GPA/grade, Number of activities, Number of coding projects with a specific programming language related to the job, and other filters.

Small companies where the number of employees ranges between 3 – 40 don’t have HR department nor recruiters, and here the person reads you C.V. is either the manager/owner of the company, or the person you are going to work with. Mostly those people are overloaded because they already have another job to do and therefore they need your C.V. to be very clear and concise.

2- Objective:

The Objective is simply, What do you want to be in five years?  without mentioning the statement, “in five years.” I don’t know why people have to write objective, but as I know, HRs love it, and technical people don’t care about it.

Objective must be attractive, and related to the job, and I prefer objectives contains fabulous words.

Seeking a challenging, great …. bla bla bla, in a great good know international corporation …bla bla bla … to increase and develop my skills in ….

Don’t: Apply for a company and write that your objective is to be the manager of that company, or your objective is to have your own company, because this means why would we accept you and at the end you open your company ?

3- Education:

All you have to write is your university, please don’t mention your school, because you don’t want a second of your ten seconds wasted in knowing your secondary school. You have to state clearly the Grade (Good, Very Good, Excellent) or GPA, and if you are ranked on your department or class please write your rank.

One of the tricks I saw and it is recommended if you have a very low grade, is to write your education after activities, technical skills and experience, because if your experience and skills are high, they won’t care about your grade.

Don’t list courses you studied, because I saw many people doing this and this is not useful at all. Sometimes you may want to list the 2~4 main courses, so that the company know what you can do and what you can’t.

Also remember to explain your GPA system briefly (e.g. GPA 3.?/4.0) because there are different universities that give GPA out of 5, and even inverts the scale (0.0/4.0 is the highest GPA).

4- Experience:

Write all experiences sorted in a chronological order from newest to oldest.

  • Trainings/Internships
    • Company Name internship/training: your position, your role, what you did?, when was this (June 2010 to July 2010).
  • Competitions/Contests
    • Imagine Cup (Which competition, passed rounds, project description, and your role in the project).
    • ACM (National/World/CodeForces (Rating and handle)/TopCoder (Rating and handle)).
    • IEEE.
    • Google Code Jam (rank over Egypt, and passed rounds).
    • ThinkQuest.
    • Any other contest with achievement.
  • Projects you participated in. (Non Academic projects)

5- Activities:

  • Microsoft Student Partner
  • Google Ambassador
  • IBM student ….
  • Student Union
  • ACM Chapter
  • SCCI
  • IEEE Student Branch
  • LVAD
  • Life
  • Vision
  • STP
  • TE
  • Courses you delivered, or you were an assistant.
  • Any other activity.

You have to mention your role in each activity you participated in, and a very brief description about the activity itself. Sort them in the most important first order.

6- Technical Skills:

  • Programming Languages
  • Operating Systems
  • Databases
  • IDEs/Tools.

Don’t lie, if you write that you are good at something, they may ask you in it.

Be clever, if you are applying to Microsoft, maybe they will not care if you know Java well, so put it in the end of the list.

7- Languages:

  • Arabic/English/French … and how good are you in written & spoken.

8- Others (Optional):

  • Interests.
  • Readings.

And finally Don’t forget that “References Available upon/on request”

We hope you liked the post.

Written by: Mostafa Nageeb,  Edited by: Amr Samir

You can read this blog in his blog at http://mostafanageeb.blogspot.com/2011/04/cv.html

Do you know XAML ?


Few months ago , I started to search about how one could program Metro Style Apps.

Metro Style Apps are new type of applications are available in Windows 8 inside Metro User Interface.

I knew that one can do that using  programming  language ( C# or VB.Net or C++) but  a markup language called XAML is also needed. Perhaps it was the first time I heard about this new language. It is also needed if you want to program applications for Windows Phone 7 as well.

XAML, ( /ˈzæməl/) is a declarative XML-based language created by Microsoft and is used for initializing structured values and objects.

For normal desktop applications XAML is used in a technology called WPF “Windows Presentation Foundation”

Due to Wikipedia defination WPF  is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications.

As applied to the .NET Framework programming model, XAML simplifies creating a UI for a .NET Framework application. You can create visible UI elements in the declarative XAML markup, and then separate the UI definition from the run-time logic by using code-behind files, this code is joined to the markup through partial class definitions.

namespace WindowsPhoneApplication
          public partial class MainPage : PhoneApplicationPage
// Constructor
                            public MainPage()

XAML directly represents the instantiation of objects in a specific set of backing types defined in assemblies.

Note : This is unlike most other markup languages, which are typically an interpreted language without such a direct tie to a backing type system.

XAML enables a workflow where separate parties can work on the UI and the logic of an application, using potentially different tools.

Using XAML we can create objects like buttons , Text boxes , Radio Buttons , ….etc

For example to create a button we can do that through this code

<Button Background="Blue" Foreground="Red" Content="This is a button"/>
Foreground , Content are properties of the object.