<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mark Brown</title><link>http://weblogs.asp.net/markbrown/default.aspx</link><description>Nota Bene</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Debug Build: 20510.895)</generator><item><title>SP2 Compatibility Problem </title><link>http://weblogs.asp.net/markbrown/archive/2004/08/11/213089.aspx</link><pubDate>Wed, 11 Aug 2004 23:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:213089</guid><dc:creator>markbrown</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=213089</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/08/11/213089.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;Microsoft has warned its customer base that SQL Server 2000, Microsoft CRM 1.2 and a few other Microsoft applications are not currently compatible with SP2. &lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://story.news.yahoo.com/news?tmpl=story&amp;amp;cid=1738&amp;amp;ncid=1209&amp;amp;e=6&amp;amp;u=/zd/20040811/tc_zd/133299"&gt;&lt;font face="Verdana" size="2"&gt;http://story.news.yahoo.com/news?tmpl=story&amp;amp;cid=1738&amp;amp;ncid=1209&amp;amp;e=6&amp;amp;u=/zd/20040811/tc_zd/133299&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=213089" width="1" height="1"&gt;</description></item><item><title>Comment Spam and Blacklisting</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/27/199010.aspx</link><pubDate>Tue, 27 Jul 2004 20:34:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:199010</guid><dc:creator>markbrown</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=199010</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/27/199010.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Eric's “&lt;a href="http://blogs.msdn.com/ericgu/archive/2004/07/18/186824.aspx"&gt;Killing Comment Spam&lt;/a&gt;“ post and Luke Hutteman's &lt;a href="http://blogs.msdn.com/ericgu/archive/2004/07/18/186824.aspx#188767"&gt;comment&lt;/a&gt; sparked a little adventure for me.&amp;nbsp;Of course, it's not complete or very functional. It's more of a motivation piece to get something started.&amp;nbsp;I might have to jump into the&amp;nbsp;.Text source to see&amp;nbsp;about implementing some sort of plugin. I know&amp;nbsp;.Text (&lt;a href="http://www.telligentsystems.com/Solutions/Blogs/"&gt;Community Server :: Blogs&lt;/a&gt;)&amp;nbsp;is provider based so it might&amp;nbsp;be fairly easy to implement this into&amp;nbsp;the Comment Provider... if there is such a beast. Here's&amp;nbsp;a little bit&amp;nbsp;of test code that grabs the MT-BlackList from the &lt;a href="http://www.jayallen.org/comment_spam/"&gt;Comment Spam ClearingHouse&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;namespace BlackList&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Check&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void Main(string[] args)&lt;br /&gt;&amp;nbsp;&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;&amp;nbsp; ArrayList expressions = new ArrayList();&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; expressions = BuildBlackList();&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; if ( expressions.Count &amp;gt; 0 )&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; {&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; foreach (string expression in expressions)&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; {&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; try&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; {&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; Regex pattern = new Regex(expression, &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;RegexOptions.Multiline|RegexOptions.IgnoreCase);&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; if (pattern.IsMatch("01-logo.com"))&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;&amp;nbsp; Console.WriteLine("Found A Match");&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; pattern = null;&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; }&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; catch {}&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; }&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; }&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; Console.ReadLine();&lt;br /&gt;&amp;nbsp;&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; private static ArrayList BuildBlackList()&lt;br /&gt;&amp;nbsp;&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;&amp;nbsp; // In reality this file would be local and downloaded once a &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; // day. Or, if we were in a web environment we could cache it. &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; // But, hey, its just a demo to spark some thought.&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; //&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; string url = "&lt;a href="http://www.jayallen.org/comment_spam/blacklist.txt"&gt;http://www.jayallen.org/comment_spam/blacklist.txt&lt;/a&gt;";&lt;br /&gt;&amp;nbsp;&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;&amp;nbsp; ArrayList expressions = new ArrayList();&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; WebResponse response = null;&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; try&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; {&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; WebRequest request = WebRequest.Create(url);&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; if (request != null)&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; {&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; response = request.GetResponse();&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; using (StreamReader sr = &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;new StreamReader(response.GetResponseStream())) &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; {&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; String line;&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; while ((line = sr.ReadLine()) != null) &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; {&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;&amp;nbsp; if (line.Substring(0,1) != "#" )&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expressions.Add(line);&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; }&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; }&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; }&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; }&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; catch(Exception) &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; { &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; throw;&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; } &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; return expressions;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=199010" width="1" height="1"&gt;</description></item><item><title>Searching Outlook</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/27/198447.aspx</link><pubDate>Tue, 27 Jul 2004 14:40:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:198447</guid><dc:creator>markbrown</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=198447</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/27/198447.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I finally got around to installing &lt;/FONT&gt;&lt;A href="http://www.lookoutsoft.com/Lookout/download.html"&gt;&lt;FONT face=Verdana size=2&gt;Lookout&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. Wow! What an amazing search tool. I don't know how I ever got&amp;nbsp;along without this killer Outlook plugin.&amp;nbsp;Looks like it uses the open source &lt;/FONT&gt;&lt;A href="http://sourceforge.net/projects/lucenedotnet/"&gt;&lt;FONT face=Verdana size=2&gt;Lucene.Net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; search engine too.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=198447" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/markbrown/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/markbrown/archive/tags/Open+Source/default.aspx">Open Source</category></item><item><title>Telligent Open Source Products </title><link>http://weblogs.asp.net/markbrown/archive/2004/07/16/185484.aspx</link><pubDate>Fri, 16 Jul 2004 18:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:185484</guid><dc:creator>markbrown</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=185484</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/16/185484.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Wow!. I have the feeling we are going to see some really cool stuff now that &lt;/FONT&gt;&lt;A href="http://www.telligentsystems.com/Solutions/OpenSource.aspx"&gt;&lt;FONT face=Verdana size=2&gt;these products&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; are under one roof.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=185484" width="1" height="1"&gt;</description></item><item><title>Virtual Server 2005</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/15/184161.aspx</link><pubDate>Thu, 15 Jul 2004 15:26:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:184161</guid><dc:creator>markbrown</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=184161</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/15/184161.aspx#comments</comments><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx"&gt;&lt;FONT face=Verdana size=2&gt;Virtual Server 2005&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; is in the release candidate development stage. Virtual Server allows you to run&amp;nbsp;multiple&amp;nbsp;x86-based operating systems concurrently on a single physical server.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;VM technology serves a variety of purposes. It enables hardware consolidation, because multiple operating systems can run on one computer. Key applications for VM technology include cross-platform integration as well as the following:&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Legacy application migration. Legacy operating systems and applications can run on new hardware along with more recent operating systems and applications.&lt;/EM&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Server consolidation. If several servers run applications that consume only a fraction of the available resources, VM technology can be used to enable them to run side by side on a single server, even if they require different versions of the operating system or middleware.&lt;/EM&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Isolation for development, testing and technical support. Each VM acts as a separate environment, which reduces risk and enables developers to quickly recreate different operating system configurations or compare versions of applications designed for different operating systems. In addition, a developer can test an early version of an application in a VM without fear of destabilizing the system for other users.&lt;/EM&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Software demonstrations: VM technology allows users to recreate a clean operating system environment or system configuration quickly.&lt;/EM&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Courseware delivery and training. Organizations can configure and deploy a variety of training scenarios quickly.&lt;/EM&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Software distribution. IT groups can deliver prevalidated configurations for complex software solutions for fast deployment.&lt;/EM&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=184161" width="1" height="1"&gt;</description></item><item><title>What will break?</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/01/171528.aspx</link><pubDate>Fri, 02 Jul 2004 04:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:171528</guid><dc:creator>markbrown</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=171528</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/01/171528.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Information on the&amp;nbsp;2.0 Framework Beta is everywhere. My &lt;A href="http://www.sharpreader.com"&gt;RSS reader&lt;/A&gt; is going nuts with all&amp;nbsp;the excitement. Take a look at &lt;/FONT&gt;&lt;A href="http://www.gotdotnet.com/team/changeinfo/Backwards1.1to2.0/default.aspx#00000073"&gt;&lt;FONT face=Verdana size=2&gt;Backwards Breaking Changes from version 1.1 to 2.0&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;as you start to migrate.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT color=#ff0000&gt;Update&lt;/FONT&gt;: An overview of the changes can be found &lt;A href="http://www.gotdotnet.com/team/changeinfo/default.aspx"&gt;here&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=171528" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/markbrown/archive/tags/Whidbey/default.aspx">Whidbey</category></item><item><title>Framework 1.1 Gets a Refresh</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/01/171522.aspx</link><pubDate>Fri, 02 Jul 2004 04:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:171522</guid><dc:creator>markbrown</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=171522</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/01/171522.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;#8220;Tech Previews&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;NET 1.1 SP1 - A flavor for&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=da1c20ad-35ae-4cea-8451-730fcd603383&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana size=2&gt;Win2K3&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;and another for&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=12721880-cb9f-4481-9610-987de96532e7&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana size=2&gt;other OSes&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=171522" width="1" height="1"&gt;</description></item><item><title>Mono 1.0 Released</title><link>http://weblogs.asp.net/markbrown/archive/2004/07/01/170826.aspx</link><pubDate>Thu, 01 Jul 2004 13:13:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:170826</guid><dc:creator>markbrown</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=170826</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/07/01/170826.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I need to take a&amp;nbsp;break more often...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;~~~&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Mono includes a compiler for the C# language, an ECMA-compatible runtime engine (the Common Language Runtime, or CLR),and class libraries. The libraries include Microsoft .NET compatibility libraries (including &lt;/EM&gt;&lt;/FONT&gt;&lt;A href="http://www.mono-project.com/contributing/ado-net.html"&gt;&lt;FONT face=Verdana color=#002c99 size=2&gt;&lt;EM&gt;ADO.NET&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt; and &lt;/EM&gt;&lt;/FONT&gt;&lt;A href="http://www.mono-project.com/contributing/asp-net.html"&gt;&lt;FONT face=Verdana color=#002c99 size=2&gt;&lt;EM&gt;ASP.NET&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT face=Verdana size=2&gt;), Mono's own and third party class libraries. Mono's runtime can be embedded into applications for simplified packaging and shipping. In addition, the Mono project offers an IDE, debugger, and documentation browser.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;EM&gt;&lt;FONT face=Verdana size=2&gt;If you have questions about the project, read &lt;/FONT&gt;&lt;/EM&gt;&lt;A href="http://www.mono-project.com/about/rationale.html"&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;the project launch statement&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt; or visit our list of &lt;/EM&gt;&lt;/FONT&gt;&lt;A href="http://www.mono-project.com/about/faq.html"&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;Frequently Asked Questions&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;For details on the project's future direction, read the &lt;/EM&gt;&lt;/FONT&gt;&lt;A href="http://www.mono-project.com/about/mono-roadmap.html"&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;roadmap&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;, and &lt;/EM&gt;&lt;/FONT&gt;&lt;A href="http://www.mono-project.com/downloads/index.html"&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;download&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt; Mono 1.0.&lt;BR&gt;~~~&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The way &lt;A href="http://www.mono-project.com/contributing/hall.html"&gt;these guys&lt;/A&gt; move we'll have &lt;A href="http://www.mono-project.com/about/mono-roadmap.html#mono12"&gt;2.0 features&lt;/A&gt; by the end of the year. Amazing.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=170826" width="1" height="1"&gt;</description></item><item><title>Spying on spyware</title><link>http://weblogs.asp.net/markbrown/archive/2004/06/18/159650.aspx</link><pubDate>Fri, 18 Jun 2004 20:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:159650</guid><dc:creator>markbrown</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=159650</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/06/18/159650.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Sheesh,&amp;nbsp;1 in 3 machines are infected.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;#8220;Internet access provider EarthLink and security software maker &lt;/FONT&gt;&lt;A href="http://dw.com.com/redir?destUrl=http%3A%2F%2Fwww.webroot.com&amp;amp;siteId=3&amp;amp;oId=2100-7343-5236735&amp;amp;ontId=7343&amp;amp;lop=nl_ex"&gt;&lt;FONT face=Verdana size=2&gt;Webroot&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; scanned nearly 421,000 computers for their April &lt;/FONT&gt;&lt;A href="http://dw.com.com/redir?destUrl=http%3A%2F%2Fwww.earthlink.net%2Fspyaudit%2Fpress&amp;amp;siteId=3&amp;amp;oId=2100-7343-5236735&amp;amp;ontId=7343&amp;amp;lop=nl_ex"&gt;&lt;FONT face=Verdana size=2&gt;Spy Audit report&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. Trojan horses and system monitors accounted for 133,715 pieces of the spyware found on those computers--representing almost one in three machines.&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=159650" width="1" height="1"&gt;</description></item><item><title>Mono Beta 3 Released</title><link>http://weblogs.asp.net/markbrown/archive/2004/06/16/157429.aspx</link><pubDate>Wed, 16 Jun 2004 19:26:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:157429</guid><dc:creator>markbrown</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/markbrown/rsscomments.aspx?PostID=157429</wfw:commentRss><comments>http://weblogs.asp.net/markbrown/archive/2004/06/16/157429.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Ug. Novell has gone ahead and released&amp;nbsp;&lt;A href="http://www.go-mono.com/Download.html"&gt;Beta 3&lt;/A&gt;&amp;nbsp;of &lt;A href="http://www.go-mono.com"&gt;mono&lt;/A&gt;. I just got&amp;nbsp;Beta&amp;nbsp;2 installed a week ago.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=157429" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/markbrown/archive/tags/Open+Source/default.aspx">Open Source</category></item></channel></rss>