<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Mark Brown</title><subtitle type="html">Nota Bene</subtitle><id>http://weblogs.asp.net/markbrown/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/markbrown/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2004-06-16T12:26:00Z</updated><entry><title>SP2 Compatibility Problem </title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/08/11/213089.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/08/11/213089.aspx</id><published>2004-08-11T23:20:00Z</published><updated>2004-08-11T23:20:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Comment Spam and Blacklisting</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/27/199010.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/27/199010.aspx</id><published>2004-07-27T20:34:00Z</published><updated>2004-07-27T20:34:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Searching Outlook</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/27/198447.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/27/198447.aspx</id><published>2004-07-27T14:40:00Z</published><updated>2004-07-27T14:40:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author><category term="Tools" scheme="http://weblogs.asp.net/markbrown/archive/tags/Tools/default.aspx" /><category term="Open Source" scheme="http://weblogs.asp.net/markbrown/archive/tags/Open+Source/default.aspx" /></entry><entry><title>Telligent Open Source Products </title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/16/185484.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/16/185484.aspx</id><published>2004-07-16T18:04:00Z</published><updated>2004-07-16T18:04:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Virtual Server 2005</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/15/184161.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/15/184161.aspx</id><published>2004-07-15T15:26:00Z</published><updated>2004-07-15T15:26:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>What will break?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/01/171528.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/01/171528.aspx</id><published>2004-07-02T04:46:00Z</published><updated>2004-07-02T04:46:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author><category term="Whidbey" scheme="http://weblogs.asp.net/markbrown/archive/tags/Whidbey/default.aspx" /></entry><entry><title>Framework 1.1 Gets a Refresh</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/01/171522.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/01/171522.aspx</id><published>2004-07-02T04:32:00Z</published><updated>2004-07-02T04:32:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Mono 1.0 Released</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/07/01/170826.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/07/01/170826.aspx</id><published>2004-07-01T13:13:00Z</published><updated>2004-07-01T13:13:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Spying on spyware</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/06/18/159650.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/06/18/159650.aspx</id><published>2004-06-18T20:53:00Z</published><updated>2004-06-18T20:53:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author></entry><entry><title>Mono Beta 3 Released</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/markbrown/archive/2004/06/16/157429.aspx" /><id>http://weblogs.asp.net/markbrown/archive/2004/06/16/157429.aspx</id><published>2004-06-16T19:26:00Z</published><updated>2004-06-16T19:26:00Z</updated><content type="html">&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;</content><author><name>markbrown</name><uri>http://weblogs.asp.net/members/markbrown.aspx</uri></author><category term="Open Source" scheme="http://weblogs.asp.net/markbrown/archive/tags/Open+Source/default.aspx" /></entry></feed>