How could you master any technology easily ?


When I first heard about Windows 8, I decided that I want to learn how to build apps for this new and promising platform. This was around 2011 and in this time Windows 8 was just a developer preview version. There weren’t any tutorials or videos that could help ! I opened – by the way it wasn’t as rich as it is now – , installed the needed tools and made my ‘Hello World’ application.

Yea , I made it , now let’s dig deeper but actually what came next wasn’t like this good start , frankly everything went wrong ! The code samples were too complex to be understood by a guy who only knows C# programming basics. The support was weak so one couldn’t easily find any help. I remember that I asked a Microsoft employer how I could learn  Metro Style Apps development  (The old name of Windows 8 Store Application ) and where I should start , he didn’t tell me anything except that I should check MSDN. “Again!” said to myself.

I didn’t stop trying, I read some articles and check may be all the tutorials that were available at this time. After some time I figured out that what I really in need to is studying a lot of concepts so as to become ready for developing polished and professional apps.

May be you are asking yourself how some people are able to learn a technology in just few weeks and sometimes in only a week or less. Actually there are two opposite cases :

1- Geeks who already have strong technical foundations and excellent understanding of the main concepts of this technology and then are able to absorb any new features or new releases easily and fast.

2- Beginners who don’t have enough knowledge or experience and all their projects or apps are made with the help of code snippets , tutorials and may be video tutorials that they often don’t truly understand.

So how could you solve this problem if you are a beginner who looks really for mastering a technology not just making some simple and repeated applications ?

1- Focus on learning concepts at first


Concepts are like the basement of any building , The stronger it is , the stronger and taller your building would be.  So don’t be hasty and give as much time as possible to mastering basic concepts stage and even if you face a  feature / option that depends on a concepts or something that you aren’t aware of , face the problem and give your self the enough time to go back and learn this thing before you continue. for example if you are going to learn Android mobile development , make sure that you mastered Java concepts and object oriented concepts and are aware of xml and the basic concepts and problems that any mobile developer should know.

“The formulation of the problem is often more essential than its solution” Albert Einstein

2- Read , Read , Read


Although I recommend video tutorials -if they are available- to learn the basics of any technology , I can’t deny that reading is essential and it is the only thing that could make you aware of the details of anything  and therefore understand it well too. Reading shouldn’t be limited to text books. There are hundreds of blogs that have tons of excellent information that are extremely beneficial. Sites like CodeProject , MSDN , JavaDoc , StackOverflow should be in your bookmarks if you  are serious about learning technology and definitely  you should spend hours reading new things in them,

3- Learn by doing


Watching and reading tutorials is good but isn’t enough at all. There are several skills -Debugging is one of them – which you won’t acquire unless you get your hands dirty in code. Download hands on labs and try to build them on your own , apply what you learnt and make simple projects. This would keep you motivated and would make you better programmer of course.

4- Keep updated


Technology is changing everyday and you should keep up with these changes and continuously update your knowledge if you want to compete in this market. There are many tools and ways that could support you. Subscribing to technology geeks blogs , following them in Twitter and regularly check dev. sites should help a lot. Attending technology related events is indispensable.

Finally, there is an excellent blog about how you could stay on top by Bob Tabor that I recommend reading.

I hope this blog could help you learn to avoid most of the mistakes that beginners commit and use your time wisely too. For non-beginners , I would be happy to hear from you especially if you have other advises or recommendations that you believe should be added to this blog. Good Luck !

Ahmed Kamal


SAAS (Software as a service)


Finally I could understand the meaning of this word well thanks to the video of Prof.Paterson which I’m here to share it with you.

SAAS (Software as a service) is a new model to deliver software. It is different to what we get used to.  I won’t talk too much.

This is the video Enjoy !


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!