This Blog Has A New Home!

This blog has been moved to www.SoftwareRockstar.com. Articles already here will remain intact, while new content will only be added to the new location at www.SoftwareRockstar.com.

Showing posts with label Cool Tools. Show all posts
Showing posts with label Cool Tools. Show all posts

Thursday, March 12, 2009

Watch out Skype - Here comes Google Voice!

Google is about to launch a new service that will allow you to take complete control of your voice communications.  This service will offer features like Unified Messaging, Voicemail transcription, Call Screening, Free calls to U.S. numbers, and much much more!

Sign-up to be notified when this free service is made available to public.

Wednesday, March 11, 2009

Free Visual Studio 2008 Productivity Add-in

Developer Express and Microsoft provide a new version of CodeRush licensed exclusively for C# developers working in Visual Studio. The new product is called CodeRush Xpress, and it includes a slew of useful features to boost your productivity under Visual Studio.

You can download CodeRush Xpress here.

Wednesday, October 31, 2007

Improved .NET Code Analysis: FxCop 1.36

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.

Thursday, October 18, 2007

Astoria and Jasper: Old Ideas New Technology

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 .

Tuesday, May 22, 2007

Windows Installer Cleanup Utility

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.

Wednesday, May 16, 2007

Scratch: A Head Start For Future Technologists

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.

Wednesday, April 18, 2007

SQL Server Database Comparison and Synchronization

Since database are usually designed in development environments, migrating changes over to other environments (e.g. QA and production) is not a trivial task.  This is because SQL Server does not have any built-in tools to compare database schemas. 

There are quite a few third-party tools that would make your life easier, most notably, Red Gate's SQL Compare (reasonably priced around $300).

At times, buying a commercial tool is not really an option, so one must resort to googling for free tools.  There are three such tools that I am aware of:

  1. SQLDBDiff by SQLDBTools
    A very decent tool that comes in both freeware and shareware versions.  Freeware version is not badly crippled; only advanced features such as multi-database comparison, data content comparison, etc. are disabled.

  2. Database Schema Comparison Utility
    This is a Code Project article that comes with C# source code of a schema comparison utility.  The utility itself is pretty bare-bone, but gets the job done.

  3. StarInix Free Database Compare 2.0
    I have not used this tool, but from the advertised feature list, it looks pretty good.  Most notably, in addition to SQL Server, this tool works with Access and MySQL databases.

Thursday, December 07, 2006

Anthem.NET - An AJAX Library for ASP.NET

I coworker introduced me to Anthem.NET, which is an AJAX library for the ASP.NET platform. Within the last year or so, quite a few AJAX libraries have surfaced, including Microsoft's ASP.NET AJAX (formerly known as ATLAS), and other free and commercial products. Some of these are pretty decent, while others are not even worth investigating. Anthem.NET, with it's impressive functionality, belongs to the former group. Some of the features of Anthem.NET include:
  • Free and open source
  • Support for .NET 1.x and 2.0
  • Seamless integration with Visual Studio 2005
  • Broad browser support (IE, Firefox, and Safari)
  • Support for Mono
  • Familiar ASP.NET postback style functionality
  • Support for ASP.NET ViewState
  • Support for web user controls

You can download Anthem.NET from SourceForge.

Monday, November 06, 2006

File Synchronization Made Easy and Free

Microsoft recently released v1.4 of SyncToy with Windows Vista compatibility. SyncToy is an intuitive GUI tool for synchronizing files between folders and devices that can be downloaded from Microsoft for free. It can be used on Windows Vista or Windows XP, and the latest version requires .NET Framework 2.0 to be installed. In addition to Vista compatibility, Version 1.4 of SyncToy fixes some bugs and updates some documentation from the previous version 1.2 that was released back in March. There are some other tools that allow file synchronization, e.g. AllWay Sync which works beautifully, and my favorite command-line tool called Robocopy, which is part of the Windows 2003 Server Resource Kit. Both of these programs are also free, and are part of my essential tools list.

Saturday, October 21, 2006

Microsoft Build Engine (MSBuild)

Up until Visual Studio 2005 and .NET Framework 2.0, the actual build process of solution or project files was pretty much a black-box phenomenon for developers. With .NET Framework 2.0 and Visual Studio 2005, Microsoft unveiled its new build platform called MSBuild. MSBuild essentially provides a transparent build process through Visual Studio IDE, as well as allows developers to build projects and solutions from the command line. This allows us to fully customize our builds and create builds on machines where Visual Studio is not even installed. On a recent team project I was using continuous integration or CI (an Agile practice) via CruiseControl.NET. It was a breeze to automatically build projects and solutions using MSBuild on our build server (a run-of-the-mill Dell workstation running Windows XP without Visual Studio 2005 installed) whenever someone checked-in any files to source control. This allowed us to be confident at all times that various pieces our distributed project integrate well. Moreover, since MSBuild can build projects and solutions from command line, I had some batch files setup that would build release versions of our projects, create setup files (using NSIS), archive older versions of setup files, and move new setup files to a network share where MIS / Operations folks could install the new version on the production server from. In Visual Studio 2005, project and solution files are nothing more than MSBuild XML build scripts. This allows us full control over the build process. For example, in a web project, Visual Studio 2005 does not provide any user interface to modify pre and post build actions. However, since solution file is simply an MSBuild script, we can modify such actions manually by opening up the solution file in any text/XML editor. MSBuild can perform several key tasks out of the box. Each task is essentially a unit of work (UOW) that contributes to the entire build process, e.g. copy files and folders, compile files, etc. If we ever require tasks that do not ship with MSBuild, we can always create custom tasks in any .NET language by simply implementing the ITask interface or deriving from the Task class. In conclusion, MSBuild allows developers full control of the build process so that builds can be fully customized. This may not be so crucial in smaller projects, but for enterprise solutions that typically comprise of several projects and many dependencies, MSBuild is definitely a God-send!

Wednesday, September 13, 2006

ASP.NET 2.0 Web Application Projects

I recently posted about how the lack of project files in Visual Studio 2005 Web Site Projects make it difficult to deploy web applications. I just came across this add-in for Visual Studio 2005 that actually addresses this very issue. It's called the Visual Studio 2005 Web Application Projects (WAP) and is available as a free download from Microsoft. WAP provides following features to ASP.NET 2.0 Web Site Projects in Visual Studio 2005:
  1. A project file that contains references to all web content as well as any assembly references.
  2. Compilation into single assembly that is built into the bin folder.
  3. Pre and Post Build actions.

While WAP is aimed at developers converting web applications from Visual Studio 2003, I think that it's an invaluable tool for anyone creating web applications using Visual Studio 2005.

Thursday, August 17, 2006

Command Prompt Explorer Bar

I came across this great time-saver tool called Command Prompt Explorer Bar that allows you to display command prompt window within Windows Explorer, with it's current directory already set to the path you are browsing in the Explorer. It also has some neat little features such as a script menu that allows you to run particular applications passing the selected file as a parameter etc.

Tuesday, August 15, 2006

Microsoft LogParser

It's kind of ironic that soon after I finished writing a log viewer for my log4Net XML logs, I came across this universal log parsing tool by Microsoft called Log Parser 2.2. I started playing with it and it seems pretty good at what it does. You can create nice looking HTML reports and even charts from your log data (xml, csv, tsv, active directory objects, registry, etc.). All it takes is some basic SQL skills, and you are on your way to producing meaningful views / reports out of your log files. The beauty of the tool is in its extensibility; you can parse an array of data types using this tool.

Wednesday, July 19, 2006

Write Black and Blue Get Green Free

GhostDoc is a free Visual Studio add-in that automatically generates XML comments by intelligently deducing comments from member name and type or by using existing documentation written by someone else in a base class or an interface. This tool is purely intelligent and simply amazing. With tools such as this there simply is no excuse for developers whose code looks all black and blue to not add some green for free! Checkout this GhostDoc PDC demo video on Channel9.

Monday, July 17, 2006

Which UML Tool Do You Use?

While I have used several modelling tools in the past, since I started using Sparx Systems Enterprise Architect (EA), I have not looked back. This is a great tool (for the most part) with a reasonable price tag. What I do wish this tool could do better is provide CodeSmith type support for code generation. EA does have reverse and forward code engineering support, of course, but forward engineering is not exactly very intuitive. It does however provide a COM API that one can tap into in order to extend the tool in more suitable ways.

New Articles On Software Rockstar