Improved .NET Code Analysis: FxCop 1.36

October 31st, 2007 Comments

The latest beta version of FxCop 1.36 was recently made available for download. This new version includes various features and fixes that include:

  • 200+ bug fixes that reduce noise, missing analysis and rule crashes
  • Support for analyzing anonymous methods and lambda expressions
  • New option for skipping analysis over tool generated code
  • Better support for C++/CLI and the Compact Framework
  • Language ‘friendly’ API names in the UI and resolutions
  • New globalization, design and usage rules
  • Performance improvements that cut analysis by 2x and use half as much memory
  • Documentation that is now available on MSDN

FxCop is an excellent free static code analysis tool from Microsoft that checks .NET managed code assemblies for conformance to Microsoft’s .NET Framework Design Guidelines.

Astoria and Jasper: Old Ideas New Technology

October 18th, 2007 Comments
Microsoft .NET

SubSonic is an excellent open source DAL generation tool developed by Rob Conery that has been around for almost a year. In most cases SubSonic can just be added to your project, pointed to a databse, and you magically and immediately gain access to a rich and strongly typed object model that can be used to query and persist data to and from your relational data source.

SubSonic also has a cool feature called the REST handler that essentially allows one to use HTTP protocol as an interface to data stored in a back-end relational database. It is URI based and returns data back in XML format. This data can then be used by decoupled client applications as they see fit. If you have never looked at SubSonic, you owe it to yourself to checkout this very cool tool.

Recently Microsoft unveiled their plans to release similar features codenamed Astoria and Jasper with .NET framework 3.5 and Visual Studio 2008. The CTP of Astoria and Jasper are available for download from Microsoft.

Jasper is described by Microsoft as:

Project Jasper is geared towards iterative and agile development. You can
start interacting with the data in your database without having to create
mapping files or define classes. You can build user interfaces by naming
controls according to your model without worrying about binding code. Project
Jasper is also extensible, allowing you to provide your own business logic and
class model. Since Project Jasper is built on top of the ADO.NET Entity
Framework, it supports rich queries and complex mapping.

Pablo Castro, the mastermind behind Astoria describes it as:

The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.

The Astoria web site also includes sample online services that showcases how this new technology can be used. It also allows anyone with a Passport account to design and host their own experimental data services .

Windows Installer Cleanup Utility

May 22nd, 2007 Comments

If you have ever used MSI installation packages involving Windows Installer, you are probably aware of its nuisance. I can deal with the fact that it’s a pain to create decent installations without shelling out hundreds or thousands of dollars for third party tools such as Wise and InstallShield, but I just can’t cope up with the fact that my customers can’t install or uninstall an application built using Windows Installer for no apparent reason. When using the Add/Remove Programs applet in the Control Panel, sometimes MSI packages can’t be removed. I have a system with BizTalk Server installation that I can’t get rid of. There are even issues around upgrading an application and at times the installer complains and won’t budge.

To alleviate some of the pain, Microsoft finally came up with a Windows Installer Cleanup Utility, that can be used to remove all references to a given application from your system. This utility just saved me a few hours worth of work when Installer refused to uninstall a given application from my system so that I could install a newer version. Without this utility I would have had to go through and search my registry for all references to the application and remove them by manually hand. Then, if I was lucky, I would be allowed to install the newer version of the application. With this utility I removed the application from my system in seconds and painlessly installed the newer version after that.

Scratch: A Head Start For Future Technologists

May 16th, 2007 Comments
Scratch

After the popularity of Logo (Turtle Graphics) in the 80′s, the Massachusetts Institute of Technology (MIT) has once again come up with a new programming language for kids called Scratch. Scratch teaches kids skills necessary to become future technology professionals, such as creative thinking, clear communication, systematic analysis, iterative design, and continuous learning, while they create fun and interesting projects such as interactive stories, graphic animations, games, music, and art. Projects created with Scratch can be shared on the web with others.

In addition to home, Scratch can be used by schools, museums, community centers, or other group settings. While the tool is intended for 8 to 16-year olds, with some adult help it can definitely be used by younger children.

Scratch is available for both Windows and Mac platforms, and is available as a free download.