<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Jason Nadal</title><subtitle type="html">Restless C#ding</subtitle><id>http://weblogs.asp.net/jnadal/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/jnadal/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2006-02-21T18:05:00Z</updated><entry><title>JNFileCombiner V1.0 Freeware</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2008/01/30/jnfilecombiner-v1-0-freeware.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2008/01/30/jnfilecombiner-v1-0-freeware.aspx</id><published>2008-01-30T13:06:00Z</published><updated>2008-01-30T13:06:00Z</updated><content type="html">&lt;P&gt;As I had written &lt;A class="" href="http://weblogs.asp.net/jnadal/archive/2008/01/24/filecombiner-freeware.aspx" mce_href="http://weblogs.asp.net/jnadal/archive/2008/01/24/filecombiner-freeware.aspx"&gt;here&lt;/A&lt; p&gt;&lt;/A&gt;, I am working on a freeware program called &lt;A class="" href="http://www.codeplex.com/JNFileCombiner" mce_href="http://www.codeplex.com/JNFileCombiner"&gt;JNFileCombiner&amp;nbsp;&lt;/A&gt;to combine parts of files numbered .001 through .nnn. I had seen other programs do this, as well as batch files (just by copying the files together), but I figured this was a very simple project to get started with fully unit-testing code.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://www.gnoso.com/blog/" mce_href="http://www.gnoso.com/blog/"&gt;Peter&amp;nbsp;Waldschmidt&lt;/A&gt; of &lt;A class="" href="http://www.gnoso.com/" mce_href="http://www.gnoso.com/"&gt;Gnoso&lt;/A&gt;&amp;nbsp;was kind enough to support this open-source project by giving a license to NCover free of charge, and already I have seen benefits to improving my unit tests. I've found that exception scenarios were not covered by my tests.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Last night, I posted the first version of the application, with source, to a &lt;A class="" href="http://www.codeplex.com/JNFileCombiner" mce_href="http://www.codeplex.com/JNFileCombiner"&gt;new codeplex project here&lt;/A&gt;. It's a bit rough around the edges, but it works. I really need to work on complete comment coverage, simplification of the unit tests, and some refactoring, but I'm working that into the plan for V1.1.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5676254" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="My Project Releases" scheme="http://weblogs.asp.net/jnadal/archive/tags/My+Project+Releases/default.aspx" /><category term="My Projects" scheme="http://weblogs.asp.net/jnadal/archive/tags/My+Projects/default.aspx" /><category term="utilities" scheme="http://weblogs.asp.net/jnadal/archive/tags/utilities/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/jnadal/archive/tags/.NET/default.aspx" /><category term="Windows Forms" scheme="http://weblogs.asp.net/jnadal/archive/tags/Windows+Forms/default.aspx" /></entry><entry><title>FileCombiner Freeware</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2008/01/24/filecombiner-freeware.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2008/01/24/filecombiner-freeware.aspx</id><published>2008-01-24T17:38:00Z</published><updated>2008-01-24T17:38:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I've decided to delve more into fully unit-tested code and write an application from scratch using TDD methodologies after being re-invigorated by Robert C. Martin's fantastic Craftsman article series ( &lt;A href="http://www.objectmentor.com/resources/publishedArticles.html"&gt;http://www.objectmentor.com/resources/publishedArticles.html&lt;/A&gt;&amp;nbsp;-- click on the "Test Driven Development" category).&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;I'm using NUnit ( &lt;A href="http://www.nunit.org/index.php"&gt;http://www.nunit.org/index.php&lt;/A&gt;&amp;nbsp;) to do unit tests, with TestDriven.NET ( &lt;A href="http://www.testdriven.net/quickstart.aspx"&gt;http://www.testdriven.net/quickstart.aspx&lt;/A&gt;&amp;nbsp;) used along with an obsolete version of NCover ( &lt;A href="http://www.ncover.com/"&gt;http://www.ncover.com&lt;/A&gt;&amp;nbsp;). &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;I have no complaints with NUnit, but TestDriven.NET has some strangeness in studio 2008 that I will detail shortly, once I make sure the issues that I am facing are not simply due to PEBKAC on my part. NCover seems quite nice to be able to have a way to see NUnit coverage, without resorting to the MS tools (which do not seem to play nicely with external testing frameworks like NUnit).&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Next steps:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Try new version of NCover and review it (the version I have now does not seem to respect the setup and teardown attributes before running tests)&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Complete first release of FileCombiner (I'd estimate the initial features are at about 85%, with ~85% code coverage according to NCover)&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Publish release, with unit tests.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Beautify the UI; use WPF, include progress bar and diminish use of textbox as a vehicle for reporting progress&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5644830" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="My Project Releases" scheme="http://weblogs.asp.net/jnadal/archive/tags/My+Project+Releases/default.aspx" /><category term="My Projects" scheme="http://weblogs.asp.net/jnadal/archive/tags/My+Projects/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/jnadal/archive/tags/.NET/default.aspx" /></entry><entry><title>Review: SSW Code Auditor</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/12/15/review-ssw-code-auditor.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/12/15/review-ssw-code-auditor.aspx</id><published>2006-12-15T21:35:00Z</published><updated>2006-12-15T21:35:00Z</updated><content type="html">&lt;p&gt;I had found out about &lt;a href="http://www.ssw.com.au/ssw/CodeAuditor/"&gt;SSW&amp;#39;s Code Auditor&lt;/a&gt; product through one of those ubiquitous Top 10 .NET Developer Tool lists recently, and as I&amp;#39;m at the start of a new project, felt that I should run it through an auditor to nip common code errors in the bud as early as possible. This tool retails for about $305US, and can embed itself right into Visual Studio. Here&amp;#39;s my thoughts on it.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;The Good:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1) Customized rules are possible to match your own inhouse conventions.&lt;/p&gt;&lt;p&gt;2) The individual rules are mostly great.&lt;/p&gt;&lt;p&gt;3) Works with Team Foundation&lt;/p&gt;&lt;p&gt;4) Works against uncompiled code -- this is very cool.&lt;/p&gt;&lt;p&gt;5) Integrated with &lt;a href="http://www.jetbrains.com/profiler/"&gt;JetBrains dotTrace Profiler&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;What I&amp;#39;d Suggest (Improvements):&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1) Trial version does not scan all files -- non-complete trial.&lt;/p&gt;&lt;p&gt;2) Initial run against my web site (just starting out) caused the application to throw an exception. Actually all subsequent attempts to use the addin were also unsuccessful.&lt;/p&gt;&lt;p&gt;3) Spell check for programmers! But there should be a quick button to just run the spell checking rule against the open document via the auditor toolbar.&lt;/p&gt;&lt;p&gt;4) Rule about starting boolean properties with a verb does not take into account existing verbs used in the .NET framework like &amp;quot;Enable&amp;quot; in the case of &amp;quot;EnablePasswordRetrieval&amp;quot;&lt;br /&gt;as in System.Web.Security.MembershipProvider.&amp;nbsp; It caught &amp;quot;Requires&amp;quot; as not being a verb as well as in &amp;quot;RequiresUniqueEmail&amp;quot;, which is technically correct, however&lt;br /&gt;this is not something the end user will be able to have control over.&lt;/p&gt;&lt;p&gt;5) Cascading rules should be removed as they are checked off -- ie. When fixing an &amp;quot;Empty Catch Block&amp;quot;, this could also fix &amp;quot;No empty code blocks&amp;quot;.&lt;/p&gt;&lt;p&gt;6) On the html output report, switching back and forth between views remembers your checkboxes, which is great. However, if I check off that I fixed 3 different rules associated&lt;br /&gt;with the same file in the &amp;quot;By rule&amp;quot; view, and change to the &amp;quot;By file&amp;quot; view, it doesn&amp;#39;t know that I fixed all rules associated with that file.&lt;/p&gt;&lt;p&gt;7) The &amp;quot;The Rules&amp;quot; view is fantastic.. they show you each of the rules they check for, the regular expression used to check against, and how many hits for that regex.&lt;/p&gt;&lt;p&gt;8) I&amp;#39;m not convinced all rules can be created via regex.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;The Verdict:&lt;/p&gt;&lt;p&gt;I&amp;#39;d use it.&amp;nbsp;I spend so much time in visual studio, and am not alone on the team.&amp;nbsp; Being able to have checkin policies that force a certain level of code quality is worth using this product in and of itself, even without SSW&amp;#39;s ability to add customized rules.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1250523" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="review" scheme="http://weblogs.asp.net/jnadal/archive/tags/review/default.aspx" /><category term="visual studio" scheme="http://weblogs.asp.net/jnadal/archive/tags/visual+studio/default.aspx" /><category term="utilities" scheme="http://weblogs.asp.net/jnadal/archive/tags/utilities/default.aspx" /><category term="development" scheme="http://weblogs.asp.net/jnadal/archive/tags/development/default.aspx" /><category term="tools" scheme="http://weblogs.asp.net/jnadal/archive/tags/tools/default.aspx" /></entry><entry><title>Free Stuff</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/03/06/439656.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/03/06/439656.aspx</id><published>2006-03-06T13:48:00Z</published><updated>2006-03-06T13:48:00Z</updated><content type="html">&lt;p&gt;It'll be a short posting day for me today as I get ready to head down to sunny Miami for a few days. Learn2Asp is providing free training webcasts for ASP.NET as well as the opportunity for free Visual Studio standard, a price reduction on MSDN Pro, and some other goodies. You can get to the &lt;a href="http://www.learn2asp.net/Campaign.aspx"&gt;webcasts here&lt;/a&gt;. They seem to be targetting crossover developers, as the material is tailored to 3 distinct areas: JSP devs, PHP devs, and ColdFusion developers.&lt;/p&gt; &lt;p&gt;The webcasts are too many to list (for being free, I was amazed at the width of scope of these 'casts). Here's the perks for attending three:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft® Visual Studio® 2005 Standard Edition (Not for Resale) &lt;li&gt;Five chapters of Programming ASP.NET 2.0 Core Reference, by Dino Esposito &lt;li&gt;A 30-day hosting account to try out your custom Web applications &lt;li&gt;Microsoft Developer Security DVD with how-tos, white papers, tools, webcasts, and code samples that demonstrate how to write more secure code &lt;li&gt;A 50% discount on a Microsoft Certified Professional Exam so you can add your new skills to your resume &lt;li&gt;A voucher that allows you to buy Visual Studio 2005 Professional Edition with an MSDN® Professional Subscription at renewal pricing (a $400 savings) &lt;/li&gt;&lt;/ul&gt; &lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439656" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author></entry><entry><title>IIS7 ... Oh What a Difference!</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/03/03/439494.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/03/03/439494.aspx</id><published>2006-03-03T13:28:00Z</published><updated>2006-03-03T13:28:00Z</updated><content type="html">&lt;p&gt;Found a &lt;a href="http://blog.danbartels.com/archive/2006/02/26/1214.aspx"&gt;post &lt;/a&gt;on how to install IIS7 on the latest build of Vista (5308), and wanted to do some staging for my stagnant personal site on my laptop (that has Vista installed), and decided to give it a whirl. Thanks, &lt;a href="http://blog.danbartels.com/default.aspx"&gt;Dan Bartels&lt;/a&gt; for doing the writeup.&amp;nbsp;That's some great site design on his page!&lt;/p&gt; &lt;p&gt;We were told to keep an eye on &lt;a href="http://www.iisseven.com/"&gt;IISSEVEN.COM&lt;/a&gt;, and I certainly will.With this build, after going to the usual IIS snap-in under MMC, you'll notice a difference. As they say, a picture is worth a thousand words...&lt;/p&gt;&lt;br /&gt; &lt;p align="center"&gt;&lt;img src="http://www.jnadal.com/images/weblogsaspnet/iis7.jpg" /&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439494" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="Longhorn" scheme="http://weblogs.asp.net/jnadal/archive/tags/Longhorn/default.aspx" /></entry><entry><title>GridView and DataKeyNames</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/02/28/439303.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/02/28/439303.aspx</id><published>2006-02-28T23:06:00Z</published><updated>2006-02-28T23:06:00Z</updated><content type="html">If you're trying to create a gridview, automatically bound to either a SqlDataSource or an ObjectDataSource (the better of the two options), and want edit and delete functionality, do not forget to set the DataKeyNames property to the primary key of the table or object you are trying to delete. Otherwise Edit/Update seems to work, but Delete will complain that it cannot find the parameter, even if you are defining DeleteParameters in the DataSource itself.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439303" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author></entry><entry><title>If you're not able to install the WinFX SDK (Feb CTP)....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/02/25/439035.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/02/25/439035.aspx</id><published>2006-02-25T13:59:00Z</published><updated>2006-02-25T13:59:00Z</updated><content type="html">&lt;p&gt;...then you might be running into &lt;a href="https://blogs.msdn.com/jsacks/archive/2006/02/23/538251.aspx"&gt;this issue&lt;/a&gt; with the installers, as reported by Jason Sacks. Keep your eye on &lt;a href="https://blogs.msdn.com/jsacks/default.aspx"&gt;his blog&lt;/a&gt;&amp;nbsp;for a resolution to this. Here's the telltale sign in the install logs that you'd see:&lt;/p&gt; &lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;[SDKSetup:Error] Config_Products_Install: Windows SDK Setup (failed): Installation of the "Microsoft Windows Software Development Kit" product has reported the following error: Fatal error during installation.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir="ltr"&gt;&lt;strong&gt;Update&lt;/strong&gt;: seems this may be due to a bad iso -- either because of me or msdn. But the second download worked like a charm!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439035" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="Longhorn" scheme="http://weblogs.asp.net/jnadal/archive/tags/Longhorn/default.aspx" /></entry><entry><title>Check for the existence of a sql temp table</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/02/24/438960.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/02/24/438960.aspx</id><published>2006-02-24T13:10:00Z</published><updated>2006-02-24T13:10:00Z</updated><content type="html">&lt;p&gt;Here's an easy way to check if a temp table exists, before trying to create it (ie. for reusable scripts)&amp;nbsp;from &lt;a href="http://www.sqljunkies.com/WebLog/simons/archive/2005/11/09/17343.aspx"&gt;Simon Sabin's post&lt;/a&gt;&amp;nbsp;:&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;IF&lt;/font&gt; &lt;font color="#ee82ee"&gt;object_id&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#ff0000"&gt;'tempdb..#MyTempTable'&lt;/font&gt;) &lt;font color="#808080"&gt;IS NOT NULL&lt;/font&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;BEGIN&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;DROP TABLE&lt;/font&gt; #MyTempTable&lt;br /&gt;&lt;font color="#0000ff"&gt;END&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;CREATE TABLE&lt;/font&gt; #MyTempTable&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ID &lt;font color="#0000ff"&gt;int&lt;/font&gt; IDENTITY(1,1),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SomeValue &lt;font color="#0000ff"&gt;varchar&lt;/font&gt;(100)&lt;br /&gt;)&lt;br /&gt;GO&lt;/p&gt; &lt;p&gt;&lt;br /&gt;That way, if you have to change databases in the query window, you don't have to drop the tables before you run it again.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438960" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author><category term="SQL" scheme="http://weblogs.asp.net/jnadal/archive/tags/SQL/default.aspx" /></entry><entry><title>Watching the Olympics ... in 3D</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/02/23/438925.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/02/23/438925.aspx</id><published>2006-02-23T23:38:00Z</published><updated>2006-02-23T23:38:00Z</updated><content type="html">I had ordered some 3D glasses for a very old TV show, based on the &lt;a href="http://en.wikipedia.org/wiki/Pulfrich_effect"&gt;Pulfrich effect&lt;/a&gt;, in fact the show mentioned on that site, Doctor Who. I found a place online selling them for only 99 cents each, called &lt;a href="http://www.sciencestuff.com/prod/P-c/0531"&gt;Science Stuff&lt;/a&gt;. The cool thing is that they are great for sports with a lot of motion (like skiing, or what happens to be on the Olympic coverage now, replay of Figure Skating. The principle is that by tinting one side, you're slightly slowing the light hitting your eye, causing your brain to percieve 3D. There's the normal sensation with 3D glasses after you take them off, where your eyes feel wierd seeing the same amount of light in both eyes again!&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438925" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author></entry><entry><title>What's causing that bluescreen?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jnadal/archive/2006/02/21/438711.aspx" /><id>http://weblogs.asp.net/jnadal/archive/2006/02/21/438711.aspx</id><published>2006-02-21T23:05:00Z</published><updated>2006-02-21T23:05:00Z</updated><content type="html">I found a &lt;a href="http://aumha.org/win5/kbestop.htm"&gt;great resource&lt;/a&gt;&amp;nbsp;that is a knowledge base of extremely detailed info regarding stop errors, also irreverently known as Blue Screen of Death (BSOD) errors. For anyone thinking that they can't look up the error while the machine is in a blue screen, after a reboot, the stop error will be in the Event Log.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438711" width="1" height="1"&gt;</content><author><name>thejay2</name><uri>http://weblogs.asp.net/members/thejay2.aspx</uri></author></entry></feed>