Wednesday, June 4, 2008

Great Experience with TFS 2005

In the last two weeks, I decided to install Team Foundation Server (TFS) 2005 on a virtual machine at my home. It was really a great experience. I worked in the check-in policy before but I decided to get more experience about TFS.

Installing TFS is not so hard but all you need to do is to follow the installation guide. You can find the guide file burned on your DVD of TFS or you can find it at Microsoft web site. also you can try TFS 2005 trial version. It's trial for six months. Find the TFS 2005 trial at:

Team Foundation Server 2005 Trial Download link

But unfortunately, After Installation, I found that Microsoft has just released Microsoft Team Foundation Server 2008 and i knew that after installing TFS 2005 :( but I'll install it soon.

Remember, just follow the guide and everything will be OK.

Tuesday, May 27, 2008

What is LinQ?

LinQ stands for "Language Integrated Query". It extends C# and visual basic syntax with the new LinQ syntax to provide more capabilities in your code.

It's an interesting feature in C# 3.0. I'll hit an example for LinQ. consider the following class:

   1: class Student

   2:  {

   3:      int id;


   4:  

   5:      public int Id

   6:      {

   7:          get { return id; }

   8:          set { id = value; }

   9:      }

  10:      string studentName;

  11:  

  12:      public string StudentName

  13:      {

  14:          get { return studentName; }

  15:          set { studentName = value; }

  16:      }

  17:  

  18:  }



List<Student> studentList = GetStudentList();


now you need to find all student with name John:


   1: var studentQurey = from student in students

   2:                    where student.StudentName == "John"

   3:                    select student;

   4: studentQurey.ToList();


that was a so simple example for LinQ. You can use LinQ to SQL to search in a database in your application and a lot of feature included in LinQ.

Monday, April 21, 2008

Need for performance

Wrong Thoughts:

Some people think that the hardware power has been increased in the last few years and that makes them think that they can develop applications without taking in consideration the minimum requirements for their applications. For example: your application needs 150 MB in the memory to work and you found your team telling you: "Whatever, the laptops now support up to 4 GB, just release it.". This is totally wrong vision. You have to think if you are really in need to these 150 MB in memory, or you can optimize your code to reduce the memory required for your application.

Now, if your application is taking 3 seconds to perform a user task, the user will consider this application as a slow application. Later, we will find that it will be reduced to 1 second. The target now is to build applications with the highest performance we could reach. For example: if you have a list of objects and you need just one of them, you can loop to find it or you can think if you can get it when constructing that list. Try to use the latest tools like LinQ from Microsoft to search for an object in a list. Also, if you need some objects only from that list, try not to put them in another list, just try to remove the unwanted objects from it if that is possible.

All you need to do now is to think how to optimize your code to reach the maximum possible performance for your application. Do not think that you are protected by the increasing of the hardware power, just optimize your code.

Friday, April 18, 2008

My First Post

.Net Dimension, I spend a lot of time thinking about that title for this blog. One of my friends called Amr Sawy suggested this name for me. Thanks Amr for this name. I'll talk in this blog about any thing that carries Microsoft Name :) but my target is to build application using these products.