Upgrade

Most organizations upgrade their operating systems every few years. A lot of these organizations have skipped the Windows Vista operating system. They are now preparing to go directly to Windows 7. There is not any simple options for a Windows XP to Windows 7 migration.

Users do not like change in general. So it is best to let the users know why you are upgrading their operating systems. Involve them early in the requirements gathering stage. You should set aside a lot of time for migrating data to new application as well.

Set a firm deadline when you require users to be off of Windows XP. Know that any legacy applications will also take a while to migrate. It would be good to have a date when the legacy applications are frozen and get no more upgrades.

You had better be prepared to deal with the legacy app situation. Know the full costs of their maintenance well in advance of the move to Windows 7. Know this. In the end, you will exert a lot of energy but get no thanks for your Windows platform upgrade.

Microsoft Word Complaints

Yesterday I read an article complaining about Microsoft Word. That seemed strange as Word is probably one of the most used software applications. What exactly was this guy having problems with?

Well it seems he just got Office 2010. Perhaps he was still getting used to the new version. He did admit that Word was better than a typewriter. However that is not saying much. He also thought Word was sufficient to get some small jobs done.

He went into a rant about Word being initially written to serve secretaries. Does anybody know what a secretary is any more? Oh yeah. That's an administrative assistant. Anyway I finally go to this guy's beef. It was hard to move sections around in Word. It was also not easy to do general page layout for publishing purposes.

Sure this is not a dedicated publishing software. But you can use it for publishing. Sounds like this dude need to do a little training is all. Microsoft Word rules. I am still becoming familiar with Word 2007. I used Word 2003 for so long I became too used to it. Let's hope this guy learns how to use the tool better. I will do so myself.

The Service Bus Buffer

Let's talk about messaging in the Azure, the Microsoft Cloud. You can think of URLs as buffers. Messages get stored in the buffers. Multiple services can access these buffers. However your client and server don't have to run simultaneously. Thus the buffer.

These type of messages are unidirectional. Messages get stored in memory. They are not grouped into transactions. And they do not last long. You can use the service bus if you deal with unstable network connections. It also works for one way asynchronous comms.

Messages remain by default for 5 minutes. The can stay for as little as 1 minute, and as high as 10 minutes. This is configurable. Buffer size defaults to 10 messages. The max is 50. The minimum is 1. It is best to choose the maximum setting for both the message duration and the size.

I am sure we will be hearing more about service bus buffers as Azure apps become more common.

IntelliTrace

It is difficult and time consuming to track down bugs. Visual Studio 2010 Ultimate has a new feature called IntelliTrace to help. It collect data while application is executing. The collected data is called IntelliTrace events. There are about 150 of such events. They are collected by default, and stored to disk for each session.

IntelliTrace is being marketed as providing the right information at the right time. It helps you determine the exact steps required to reproduce a problem. A certain amount of information is collected by default. You can “turn up the dial” to get even more data collected.

The IntelliTrace logging only works for managed apps. It assists with viewing the prior state of an application without restarting the app. In the end this helps you diagnose problems quicker. You can also set up the tracing to perform custom actions when things go wrong. As an side you don’t need to have symbols present for IntelliTrace to work.

Visual Studio 2010

Visual Studio 2010 has a number of big changes in it. This version implements new standards changes from C++0x. It also uses MSBuild to do all builds. Finally Microsoft is updating the Microsoft Foundation Classes (MFC). There are also a host of other little changes in the latest version as well.

The C++0x changes include lamba expressions. These are unnamed function objects, and are handy to customize the Standard Template Library. The auto keyword from C++ is being changed to mean a variable type can be inferred by its initializer. There is a new static_assert which allows assertions to be tested at compile time. A new nullptr will enforce type safety for null pointers, replacing NULL (which by the way is not being deprecated yet).

MSBuild is the tool previously using to compile C# and VB code. Now it will be used for all Microsoft language compilation. MSBuild is an extensible build engine that uses XML. Microsoft is also finally enhancing the MFC library. This is mostly to take advantage of new APIs in Windows 7. You can recompile your MFC app with the new Visual Studio and get Windows 7 behavior immediately. The MFC Class Wizard is also back in the IDE.

The C++ standard library is being rewritten to take advantage of the C++0x feature set. Parallel programming efforts have been advanced. The new C++ project extension is now vcxproj. Multi touch is supported. There is Restart Manager support so your apps can save their state before they are terminated. The next version of Visual Studio is poised to pack a big punch for developers.

SQL Server Woes

I got a copy of a SQL Server 2005 backup file. It had information I wanted to mine. The problem was that I did not have SQL Server 2005 actually installed. I had trouble finding an evaluation copy of MS SQL Server 2005. Come on Microsoft. The only thing I could find was SQL Server 2008. I did find SQL Server 2005 Express, which is a free edition.

I ended up choosing something calls the advanced tools edition. The download of SQL Server was a couple hundred megabytes from Microsoft. The install would not run. The install itself needed the .NET framework 2.0.

So I went out and downloaded the .NET framework 2.0. Then SQL Server complained that my system did not meet its requirements. I needed Internet Information Server as well. I decided to proceed with the SQL Server install anyway.

SQL Server allowed me to bring up something that looked like an enterprise manager. I kept getting errors as I tried to restore the backup file. This experience reminded me of the pain I encountered when trying to install IBM DB2. I tell you what. Oracle Express was a lot easier to set up that SQL Server. This install experience from Microsoft was a fail.

Windows Phone 7 Series

Windows programming legend Charles Petzold is giving free access to his book on Windows Phone 7 Series programming. Who better to learn from than the guy who taught us Windows programming in the first place.

I only read a chapter or two. But I have gained some good insight. Let me share what I know with you here. First off grab the Windows Phone Developer Tools. That includes Visual Studio 2010 Express for Windows Phone. You also get a Windows Phone Emulator.

Windows Phone 7 is supposed to come out by the end of the year. Nobody seems to have any such actual phones yet. You can use two technologies to develop phone apps. They are Silverlight and XNA. In general use Silverlight for apps and utils, while XNA is best for performance games.

Currently Windows Phone 7 Series application must be managed code using the .NET framework. The only supported language is C#. You sell your apps in the Windows Phone Marketplace. Sound familiar? The hardware can come with two screen resolutions: 480x800 and 320x480.

This is going to be a brave new world of programming. You know it is hot if Charles Petzold is covering it.