<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>ASP.NET</title>
        <link>http://geekswithblogs.net/devdevin/category/2945.aspx</link>
        <description>Explanations, tips, and tricks related to ASP.NET</description>
        <language>en-US</language>
        <copyright>Devin A. Rychetnik</copyright>
        <managingEditor>drychetnik@msn.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Localize It Baby</title>
            <link>http://geekswithblogs.net/devdevin/archive/2006/08/18/88448.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I plan to&amp;nbsp;use the new localization features in ASP.NET 2.0 in my next personal project that I&amp;nbsp;deem cool enough to be truly international. Here is an article that shows how simple it really is: &lt;/FONT&gt;&lt;A href="http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c12407__1/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c12407__1/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=88448"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=88448" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/88448.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2006/08/18/88448.aspx</guid>
            <pubDate>Fri, 18 Aug 2006 21:47:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/88448.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2006/08/18/88448.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/88448.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/88448.aspx</trackback:ping>
        </item>
        <item>
            <title>Blinq Prototype - Generate ASP.NET UI for SQL Databases</title>
            <link>http://geekswithblogs.net/devdevin/archive/2006/07/19/85679.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema. Just point Blinq at a SQL database and it will create a website with pages that display sorted and paged data, allow you to update or delete records, create new records, and follow relationships between tables in your database. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show. Blinq uses the May LINQ Community Tech Preview to access data. The code Blinq creates is simple and easy to customize to fit your needs. Everything in the website Blinq creates is meant as a starting point for a website that meets your needs perfectly, so have fun customizing the pages, experimenting with the code, and making it yours!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The description was taken from and the download is available at: &lt;A href="http://www.asp.net/sandbox/app_blinq.aspx?tabid=62"&gt;http://www.asp.net/sandbox/app_blinq.aspx?tabid=62&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85679"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85679" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/85679.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2006/07/19/85679.aspx</guid>
            <pubDate>Wed, 19 Jul 2006 13:37:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/85679.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2006/07/19/85679.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/85679.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/85679.aspx</trackback:ping>
        </item>
        <item>
            <title>Script Kiddies or Not, Stop Them</title>
            <link>http://geekswithblogs.net/devdevin/archive/2006/06/15/82064.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I was just helping a buddy of mine do some cross-site scripting (XSS)&amp;nbsp;prevention and came across some good resources. If you don't know what XSS is, there is decent introduction here: &lt;/FONT&gt;&lt;A title=http://www.counterhack.net/xss.ppt href="http://www.counterhack.net/xss.ppt"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.counterhack.net/xss.ppt&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Now on to the ones that I really wanted to post:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;This one is from Microsoft Patterns &amp;amp; Best Practices. How To: Protect From Injection Attacks in ASP.NET&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/PAGHT000003.asp?_r=1"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/PAGHT000003.asp?_r=1&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here is a download for Microsoft Anti-Cross Site Scripting Library V1.0.&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9a2b9c92-7ad9-496c-9a89-af08de2e5982&amp;amp;displaylang=en"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9a2b9c92-7ad9-496c-9a89-af08de2e5982&amp;amp;displaylang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;And this&amp;nbsp;is a nice walkthrough of how to do code review for XSS vulnerabilities.&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://channel9.msdn.com/wiki/default.aspx/Channel9.CodeReviewXSS"&gt;&lt;FONT face=Tahoma size=2&gt;http://channel9.msdn.com/wiki/default.aspx/Channel9.CodeReviewXSS&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Oh, and I almost forgot! This one gives you a load of examples to check your site for XSS.&lt;BR&gt;&lt;/FONT&gt;&lt;A title=http://ha.ckers.org/xss.html href="http://ha.ckers.org/xss.html"&gt;&lt;FONT face=Tahoma size=2&gt;http://ha.ckers.org/xss.html&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=82064"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=82064" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/82064.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2006/06/15/82064.aspx</guid>
            <pubDate>Fri, 16 Jun 2006 01:42:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/82064.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2006/06/15/82064.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/82064.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/82064.aspx</trackback:ping>
        </item>
        <item>
            <title>.NET Questions &amp; Answers</title>
            <link>http://geekswithblogs.net/devdevin/archive/2006/01/10/65471.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://www.hanselman.com/blog/"&gt;&lt;FONT face=Tahoma size=2&gt;Scott Hanselman&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; posted a two part series of .NET questions that could potentially be used for interviewing .NET candidates. Although I don't necessarily think they would ensure a well-rounded hire, they definitely include some good technical questions that can help you gauge how deep someone's (and your own) knowledge of .NET is and maybe even help you learn something new:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.hanselman.com/blog/ASPNETInterviewQuestions.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.hanselman.com/blog/ASPNETInterviewQuestions.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.hanselman.com/blog/whatgreatnetdevelopersoughttoknowmorenetinterviewquestions.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.hanselman.com/blog/whatgreatnetdevelopersoughttoknowmorenetinterviewquestions.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Someone else has already taken the time to answer most of the questions for you. I know, as if you didn't already know all the answers: &lt;/FONT&gt;&lt;A href="http://www.ayende.com/Blog/PermaLink,guid,b6e3e8ce-4a6e-4cf0-af70-d360be9e8c76.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.ayende.com/Blog/PermaLink,guid,b6e3e8ce-4a6e-4cf0-af70-d360be9e8c76.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=65471"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=65471" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/65471.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2006/01/10/65471.aspx</guid>
            <pubDate>Wed, 11 Jan 2006 00:35:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/65471.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2006/01/10/65471.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/65471.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/65471.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Server 2005, Visual Studio 2005 &amp; BizTalk Server 2006 Launch</title>
            <link>http://geekswithblogs.net/devdevin/archive/2005/11/30/61772.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The long-awaited launch happened yesterday and I enjoyed what I was able to see. Unfortunately, I only stayed through the morning session since our team was scheduled to release that day (imagine that). In any case, the organizers were understanding and forgiving enough to give me the free copies of &lt;A href="http://msdn.microsoft.com/vstudio/"&gt;VS.NET 2005&lt;/A&gt; and &lt;A href="http://www.microsoft.com/sql/"&gt;SQL Server 2005&lt;/A&gt; before I left anyway. Let me give a quick synopsis of some of the things I noted during the talks.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The keynote speech cited a few statistics that showed the market adoption of .NET in comparison to J2EE and SQL Server in comparison to Oracle and DB2 over the past few years. Some of these numbers were quite impressive although I wasn't able to catch the source quickly enough so I'm not sure how reliable/accurate they were. Nonetheless, a couple things sure hit home; the fact that .NET has been adopted by a lot of large companies and it is here to stay for a while. Two of the companies that the presentation specifically talked about were &lt;A href="http://www.hmv.co.uk/"&gt;HMV&lt;/A&gt; and &lt;A href="http://www.barnesandnoble.com/"&gt;Barnes &amp; Noble&lt;/A&gt;. The presentations focused on how HMV is utilizing VS.NET 2005 to develop its online media center and how Barnes &amp; Noble is using SQL Server 2005 to integrate, analyze and support billions of data records. The argument that SQL Server cannot scale has to be seriously reconsidered after seeing what they are doing with it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Ok, so moving on to the session about &lt;A href="http://msdn.microsoft.com/vstudio/teamsystem/"&gt;Visual Studio Team System&lt;/A&gt;. The Team System is targeted at integrating several different software team roles: the infrastructure architect, the solution architect, the developer, the tester, and the project manager. The Team System comes in three editions (software architect, developer, or tester) or you can get the whole team suite. The idea is to let everyone on the team work smoothly together via a common toolset. In this case, the infrastructure architect can create a logical model of the available web servers, database servers, firewalls etc. and the solution architect can apply the functional model with the web service packages, web interfaces, smart clients etc. on top of that. Then the deployment can be validated and checked in for the developer who will work on the specific projects and solutions and so forth. Later on the tester comes in and start writing stress tests, unit test and other things and the project manager can check-up and run reports seeing all the progress that has been made because everything relates back to the same repository. What makes all this possible is that Team System uses the concept of work items. So you can, for example, only allow a developer to check-in code that has been related to a specific work item, which could be a feature or a bug fix or whatever. The Team System has version control so history of all changes is kept. It also has automated build, unit test integration, and code performance and analysis checking capabilities with things such as NUnit and FxCop. Another plus is that the software comes with the documentation for two MSF methodologies including the agile one. It has templates, samples, and learning material to teach you the formalized approach as well as help you complete each deliverable. &lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;So as you can probably tell I was pretty impressed with the tool and would love to start using it myself. [I just realized that there is a 180 free trial version of it available at MS.com: &lt;A href="http://msdn.microsoft.com/vstudio/products/trial/"&gt;http://msdn.microsoft.com/vstudio/products/trial/&lt;/A&gt;. Now all you have to do is find a company that is willing to pay for it and employ you to use it.]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I missed the afternoon sessions on 1) Design and Development Tools for Building Mission Critical Applications, 2) Web Application Development, and 3) Smart Client Application Development and Deployment, but I would love to hear from anyone else who was able to attend them.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61772"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61772" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/61772.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2005/11/30/61772.aspx</guid>
            <pubDate>Thu, 01 Dec 2005 04:35:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/61772.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2005/11/30/61772.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/61772.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/61772.aspx</trackback:ping>
        </item>
        <item>
            <title>.NET Refactoring Tools</title>
            <link>http://geekswithblogs.net/devdevin/archive/2005/10/21/57693.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Today I had a bunch of classes that I needed interfaces for and I wanted to find a tool that would generate them for me. This led me to the discovery of several refactoring tools available for .NET. Here they are:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Net Refactor&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.knowdotnet.com/articles/netrefactorproducthome.html"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.knowdotnet.com/articles/netrefactorproducthome.html&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;(This tool was able to generate an interface from my class, but unfortunately it was not smart enough to put that interface in the right project since my solution had multiple projects.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;C# Refactory&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.xtreme-simplicity.net/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.xtreme-simplicity.net/&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;(This one also looks good, but I haven't tried it yet.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Resharper&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.jetbrains.com/resharper/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.jetbrains.com/resharper/&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;(This one was able to generate the interface, put it in the right project, and carry over my comments. The only hickup I had was when I regenerated the interface again and it decided to list the interface twice for the class' implementation.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Refactor!&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.devexpress.com/Products/NET/Refactor/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.devexpress.com/Products/NET/Refactor/&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;(I didn't see the feature I needed listed on their website so I haven't tried it yet.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;FONT size=2&gt;UPDATE: I went to the Seattle Code Camp this weekend and saw Mark Miller, Chief Architect of Developer Express, give a presentation on Refactor!. It is a very powerful tool with a super smooth UI, but I still don't know why they haven't done the &amp;#8220;Extract Interface&amp;#8221; refactor feature yet.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57693"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57693" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/57693.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2005/10/21/57693.aspx</guid>
            <pubDate>Fri, 21 Oct 2005 19:13:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/57693.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2005/10/21/57693.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/57693.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/57693.aspx</trackback:ping>
        </item>
        <item>
            <title>Options to Convert VB.NET Code to C# for Free</title>
            <link>http://geekswithblogs.net/devdevin/archive/2005/10/18/57303.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I'm not implying that you shouldn't buy the full version VB.NET to C# conversion products if they have the functionality that you really need. However, I do think it would be silly not to take advantage of the free&amp;nbsp;demo versions and/or the other free tools available for doing this if it will get the job done without having to purchase anything. So here are a few of the options I've found for converting VB.NET code to C# for free:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;TransKing (free demo version allows 600 lines of code per file)&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.e-iceblue.com/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.e-iceblue.com/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;C-Sharpener (free demo version allows 500 lines per project)&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.elegancetech.com/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.elegancetech.com/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;VBConversions (free demo version allows 600 lines per project)&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.vbconversions.com/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.vbconversions.com/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Instant C# (free demo version allows 500 lines per project or 100 lines per ASP.NET snippet)&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.tangiblesoftwaresolutions.com/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.tangiblesoftwaresolutions.com/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;And last, but definitely not least, is the free online converter from Carlos Ag that will let you either convert a file, a snippet of code you paste, or code as you type it. It is pretty cool.&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.carlosag.net/Tools/CodeTranslator/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.carlosag.net/Tools/CodeTranslator/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;UPDATE: I just realized that SharpDevelop--one of the Vistual Studio IDE alternatives for developing on the .NET platform--has an integrated C# to VB.NET and VB.NET to C# converter! Plus, it has some other cool features like NUnit integration support and XML documentation preview. Oh, and the IDE is downloadable and free.&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.icsharpcode.net/opensource/sd/"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.icsharpcode.net/opensource/sd/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;UPDATE 2: After using SharpDevelop to convert several pages of VB.NET to C#, I have noted some of its flaws:&amp;nbsp;it changes select case statements into if blocks instead of the equivalent switch statements,&amp;nbsp;it&amp;nbsp;will specify the type&amp;nbsp;in for loops regardless of whether the original code declared it inline or above the loop, and&amp;nbsp;it doesn't preserve comments. Yes, there are some developers&amp;nbsp;out there who actually&amp;nbsp;document their&amp;nbsp;code and if they've gone through the trouble to write it let's help preserve it.&amp;nbsp;&amp;nbsp;A few other funny kinks you have to watch out for come more with the territory of converting from VB.NET to C# rather than a fault of the program itself: methods and arrays are hard to distinguish in VB.NET since both use parens, so you will have to convert the array parens to square brackets on your own. Also, an if not x = 1 statement translates into if(!x==1), which is just awkward to read. It makes much more sense to interpret when you retype it as if(x!=1).&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57303"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57303" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/57303.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2005/10/18/57303.aspx</guid>
            <pubDate>Tue, 18 Oct 2005 15:13:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/57303.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2005/10/18/57303.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/57303.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/57303.aspx</trackback:ping>
        </item>
        <item>
            <title>Web Site Paths Made Easier in ASP.NET</title>
            <link>http://geekswithblogs.net/devdevin/archive/2005/10/12/56844.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The headache and horror of absolute and relative paths in the web world still haunts us, but it gets a little bit easier now with ASP.NET. Here is a helpful article that gives a good overview of your options: &lt;A href="http://msdn2.microsoft.com/en-us/library/ms178116"&gt;http://msdn2.microsoft.com/en-us/library/ms178116&lt;/A&gt;. However, there is one very important thing that it does not mention. There is a nice little method on the Page class called ResolveUrl. This came in handy today when I needed to get my application root without hard coding it. All you have to do is use the &amp;#8220;~&amp;#8220; to start at the application root and add the rest of your relative path. For example, MyPage.ResolveUrl(&amp;#8220;~/layout/controls/header.ascx&amp;#8220;) can be used instead of &amp;#8220;/smartapp/layout/controls/header.ascx&amp;#8220; where the full path is actually something like &lt;A href="http://dev.nosuchthing.com/smartapp/layout/controls/header.ascx"&gt;http://dev.nosuchthing.com/smartapp/layout/controls/header.ascx&lt;/A&gt;. &lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56844"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56844" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/56844.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2005/10/12/56844.aspx</guid>
            <pubDate>Thu, 13 Oct 2005 03:24:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/56844.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2005/10/12/56844.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/56844.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/56844.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET Validation Controls</title>
            <link>http://geekswithblogs.net/devdevin/archive/2005/10/11/56646.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;FONT size=2&gt;I had been meaning to write something on the ASP.NET validation controls myself, and today I just got a hold of this introductory article on them: &lt;/FONT&gt;&lt;A href="http://techrepublic.com.com/5100-3513_11-5807221.html?tag=nl.e055"&gt;&lt;FONT size=2&gt;http://techrepublic.com.com/5100-3513_11-5807221.html?tag=nl.e055&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;. In most cases you can use these controls instead of writing your own custom validation code and also not have to duplicate it for both client-side and server-side checking. For instance, if all you want to do is make sure that a field is filled in you can use the &amp;#8220;RequiredFieldValidator&amp;#8221;. Or if you want to ensure that the user can only type in a string of a certain character length you can use the &amp;#8220;RegularExpressionValidator&amp;#8221; with a &amp;#8220;ValidationExpression&amp;#8221; of something like &amp;#8220;.{0,50}&amp;#8221; meaning 0 to 50 characters long. If you want to only accept a certain range of dates then the &amp;#8220;RangeValidator&amp;#8221; is perfect. Just set the &amp;#8220;MinimumValue&amp;#8221; and &amp;#8220;MaximumValue&amp;#8221; properties accordingly. Likewise, a range of numbers will work too.&amp;nbsp;In all cases don't forget to set the &amp;#8220;ControlToValidate&amp;#8221; to have the id of the respective control you are validating.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56646"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56646" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/56646.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2005/10/11/56646.aspx</guid>
            <pubDate>Tue, 11 Oct 2005 14:25:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/56646.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2005/10/11/56646.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/56646.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/56646.aspx</trackback:ping>
        </item>
    </channel>
</rss>