<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Wed, 26 Feb 2003 03:08:56 GMT -->
<rss version="2.0">
	<channel>
		<title>Jamie Cansdale&apos;s Radio Weblog</title>
		<link>http://radio.weblogs.com/0110440/</link>
		<description></description>
		<copyright>Copyright 2003 Jamie Cansdale</copyright>
		<lastBuildDate>Wed, 26 Feb 2003 03:08:56 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>userland@mutantdesign.co.uk</managingEditor>
		<webMaster>userland@mutantdesign.co.uk</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>6</hour>
			<hour>7</hour>
			<hour>13</hour>
			<hour>2</hour>
			<hour>8</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<description>&lt;A href=&quot;http://aspnetweblog.com/posts/2979.aspx&quot;&gt;Number 1 in Technorati&apos;s New Interesting Blogs&lt;/A&gt;. 
&lt;P&gt;I am not really sure what this means, but it is cool none the less.&lt;/P&gt;
&lt;P&gt;My blog (&lt;A href=&quot;http://aspnetweblog.com&quot;&gt;&lt;a href=&quot;http://aspnetweblog.com&quot;&gt;http://aspnetweblog.com&lt;/a&gt;&lt;/A&gt;) is listed #1 in &lt;A href=&quot;http://www.technorati.com/&quot;&gt;Technorati&apos;s&lt;/A&gt; New Interesting Blogs&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.technorati.com/cosmos/interestingblogs.html&quot;&gt;&lt;a href=&quot;http://www.technorati.com/cosmos/interestingblogs.html&quot;&gt;http://www.technorati.com/cosmos/interestingblogs.html&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=red&gt;&lt;STRONG&gt;UPDATE:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Oh well, now that I look at it a little more, it appears almost all of the links are coming from &lt;A href=&quot;http://dotnetweblogs.com&quot;&gt;.NET Weblogs&lt;/A&gt; , which isn&apos;t bad, but does detract from the coolness :(&lt;/P&gt;
&lt;P&gt;The other bright spot is it looks like almost all of the blogs from &lt;A href=&quot;http://dotnetweblogs.com&quot;&gt;.NET Weblogs&lt;/A&gt; are listed, so hopefully, &lt;A href=&quot;http://www.technorati.com&quot;&gt;Technorati &lt;/A&gt;will keep indexing us.&lt;/P&gt;[&lt;A href=&quot;http://aspnetweblog.com/&quot;&gt;ScottW&apos;s ASP.NET WebLog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/26.html#a141</guid>
			<pubDate>Wed, 26 Feb 2003 03:08:56 GMT</pubDate>
			<source url="http://aspnetweblog.com/Rss.aspx">ScottW&apos;s ASP.NET WebLog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://staff.develop.com/candera/weblog/stories/2003/02/20/theLastConfigurationSectionHandlerIllEverNeed.html&quot;&gt;The Last Configuration Section Handler I&apos;ll Ever Need&lt;/A&gt;. 
&lt;P&gt;I&apos;m sure someone, somewhere has already written this, but I figured it out on my own today, and it&apos;s just too cool not to share. Basically, it&apos;s a bit of code that lets me store objects in my application of web configuration file, and all I have to do is write the type that holds the values. &lt;/P&gt;[&lt;A href=&quot;http://staff.develop.com/candera/weblog/&quot;&gt;CraigBlog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/22.html#a140</guid>
			<pubDate>Sat, 22 Feb 2003 18:31:52 GMT</pubDate>
			<source url="http://staff.develop.com/candera/weblog/rss.xml">CraigBlog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://dotnetweblogs.com/ScottGu/archive/02172003.aspx#2551&quot;&gt;QQQ is sending out an SOS&lt;/A&gt;. 
&lt;P&gt;Thomas Marquardt, one of our developers on ASP.NET, recently &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/monitor_perf.asp?frame=true&quot;&gt;published an article&lt;/A&gt; on MSDN about ASP.NET performance monitoring.&amp;nbsp; Along with the article are a number of great utilities (all complete with C# source code).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We developed them internally to help automate diagnosing customer issues with production apps, and they are also used as part of our ASP.NET stress testing program (I&apos;ll provide more details about our stress lab in a future blog entry).&amp;nbsp; These source utilities include:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Snap.exe&lt;/U&gt; -- a command-line tool for logging performance data for processes. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;HttpClient.exe&lt;/U&gt; -- a simple client that records time to last byte (TTLB) for HTTP requests. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;ErrorHandler.dll.&lt;/U&gt; This is an IHttpModule that you can add to the HTTP pipeline to log unhandled exceptions to the event log. It is better to log errors to a SQL Server database (that is what we do in our stress lab -- since it makes reporting across hundreds of servers easier), but the example uses the event log for simplicity. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;QQQ.exe&lt;/U&gt; --&amp;nbsp;a command-line tool for stress testing an ASP.NET application. When used in combination with a stress client, such as Homer or ACT, this tool will attach debuggers to the worker process and monitor certain performance counters.&amp;nbsp; It can be tuned to automatically break into the debuggers when performance degrades. &lt;/P&gt;
&lt;P&gt;QQQ is probably my favorite utility -- especially given that its name is complete nonsense.&amp;nbsp; &quot;QQQ&quot; stemmed from the fact that Dmitry (ASP.NET dev manager) likes to name all of his test ASP.NET pages with those initials, usually under various temporary directories scattered accross his harddrive.&lt;/P&gt;
&lt;P&gt;QQQ is usually used in combination with the windbg and cdb debuggers (which you can download from: &lt;A href=&quot;http://www.microsoft.com/ddk/debugging/installx86.asp&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/ddk/debugging/installx86.asp&quot;&gt;http://www.microsoft.com/ddk/debugging/installx86.asp&lt;/a&gt;&lt;/A&gt;).&amp;nbsp; These debuggers are more appropriate for system level dubugging (versus the VS debugger) in that they have less effect on the process they are attached to (unlike the VS debugger which tends to impact timings within the target process -- making stress investigations harder).&lt;/P&gt;
&lt;P&gt;QQQ is also typically used in conjunction with a .NET Framework debugger extension we call &quot;sos.dll&quot;.&amp;nbsp; Strike.dll was the parent debugger extension we used in V1 of the .NET Framework -- &quot;sos.dll&quot; affectionately stands for &quot;son of strike&quot;.&amp;nbsp; You can download son of strike at: &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGch03.asp&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGch03.asp&quot;&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGch03.asp&lt;/a&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;If you are doing hard-core production ASP.NET development, and want to build up an infrastructure for testing and monitoring your web applications, then I&apos;d definitely recommend spending an hour browsing through the above code.&amp;nbsp; There are a lot of cool&amp;nbsp;tips/tricks you can pick up and re-use.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;[&lt;A href=&quot;http://dotnetweblogs.com/ScottGu/&quot;&gt;ScottGu&apos;s Blog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/18.html#a139</guid>
			<pubDate>Tue, 18 Feb 2003 11:35:56 GMT</pubDate>
			<source url="http://dotnetweblogs.com/ScottGu/Rss.aspx">ScottGu&apos;s Blog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://dotnetweblogs.com/sgentile/archive/02172003.aspx#2522&quot;&gt;ASP.NET Performance Monitoring, and When to Alert Administrators&lt;/A&gt;. 
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/monitor_perf.asp?frame=true&quot;&gt;Discusses which performance counters &lt;/A&gt;are most helpful in diagnosing stress and performance issues in Microsoft ASP.NET applications, what thresholds should be set in order to alert administrators to problems, and other resources that can be used to monitor the health of an ASP.NET application.&lt;/FONT&gt; &lt;/P&gt;[&lt;A href=&quot;http://dotnetweblogs.com/sgentile/&quot;&gt;Sam Gentile&apos;s Blog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/18.html#a138</guid>
			<pubDate>Tue, 18 Feb 2003 11:31:38 GMT</pubDate>
			<source url="http://dotnetweblogs.com/sgentile/Rss.aspx">Sam Gentile&apos;s Blog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0106747/2003/02/17.html#a222&quot;&gt;My Collection of .NET Regular Expression Tools&lt;/A&gt;. 
&lt;P&gt;I&apos;m starting to use .NET&apos;s RegEx class all over...in ways I never expected.&amp;nbsp; Here&apos;s the tools and sites I&apos;m using lately:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.codeproject.com/useritems/Expresso.asp&quot;&gt;Expresso&lt;/A&gt; is a new free tool for working with regular expressions in .NET. [&lt;A href=&quot;http://www.larkware.com/Articles/AnotherRegularExpressionT.html&quot;&gt;Larkware&lt;/A&gt;] 
&lt;LI&gt;Of course, &lt;A href=&quot;http://www.sellsbrothers.com/tools#regexd&quot;&gt;RegexDesigner.NET&lt;/A&gt; from Chris Sells 
&lt;LI&gt;The &lt;A href=&quot;http://www.icsharpcode.net/OpenSource/SD/&quot;&gt;Regular Expression builder inside of SharpDevelop&lt;/A&gt;&amp;nbsp;(which is worth the download just to read the SharpDevelop code!)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And Library Resources:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.regxlib.com/&quot;&gt;RegExLib.com&lt;/A&gt;&amp;nbsp;has 213 Regular Expressions at last count (and is hosted by the kick-ass &lt;A href=&quot;http://www.orcsweb.com/&quot;&gt;ORCSWeb&lt;/A&gt;) 
&lt;LI&gt;The Early Adopter &lt;A href=&quot;http://www.3leaf.com/default/NetRegExpRepository.aspx&quot;&gt;Regular Expression Repository&lt;/A&gt;&amp;nbsp;at 3Leaf 
&lt;LI&gt;The &lt;A href=&quot;http://www.gotdotnet.com/userarea/keywordsrch.aspx?keyword=regular%20expression%20workbench&quot;&gt;Regular Expression Workbench&lt;/A&gt; at GotDotNet.com 
&lt;LI&gt;Miloslav&apos;s &lt;A href=&quot;http://www.zvon.org/other/reReference/Output/index.html&quot;&gt;Regular Expression Reference&lt;/A&gt; 
&lt;LI&gt;Dan Appleman&apos;s &lt;A href=&quot;http://www.devasp.net/net/store/shop155/pdB0000632ZU/Books_Software/Books/&quot;&gt;Regular Expressions with .NET&lt;/A&gt; book 
&lt;LI&gt;The &lt;A href=&quot;http://sitescooper.org/tao_regexps.html&quot;&gt;Tao of Regular Expressions&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;[&lt;A href=&quot;http://radio.weblogs.com/0106747/&quot;&gt;Scott Hanselman&apos;s Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/18.html#a137</guid>
			<pubDate>Tue, 18 Feb 2003 11:24:28 GMT</pubDate>
			<source url="http://radio.weblogs.com/0106747/rss.xml">Scott Hanselman&apos;s Weblog</source>
			</item>
		<item>
			<description>&lt;P&gt;&lt;B&gt;NUnitAddin &lt;A href=&quot;http://sourceforge.net/project/showfiles.php?group_id=64706&quot;&gt;support&lt;/A&gt; for &lt;A href=&quot;http://www.junit.org/index.htm&quot;&gt;JUnit&lt;/A&gt;!&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;http://www.mutantdesign.co.uk/nunit-addin/blog/JUnitSupport.gif&quot;&gt;&lt;/P&gt;
&lt;P&gt;If anyone is actually reading this weblog, please check out my new home &lt;A href=&quot;http://dotnetweblogs.com/nunitaddin/&quot;&gt;here&lt;/A&gt;. There &lt;B&gt;will&lt;/B&gt; be some - shock - horror - &lt;B&gt;original&lt;/B&gt; content there! I know I&apos;ve been very lame in the past and just used this place as a scrap book.&amp;nbsp; I&apos;m turning over a new leaf, please give me another chance... ;o)&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/14.html#a136</guid>
			<pubDate>Fri, 14 Feb 2003 11:22:40 GMT</pubDate>
			</item>
		<item>
			<description>&lt;A href=&quot;http://dotnetguy.techieswithcats.com/archives/002163.shtml&quot;&gt;It Finally Happened...&lt;/A&gt;. 
&lt;P&gt;&lt;IMG height=249 alt=hell-sign.jpg src=&quot;http://dotnetguy.techieswithcats.com/junk/hell-sign.jpg&quot; width=450 border=0&gt;&lt;/P&gt;
&lt;P&gt;You might be tempted to think this is a Photoshop fake. I have the benefit of having grown up in the state, knowing that Hell, Michigan is a real place. :) They&apos;ve even got a &lt;A href=&quot;http://www.hell2u.com/&quot;&gt;web site&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://dotnetguy.techieswithcats.com/archives/002163.shtml&quot;&gt;Link&lt;/A&gt; &amp;nbsp; &lt;A href=&quot;http://dotnetguy.techieswithcats.com/archives/002163.shtml#comments&quot;&gt;Discuss&lt;/A&gt;&lt;/P&gt;[&lt;A href=&quot;http://dotnetguy.techieswithcats.com/&quot;&gt;The .NET Guy&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/14.html#a135</guid>
			<pubDate>Fri, 14 Feb 2003 11:04:32 GMT</pubDate>
			<source url="http://dotnetguy.techieswithcats.com/index.xml">The .NET Guy</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://dotnetweblogs.com/FMARGUERIE/archive/02132003.aspx#2358&quot;&gt;eXtensible C# Provides Compile-Time Attributes&lt;/A&gt;. 
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;eXtensible C# provides a set of &lt;STRONG&gt;compile-time attributes&lt;/STRONG&gt; to do things like &lt;STRONG&gt;inject code&lt;/STRONG&gt; (like to check for a null value), &lt;STRONG&gt;analyze code at compile-time&lt;/STRONG&gt; and even obfuscate. Very cool.&lt;/P&gt;
&lt;P&gt;[&lt;A href=&quot;http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=437&quot;&gt;Chris Sells&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Way cool indeed!&lt;/P&gt;[&lt;A href=&quot;http://DotNetWebLogs.com&quot;&gt;.NET Weblogs&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/13.html#a134</guid>
			<pubDate>Thu, 13 Feb 2003 12:11:03 GMT</pubDate>
			<source url="http://dotnetweblogs.com/Rss.aspx">.NET Weblogs</source>
			</item>
		<item>
			<description>&lt;P&gt;Unit Testing Tools For .NET&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://dotnetweblogs.com/cmedina/archive/02092003.aspx&quot;&gt;&lt;a href=&quot;http://dotnetweblogs.com/cmedina/archive/02092003.aspx&quot;&gt;http://dotnetweblogs.com/cmedina/archive/02092003.aspx&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/12.html#a133</guid>
			<pubDate>Wed, 12 Feb 2003 11:07:06 GMT</pubDate>
			</item>
		<item>
			<description>&lt;FONT size=2&gt;
&lt;P&gt;One file that you should always keep in mind is:&lt;/P&gt;
&lt;P&gt;C:Program Files&lt;/P&gt;
&lt;P&gt;Microsoft Visual Studio .NET&lt;/P&gt;
&lt;P&gt;FrameworkSDKincludeCorError.h&lt;/P&gt;
&lt;P&gt;In your case, the error is:&lt;/P&gt;
&lt;P&gt;#define META_E_BADMETADATA EMAKEHR(0x118A) &lt;/P&gt;
&lt;P&gt;&lt;a href=&quot;//&quot;&gt;//&lt;/a&gt; Merge: Inconsistency in meta data import scope&lt;/P&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/11.html#a132</guid>
			<pubDate>Tue, 11 Feb 2003 21:28:19 GMT</pubDate>
			</item>
		<item>
			<description>&lt;DIV class=itemTitle&gt;&lt;B&gt;&lt;/B&gt;&lt;/DIV&gt;&lt;A href=&quot;http://www.razorsoft.net/weblog&quot;&gt;Peter Drayton&lt;/A&gt; managed to post the following at 5:21 AM: &lt;EM&gt;&lt;A href=&quot;http://www.razorsoft.net/weblog/stories/2002/04/13/google2rss.html&quot;&gt;Google2RSS&lt;/A&gt;&lt;/EM&gt;&lt;EM&gt; is a command-line tool that runs a query using the &lt;/EM&gt;&lt;A href=&quot;http://www.google.com/apis/&quot;&gt;&lt;EM&gt;Google Web API&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; and spits out an &lt;/EM&gt;&lt;A href=&quot;http://backend.userland.com/stories/rss091&quot;&gt;&lt;EM&gt;RSS 0.91&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; feed containing the top 10 hits&lt;/EM&gt;.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[&lt;A href=&quot;http://radio.weblogs.com/0105852/&quot;&gt;Sam Gentile&apos;s Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/08.html#a131</guid>
			<pubDate>Sat, 08 Feb 2003 19:15:53 GMT</pubDate>
			<source url="http://radio.weblogs.com/0105852/rss.xml">Sam Gentile&apos;s Weblog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://staff.develop.com/halloway/weblog/2003/02/08.html#a21&quot;&gt;PermissionGrabber&lt;/A&gt;. Yesterday &lt;A href=&quot;http://staff.develop.com/halloway/weblog/2003/02/07.html#a20&quot;&gt;I vowed&lt;/A&gt; to turn on SecurityManager all the time, and figure out the necessary policy files for Java applications that I use. &lt;A href=&quot;http://www.soletta.com/categories/javaEtc/2003/02/07.html&quot;&gt;Ross&lt;/A&gt; mused that it would be cool if the Java runtime provided a flag to generate this information automatically. What a great idea! And, who needs help from the runtime? &lt;A href=&quot;http://staff.develop.com/halloway/code/PermissionGrabber.zip&quot;&gt;PermissionGrabber&lt;/A&gt; is a simple Java app that will execute some other Java app, figure out what permissions it needs to run, and generate an appropriate policy file. All you have to do is &lt;CODE&gt;java PermissionGrabber SomeApp &lt;/CODE&gt;I just threw this together and can think of a few dozen little enhancements already. Let &lt;A href=&quot;mailto:stu@develop.com&quot;&gt;me&lt;/A&gt; know if this is cool and what you would like to see added. [&lt;A href=&quot;http://staff.develop.com/halloway/weblog/&quot;&gt;Ockham&apos;s Flashlight&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/08.html#a130</guid>
			<pubDate>Sat, 08 Feb 2003 10:29:10 GMT</pubDate>
			<source url="http://staff.develop.com/halloway/weblog/rss.xml">Ockham&apos;s Flashlight</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0101391/categories/net/Xml2CodeDom.2002-04-21.zip&quot;&gt;Dogfood&lt;/A&gt;. 
&lt;P&gt;In my neverending quest to amuse myself by confusing myself, I&apos;ve reimplemented my &lt;A href=&quot;http://radio.weblogs.com/0101391/categories/net/Xml2CodeDom.2002-04-21.zip&quot;&gt;Xml2CodeDom&lt;/A&gt; tool in XML so that it can now generate itself.&lt;/P&gt;
&lt;P&gt;It took over 1600 lines of XML to generate only 130 lines of C# code so I don&apos;t expect that developers will be flocking over to this new format anytime soon. It was a fun experiment while it lasted.&lt;/P&gt;
&lt;P&gt;This&amp;nbsp;could, however,&amp;nbsp;have some interesting applications for language agnostic code generation. Maybe tools like &lt;A href=&quot;http://sellsbrothers.com/tools/#collectionGen&quot;&gt;CollectionGen&lt;/A&gt; could use something like this in order to support all features for more than just one language without having to actually duplicate the logic for each language.&lt;/P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0101391/&quot;&gt;authorities here are alert.&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/08.html#a129</guid>
			<pubDate>Sat, 08 Feb 2003 00:14:32 GMT</pubDate>
			<source url="http://radio.weblogs.com/0101391/rss.xml">authorities here are alert.</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0101391/gems/ConsoleHost.cs.txt&quot;&gt;ConsoleHost&lt;/A&gt;. 
&lt;P&gt;This is my version of Scott Guthrie&apos;s &lt;A href=&quot;http://www.dotnet101.com/articles/art024_ASPCommLine.asp&quot;&gt;example&lt;/A&gt; demonstrating how to process ASP.NET requests outside of IIS. Mine automatically copies itself to the current directory&apos;s bin subdirectory (else it won&apos;t work) and also allows you to pass in parameters from the command line.&lt;/P&gt;
&lt;P&gt;I had trouble getting Radio to &quot;upstream&quot; this file until I changed the extension. Anybody know what&apos;s up with that?&lt;/P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0101391/&quot;&gt;authorities here are alert.&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/08.html#a128</guid>
			<pubDate>Sat, 08 Feb 2003 00:11:50 GMT</pubDate>
			<source url="http://radio.weblogs.com/0101391/rss.xml">authorities here are alert.</source>
			</item>
		<item>
			<description>For those who are interested, I&apos;ve updated the &lt;A href=&quot;http://www.pcisys.net/~gweakliem/Gordon/UnitTesting.html&quot;&gt;Visual Studio macro for generating NUnit test shells&lt;/A&gt; to support NUnit 2.0. The macro is licensed under the same license as NUnit 2.0. It&apos;s probably pretty straightforward to convert this into a Visual Studio addin as well. [&lt;A href=&quot;http://radio.weblogs.com/0106046/&quot;&gt;Gordon Weakliem&apos;s Radio Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/07.html#a127</guid>
			<pubDate>Fri, 07 Feb 2003 22:51:06 GMT</pubDate>
			<source url="http://radio.weblogs.com/0106046/rss.xml">Gordon Weakliem&apos;s Radio Weblog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://www.dotnetremoting.cc/DotNetCentric/default.aspx?day=2003-02-07#20030207175900&quot;&gt;Interception for ServicedComponents&lt;/A&gt;. 
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;SPAN class=050011709-09012003&gt;Clemens &lt;A href=&quot;http://radio.weblogs.com/0108971/2003/02/05.html#a110&quot;&gt;is starting to publicly talk&lt;/A&gt; about the features of his interception toolkit for EnterpriseServices. I think that this very thing is just &lt;EM&gt;sooo&lt;/EM&gt; cool.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&lt;PRE&gt;&lt;SPAN class=050011709-09012003&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; [Transaction]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;class&amp;nbsp;Component&amp;nbsp;:&amp;nbsp;newtelligence.EnterpriseServices.AspectServicedComponent&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;string&amp;nbsp;val&amp;nbsp;=&amp;nbsp;&quot;&quot;;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;Component()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Match(&quot;[A-Z]*&quot;)]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;string&amp;nbsp;SetMeGetMe&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get&amp;nbsp;{&amp;nbsp;return&amp;nbsp;val;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;{&amp;nbsp;val&amp;nbsp;=&amp;nbsp;value;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[GreaterEqualTo(0)]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;int&amp;nbsp;TestField;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[return:&amp;nbsp;MinLength(1)]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;string&amp;nbsp;Hello(&amp;nbsp;[MinLength(1),MaxLength(20)]&amp;nbsp;string&amp;nbsp;Name,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Between(1,100)]&amp;nbsp;int&amp;nbsp;Age,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[MinLength(1)]&amp;nbsp;out&amp;nbsp;string&amp;nbsp;retString,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[LaterThanToday]&amp;nbsp;DateTime&amp;nbsp;when)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&quot;Test&quot;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P dir=ltr&gt;&lt;FONT face=Verdana size=2&gt;&lt;SPAN class=050011709-09012003&gt;This rocks, right? Not just the fact that one can use custom attributes - that&apos;s already well known - but&amp;nbsp;even more&amp;nbsp;that his toolkit will allow you to use interception with ServicedComponents to automatically check these properties whenever you call the method. The keywords here&amp;nbsp;are &lt;EM&gt;automatically&lt;/EM&gt; and &lt;EM&gt;ServicedComponent&lt;/EM&gt;. My only question is:&amp;nbsp;Why is there a&amp;nbsp;stateful variable (&quot;private string val&quot;) in&amp;nbsp;your ServicedComponent ;-)? Just kidding ... it&apos;s an educational sample. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;[&lt;A href=&quot;http://www.dotnetremoting.cc/DotNetCentric/&quot;&gt;Ingo Rammer&apos;s DotNetCentric&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/07.html#a126</guid>
			<pubDate>Fri, 07 Feb 2003 19:28:16 GMT</pubDate>
			<source url="http://www.dotnetremoting.cc/dotnetcentric/rss.xml">Ingo Rammer&apos;s DotNetCentric</source>
			</item>
		<item>
			<description>&lt;DIV class=itemTitle&gt;&lt;B&gt;&lt;A class=weblogItemTitle href=&quot;http://radio.weblogs.com/0105852/2002/08/08.html#a935&quot;&gt;Jenifer Tidwell: UI Patterns and Techniques&lt;/A&gt;&lt;/B&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;A href=&quot;http://time-tripper.com/uipatterns/index.html&quot;&gt;Jenifer Tidwell: UI Patterns and Techniques&lt;/A&gt;. &quot;Each of these patterns (which are more general) and techniques (more specific) are intended to help you solve design problems. They&apos;re common problems, and there&apos;s no point in reinventing the wheel every time you need, say, a sortable table -- plenty of folks have already done it, and learned how to do it well. Some of that knowledge is written up here, in an easily-digestible format.&quot; [&lt;A href=&quot;http://almostperfect.editthispage.com/&quot;&gt;almostperfect&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;Wow, wasn&apos;t this a cool find? I worked with Jenifer years ago at &lt;A href=&quot;http://www.gensym.com/&quot;&gt;Gensym&lt;/A&gt; and lost contact with her work. She has been working in this area of UI Patterns for quite some time and this is most definetly worth a look.&lt;/P&gt;&lt;BR&gt;[&lt;A href=&quot;http://radio.weblogs.com/0105852/&quot;&gt;Sam Gentile&apos;s Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/07.html#a125</guid>
			<pubDate>Fri, 07 Feb 2003 11:51:36 GMT</pubDate>
			<source url="http://radio.weblogs.com/0105852/rss.xml">Sam Gentile&apos;s Weblog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0106747/2003/02/05.html#a197&quot;&gt;Patterns of Enterprise Application Architecture...good stuff spreads&lt;/A&gt;. 
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;A href=&quot;http://www.larkware.com/Articles/EnterpriseArchitectureCri.html&quot;&gt;Enterprise Architecture Crib Sheet&lt;/A&gt;. Martin Fowler&apos;s book &lt;A href=&quot;http://www.martinfowler.com/books.html#eaa&quot;&gt;Patterns of Enterprise Application Architecture&lt;/A&gt; has gotten a lot of good press lately (and with good reason; it&apos;s an excellent book). Now the author has made available a sort of &lt;A href=&quot;http://www.martinfowler.com/eaaCatalog/&quot;&gt;crib sheet&lt;/A&gt; to the patterns online. The information here won&apos;t replace the book (about half a page for each pattern, as opposed to dozens of pages), but it does serve as a nice memory jogger or expanded table of contents. ... [&lt;A href=&quot;http://www.larkware.com&quot;&gt;Larkware News&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is great stuff...I think I mentioned before, but our engineers are running a weekly study group going through the book in detail.&lt;/P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0106747/&quot;&gt;Scott Hanselman&apos;s Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/05.html#a124</guid>
			<pubDate>Wed, 05 Feb 2003 11:14:15 GMT</pubDate>
			<source url="http://radio.weblogs.com/0106747/rss.xml">Scott Hanselman&apos;s Weblog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0108971/2003/02/01.html#a103&quot;&gt;Enterprise Utilities&lt;/A&gt;. Huh! &lt;A href=&quot;http://www.nidaros.homedns.org/weblog/archives/000004.html&quot;&gt;Someone really likes&lt;/A&gt; my &lt;A href=&quot;http://www.newtelligence.com/esutilities&quot;&gt;utility set for Enterprise Services&lt;/A&gt;&amp;nbsp;and correctly points out that&amp;nbsp;they are in &quot;preview&quot; state, but very useful.&amp;nbsp;The good news is: there&apos;s no timebomb. And, yes, there&apos;s going to be an update once Windows Server 2003 is &quot;official&quot;. And, yes, there&apos;s going to be an option to get at the source code for all of it. These classes and a lot more code that only few folks have seen yet will be at the center of&amp;nbsp;my developer-topics&amp;nbsp;talks this year. [&lt;A href=&quot;http://radio.weblogs.com/0108971/&quot;&gt;Clemens Vasters: Enterprise Development &amp;amp; Alien Abductions&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/02/01.html#a123</guid>
			<pubDate>Sat, 01 Feb 2003 11:09:18 GMT</pubDate>
			<source url="http://radio.weblogs.com/0108971/rss.xml">Clemens Vasters: Enterprise Development &amp; Alien Abductions</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://aspnetweblog.com/archive/01282003.aspx#174&quot;&gt;Running as Local Admin on a DEV box - Just say NO!&lt;/A&gt;. 
&lt;P&gt;Anil writes,&lt;/P&gt;
&lt;P&gt;&quot;&lt;EM&gt;It IS lazy coding.&amp;nbsp; This need for elevate privileges occurs when a developer runs as Local Administrator on their own dev box and cranks out software that in turn has no concept of rights and limits.&amp;nbsp; I have made a conscious attempt to run as a regular User on my DEV box.&lt;/EM&gt; &quot;&lt;/P&gt;
&lt;P&gt;Great point. I saw Keith last year and it really made me think. Probably not enough since I still make this mistake a lot of times :D&lt;/P&gt;
&lt;P&gt;Anil: &quot;&lt;EM&gt;One of the things that I will try to document in my explorations are programs that violate this rule.. Especially ones that a developer needs to use on an ongoing basis.&lt;/EM&gt; &quot;&lt;/P&gt;
&lt;P&gt;Great. Can&apos;t wait to see it. &lt;/P&gt;
&lt;P&gt;&quot;&lt;EM&gt;One of the people whose views I am following through his writings is Keith Brown of Developmentor.&amp;nbsp; He has been advocating this for a long time... Here are some links to what he has to say about running as a non-Administrator on your dev box.&lt;/EM&gt; &quot;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.develop.com/kbrown/book/html/lifestyle.html&quot;&gt;&lt;A href=&quot;http://www.develop.com/kbrown/book/html/lifestyle.html&quot;&gt;&lt;a href=&quot;http://www.develop.com/kbrown/book/html/lifestyle.html&quot;&gt;http://www.develop.com/kbrown/book/html/lifestyle.html&lt;/a&gt;&lt;/A&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href=&quot;http://msdn.microsoft.com/msdnmag/issues/01/11/security/default.aspx&quot;&gt;&lt;A href=&quot;http://msdn.microsoft.com/msdnmag/issues/01/11/security/default.aspx&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/01/11/security/default.aspx&quot;&gt;http://msdn.microsoft.com/msdnmag/issues/01/11/security/default.aspx&lt;/a&gt;&lt;/A&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Good links.&lt;/P&gt;
&lt;P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0118356/2003/01/27.html#a39&quot; target=_blank&gt;@CyberForge]&lt;/A&gt;&lt;/P&gt;[&lt;A href=&quot;http://aspnetweblog.com/&quot;&gt;ScottW&apos;s ASP.NET WebLog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/31.html#a122</guid>
			<pubDate>Fri, 31 Jan 2003 12:41:16 GMT</pubDate>
			<source url="http://aspnetweblog.com/Rss.aspx">ScottW&apos;s ASP.NET WebLog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=9552d43b-04eb-4af9-9e24-6cde4d933600&quot;&gt;SQL Server 2000 SQL Scan Tool&lt;/A&gt;. SQL Scan identifies instances of SQL Server that may be vulnerable to the Slammer virus. [&lt;A href=&quot;http://www.microsoft.com/downloads/&quot;&gt;Microsoft Download Center&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/30.html#a121</guid>
			<pubDate>Thu, 30 Jan 2003 10:29:37 GMT</pubDate>
			<source url="http://www.thundermain.com/rss">Microsoft Download Center</source>
			</item>
		<item>
			<description>&lt;P&gt;Despite keeping a low profile, it&amp;nbsp;looks like I&apos;ve been discovered by a &lt;A href=&quot;http://dev.myelin.co.nz/ecosystem/blogs/http_3a_2f_2fradio_2eweblogs_2ecom_2f0110440_stats.html&quot;&gt;blog spider&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;&lt;A class=quietLink href=&quot;http://www.myelin.co.nz/ecosystem/&quot;&gt;Blogging Ecosystem&lt;/A&gt; stats for &lt;A href=&quot;http://radio.weblogs.com/0110440/&quot;&gt;Jamie Cansdale&apos;s Radio Weblog&lt;/A&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/29.html#a120</guid>
			<pubDate>Wed, 29 Jan 2003 19:25:48 GMT</pubDate>
			</item>
		<item>
			<description>&lt;A href=&quot;http://www.iunknown.com/Weblog/Letsbecarefuloutthere....html&quot;&gt;Let&apos;s be careful out there ...&lt;/A&gt;. 
&lt;P&gt;I&apos;m in the process of setting up a new desktop dev machine, and spent the better part of this evening installing tons of software. One of the patches that I hadn&apos;t installed yet was SQL Server 2000 Service Pack 3. The reason why I hadn&apos;t really thought about it was because none of my SQL Server boxes are exposed to the public Internet. My ISA server is configured to block UDP port 1434 traffic by default.&lt;/P&gt;
&lt;P&gt;But there is one SQL Server box that I &lt;EM&gt;almost&lt;/EM&gt; forgot about: my laptop. I tend to connect to all sorts of foreign networks with my laptop. Had I done so with an unpatched SQL Server running on my laptop, I would have brought the Slammer worm back home behind my ISA server firewall. Then all hell would have broken loose.&lt;/P&gt;
&lt;P&gt;So the lesson here is: beware of laptops. They can easily subvert the security provided by your network&apos;s perimeter defenses. And make sure you patch ALL SQL servers regardless of whether they are behind your firewall or not!&lt;/P&gt;[&lt;A href=&quot;http://www.iunknown.com&quot;&gt;IUnknown.com: John Lam&apos;s Weblog on Software Development&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/27.html#a119</guid>
			<pubDate>Mon, 27 Jan 2003 13:13:12 GMT</pubDate>
			<source url="http://www.iunknown.com/rss.xml">IUnknown.com: John Lam&apos;s Weblog on Software Development</source>
			</item>
		<item>
			<description>&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;EM&gt;I just put up a &lt;/EM&gt;&lt;A href=&quot;http://radio.weblogs.com/0106747/stories/2003/01/22/scottHanselmansTipsForASuccessfulMsftPresentation.html&quot;&gt;&lt;EM&gt;document outlining my tips for a Successful Technical Presentation&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; (with many Microsoft specific tips).&amp;nbsp;&amp;nbsp;I&apos;m pretty happy with it and I think it provides a lot of good information.&amp;nbsp; Please take a look! [&lt;/EM&gt;&lt;A href=&quot;http://radio.weblogs.com/0106747/&quot;&gt;&lt;EM&gt;Scott Hanselman&apos;s Weblog&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;]&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Many good tips from Scott. Some I already live by, others I will use next time!&lt;/P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0117493/&quot;&gt;Andreas Eide&apos;s Weblog&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/26.html#a118</guid>
			<pubDate>Sun, 26 Jan 2003 15:27:43 GMT</pubDate>
			<source url="http://radio.weblogs.com/0117493/rss.xml">Andreas Eide&apos;s Weblog</source>
			</item>
		<item>
			<description>&lt;A href=&quot;http://postneo.com/categories/net/2003/01/24.html#a1844&quot;&gt;LinuxWorld In Words - Mono Notes&lt;/A&gt;. 
&lt;P&gt;I stuck around LinuxWorld until &lt;A href=&quot;http://primates.helixcode.com/~miguel/&quot;&gt;Miguel de Icaza&lt;/A&gt; issued his State of the Mono Address.&amp;nbsp; I&apos;ve been following the &lt;A href=&quot;http://www.go-mono.com/&quot;&gt;Mono&lt;/A&gt; project for some time via the &lt;A href=&quot;http://www.go-mono.com/&quot;&gt;website&lt;/A&gt;, but this was much better.&lt;/P&gt;
&lt;P&gt;C# is done, VB is 70% done, and JavaScript is 50% done.&amp;nbsp; This is good.&amp;nbsp; Miguel demonstrated an almost unmodified version of &lt;A href=&quot;http://www.ibuyspy.com/&quot;&gt;iBuySpy&lt;/A&gt;&amp;nbsp;that was only really slow because it was connecting to an MSSQL server in Spain over 802.11b.&lt;/P&gt;
&lt;P&gt;In theory, you could write an ASP.NET web application today and deploy it on a Linux server using Mono.&amp;nbsp; You can reuse the docs that are available for C# and .NET (from Microsoft), and you can also reuse the docs and resources available from MS and third parties.&lt;/P&gt;
&lt;P&gt;Miguel stressed that we should reuse the Microsoft booth (next to the Mono booth) to learn about all of the cool ASP stuff that you can do.&lt;/P&gt;
&lt;P&gt;The Mono team is also working on a new version fo their JIT compiler which will speed up apps significantly.&amp;nbsp; He also demoed a sweet debugger written in GTK# (GTK bindings for C#) and a digital camera organization app that he wrote for himself (not for you).&amp;nbsp; It was running slow over a wireless connection, so he &lt;A href=&quot;http://postneo.com/pix/linux/miguel3.jpg&quot;&gt;brought out the laptop&lt;/A&gt; to reassure us that the app was fast and non-blocking.&lt;/P&gt;
&lt;P&gt;It is obvious that WinForms is one of the least mature parts of Mono.&amp;nbsp; More people are interested in using Mono for hosting ASP apps, so that stuff is getting done quicker.&amp;nbsp; He stressed several times that if we wrote some regression tests, patched some code, did some documentation, that Mono would be complete in a matter of weeks.&lt;/P&gt;
&lt;P&gt;There is database support for pretty much every popular database that runs under Linux.&amp;nbsp; You can take an exe produced from Visual Studio or the mono compiler and run it using mono.&lt;/P&gt;
&lt;P&gt;Overall I was impressed by the state of Mono and the demos.&amp;nbsp; It&apos;s awsome to be able to take a Microsoft demo app out of the box and run it using Mono.&amp;nbsp; There were only a few configuration changes that had to be made to take case specific files into consideration.&amp;nbsp; Other than that, it just worked: &lt;CODE&gt;mono server.exe 8080&lt;/CODE&gt;.&lt;/P&gt;[&lt;A href=&quot;http://postneo.com/categories/net/&quot;&gt;Matt Croydon: .NET&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0110440/2003/01/25.html#a117</guid>
			<pubDate>Sat, 25 Jan 2003 12:51:47 GMT</pubDate>
			<source url="http://postneo.com/categories/net/rss.xml">Matt Croydon: .NET</source>
			</item>
		</channel>
	</rss>
