# Wednesday, April 07, 2004

I'm really wanting to fold some kind of code coverage tool into my automated build process.  I'm using CruiseControl.NET to do continuous integration builds, which run NUnit tests, FxCop, build docs, etc, all through the wonders of NAnt.  The problem comes when trying to decide which code coverage tool to run.  For more info, see a presentation I did for a user group meeting a while back.

There seem to be two different projects, both called NCover that provide code coverage for .NET projects.  One of them is at GotDotNet, and it uses the profiling API to get coverage data from a running assembly.  Pretty cool, but I haven't been able to get it to work reliably with NUnit tests.  I think that NUnit doesn't allow enough idle time for the NCover output to get flushed to disk before the process goes away.  Drag.  However, I see that a new version was release yesterday, so I'll have to try it out and see how that goes.

The other NCover follows a more traditional source code intrumentation approach.  You build your project with it, which injects coverage hooks into your source, then you run your tests and out come coverage reports.  Cool.  And somehow it just feels more reliable to me than depending on the (slightly witchy) profiler interface.  On the other hand, it requires a lot more setup and is much more intrusive.  But it seems to work. 

Does anyone have any experience with one or the other?  Or any opinions?

Builds | Work
Wednesday, April 07, 2004 9:17:44 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [5]  | 
# Monday, April 05, 2004

It's amazing the difference a few good samples can make.  The last time I looked at integrating with VisualStudio.NET's new File / Project dialogs all the samples where fairly gnarly looking ATL COM objects that, even if they weren't very complicated, looked WAY too intimidating. 

Thanks to a couple of good samples, I now see how simple it is to write your own new file or project wizards.  Yes, there's still some COM involved, but thanks to the wonder of .NET, you don't really have to be too concerned with the details.  Check out the AddinWizardCS sample for a great example of how to put up a wizard dialog, get some user input, then customize your template files based on that input, all inside of VS.NET. 

The biggest trick is figuring out what goes in the .vsz and .vsdir files.  There are the little snippets of text files that you put deep in the bowels of your VS.NET installation directories to tell VS what to add to the dialog, and the ProgId of the thing to run if a user wants to create one of your projects or files.  Just text files, but figuring out the fields of the .vsdir files does take a moment of reflection (not the coding- but the thinking kind).  The help makes it look more complicated than it has to be.  Check out the samples first and see if they make sense to you before hitting the docs. 

I found this much easier to deal with that the "easy" wizard which involves a bunch more config, and some jscript for good measure.  Just implement IDTWizard yourself, and it's remarkably straightforward.

Monday, April 05, 2004 4:30:37 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

It just gets better every day.  I've pretty much removed dependence on IE in favor of Firefox.  One of the last few things that was bugging me got taken care of last week, and I can now right-click to subscribe to feeds in Firefox.  (Big thanks to Stuart Hamilton!)  And also fairly recently, FreeTextBox introduced support for Firefox.  Happy day!  Although I much admit I've been too lazy (ahem, I mean busy) to get my DasBlog installation working with the new version. 

The only things I ever use IE for are Oddpost (which I can appreciate would be a lot of work to port) and SharePoint.  I'm hoping Firefox will support NTLM soon, so I can start using it for SharePoint too.  SharePoint sites look fine in Firefox, but retyping my credentials on every page gets old.  I had seen some announcements that Firefox .8 would support NTLM, but it looks like that didn't happen.  If I'm missing something, please let me know. 

On a separte note, I'll try to be better about posting anything interesting.  Life's been intruding pretty seriously the last month or so (as life does).

Monday, April 05, 2004 9:52:04 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, April 01, 2004
Dan Fernandez points out some new additions to Whidbey to help combat public indecency.
Thursday, April 01, 2004 9:49:49 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, March 18, 2004

Thanks to all of you who showed up yesterday in Portland to make it a great show.  I had a lot of fun presenting, and got lots of very interesting questions.  And I was gratified to hear that there were more people in Smart Client track (that's me) than on the web side.  I got some very good questions from someone who was possibly the yougest attendee I've run across.  He looked like he was maybe 14-15.  Good to get them started young. :-) 

I thought the demos and the content for the Smart Client sessions were quite good (and all the demos worked).  Kudos to Vertigo.  Someone asked me why business weren't using the IssueVision sample application to do real IT call tracking.  I suggested he check the license before recommending that anyone take that approach. ;-)  It was nice to hear though.  Not something people often say about sample applications.

All in all, a good time was had by all. 

Thursday, March 18, 2004 9:01:12 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, March 17, 2004

I found this site via Omar Shahine, and I just couldn't help myself.  There are so many more places to visit.

 


create your own personalized map of the USA or write about it on the open travel guide

By comparison this one looks less impressive :-)

 


create your own visited country map or write about it on the open travel guide
Wednesday, March 17, 2004 1:46:02 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, March 15, 2004

I found myself in the position this week of having to rewrite a bunch of XML parsing code that was all written using the DOM (that I didn't write).  It's not that I really have anything against the DOM model, but it seemed like overkill, since this particular code actually was organized into subroutines, each of which would take a string and load it into another XmlDocument instance.  And in each case, all that happened with the DOM was a single XPath query using selectSingleNode.  Pretty much a performance disaster. 

What I found interesting is that when I changed it all to use XPathDocument/XPathNavigators instead, the performance didn't seem much better.  Granted, I didn't do a very scientific investigation.  I'm running NUnit tests inside VS.NET using the NUnit-Addin, and the before and after NUnit tests completed in around the same time.

I'm not suggesting I'm sorry I changed the code, since it's both aesthetically more pleasing (at least to me) and has the potential for better performance over larger documents (and I'm assuming a lot less memory overhead).  I was just surprised that it wasn't faster.  I guess I really should profile both cases and see what's really going on performance wise.  Maybe I'll get around to it eventually ;-)

In a few places where the XPath wasn't really important I changed it to an XmlTextReader instead, and was gratified that the NUnit tests completed in about a quarter of the time that the DOM was taking.  Every little bit counts.

XML
Monday, March 15, 2004 9:57:09 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, March 13, 2004

I just survived my very first Taekwondo tournament!  Yea me!

Better than that, I actually won one of my sparring matches, which I hadn't really expected to do, and the guy I lost to was WAY better than me and totally deserved it. 

I call that a good day.  Now on the the USTU state trials in May. :-)

Saturday, March 13, 2004 7:52:47 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, March 10, 2004
I'm a big fan of alternative building methods (check out the Monolithic Dome Institute for one of my favorites) so this idea strikes me as pretty cool [via Gizmodo].  It's basically taking the 3-D printer concept to a larger scale, so instead of printing machine parts out of resin (which is also pretty dang cool) you "print" your house from blueprints using concrete or adobe.  What a great idea. 
Wednesday, March 10, 2004 11:29:45 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
Wow

And I thought I was a dork...

This guy proposed to his girlfriend by building a "bridal-themed" case mod.  With a little bride and groom and everything.  I feel pretty socially ept by comparison.

Wednesday, March 10, 2004 9:08:32 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  |