Crystal Reports…MUST…DIE!

On Wednesday, I was given the task of re-formatting a Crystal Reports report that is used to generate a form which is then filed with a government agency.  It’s been a long time since I’ve done Crystal Reports (over10 years), so I’ve been struggling a bit, but yesterday I finally got to the point where I’m now moving at a brisk pace, and I’m certain I’ll be done with it this evening–which is good, because it’s the showstopper that’s keeping an app from going into production.  More recently, I’ve been using the “client-side” variant of SQL Server Reporting Services.

Maybe it’s because I’m using the free version of Crystal that’s in VS.NET, but the toolbox choices are EXTREMELY LIMITED, and the formatting functionality is just…wierd.  Report margins, the layout rulers, and the layout grid all use inches as the unit of measure…but the controls you put on your reporting surface don’t–I think they use TWIPS.


ASP.NET 4.0, IIS 7.5…Debugging…FAIL!

Ever have the need to debug the Application_Start event in a globasl.asax?  Guess what?  In .NET 4, with IIS 7.5…apparently…it doesn’t work.

My bug report to The Big Bad M In Redmond:

UPDATE: Microsoft posted reasoning for why this doesn’t work the way it used to, and a work-around.  Still, it’d be nice to be able to set a break point, click run, and have it just work.

VB.NET: Is Option Strict Worth It

In a word: no.  Code everything in C#, and it never becomes an issue.

Seriously.  I was given the task of switching on “OPTION STRICT” in an existing application, and then fixing the compilation issues.  This seemed like a straight-forward task, but what I have learned over the past month is that sometimes, VB.NET lets you write such HORRIBLE code that you’d be better off rewriting the app than switching on OPTION STRICT and trying to patch said application.

Windows Communication Foundation, what is yo funk-shun?

For those who have not yet experienced the magic: Windows Communication Foundation rocks!  All my base are belong to it.  It is teh shit.
I’ve been doing communications programming for a few years (since 2000)–first using named pipes (making calls to the Win32 API from VB 5), then using Windows Sockets (making calls to the Win32 API from VB 6), and then using sockets in .NET, and then using .NET Remoting.  But now, finally, AFTER ALL THESE YEARS AND SO MUCH LOST SLEEP, Microsoft has delivered something that makes communicating across application domains, process boundaries, machine boundaries…whatever…absolutely trivial.  TRIVIAL, I TELL YOU!
Last night, I finished a simple ASP.NET app that uses the AJAX Pro library ( to make calls to a class on my web server that makes remoting calls to a windows service running on another machine, causing that windows service to do ‘stuff’, and then report the results back–ALL WITHOUT SUBMITTING AND REPAINTING AN ENTIRE PAGE.
MAGICAL, I TELL YOU!  Absolutely MAGICAL!  I’ll buy anyone from the WCF (Indigo) Team lunch for revolutionizing the way I think about distributed computing and communication (at least in the .NET world).