This blog is subject the DISCLAIMER below.

Friday, July 27, 2007

Visual Studio 2008 codename "Orcas" beta 2 for download

Get an early look at Visual Studio 2008

The next version of Visual Studio, Microsoft® Visual Studio® 2008, will provide an industry-leading developer experience for Windows Vista, the 2007 Microsoft Office system, and the Web. In addition, it will continue in the Microsoft tradition of development language innovation. To enable early feedback, this page provides links to prerelease versions of Visual Studio 2008, and for technologies that we plan to include in it. As previews of additional technologies become available, we will make them available from this page.

You can download Installation Disc Images right now

Visual Studio 2008 Standard Edition Beta 2

Visual Studio 2008 Professional Edition Beta 2

Visual Studio Team System 2008 - Team Suite Beta 2

Visual Studio Team System 2008 - Team Foundation Server Beta 2

Visual Studio Team System 2008 - Test Load Agent Beta 2

MSDN Library for Visual Studio 2008 Beta 2

.. more.

Thursday, July 26, 2007

Channel 8

in the Name Of ALLAH

Everyone knows Channel 9, right? It’s a great place Microsoft built more than 3 years ago for improving their level of conversation between them and developers around the world. Everything is about conversation and absolutely nothing about marketing.

Last year, Channel 10 also debuted online, creating a large community of people with passion for technology. Everything about music, mobility, photography, videography, gaming and new PC hardware/software.

And now, a new channel appears on the landscape: Channel 8. This time focused on the students who want to code, connect and create technology. It will be a place to share both news and experiences, find content of interest to students, and other stuff.

Again, Microsoft launched another website to possibly create even a bigger community.

At this moment, the website is still empty. You can only find a Joe Wilson video introduction to the new channel.

Go check out the interesting design, and check again in the coming months to find how much it will relate to us, the students...

This can be something very uselful for us...

Note : - This Post is one Of Microsoft Student Partners Community Posts

.. more.

Sunday, July 22, 2007

Threading 2

If you don’t know about threading please go and read the first part

In this part we will talk about some light part in threading and a special part for GUI programming, if you work with controls which created by the main thread of your application and want to access them by another thread, if you did, you would get this error “System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control 'Your Control' accessed from a thread other than the thread it was created on.”

This is in debug mode and you can disable this exception by writing this line CheckForIllegalCrossThreadCalls = false;

What I’ve found out that’s .NET don’t treat with Form as a control, in the previous post you cannot get this exception although you access the form from a thread which not the one created by.

Anyway, more than one thread on one the same data == inconsistency, race condition, deadlock lmlmlaa, and you MUST keep that in your mind while working with more than one thread on shared data and try to solve these issues.

You should maintain the consistency yourself but also working by volatile keyword isn’t the good way as MSDN says:
Fields that are declared volatile are not subject to compiler optimizations that assume access by a single thread.

To read more about volatile keyword see this

.NET team created a special component to solve and control this issue (doing some operation on a control created in a different thread) and this is called BackgroundWorker, let’s see how it works.

Drag from VS toolbox ->Components tab ->BackgroundWorker and drop it on your target form.
We almost done :)
Double click on BackgroundWorker to create its default event handler DoWork and call Start method which changes the Text of form to a number each 100 millisecond.

Sample code

.. more.

Saturday, July 21, 2007


This post for novice C# programmers..

Did you hear about Threading?

If not, let’s read these lines as a brief introduction about threading.

Thread is a tunnel between machine processor and your application. An entire application may contain more than one thread, and thread just owned by one application.Processor communicates with your application or in another manner does some processes needed by your application via main thread if you didn’t create a one by your hand, one thread and processor(s) == one process at time and the problem is here.

Sometimes you need to draw something, say dozens of lines using GDI+ on you form and do something on that time and ….. if you did everything right, let’s press F5, I can tell you what’d happen, your application would be in “Not responding” state until your Draw method exited. After that you’ll see your lines and your application run normally but sure that’s wrong.

So, what happened there were two processes processor did, the first Update method is one used to update application form and the second was Draw to draw the lines, once any change done on the form an event raised to redraw the form using Update method.

So, the solution is very clear is to create another thread; it controls the paint operation and this is good and works well till now.

So, the question is How to create another thread?!!

Just use System.Threading;

Let’s say we are going to draw the lines when the user press button “Start drawing”So in drawBtn click event handler we write this piece of code:

System.Threading.ThreadStart thrdStart = new System.Threading.ThreadStart(Draw);
System.Threading.Thread thrd = new System.Threading.Thread(thrdStart);

Sample draw method would be

To download the demo

To be continued…

.. more.

Google Analytics

Google Analytics a free tool from Google that monitor your site traffic. It shows you how people found your site, how they explored it, and how you can enhance their visitor experience.

With over 80 reports, Google Analytics account can track visitors through your site, and keep track of the performance of marketing campaigns - like AdWords campaigns, email campaigns, or any other advertising program. With this information, you'll know which keywords are really working, which ad text is the most effective, and where your visitors are dropping off during the conversion process.

Even if you do not represent a commercial will find it really amazing...& contains real deep details about your fetched by analytics includes a lot of details like:
users languages, network locations, browsers, operating systems, screen colors, screen resolutions, java support, Flash version...etc

For more info...

take a Google Analytics tour:

check Google Analytics blog:

not to mention Google Analytics itself ;)

.. more.

Tuesday, July 17, 2007

“How Do I” Videos — ASP.NET

I've received that from Shawon, .NET Community founder

On this page you will find dozens of videos designed for all ASP.NET developers, from the novice to the professional. If you are new to ASP.NET, you can learn the basics of how to create dynamic web applications with ASP.NET 2.0 and Visual Web Developer 2005 Express Edition, using either Visual Basic or C#. If you have a bit of development experience, you will learn how to employ some of the great new features introduced in ASP.NET 2.0. New videos are added every week, so check back often.

More on

Thanks Microsoft

.. more.

Friday, July 13, 2007

Microsoft Codename "Grava"

What is "Grava"?

"Grava" is the code name for a new set of tools from Microsoft’s Education Products Group that is designed to allow the education community to create and assemble materials that will increase discovery and allow learners to go at their own pace and learning style. "Grava" tools are scheduled for release in fall 2008.

"Grava" Player—The "Grava" player enables users to view the rich interactive content created in "Grava" Authoring.

Developer Tools—The "Grava" SDK is built on Windows Presentation Foundation (WPF) and provides a programming model and tools for building rich educational experiences.

Authoring—"Grava" Authoring allows users to create interactive and stimulating non-linear projects to view in the "Grava" player.

Services—"Grava" provides an array of services which complement the authoring, SDK and player components. These services include the ability to do assessments, log results, and create intelligent learning solutions.

What does "Grava" offer to the education community?

Whether you are a publisher, software developer, educator or learner, "Grava" offers something uniquely valuable. ....

.. more.

Sunday, July 01, 2007

IEEE Job Fair & Student Branch Opening @ FCIH

Student Branch team is honored to invite you, interested FCIH students, and all interested IT firms to join us in our first Job Fair at FCIH, held by FCIH IEEE Student Branch.

The day will witness the Student Branch Opening accompanied by the Job Fair where this year graduates will showcase the most recent graduation projects to be watched and evaluated.

When: Wednesday 11/ 7 / 2007 from 9:00 am to 6:00 pm

Where: Helwan University Conference Center

As you are probably familiar with previous Job Fairs, our fair will allow you to showcase your graduation projects (GP) to Software houses, & IT companies, etc representatives. Not to mention, that you may submit your CVs to some of these companies, too.
You can download the registration here, take a look at it and get back with us (at the contacts mentioned below) if you would like assistance with registering or if you have any questions.Register and show case your project, learn to present your work through real experience, gain job-related skills, enhance your resume and may be you can go back home employed!

For interested FCIH students:
Interested!!?? Come & join us and check your colleagues show case their projects, witness the Student Branch official launch, gain job-related skills, meet with representatives of a bunch of companies in the field and maybe you can go back home with an internship offer!
For interested firms:
Please check the contacts below for any inquiries about attending or sponsorship.For any further inquiries:Contact Student Branch team on or you may check for more information

.. more.