The Throbbing Brain

Technology musings for the modern pragmatist

.netSavant 1.1.6 Released

I’ve been working on this latest release of .netSavant for some time now, and released it on 11/23/2008.  Its a pretty substantial update, though it may not look so much so at first glance.  There are a few things of note that are included in this release:

  • Created Tools Options Page options to select which methods will be implemented for statements (stored procedures and inline sql).  This allows greater customization of the code that .netSavant generates by excluding methods that you never use.  Personally I never use DataTable or DataSet objects, so I have .netSavant configured to exclude these methods when generating my code.
  • Simpler Unit testing support is achieved by not including code that you have no intention of using.  See the point above.
  • Updated the VB.NET and C# code generation framework to format the generated code a bit more cleanly.  Who likes messy code right?
  • Updated VB.NET generated code to use using statements rather than Try blocks for objects that implement the IDisposable interface.
  • Updated the database connection form to default to the SQL Server provider rather than forcing you to select it each time.
  • Numerous bug fixes.

I highly recommend upgrading to this version, visiting the Tools > Options page to set your preferences, and regenerating any legacy .netSavant code.


I’ve moved the .netSavant project to Github and begun the process of porting it to a newer version of .NET as well as a few other major enhancements. Check it out!

Handling Unhandled Exceptions

At some point in their career everyone who creates ASP.NET applications has had issues with their site throwing exceptions that aren’t trapped.  We end up displaying a friendly error page at best, and at worst display the yellow ASP.NET error screen of death.  Generally speaking it’s best practice to configure your ASP.NET application to use friendly error pages so that your users aren’t presented with an exception and stack trace that are meaningless to them.

But how do you find out what exceptions are being thrown by users who are not you?  Over the years I’ve created many versions of the same type of code to handle these situations, so last night I created a project on codeplex that I’m calling  Essentially, is a provider based unhandled exception handler for ASP.NET applications.  You can download the source at

It’s extremely simple to use and doesn’t require you to change or add any code to your application.  I currently have an email provider created and am in the process of creating a SQL database provider.


It seems that codeplex killed this project. It might have something to do with the fact that I’d not updated anything with it in ages, or maybe I missed an email telling me to do something. Regardless, this project, at least for now, is dead.

Creating Streaming Tutorials With Silverlight

I’ve wanted to work with Silverlight for some time now, though I’ve not had a use for the technology until recently.  I wanted to create tutorial videos for .netSavant to help people learn a bit about the product.  After a bit of searching I found a fantastic code project article written by Karl Shifflett that walks you through the entire process of not only creating a high quality screen capture tutorial, but publishing it as a streaming silverlight video.

Click Here to read the article

To date I’ve only created and published a single tutorial for .netSavant. I’ve several more planned that will hopefully be a bit more polished as I become more comfortable talking, effectively, to no one.


I’ve moved the .netSavant project to Github and begun the process of porting it to a newer version of .NET as well as a few other major enhancements. Check it out!

.netSavant RC1 Released!

I’m proud to announce the release of my new code generating addin, .netSavant.  You can download the release candidate on the website from our download page.

The addin will help you create robust code with an intuitive drag and drop interface. Additionally it will generate best practice implementations of three (currently) system interfaces:

  • System.IEquatable
  • System.IDisposable
  • System.ICloneable

Currently I am working on the example code that will help to explain how to best use the code that is generated.  I’m also working on more and better F.A.Q. entries to answer those pesky little problems that come along with learning a new tool.

If there is any functionality that you’d like to see added to the addin let me know; I’ll entertain any reasonable request.


I’ve moved the .netSavant project to Github and begun the process of porting it to a newer version of .NET as well as a few other major enhancements. Check it out!