
Back to Blog index.
Just recently, Microsoft announced a new program to spice up the small business segment. The new program called WebsiteSpark is a continuation in the line of BizSpark and DreamSpark. Now, WebsiteSpark is, as the name suggests, aimed at web application developers and companies running them.
The exact details are here, but the program basically gives approved members access to production use licenses of Windows Server and SQL Server, and allows you to run them to power Internet applications. Also, you will get a set of Visual Studio licenses to help you get your application developed.
As with the other *Biz programs, WebsiteSpark is a free, three-year program. At the end of the program, an exit fee of USD $100 must be paid, so all in all, the price per year is a mere $33.33. Not much, indeed!
Since a new Windows operating system, Windows 7, is now here, application compatibility is again a issue in developer's and IT administrator's minds. From a management perspective, you might have run into the term shim, which are ways to make application better compatible with the new Windows version.
Shims can be created with utilities in the Application Compatibility Toolkit, but how do shims technically speaking work? The idea of using shims comes from the fact that application compatibility can be caused by applications not using Windows API functions exactly correctly, or behaving erratically if the APIs return something that is not expected, such as a new version number or flags with unaccounted-for bits set.
Shims, then, are ways to force Windows API call results to be more in line with what the problematic applications expect. Yes, it's a problem on the application side, and not on Windows'. But sometimes, source code for an older but critical application might not be available anymore, or the vendor that originally created the application is no longer in business.
When the operating system loads an executable into memory, Windows API function pointers are mapped by the OS loader. There is a memory table called the Address Table (IAT) that points to API function entry points, and then your application can simply jump to a correct memory location to call that API function. But when shims are present (administrative opt-in specifies this), Windows alters the function pointers so that instead of calling for example GetVersionEx function directly, a separate wrapper function is called instead.
This wrapper does eventually call the original API function, but might chance the parameter values used in the call, or alternatively might change the results slightly before returning to the original caller, i.e. your application. This way, your (old) application can still be compatible and run with Windows 7, even though it wouldn't be exactly so just out of the box. This is what shims are for, and how they work.
If you are looking to develop applications that need to store location based data and you are using Microsoft SQL Server, then you might wish to learn about SQL Server 2008's new database support for spatial and location based data.
I've written an introductory article about these new data types and how to use them from .NET/C# applications with Visual Studio. The article is titled "Using new location-aware data types in SQL Server 2008" and available on Developer.com.
Happy reading, and remember to let me know if you use these new data types in your applications!
The Finnish Tietokone magazine has published my latest article, this time titled simply "Paluu 80-luvulle" (Return to the 80s). This two-pager talks about Commodore 64 emulators on Windows, and reminds you of such legendary games like Last Ninja, Command, Skate or Die and Blue Max.
Today, there are multiple emulators for different operating systems, and you can easily download them for example for Windows. There are also multiple sites available which distribute those games of the era. Today, many of these games appear to be so-called abandonware.
Happy reading and above all, nostalgic gaming!
The popular, Microsoft-hosted open-source code sharing site CodePlex (running on Team Foundation Server, by the way) has gotten a new foundation to support the site. Just recently formed, the CodePlex Foundation will "enable the exchange of code and understanding among software companies and open source communities".
The CodePlex open-source sharing site is available at www.codeplex.com, and the CodePlex Foundation at www.codeplex.org. Slightly misleading, but the nice FAQ gives you answers about the differences.
Microsoft WHDC center (Windows Hardware Developer Central) has delivered two new guides for developers: "Memory Sizing Guidance for Windows 7" and "Graphics Guide for Windows 7". These Word documents talk about performance gains that bringing additional RAM to the system can bring, and also how new graphics APIs help deliver better graphics and usability.
If you are interested in hardware design or developing close to the OS level, then don't forget the newly released Windows Driver Kit (WDK) 7.0.0.
Earlier, while Windows 7 was still in beta, I metnioned about a Windows 7 developer training kit. Now that Windows 7 is ready and the RTM version is available, you might find the Windows 7 Training Kit For Developers available on Microsoft Download Center useful.
Use this link to download the training kit, and then start developing!
Backing up database data is very important no matter which database product (RDMS) you are using. Now, if you want to schedule backups in SQL Server 2008 (applies to earlier version as well), you would create a new maintenance plan, select the database to back up, and then set a schedule. Simple enough.
However, if you are using SQL Server 2008 Standard Edition (much more common than the more expensive Enterprise Edition), there's on small catch. The wizard dialog box offers the ability to allow backup compression.
This sounds very useful because backup files usually take equal amounts of disk space than the original database .MDF files. Additionally, the backup files (and the original database files, by the way) compress well when you zip ("winzip") those files. So, even a little compression would come a long way in saving disk space.
The catch is this: when you enable compression in SQL Server 2008 Standard Edition, the database maintenance plan can be created just fine. But when you run the plan, then you will get an error message saying:
Status: Warning: One or more tasks failed. ... Failed:(-1073548784) Executing the query "BACKUP DATABASE [SomeDB] TO DISK = N'C:\\Backup\So..." failed with the following error: "BACKUP DATABASE WITH COMPRESSION is not supported on Standard Edition.
It would be great if the wizard would warn about this beforehand, but it doesn't. So, stay careful when you schedule and set up maintenance plans for backups.
Are you using Visual Studio Team System 2008? Or more specifically Visual Studio Team Test (VSTT)? If yes, then you might find the newish VSTT 2008 Quick Reference Guide, available on CodePlex, valuable.
To get this guide, visit the project site.
Microsoft Finland arranges on 30th September the Finnish version of the ReMix09 event in Helsinki. I have to speak at the event after the top-names, including Brad Abrams, Adam Kinney and August des los Reyes. This time, my topic is ASP.NET MVC, so if you are interested in user experiences, web application development, Expression products or development with these tools, this is the place to be.
The event is held at Kinopalatsi, and starts at 9:30 am. Follow this link to register for the event.
On Friday, Somasegar announced on his blog a new DevLabs project called Doloto. Doloto aims to optimize AJAX/JavaScript web applications by allowing more intelligent loading of the .js files that contain the browser-based scripts for the application's user interface.
According to DevLabs, Doloto is "especially useful for large and complex Web 2.0 applications that contain a lot of code, such as Bing Maps, Hotmail, etc." They also show nice performance graphs, which indeed show impressive performance benefits. Of course, this project is still cooking, and results might improve. But so far, initial load times can improve in the range of 20 to 40 per cent easily, and even more.
Sounds good! I'm looking forward to the progress of this project.
One of the great little features in Windows 7 and Windows Server 2008 R2 is the ability to use virtual hard disks of VHD files in new creative ways. For instance, if you have an operating system installed in a VHD file, you can boot a physical computer/server from that file. Or, you can mount this VHD file as a regular hard disk drive, and so easily transfer your applications and files from one place into another.
For IT people alone, this opens a wide range of possibilities. But developers can benefit as well. For instance, in the future a VHD file might become the standard of application delivery for local installations, but time will tell. Nonetheless, the technology is already there, and just need to be able to use it. Also, there's an API to help managing these files.
However, finding information about things such as performance is presently difficult, as the technology is brand new. However, I've managed to find a nice blog post on Technet detailing about different VHD scenarios. For instance, it can make a big difference whether you create your VHD file fixed or dynamic in size. Read the details here, and scroll down until you see the performance graphs.
Developer.com has just published my latest developer screencast about Windows Mobile development, and using SQL Server databases in those applications. The nine-minute screencast also contains information about how to setup a virtual, emulated network for 3G/GPRS data connections so that you can do all the necessary networking testing using the phone editors.
The screencast is available on the Videos section. Enjoy!
› Blog Archive