<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-26787890</id><updated>2011-11-28T01:52:49.268+02:00</updated><category term='C#'/><category term='microsoft'/><category term='LINQ'/><category term='reflection'/><category term='tools'/><category term='WCF'/><category term='freeware'/><category term='WPF'/><category term='CardSpace'/><category term='svn'/><category term='library'/><category term='Silverlight'/><title type='text'>Dot Net Pulse</title><subtitle type='html'>Random thoughts about software development and tools</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>87</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26787890.post-1330014284925781204</id><published>2008-03-27T23:20:00.001+02:00</published><updated>2008-03-27T23:20:17.833+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>Argotic Syndication Framework</title><content type='html'>&lt;p&gt;The Argotic Syndication Framework is a Microsoft .NET class library framework that enables developers to easily consume and/or generate syndicated content from within their own applications. The framework makes the reading and writing syndicated content in common formats such as RSS, Atom, OPML, APML, BlogML, and RSD very easy while still remaining extensible enough to support common/custom extensions to the syndication publishing formats. The framework includes out-of-the-box implementations of the most commonly used syndication extensions, network clients for sending and receiving peer-to-peer notification protocol messages; as well as HTTP handlers, modules, services and controls that provide rich syndication functionality to ASP.NET developers. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/Argotic" target="_blank"&gt;Download Argotic Syndication Framework&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a868f768-e489-465e-9381-8daddb8b8e58" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/rss" rel="tag"&gt;rss&lt;/a&gt;,&lt;a href="http://technorati.com/tags/opml" rel="tag"&gt;opml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/syndication" rel="tag"&gt;syndication&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-1330014284925781204?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/1330014284925781204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=1330014284925781204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/1330014284925781204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/1330014284925781204'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/03/argotic-syndication-framework.html' title='Argotic Syndication Framework'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-1214731879022273880</id><published>2008-03-25T15:42:00.001+02:00</published><updated>2008-03-25T15:42:47.275+02:00</updated><title type='text'>VisualSVN Server 1.1 is available for download</title><content type='html'>&lt;p&gt;VisualSVN Server is a package that contains everything you need to easily setup, configure and manage SVN server on Windows.&lt;br&gt;It contains Subversion, Apache and a management application.  &lt;p&gt;&lt;strong&gt;What's new in 1.1 release of VisualSVN Server: &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Added support for authentication via Windows domain. &lt;/li&gt; &lt;li&gt;Implemented VisualSVN Server dashboard. &lt;/li&gt; &lt;li&gt;Edit server configuration without reinstallation. &lt;/li&gt; &lt;li&gt;Implemented "Import Existing Repository" command. &lt;/li&gt; &lt;li&gt;New user-defined configuration file named httpd-custom.conf has been added. &lt;/li&gt; &lt;li&gt;URL of the selected node is now displayed in the description bar. &lt;/li&gt; &lt;li&gt;New toolbar for the "VisualSVN Server" node has been added. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.visualsvn.com/server/" target="_blank"&gt;Download VisualSVN Server&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:30f184b5-e1be-474e-b95e-5e00887fbcdc" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/svn" rel="tag"&gt;svn&lt;/a&gt;, &lt;a href="http://technorati.com/tags/subversion" rel="tag"&gt;subversion&lt;/a&gt;, &lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-1214731879022273880?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/1214731879022273880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=1214731879022273880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/1214731879022273880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/1214731879022273880'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/03/visualsvn-server-11-is-available-for.html' title='VisualSVN Server 1.1 is available for download'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-3911764470105567993</id><published>2008-03-24T21:15:00.001+02:00</published><updated>2008-03-24T21:15:50.070+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>NPlot - freeware .Net charting library</title><content type='html'>&lt;p&gt;NPlot&amp;#160; is a freeware charting library for .NET. It boasts an elegant and flexible API. NPlot includes controls for Windows Forms, ASP.NET and a class for creating Bitmaps.&lt;/p&gt;  &lt;p&gt;Take look at some &lt;a href="http://netcontrols.org/nplot/wiki/index.php?n=Main.DownloadArea" target="_blank"&gt;examples&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Download the current version of NPlot &lt;a href="http://netcontrols.org/nplot/wiki/index.php?n=Main.DownloadArea" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5d3b4ee3-53b6-4d72-bebf-e0c34dfd908c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/charting" rel="tag"&gt;charting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/freeware" rel="tag"&gt;freeware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-3911764470105567993?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/3911764470105567993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=3911764470105567993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3911764470105567993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3911764470105567993'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/03/nplot-freeware-net-charting-library.html' title='NPlot - freeware .Net charting library'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-7049119703950515664</id><published>2008-01-31T23:49:00.001+02:00</published><updated>2008-01-31T23:49:53.844+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>System.Reflection - MethodInfo class (usage)</title><content type='html'>&lt;p&gt;A MethodInfo class provides detailed information about a single method of a class or an interface. The reflected method may be a static method or an instance method. The MethodInfoSpy example shows how to obtain the method information of a class including the access modifiers, type or input parameters:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Drawing;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; MethodInfoSpy&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            Type type = &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Program);&lt;br /&gt;            MethodInfo [] methodInfos = type.GetMethods();&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (MethodInfo methodInfo &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; methodInfos)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #008000"&gt;// retrive method information&lt;/span&gt;&lt;br /&gt;                Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;Name: {0}, Public: {1}, Is Static: {2}, Return Type: {3}&amp;quot;&lt;/span&gt;,&lt;br /&gt;                                    methodInfo.Name,&lt;br /&gt;                                    methodInfo.IsPublic,&lt;br /&gt;                                    methodInfo.IsStatic,&lt;br /&gt;                                    methodInfo.ReturnType.FullName);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: #008000"&gt;// retrive method parameters information&lt;/span&gt;&lt;br /&gt;                ParameterInfo [] paramInfos =  methodInfo.GetParameters();&lt;br /&gt;                &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (ParameterInfo paramInfo &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; paramInfos)&lt;br /&gt;                {&lt;br /&gt;                    Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;Parameter Name: {0}, Parameter Type: {1}&amp;quot;&lt;/span&gt;,&lt;br /&gt;                        paramInfo.Name, paramInfo.ParameterType.FullName);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; DoNothing()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Add(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; y)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; x + y;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A sample of the output follows:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td valign="top" width="400"&gt;&lt;br /&gt;        &lt;p&gt;Name: DoNothing, Public: True, Is Static: False, Return Type: System.Void&lt;br /&gt;          &lt;br /&gt;Name: Add, Public: True, Is Static: False, Return Type: System.Int32&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Parameter Name: x, Parameter Type: System.Int32&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Parameter Name: y, Parameter Type: System.Int32&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Name: GetType, Public: True, Is Static: False, Return Type: System.Type&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Name: ToString, Public: True, Is Static: False, Return Type: System.String&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Name: Equals, Public: True, Is Static: False, Return Type: System.Boolean&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Parameter Name: obj, Parameter Type: System.Object&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;Name: GetHashCode, Public: True, Is Static: False, Return Type: System.Int32&lt;/p&gt;&lt;br /&gt;      &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:489c60ba-0f66-4a7e-a813-99aefda31b4e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/reflection" rel="tag"&gt;reflection&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-7049119703950515664?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/7049119703950515664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=7049119703950515664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/7049119703950515664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/7049119703950515664'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/01/systemreflection-methodinfo-class-usage.html' title='System.Reflection - MethodInfo class (usage)'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-5288876843482669705</id><published>2008-01-31T22:57:00.001+02:00</published><updated>2008-01-31T22:57:12.106+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to support != and == operations for C# struct</title><content type='html'>&lt;p&gt;Sometimes we prefer to use structs instead classes .The C# is a convenient way to store coordinates ,complex number etc .    &lt;br /&gt;In an example below I'm presenting how to support == and != operators in case we want to check if our structs are equal.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;/// Circle&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;struct&lt;/span&gt; Circle&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Point Center;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Radius;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Compares two Circle objects. The result specifies whether the values&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// of the Center or Radius properties of the two Circle objects are equal.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;A Circle to compare.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;right&amp;quot;&amp;gt;A Circle to compare.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;true if the the Center properties or the Radius properties &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// of left and right are equal; otherwise, false.&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; ==(Circle left, Circle right)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (left.Center == right.Center) &amp;amp;&amp;amp; (left.Radius == right.Radius);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Compares two Circle objects. The result specifies whether the values&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// of the Center or Radius properties of the two Circle objects are unequal.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;A Circle to compare.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;right&amp;quot;&amp;gt;A Circle to compare.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;true if the values of either the Center properties &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// or the Radius properties of left and right differ; otherwise, false.&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; !=(Circle left, Circle right)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; !(left == right);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// Specifies whether this Circle contains the same Center and Radius as &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// the specified Object.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;param name=&amp;quot;obj&amp;quot;&amp;gt;Another object to compare to.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// true if obj is a Point and has the same Center and Radius as this Circle.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; Equals(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; obj)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!(obj &lt;span style="color: #0000ff"&gt;is&lt;/span&gt; Circle))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;        Circle circle = (Circle)obj;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (circle.Center == &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Center) &amp;amp;&amp;amp; (circle.Radius == &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Radius);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;/// .... You need to overload GetHashCode and ToString methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Testing our struct ...&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;&lt;br /&gt;  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   Circle circle1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Circle();&lt;br /&gt;   circle1.Center = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point(10, 10);&lt;br /&gt;   circle1.Radius = 20;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   Circle circle2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Circle();&lt;br /&gt;   circle2.Center = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point(10, 10);&lt;br /&gt;   circle2.Radius = 20;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; result = (circle1==circle2);&lt;br /&gt;   Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;Is circle1 equal to circle2? [{0}]&amp;quot;&lt;/span&gt;, result );&lt;br /&gt;&lt;br /&gt;   circle2.Center = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point(14, 10);&lt;br /&gt;   result = (circle1 == circle2);&lt;br /&gt;   Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;Is circle1 equal to circle2? [{0}]&amp;quot;&lt;/span&gt;, result);&lt;br /&gt;&lt;br /&gt;   Console.ReadLine();&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d1f37537-165e-4abe-b37b-3508e5cb77c4" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/struct" rel="tag"&gt;struct&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/data-structures" rel="tag"&gt;data-structures&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-5288876843482669705?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/5288876843482669705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=5288876843482669705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5288876843482669705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5288876843482669705'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/01/how-to-support-and-operations-for-c.html' title='How to support != and == operations for C# struct'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-3218880602383730192</id><published>2008-01-15T21:39:00.001+02:00</published><updated>2008-01-15T21:39:20.206+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><title type='text'>How to test your applications using WPF UI automation</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms747327.aspx" target="_blank"&gt;UI Automation Overview&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa348551.aspx" target="_blank"&gt;Using UI Automation for Automated Testing&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms727247.aspx" target="_blank"&gt;UI Spy (UISpy.exe)&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://wpf.netfx3.com/files/folders/developer/entry5155.aspx" target="_blank"&gt;UI Automation Stress&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://miketwo.blogspot.com/2007/03/unit-testing-wpf-controls-with.html" target="_blank"&gt;Unit Testing WPF controls with Automation Peers&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.hedgate.net/articles/2007/01/08/instantiating-a-wpf-control-from-an-nunit-test" target="_blank"&gt;Instantiating a WPF control from an NUnit test&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.codeproject.com/WPF/UIAutomation2.asp"&gt;NumericUpDown Custom Control with Theme and UI Automation Support Sample&lt;/a&gt; (UI Automation support to a custom control )&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.codeplex.com/uapp" target="_blank"&gt;.NET UI Automation Extension for Automation Testing&lt;/a&gt;&lt;/li&gt;  &lt;p&gt;[Via &lt;a href="http://blogs.msdn.com/llobo" target="_blank"&gt;Lester's WPF blog&lt;/a&gt;]&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cafa3658-26ca-4b18-9d17-68a1ebe0d34d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/UI" rel="tag"&gt;UI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Automation" rel="tag"&gt;Automation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.Net" rel="tag"&gt;.Net&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-3218880602383730192?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/3218880602383730192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=3218880602383730192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3218880602383730192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3218880602383730192'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2008/01/how-to-test-your-applications-using-wpf.html' title='How to test your applications using WPF UI automation'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-6424187697526395862</id><published>2007-12-02T23:29:00.001+02:00</published><updated>2007-12-02T23:29:46.784+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>SHA1 hash calculation in C#</title><content type='html'>&lt;p&gt;The SHA1 algorithm can be used to calculate check sum, that very useful when you want to ensure the string is not broken .Also for simple&amp;#160; password verification.The example below show how to calculate SHA1 for given string .&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// Calculates SHA1 hash&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;text&amp;quot;&amp;gt;input string&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;enc&amp;quot;&amp;gt;Character encoding&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;returns&amp;gt;SHA1 hash&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; CalculateSHA1(&lt;span class="kwrd"&gt;string&lt;/span&gt; text, Encoding enc)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;byte&lt;/span&gt;[] buffer = enc.GetBytes(text);&lt;br /&gt;    SHA1CryptoServiceProvider cryptoTransformSHA1 = &lt;br /&gt;    &lt;span class="kwrd"&gt;new&lt;/span&gt; SHA1CryptoServiceProvider();&lt;br /&gt;    &lt;span class="kwrd"&gt;string&lt;/span&gt; hash = BitConverter.ToString(&lt;br /&gt;        cryptoTransformSHA1.ComputeHash(buffer)).Replace(&lt;span class="str"&gt;&amp;quot;-&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; hash;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The result SHA1 hash for the string &amp;quot;first string&amp;quot;:&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.google.com/tarasn/R1Mjxk5CefI/AAAAAAAAAEg/NleZbMsopnk/image%5B7%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="49" alt="image" src="http://lh3.google.com/tarasn/R1MjyU5CegI/AAAAAAAAAEo/zh-JpreLT0Y/image_thumb%5B3%5D" width="329" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:904a1253-e08e-4d70-9e00-3af3befb8611" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/hash" rel="tag"&gt;hash&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SHA1" rel="tag"&gt;SHA1&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-6424187697526395862?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/6424187697526395862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=6424187697526395862' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/6424187697526395862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/6424187697526395862'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/12/sha1-hash-calculation-in-c.html' title='SHA1 hash calculation in C#'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-4895733333081374820</id><published>2007-11-20T13:05:00.000+02:00</published><updated>2007-11-20T13:10:30.557+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Visual Studio 2008 and .NET Framework 3.5 Training Kit containing Labs, Demos and Powerpoint Presentations</title><content type='html'>The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes powerpoint presentations, hands-on labs, and demos. This training kit is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;p=&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=8bdaa836-0bba-4393-94db-6c3c4a0c98a1&amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fa%2fa%2f2%2faa24aa27-3e51-4d52-b223-6c3dc40efe42%2fVisualStudio2008TrainingKit.exe"&gt;Download Visual Studio 2008 and .NET Framework 3.5 Training Kit&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-4895733333081374820?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/4895733333081374820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=4895733333081374820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4895733333081374820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4895733333081374820'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/11/visual-studio-2008-and-net-framework-35.html' title='Visual Studio 2008 and .NET Framework 3.5 Training Kit containing Labs, Demos and Powerpoint Presentations'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-2450940656257207013</id><published>2007-08-22T18:50:00.001+03:00</published><updated>2007-08-22T18:50:29.706+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Free tool that allows administrators to schedule various SQL jobs for SQL Server Express and other versions of SQL Server</title><content type='html'>&lt;p&gt;SQLScheduler is a fully functional client/server application written in C# that allows administrators to schedule various SQL jobs for SQL Server Express and other versions of SQL Server.  &lt;h4&gt;&lt;strong&gt;Features&lt;/strong&gt;:&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;Supports all versions of SQL Server 2000 and 2005  &lt;li&gt;Supports unlimited SQL Server instances with an unlimited number of jobs.  &lt;li&gt;Allows to easily schedule SQL Server maintenance tasks: backups, index rebuilds, integrity checks, etc.  &lt;li&gt;Runs as Windows Service  &lt;li&gt;Email notifications on job success and failure &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.lazycoding.com/downloads/SQLScheduler_LatestVersion.zip" target="_blank"&gt;Download SQLScheduler&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-2450940656257207013?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/2450940656257207013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=2450940656257207013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2450940656257207013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2450940656257207013'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/08/free-tool-that-allows-administrators-to.html' title='Free tool that allows administrators to schedule various SQL jobs for SQL Server Express and other versions of SQL Server'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-4027437472840113591</id><published>2007-07-23T23:04:00.001+03:00</published><updated>2007-07-23T23:04:19.175+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>JavaScript SyntaxHighlighter</title><content type='html'>&lt;p&gt;&lt;a href="http://code.google.com/p/syntaxhighlighter/wiki/Overview" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt; is here to help a developer/coder to post code snippets online with ease and have it look pretty. It's 100% Java Script based and it doesn't care what you have on your server.The idea behind &lt;a href="http://code.google.com/p/syntaxhighlighter/wiki/Overview" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt; is to allow insertion of colored code snippets on a web page without relying on any server side scripts.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-4027437472840113591?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/4027437472840113591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=4027437472840113591' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4027437472840113591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4027437472840113591'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/07/javascript-syntaxhighlighter.html' title='JavaScript SyntaxHighlighter'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-2415585432318313198</id><published>2007-07-02T18:32:00.000+03:00</published><updated>2007-07-02T23:04:03.995+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Fiddler 2.1 Released</title><content type='html'>&lt;p&gt;Fiddler v2 is a new version of the Fiddler Debugging proxy.&amp;nbsp; Fiddler2 is freeware and can debug traffic from virtually any application, including IE, Firefox, Safari.&lt;br&gt;Fiddler2 supports viewing and tampering with HTTPS traffic.Read a quick summary of &lt;a href="http://www.developer.com/lang/jscript/article.php/3631066" target="_blank"&gt;getting started with Fiddler&lt;/a&gt;. &lt;br&gt;&lt;a href="http://www.fiddler2.com/Fiddler/version.asp" target="_blank"&gt;Download Fiddler2&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-2415585432318313198?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/2415585432318313198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=2415585432318313198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2415585432318313198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2415585432318313198'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/07/fiddler-21-released.html' title='Fiddler 2.1 Released'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-8425017413005621983</id><published>2007-06-29T19:40:00.001+03:00</published><updated>2007-06-29T19:40:12.888+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Manage Subversion servers on Windows.</title><content type='html'>&lt;p&gt;&lt;b&gt;PainlessSVN &lt;/b&gt;provides you with the ability to completely manage your&amp;nbsp;Subversion &amp;nbsp;Repositories &amp;amp; Server conviently and effectively without the using of command line interface.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;PainlessSVN Features&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Creates and Deletes Repositories  &lt;li&gt;&amp;nbsp;Creates and Deletes Directories  &lt;li&gt;&amp;nbsp;Creates and Deletes Users  &lt;li&gt;&amp;nbsp;Creates Dump Files  &lt;li&gt;&amp;nbsp;Creates Hot Copies  &lt;li&gt;&amp;nbsp;Manages access to repositories  &lt;li&gt;Uses the Microsoft Management Console.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://www.systemwidgets.com/Downloads/PainlessSVN/tabid/76/Default.aspx" target="_blank"&gt;Download PainlessSVN Professional Preview 3&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-8425017413005621983?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/8425017413005621983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=8425017413005621983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/8425017413005621983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/8425017413005621983'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/06/manage-subversion-servers-on-windows.html' title='Manage Subversion servers on Windows.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-3159410805864596341</id><published>2007-06-25T22:34:00.001+03:00</published><updated>2007-06-25T22:34:50.023+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='CardSpace'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>.NET Framework 3.0 Virtual Labs</title><content type='html'>&lt;p&gt;.NET Framework version 3.0 is Microsoft’s managed-code programming model for developing software on the Windows platform. .NET Framework 3.0 includes Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace technologies.Today you can learn these new technologies through a series of guided, hands-on labs which can be completed in 90 minutes or less.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Windows CardSpace Virtual Labs&lt;/strong&gt; &lt;p&gt;&lt;a href="http://go.microsoft.com/?linkid=5606430"&gt;Core Features of Windows CardSpace&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Windows Presentation Foundation Virtual Labs&lt;/strong&gt; &lt;p&gt;&lt;a href="http://go.microsoft.com/?linkid=6012928" target="_blank"&gt;Building Windows Presentation Foundation Applications C# Part 1&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=6012929" target="_blank"&gt;Building Windows Presentation Foundation Applications C# Part 2&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=6012930" target="_blank"&gt;Building Windows Presentation Foundation Applications VB Part 1&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=6012931" target="_blank"&gt;Building Windows Presentation Foundation Applications VB Part 2&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Windows Communication Foundation Virtual Labs&lt;/strong&gt; &lt;p&gt;&lt;a href="http://go.microsoft.com/?linkid=6650615" target="_blank"&gt;A Server Scenario Lab with Windows Communication Foundation&lt;/a&gt; &lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=5667557" target="_blank"&gt;Understanding Windows Communication Foundation&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=4554218" target="_blank"&gt;The Fundamentals of Programming the Windows Communication Foundation&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=4554219" target="_blank"&gt;Reliable and Transacted Messaging with the Windows Communication Foundation&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Windows Workflow Foundation Virtual Labs&lt;/strong&gt; &lt;p&gt;&lt;a href="http://go.microsoft.com/?linkid=6614908" target="_blank"&gt;A Server Scenario Lab with Windows Workflow Foundation&lt;/a&gt;&lt;br&gt;&lt;a href="http://go.microsoft.com/?linkid=4267495" target="_blank"&gt;Getting Started with Windows Workflow Foundation&lt;/a&gt; &lt;p&gt;You get a downloadable manual and a 90-minute block of time for each module. You can sign up for additional 90-minute blocks at any time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-3159410805864596341?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/3159410805864596341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=3159410805864596341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3159410805864596341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/3159410805864596341'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/06/net-framework-30-virtual-labs.html' title='.NET Framework 3.0 Virtual Labs'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-5021839229133663210</id><published>2007-06-20T23:56:00.001+03:00</published><updated>2007-06-20T23:56:51.366+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Building Silverlight Applications using .NET Talk (by ScottGu )</title><content type='html'>&lt;p&gt;Scott used a few slides to explain each programming model concept in Silverlight, and then showed a very base sample for each concept that helped present concretely how it worked.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In the talk&amp;nbsp;Scott covered fallowing Silverlight concepts: &lt;ul&gt; &lt;li&gt;XAML  &lt;li&gt;Using Shapes and Text  &lt;li&gt;Using Controls  &lt;li&gt;Layout (Canvas and Layout Managers)  &lt;li&gt;Brushes  &lt;li&gt;Transforms  &lt;li&gt;Handling Events and Writing Code  &lt;li&gt;Building Custom UI Controls  &lt;li&gt;Reaching out and Programming the HTML of a page from a Silverlight control  &lt;li&gt;Handling HTML Events in Managed Code (e.g. html button click handled in C#/VB on the client)  &lt;li&gt;Exposing managed APIs to HTML JavaScript in the browser  &lt;li&gt;Using the&amp;nbsp;File Open Dialog support  &lt;li&gt;Using the HTTP Network APIs  &lt;li&gt;Using the Web Service APIs  &lt;li&gt;Isolated Storage for local data caching&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You can download the slides + demos of this talk below: &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.scottgu.com/blogposts/silverlighteurope/silverlighttalkeurope2007.zip" target="_blank"&gt;Slides in Office 2007 format&lt;/a&gt; (1.3MB)  &lt;li&gt;&lt;a href="http://www.scottgu.com/blogposts/silverlighteurope/silverlighttalkeurope.zip" target="_blank"&gt;Slides in Office 2003 format&lt;/a&gt; (21MB) &lt;li&gt;&lt;a href="http://www.scottgu.com/blogposts/silverlighteurope/silverlightsamples.zip" target="_blank"&gt;Samples&lt;/a&gt;&amp;nbsp;(300KB)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Included in the .zip download are readme instructions on how to run all of the samples on your own machine.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:92d238e4-a8eb-42a8-a756-9713204aac03" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/silverlight" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-5021839229133663210?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/5021839229133663210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=5021839229133663210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5021839229133663210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5021839229133663210'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/06/building-silverlight-applications-using.html' title='Building Silverlight Applications using .NET Talk (by ScottGu )'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-5464611164596641355</id><published>2007-06-14T22:20:00.001+03:00</published><updated>2007-06-14T22:20:16.082+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Updated utilities from Mark Russinovich</title><content type='html'>&lt;p&gt;Updated utilities are ZoomIt, Streams, String, PsExec, SigCheck and DiskExt. &lt;p&gt;List of changes: &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;ZoomIt&lt;/strong&gt; - you can type text while zoomed and you can also create scratch pad by clearing screen. &lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;Streams&lt;/strong&gt; - Streams now supports printing and deleting streams on volume root directories. There is also new -accepteula switch - hope so it will be included with every single utility :(&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;String&lt;/strong&gt; - improving performance by limiting no. of bytes that it is reading&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;PsExec&lt;/strong&gt; - Officially this release to &lt;strong&gt;PsExec&lt;/strong&gt;, a utility for running programs on remote systems, corrects a buffer overflow bug caused by long command line arguments. Unofficially as I found out - it also fixes bug with running PsExec against local computer (PsExec &lt;a&gt;\\%ComputerName%&lt;/a&gt; cmd is giving you error regarding user name or password). Finally :) This is quite pain when you got automated processing.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;SigCheck&lt;/strong&gt; - new switches -a and -m (more version data and manifests)&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;DiskExt&lt;/strong&gt; - now reports the mappings for volume that have not been mounted by a file system.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;[Via &lt;a href="http://msmvps.com/blogs/martinzugec" target="_blank"&gt;MartinZugec's blog&lt;/a&gt;&amp;nbsp;]&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:bb10e5b1-7738-405c-906c-6ca21ce4eec5" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tools" rel="tag"&gt;tools&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-5464611164596641355?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/5464611164596641355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=5464611164596641355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5464611164596641355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5464611164596641355'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/06/updated-utilities-from-mark-russinovich.html' title='Updated utilities from Mark Russinovich'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-4156481542938966486</id><published>2007-05-24T20:49:00.001+03:00</published><updated>2007-05-24T20:49:50.203+03:00</updated><title type='text'>Developing with Microsoft® ASP.NET AJAX Extensions</title><content type='html'>&lt;p&gt;&amp;nbsp; &lt;p&gt;In &lt;a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=73568" target="_blank"&gt;this&lt;/a&gt; 2-hour clinic you will learn about the rich functionality that ASP.NET AJAX Extensions provides for building highly responsive and enhanced web applications. In addition to learning about the different server and client components of ASP.NET AJAX, you will also learn how to build new ASP.NET AJAX applications and how to upgrade existing ASP.NET applications to take advantage of ASP.NET AJAX.&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;strong&gt;Clinic Content&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Clinic Overview&lt;br&gt;Navigation Overview&lt;br&gt;Overview of ASP.NET AJAX&lt;br&gt;Introduction to AJAX and ASP.NET AJAX&lt;br&gt;Introduction to the Architecture of ASP.NET AJAX&lt;br&gt;Programming with ASP.NET AJAX&lt;br&gt;Building a Simple ASP.NET AJAX Application&lt;br&gt;Using the AJAX Library to Enhance Web User Interfaces&lt;br&gt;Calling Web Services and Web Methods from the Client&lt;br&gt;Additional Information&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-4156481542938966486?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/4156481542938966486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=4156481542938966486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4156481542938966486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/4156481542938966486'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/05/developing-with-microsoft-aspnet-ajax.html' title='Developing with Microsoft® ASP.NET AJAX Extensions'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-931696110453439498</id><published>2007-05-24T20:44:00.001+03:00</published><updated>2007-05-24T20:44:31.545+03:00</updated><title type='text'>Learn WPF,WCF,WWF for free</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;This collection of 3 2-hour premium clinics teaches about the new capabilities provided by the .NET Framework 3.0. These clinics are for experienced(2 years) Developers and&amp;nbsp;SW Architects who are looking to&amp;nbsp;integrate Microsoft's next generation technology within their projects.  &lt;p&gt;Topics covered within the offer include: &lt;p&gt;&lt;a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=68394" target="_blank"&gt;Clinic 5135: Introduction to Developing with Windows® Presentation Foundation and Visual Studio® 2005&lt;/a&gt; &lt;p&gt;&lt;a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=67819" target="_blank"&gt;Clinic 5136: Introduction to Developing with Windows® Workflow Foundation and Visual Studio® 2005&lt;/a&gt; &lt;p&gt;&lt;a href="https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=68396" target="_blank"&gt;Clinic 5137: Introduction to Developing with Windows® Communication Foundation and Visual Studio® 2005&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-931696110453439498?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/931696110453439498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=931696110453439498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/931696110453439498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/931696110453439498'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/05/learn-wpfwcfwwf-for-free.html' title='Learn WPF,WCF,WWF for free'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-2189865358774314511</id><published>2007-03-06T23:36:00.001+02:00</published><updated>2007-03-06T23:36:10.292+02:00</updated><title type='text'>DataBatcher</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;With&amp;nbsp;DataBatcher you can perform the following tasks in a batch-processed manner: &lt;ul&gt; &lt;li&gt;Copy files / folders from one location to another  &lt;li&gt;Create new files / folders  &lt;li&gt;Delete files / folders  &lt;li&gt;Create shortcuts to files / folders  &lt;li&gt;Change the attributes of files / folders  &lt;li&gt;Touch files / folders (i.e. change their modified, created, accessed times)  &lt;li&gt;Execute a batch file (.bat; .cmd) in the Cmd.exe command interpreter (e.g. to rename files)  &lt;li&gt;Convert image files from one format to another  &lt;li&gt;Run a Windows PowerShell 1.0 script that is able to interact with DataBatcher's runtime environment. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Set up and run (and re-run) batch-processed jobs &lt;/li&gt; &lt;li&gt;Configure each step in a job to behave exactly as you wish &lt;/li&gt; &lt;li&gt;Process sets of files on an assembly line basis &lt;/li&gt; &lt;li&gt;Full logging of all activity when a job runs &lt;/li&gt; &lt;li&gt;Pre-prepare collections of files to be processed when a job runs &lt;/li&gt; &lt;li&gt;Minimize the GUI application to the task bar or system tray when a job runs &lt;/li&gt; &lt;li&gt;Run jobs in a hands-free manner using DataBatcher's console application &lt;/li&gt; &lt;li&gt;Set up portable jobs that run correctly on different machines &lt;/li&gt; &lt;li&gt;Full undo / redo for all editable documents &lt;/li&gt; &lt;li&gt;Open, XML-based formats are used for all of DataBatcher's own files (e.g. job files), allowing them to be processed by other programs &lt;/li&gt; &lt;li&gt;An SDK (software development kit) for writing your own plugin modules is included with each installed copy of DataBatcher. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.databatcher.com/download/index.html" target="_blank"&gt;Download DataBatcher for free&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-2189865358774314511?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/2189865358774314511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=2189865358774314511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2189865358774314511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/2189865358774314511'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/03/databatcher.html' title='DataBatcher'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-6735381016781125814</id><published>2007-02-28T00:55:00.001+02:00</published><updated>2007-02-28T00:55:05.598+02:00</updated><title type='text'>How To Print a DataGridView in C# and .NET</title><content type='html'>&lt;p&gt;The DataGridView control in .NET 2.0 is an incredible data representation control, and contains many features that you could benefit from. The only thing that is not supported by this control is the printing feature.Salan Al-Ani created the &lt;a href="http://www.codeproject.com/csharp/datagridviewprinter.asp" target="_blank"&gt;class&lt;/a&gt; for this feature and share it with others.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-6735381016781125814?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/6735381016781125814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=6735381016781125814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/6735381016781125814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/6735381016781125814'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/02/how-to-print-datagridview-in-c-and-net.html' title='How To Print a DataGridView in C# and .NET'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-139888469478541204</id><published>2007-02-28T00:41:00.003+02:00</published><updated>2007-02-28T00:42:12.111+02:00</updated><title type='text'>PowerShell Editor and Analyzer</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;&lt;a href="http://www.powershellanalyzer.com/" target="_blank"&gt;PowerShell Analyzer&lt;/a&gt; is a rich interactive environment for Windows PowerShell. Its goal is to be the PowerShell host of choice for IT professionals and system administrators. It has all the typical editor and IDE functionality that you would expect when working on a modern language, but it focuses on the real time interactive experience as if you were at the console, helping you compose the commands you want to use, and also giving you rich graphical visualization of the results. PowerShell may seem to just return text like the average Unix shell, but in reality, it is returning rich self describing Dotnet objects. PowerShell Analyzer not only helps you with the INPUT, but also with the output. It shows you the properties of the rich objects that the commands return, as well as specific visualizers to help you interact with output such as XML, HTML, charts, tables, and hierarchical data structures.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.powershellanalyzer.com/download.html" target="_blank"&gt;Download PowerShell Analyzer&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.powershellanalyzer.com/demos/index.html" target="_blank"&gt;Video Demos&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.karlprosser.com/coder/?cat=8" target="_blank"&gt;Author's Blog&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-139888469478541204?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/139888469478541204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=139888469478541204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/139888469478541204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/139888469478541204'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/02/powershell-editor-and-analyzer.html' title='PowerShell Editor and Analyzer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-5542801221425888985</id><published>2007-02-18T01:47:00.000+02:00</published><updated>2007-02-18T01:48:00.381+02:00</updated><title type='text'>Change font style for specific cell in datagridview</title><content type='html'>&lt;p&gt;The&amp;nbsp;way to change&amp;nbsp;font for&amp;nbsp;a single cell in an unbound datagridview.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:8c7bd47c-8aaa-4591-b580-23db37ac6c11" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color: white"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt; columnIndex &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt; rowIndex &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt; create bold font based on the default font &lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Font newFont &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt; Font(dataGridView1.Font, FontStyle.Bold);&lt;br /&gt;dataGridView1[columnIndex, rowIndex].Style.Font &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; newFont;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Using this simple technique you can change foreground or background color ( and many more style related properties ) for specific cell .&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-5542801221425888985?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/5542801221425888985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=5542801221425888985' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5542801221425888985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/5542801221425888985'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/02/change-font-style-for-specific-cell-in.html' title='Change font style for specific cell in datagridview'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-117071113210677977</id><published>2007-02-05T23:32:00.000+02:00</published><updated>2007-02-05T23:32:12.110+02:00</updated><title type='text'>Propertygrid: How to show and edit "aggregated" property</title><content type='html'>&lt;p&gt;Sometimes we need to edit&amp;nbsp; aggregated property - I mean the property that represents object with few properties .The simple way to do this - we can use &lt;i&gt;&lt;b&gt;TypeConverter&lt;/b&gt;&lt;/i&gt; with &lt;strong&gt;&lt;em&gt;ExpandableObjectConverter as shown &lt;/em&gt;&lt;/strong&gt;in the example&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:98797aef-8d4e-4649-9041-d0330a7b2264" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[TypeConverter(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(ExpandableObjectConverter))]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; FullName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; _LastName;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; FullName(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; _LastName)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;this&lt;/span&gt;&lt;span style="color: #000000; "&gt;._FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;this&lt;/span&gt;&lt;span style="color: #000000; "&gt;._LastName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; _LastName;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    [DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;    [Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;First name of the person&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; FirstName&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName;&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        {&lt;br /&gt;            _FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    [DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Last Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;    [Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Last name of the person&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; LastName&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _LastName;&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;        {&lt;br /&gt;            _LastName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;Returns a &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.String&amp;quot;&amp;gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; that represents the current &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.Object&amp;quot;&amp;gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;A &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.String&amp;quot;&amp;gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; that represents the current &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.Object&amp;quot;&amp;gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;filterpriority&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;2&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/filterpriority&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; ToString()&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FirstName &lt;/span&gt;&lt;span style="color: #000000; "&gt;+&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;+&lt;/span&gt;&lt;span style="color: #000000; "&gt; _LastName;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:9e91a495-a171-41c1-8629-a218640798fa" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Full Name&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Full name of the person&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; FullName FullName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _FullName;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _FullName &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Result - the editor for aggregated object&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://devintelligence.com/blog-images/dotnetpulse/PropertyGrid-ExpandableObjectConverter.png"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rsdn.ru/article/dotnet/PropertyGridFAQ.xml#EMNAG" target="_blank"&gt;Source( russian )&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-117071113210677977?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/117071113210677977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=117071113210677977' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/117071113210677977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/117071113210677977'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/02/propertygrid-how-to-show-and-edit.html' title='Propertygrid: How to show and edit &amp;quot;aggregated&amp;quot; property'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-117070965440636925</id><published>2007-02-05T23:07:00.000+02:00</published><updated>2007-02-05T23:11:36.306+02:00</updated><title type='text'>Propertygrid: How to display combo with icons for enum type?</title><content type='html'>&lt;p&gt;We need to cretate new type inhereted from &lt;i&gt;&lt;b&gt;UITypeEditor&lt;/b&gt;&lt;/i&gt; with custom painting( in our case the images located in resource file - where each image&amp;nbsp;name equals to memeber of the enum ) as shown below&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:743996da-b2d9-487b-bfb1-567e873f89f9" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; CountryEditor : UITypeEditor&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;Indicates whether the specified context supports &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; painting a representation of an object's value within the specified context.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;true if &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;M:System.Drawing.Design.UITypeEditor.PaintValue(System.Object,System.Drawing.Graphics,System.Drawing.Rectangle)&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; is implemented; otherwise, false.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;context&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;An &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.ComponentModel.ITypeDescriptorContext&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; that can be used to gain additional context information. &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; GetPaintValueSupported(ITypeDescriptorContext context)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;Paints a representation of the value of an &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; object using the specified &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.Drawing.Design.PaintValueEventArgs&amp;quot;&amp;gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;e&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;A &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;see cref=&amp;quot;T:System.Drawing.Design.PaintValueEventArgs&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/see&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; that indicates what to paint and where to paint it. &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; PaintValue(PaintValueEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; resourcename &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; Enum.GetName(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt; (Country), e.Value);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; retrive  image from resource file&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        Bitmap countryImage &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;          (Bitmap)Resources.ResourceManager.GetObject(resourcename);&lt;br /&gt;        Rectangle destRect &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; e.Bounds;&lt;br /&gt;        countryImage.MakeTransparent();&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; paint&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        e.Graphics.DrawImage(countryImage, destRect);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Create new EnumTypeConverter&lt;/p&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:dc3bcd5c-8811-4aaa-bd64-d125bbc71cbd" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; EnumTypeConverter : EnumConverter&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; Type _enumType;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; EnumTypeConverter(Type type)&lt;br /&gt;        : &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;base&lt;/span&gt;&lt;span style="color: #000000; "&gt;(type)&lt;br /&gt;    {&lt;br /&gt;        _enumType &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; type;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; CanConvertTo(ITypeDescriptorContext context,&lt;br /&gt;      Type destType)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; destType &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; ConvertTo(ITypeDescriptorContext context,&lt;br /&gt;      CultureInfo culture,&lt;br /&gt;      &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; value, Type destType)&lt;br /&gt;    {&lt;br /&gt;        FieldInfo fi &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; _enumType.GetField(Enum.GetName(_enumType, value));&lt;br /&gt;        DescriptionAttribute dna &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;          (DescriptionAttribute)Attribute.GetCustomAttribute(&lt;br /&gt;            fi, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(DescriptionAttribute));&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (dna &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; dna.Description;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;else&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; value.ToString();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; CanConvertFrom(ITypeDescriptorContext context,&lt;br /&gt;      Type srcType)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; srcType &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;override&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; ConvertFrom(ITypeDescriptorContext context,&lt;br /&gt;      CultureInfo culture,&lt;br /&gt;      &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; value)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FieldInfo fi &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; _enumType.GetFields())&lt;br /&gt;        {&lt;br /&gt;            DescriptionAttribute dna &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;              (DescriptionAttribute)Attribute.GetCustomAttribute(&lt;br /&gt;                fi, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(DescriptionAttribute));&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; ((dna &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;) &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000; "&gt; ((&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;)value &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; dna.Description))&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; Enum.Parse(_enumType, fi.Name);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; Enum.Parse(_enumType, (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;)value);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Then use attribute Editor &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:36298602-a498-4e6e-a5ea-b3113decbd21" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;[DisplayName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Country&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;Country&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]&lt;br /&gt;[TypeConverter(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(EnumTypeConverter))]&lt;br /&gt;[Editor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(CountryEditor), &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(UITypeEditor))]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; Country Country&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; _Country;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;    {&lt;br /&gt;        _Country &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;Now we can see the combo box as editor for our Enum type&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;img src="http://devintelligence.com/blog-images/dotnetpulse/PropertyGridEnum.png"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rsdn.ru/article/dotnet/PropertyGridFAQ.xml#EMNAG" target="_blank"&gt;Source ( russian )&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-117070965440636925?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/117070965440636925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=117070965440636925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/117070965440636925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/117070965440636925'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/02/propertygrid-how-to-display-combo-with.html' title='Propertygrid: How to display combo with icons for enum type?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116859824835993980</id><published>2007-01-12T12:37:00.000+02:00</published><updated>2007-01-12T12:40:54.943+02:00</updated><title type='text'>Open source C# SourceForge implementation</title><content type='html'>&lt;p&gt;&lt;b&gt;SharpForge&lt;/b&gt; supports collaborative development and management of multiple software projects. Similar to &lt;a href="http://www.vasoftware.com/sourceforge/" target="_blank"&gt;SourceForge&lt;/a&gt; or &lt;a href="http://www.codeplex.com/" target="_blank"&gt;CodePlex&lt;/a&gt; but for your own team or organisation. The software is written in C# for .NET 2.0 is integrates with Subversion for source control and is released under the New BSD License.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Features&lt;/b&gt;  &lt;ul&gt; &lt;li&gt;Multi Portal  &lt;li&gt;Multi Project  &lt;li&gt;Subversion Administration  &lt;li&gt;Work Item Tracking  &lt;li&gt;Project Forums  &lt;li&gt;Release Management  &lt;li&gt;Subversion Wiki  &lt;li&gt;Browse Source Code  &lt;li&gt;News Feed Aggregation &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.projxpert.com/Forums/ShowForum.aspx?ForumID=2519" target="_blank"&gt;Download SharpForge&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116859824835993980?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116859824835993980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116859824835993980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116859824835993980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116859824835993980'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/01/open-source-c-sourceforge.html' title='Open source C# SourceForge implementation'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116834199606048104</id><published>2007-01-09T13:26:00.000+02:00</published><updated>2007-01-09T13:26:36.310+02:00</updated><title type='text'>A function to calculate the opposite color of given color</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:bd90cd88-101d-4b41-8004-1718014313c6" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Calculates the opposite color&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;clr&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Given color&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; Color CalculateOppositeColor(Color clr)&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt;  Color.FromArgb(&lt;/span&gt;&lt;span style="color: #000000; "&gt;255&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; clr.R, &lt;/span&gt;&lt;span style="color: #000000; "&gt;255&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; clr.G, &lt;/span&gt;&lt;span style="color: #000000; "&gt;255&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; clr.B);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116834199606048104?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116834199606048104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116834199606048104' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116834199606048104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116834199606048104'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2007/01/function-to-calculate-opposite-color.html' title='A function to calculate the opposite color of given color'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116596728483350251</id><published>2006-12-13T01:48:00.000+02:00</published><updated>2006-12-13T01:48:05.533+02:00</updated><title type='text'>Html Agility Pack</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;This is an agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT (you actually don't HAVE to understand XPATH nor XSLT to use it, don't worry...). It is a .NET code library that allows you to parse "out of the web" HTML files. The parser is very tolerant with "real world" malformed HTML. The object model is very similar to what proposes System.Xml, but for HTML documents (or streams).&lt;br&gt;Sample applications: &lt;ul&gt; &lt;li&gt;Page fixing or generation. You can fix a page the way you want, modify the DOM, add nodes, copy nodes, well... you name it.  &lt;li&gt;Web scanners. You can easily get to img/src or a/hrefs with a bunch XPATH queries.  &lt;li&gt;Web scrapers. You can easily scrap any existing web page into an RSS feed for example, with just an XSLT file serving as the binding. An example of this is provided. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeplex.com/htmlagilitypack/Release/ProjectReleases.aspx" target="_blank"&gt;Download Html Agility Pack&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/rosherove/archive/2006/12/11/html-agility-pack.aspx" target="_blank"&gt;Roy Osherove's Blog&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116596728483350251?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116596728483350251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116596728483350251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116596728483350251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116596728483350251'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/12/html-agility-pack.html' title='Html Agility Pack'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116593282356749176</id><published>2006-12-12T16:13:00.000+02:00</published><updated>2006-12-12T16:13:43.576+02:00</updated><title type='text'>How to capture the form and save it to a bitmap</title><content type='html'>&lt;p&gt;The following example source code shows how to capture the form and save it to a bitmap. Hope you find it useful.&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:b6134974-168c-47ad-be00-1725310d0ddd" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000; "&gt;Point point &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; Point();&lt;br /&gt;Rectangle rectangle &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; Rectangle(point, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;this&lt;/span&gt;&lt;span style="color: #000000; "&gt;.Size);&lt;br /&gt;Bitmap bitmap &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; Bitmap(rectangle.Width, rectangle.Height, PixelFormat.Format32bppRgb);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; render the form to the bitmap &lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;this&lt;/span&gt;&lt;span style="color: #000000; "&gt;.DrawToBitmap(bitmap, rectangle);&lt;br /&gt;bitmap.Save(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;d:\MyForm.bmp&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116593282356749176?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116593282356749176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116593282356749176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116593282356749176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116593282356749176'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/12/how-to-capture-form-and-save-it-to.html' title='How to capture the form and save it to a bitmap'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116593167495238597</id><published>2006-12-12T15:54:00.000+02:00</published><updated>2006-12-12T15:54:35.693+02:00</updated><title type='text'>ReSharper 2.5</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jetbrains.com/resharper" target="_blank"&gt;ReSharper 2.5&lt;/a&gt; is an add-in to Visual Studio 2005. Besides further improvement of ReSharper 2.0 stability and performance in all areas, the new version provides a number of new features:  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Navigate from here&lt;/strong&gt; - You can view the possible navigation destinations from the place where the caret currently rests  &lt;li&gt;&lt;strong&gt;Enabling and disabling context actions&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;New context actions and quick fixes&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;Value analysis&lt;/strong&gt; - Use these options to define the means of code inspections: lists of assertion and terminating methods, and code annotations.  &lt;li&gt;&lt;strong&gt;Code preview in the Find Results window&lt;/strong&gt; - Results of usages search display in the Find Results window that enables you to perform a number of actions.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116593167495238597?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116593167495238597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116593167495238597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116593167495238597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116593167495238597'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/12/resharper-25.html' title='ReSharper 2.5'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116526474822295371</id><published>2006-12-04T22:39:00.000+02:00</published><updated>2006-12-04T22:39:08.226+02:00</updated><title type='text'>HnD - Customer Support Server</title><content type='html'>&lt;p&gt;HnD is a Customer Support system, integrating helpdesk features and a forum system, and was built as an example of what you can do with &lt;a href="http://www.llblgen.com/" target="_blank"&gt;LLBLGen Pro&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;It's been released as open source software (using the GPL v2 license) and you can &lt;a href="http://www.llblgen.com/HnD/download.aspx" target="_blank"&gt;download&lt;/a&gt; and use it for &lt;strong&gt;free&lt;/strong&gt;. &lt;h4&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/h4&gt;To successfully install HnD, you need to have the following installed / available to you on the webserver: &lt;ul&gt; &lt;li&gt;.NET 2.0  &lt;li&gt;IIS 5 or higher with ASP.NET 2.0 installed  &lt;li&gt;Access to an SMTP server&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;HnD stores its data in a database, and you can use Microsoft SqlServer 7 / 2000/ 2005 / Express or MSDE. &lt;br&gt;&lt;a&gt;&lt;/a&gt; &lt;h4&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/h4&gt;&lt;a&gt;&lt;/a&gt; &lt;ul&gt; &lt;li&gt;Unlimited forums can be organised into as many sections as you like. &lt;li&gt;Both public and private forums using role-based security &lt;li&gt;Queueing facility for support teams, enabling claiming questions and moving threads between queues. Threads can be auto-queued through forum settings. &lt;li&gt;Role-based security system for easy right management &lt;li&gt;Flexible attachment system for messages which is configurable per forum and user role. &lt;li&gt;Attachment approval system for moderators. &lt;li&gt;Editing all messages, editing thread properties and closing and moving threads for moderators. &lt;li&gt;Powerful search facility utilizing SqlServer's full-text search. &lt;li&gt;Native ASP.NET 2.0 code written in C# &lt;li&gt;Using LLBLGen Pro v2.0 for all data-access functionality. &lt;li&gt;Standard UBB message formatting with various font styles and sizes as well as allowing quoting, code display, attachments and automatic URL linking. &lt;li&gt;Email notification of replies to your topics. &lt;li&gt;Allows fine grained control over access to viewing, posting, replying, marking threads as 'done', thread memos and many other options. &lt;li&gt;Personal profile creation and management. &lt;li&gt;Administration centre with forum and section setup, complete group and member management, extensive ban management, support queue management, role management, mass emailing of groups and users by the administrator and many other options. &lt;li&gt;Complete control of fonts and colors by ASP.NET 2.0 theme support.  &lt;li&gt;Open source, so changes and additions can be easily implemented. &lt;li&gt;And many more...&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Osherove's Blog&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116526474822295371?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116526474822295371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116526474822295371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116526474822295371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116526474822295371'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/12/hnd-customer-support-server.html' title='HnD - Customer Support Server'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116526408428213328</id><published>2006-12-04T22:28:00.000+02:00</published><updated>2006-12-04T22:28:04.326+02:00</updated><title type='text'>Paint.NET v3.0 Beta 1 is now available!</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Change log:&lt;/strong&gt;  &lt;li&gt;New effect: &lt;b&gt;Clouds&lt;/b&gt;  &lt;li&gt;New menu command: &lt;b&gt;Edit-&amp;gt;Fill Selection&lt;/b&gt; (shortcut key: Backspace). This will fill any selected area with the primary color.  &lt;li&gt;New toolbar item / hotkey: The brush size may be manipulated with +/- buttons in the toolbar. Hotkeys for this are [ and ], and you may hold Ctrl to increment or decrement by 5.  &lt;li&gt;New translations: &lt;b&gt;They are not complete&lt;/b&gt; yet, and in fact some have just been started. They are mostly in place right now in order to get the code correct: Chinese (Simplified), French, German, Japanese, Korean, Portugese, and Spanish. You will have the ability to choose one of these languages during installation, and from the Help-&amp;gt;Language menu, but the text will still be either mostly or completely English. Complete translations will be finished by February.  &lt;li&gt;Added left-handed shortcut keys for Cut (Shift+Del), Copy (Ctrl+Ins), Paste (Shift+Ins)  &lt;li&gt;Upper-left coordinate of selection is now displayed in the status bar  &lt;li&gt;When moving text with the Text tool, the anchor point coordinate is now displayed in the status bar  &lt;li&gt;Fixed: In high-DPI mode (120dpi), the color swatch would translate the mouse location to the wrong color palette entry  &lt;li&gt;Fixed: Alpha-channel handling for bicubic and super-sampling image resampling methods  &lt;li&gt;Fixed: Very slow download speeds for updates in Vista  &lt;li&gt;Fixed: In Vista, the updater would relaunch Paint.NET with the same administrator privileges that the installer executed in. Now it will relaunch Paint.NET with the pre-elevation user and privilege level. Note that this fix will not be apparent until the &lt;i&gt;next &lt;/i&gt;update to Paint.NET.  &lt;li&gt;Fixed some layout and rendering issues with the floating tool windows in Vista  &lt;li&gt;Fixed a rendering issue with the font selection dropdown list  &lt;li&gt;Fixed a performance issue with the font selection dropdown list in Vista  &lt;li&gt;Right-clicking on a color in the palette will now set the secondary color  &lt;li&gt;Palette files now allow comments to be placed after color values  &lt;li&gt;Fixed: If &lt;b&gt;Edit-&amp;gt;Paste in to New Image &lt;/b&gt;was pasting a bitmap with transparency (from Paint.NET), it would have a white background instead of a transparent background.  &lt;li&gt;Fixed: Right-clicking on a .PDN file in Explorer and then selecting "Print" would not work if Paint.NET was already open  &lt;li&gt;Fixed over 10 user-reported crash bugs  &lt;li&gt;Fixed several out-of-memory crashes  &lt;li&gt;Fixes for many other miscellaneous, mostly minor, bugs  &lt;p&gt;You can&amp;nbsp;download it&amp;nbsp;at &lt;a href="http://www.getpaint.net/files/PaintDotNet_3_0_Beta1.exe" target="_blank"&gt;http://www.getpaint.net/files/PaintDotNet_3_0_Beta1.exe&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://blogs.msdn.com/rickbrew/archive/2006/11/30/paint-net-v3-0-beta-1-is-now-available.aspx" target="_blank"&gt;Rick Brewster's blog&lt;/a&gt;]&lt;/p&gt;&lt;/li&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116526408428213328?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116526408428213328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116526408428213328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116526408428213328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116526408428213328'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/12/paintnet-v30-beta-1-is-now-available.html' title='Paint.NET v3.0 Beta 1 is now available!'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116464103497777227</id><published>2006-11-27T17:23:00.000+02:00</published><updated>2006-11-27T17:23:55.013+02:00</updated><title type='text'>XML Notepad 2007</title><content type='html'>&lt;p&gt;XML Notepad 2007 provides a simple intuitive user interface for browsing and editing XML documents.&lt;/p&gt; &lt;p&gt;Features:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Tree View synchronized with Node Text View for quick editing of node names and values.  &lt;li&gt;Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.  &lt;li&gt;Cut/copy/paste with full namespace support.  &lt;li&gt;Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.  &lt;li&gt;Infinite undo/redo for all edit operations.  &lt;li&gt;In place popup multi-line editing of large text node values.  &lt;li&gt;Configurable fonts and colors via the options dialog.  &lt;li&gt;Full find/replace dialog with support for regex and XPath.  &lt;li&gt;Good performance on large XML documents, loading a 3mb document in about one second.  &lt;li&gt;Instant XML schema validation while you edit with errors and warnings shown in the task list window.  &lt;li&gt;Intellisense based on expected elements and attributes and enumerated simple type values.  &lt;li&gt;Support for custom editors for date, dateTime and time datatypes and other types like color.  &lt;li&gt;Handy nudge tool bar buttons for quick movement of nodes up and down the tree.  &lt;li&gt;Inplace HTML viewer for processing xml-stylesheet processing instructions.  &lt;li&gt;Built-in XML Diff tool. &lt;/li&gt;&lt;/ul&gt;New features included in this version: &lt;ul&gt; &lt;li&gt;Added keyboard accelerators for find again (F3) and reverse find (SHIFT+F3).  &lt;li&gt;Added support for loading IXmlBuilder and IXmlEditor implementations from different assemblies using new vs:assembly attribute.  &lt;li&gt;Made source code localizable by moving all error messages and dialog strings to .resx files.  &lt;li&gt;Added a default XSL transform.  &lt;li&gt;New icons, a play on the Vista "Notepad" icons. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=72d6aa49-787d-4118-ba5f-4f30fe913628&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f6%2fe%2fe%2f6eef2361-33d4-48a2-b52e-5827c7f2ad68%2fXmlNotepad.msi" target="_blank"&gt;Download XML Notepad 2007&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:979d04f8-7237-46c0-81e1-23e0d8e19a4c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/xml" rel="tag"&gt;xml&lt;/a&gt;, &lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tool" rel="tag"&gt;tool&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116464103497777227?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116464103497777227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116464103497777227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116464103497777227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116464103497777227'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/xml-notepad-2007.html' title='XML Notepad 2007'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116462730426290791</id><published>2006-11-27T13:35:00.000+02:00</published><updated>2006-11-29T14:25:48.363+02:00</updated><title type='text'>System.Data: Export table to a CSV file</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;In this post I will present a function that can be used to export a data table to a CSV file. The function first loops through the columns of the &lt;a title="DataTable Class" href="http://msdn2.microsoft.com/9186hy08.aspx" target="_blank"&gt;data table&lt;/a&gt; to export the names of all the data columns. And then in next loop the code iterates over each data row to export all the values in the table.  &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:4fbcbb55-9c64-4144-8bd6-55c0facbe801" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 468px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Exports the table to CSV string.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;table&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;The table.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;printHeaders&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; if set to &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;c&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;true&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/c&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt; print headers.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;CSV formated string&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; ExportTableToCsvString(&lt;br /&gt;    DataTable table,  &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; printHeaders&lt;br /&gt;)&lt;br /&gt;{&lt;br /&gt;    StringBuilder sb &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StringBuilder();&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (printHeaders)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;write the headers.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;for&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;; &lt;br /&gt;             colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Columns.Count; colCount&lt;/span&gt;&lt;span style="color: #000000; "&gt;++&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;        {&lt;br /&gt;            sb.Append(table.Columns[colCount].ColumnName);&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Columns.Count &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;            {&lt;br /&gt;                sb.Append(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;,&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;br /&gt;            }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;else&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;            {&lt;br /&gt;                sb.AppendLine();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Write all the rows.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;for&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; rowCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;; &lt;br /&gt;         rowCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Rows.Count; rowCount&lt;/span&gt;&lt;span style="color: #000000; "&gt;++&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;for&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;; &lt;br /&gt;             colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Columns.Count; colCount&lt;/span&gt;&lt;span style="color: #000000; "&gt;++&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;        {&lt;br /&gt;            sb.Append(table.Rows[rowCount][colCount]);&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (colCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Columns.Count &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;            {&lt;br /&gt;                sb.Append(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;,&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (rowCount &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; table.Rows.Count &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;        {&lt;br /&gt;            sb.AppendLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; sb.ToString();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:23a68230-9576-48ab-91ff-9ca6ab047ef6" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/dotnet" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tags/datatable" rel="tag"&gt;datatable&lt;/a&gt;, &lt;a href="http://technorati.com/tags/csv" rel="tag"&gt;csv&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116462730426290791?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116462730426290791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116462730426290791' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116462730426290791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116462730426290791'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/systemdata-export-table-to-csv-file.html' title='System.Data: Export table to a CSV file'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116453842336298447</id><published>2006-11-26T12:53:00.000+02:00</published><updated>2006-11-26T12:54:38.066+02:00</updated><title type='text'>Free open-source e-mail server</title><content type='html'>&lt;p&gt;hMailServer is a free, open source, GPL-licensed e-mail server for Microsoft Windows. It supports all the common e-mail protocols (IMAP, SMTP and POP3) and comes with an easy-to-use COM library that can be used for integration with other software.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.hmailserver.com/?page=download" target="_blank"&gt;Download hMailServer&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;LarkWare News&lt;/a&gt;]&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b40c3f5f-be5c-44d2-967f-752a5f79b6c5" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/free" rel="tag"&gt;free&lt;/a&gt;, &lt;a href="http://technorati.com/tags/windows" rel="tag"&gt;windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/popen%20source" rel="tag"&gt;popen source&lt;/a&gt;, &lt;a href="http://technorati.com/tags/pop" rel="tag"&gt;pop&lt;/a&gt;, &lt;a href="http://technorati.com/tags/smtp" rel="tag"&gt;smtp&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116453842336298447?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116453842336298447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116453842336298447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116453842336298447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116453842336298447'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/free-open-source-e-mail-server.html' title='Free open-source e-mail server'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116403476288801896</id><published>2006-11-20T16:59:00.000+02:00</published><updated>2006-11-20T16:59:28.036+02:00</updated><title type='text'>Powershell Analyzer</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Powershell Analyzer is a rich interactive environment for Windows Powershell. Its goal is to be the powershell host of choice for IT professionals and system administrators. It has all the typical editor and IDE functionality that you would expect when working on a modern language, but it focuses on the real time interactive experience as if you were at the console, helping you compose the commands you want to use, and also giving you rich graphical visualization of the results. Powershell may seem to just return text like the average Unix shell, but in reality, it is returning rich self describing Dotnet objects.&amp;nbsp; Powershell Analyzer not only helps you with the INPUT, but also with the output.&amp;nbsp; It shows you the properties of the rich objects that the commands return, as well as specific visualizers to help you interact with output such as XML, HTML, charts, tables, and hierarchical data structures.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Get the Latest build here: &lt;a href="http://www.powershellanalyzer.com/downloads/PowerShellAnalyzer-1-0-1-4.zip" target="_blank"&gt;http://www.powershellanalyzer.com/downloads/PowerShellAnalyzer-1-0-1-4.zip&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116403476288801896?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116403476288801896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116403476288801896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116403476288801896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116403476288801896'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/powershell-analyzer.html' title='Powershell Analyzer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116380004497755296</id><published>2006-11-17T23:47:00.000+02:00</published><updated>2006-11-17T23:47:24.983+02:00</updated><title type='text'>ReSharper 2.5</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;ReSharper 2.5 is a minor release dedicated to improving performance and stability of ReSharper 2.0. It will work for Visual Studio 2005 only. The following list of performance improvements and features will be available as part of the relase.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Performance Improvements &lt;/li&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp;Installation time  &lt;li&gt;&amp;nbsp;Typing  &lt;li&gt;&amp;nbsp;Code completion autopopup on typing identifier  &lt;li&gt;Updating completion list on typing  &lt;li&gt;&amp;nbsp;Typing when parameter information is shown  &lt;li&gt;&amp;nbsp;Showing parameter information with large number of signatures  &lt;li&gt;&amp;nbsp;Visual Studio startup  &lt;li&gt;Opening solution  &lt;li&gt;Opening single file in Visual Studio  &lt;li&gt;&amp;nbsp;Navigation inside a file which isn't currently open in Visual Studio  &lt;li&gt;&amp;nbsp;Live templates expansion  &lt;li&gt;&amp;nbsp;Typing with "Change All" or "Inline Rename" active  &lt;li&gt;&amp;nbsp;"Change All" quickfix  &lt;li&gt;Creating new files  &lt;li&gt;&amp;nbsp;Format code  &lt;li&gt;&amp;nbsp;Stepping in debugger &lt;/li&gt;&lt;/ol&gt; &lt;li&gt;&amp;nbsp;Features  &lt;ol&gt; &lt;li&gt;&amp;nbsp;Improved find results view (&lt;sup&gt;&lt;a href="http://www.jetbrains.net/confluence/download/attachments/21747/ReSharper2.5_Screenshot1.jpg?version=1" target="_blank"&gt;screenshot&lt;/a&gt;&lt;/sup&gt;)  &lt;li&gt;&amp;nbsp;"Navigate From Here" – single shortcut for all navigational actions available at this point (&lt;sup&gt;&lt;a href="http://www.jetbrains.net/confluence/download/attachments/21747/ReSharper2.5_Screenshot2.jpg?version=1" target="_blank"&gt;screenshot&lt;/a&gt;&lt;/sup&gt;)  &lt;li&gt;&amp;nbsp;Go to File Member — Control+F12 now allows navigation to symbols declared in the current file similar to &lt;em&gt;Go To Type (Control+N)&lt;/em&gt; (&lt;sup&gt;&lt;a href="http://www.jetbrains.net/confluence/download/attachments/21747/ReSharper2.5_Screenshot3.jpg?version=1" target="_blank"&gt;screenshot&lt;/a&gt;&lt;/sup&gt;)  &lt;li&gt;&amp;nbsp;Option page for disabling individual context actions  &lt;li&gt;&amp;nbsp;NullReferenceException analysis (&lt;sup&gt;&lt;a href="http://www.jetbrains.net/confluence/download/attachments/21747/ReSharper2.5_Screenshot1.jpg?version=1" target="_blank"&gt;screenshot&lt;/a&gt;&lt;/sup&gt;)  &lt;li&gt;&amp;nbsp;More context actions and quickfixes &lt;/li&gt;&lt;/ol&gt; &lt;li&gt;&amp;nbsp;Experimental Read Only Visual Basic .NET support &lt;em&gt;(note that this is experimental functionality and it might not be included in 2.5 release if we are not able to make it production quality by the time of release)&lt;/em&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp;Navigation &amp;amp; search features (go to declaration, base, inheritor(s); find usages; go to type/file; etc.)  &lt;li&gt;&amp;nbsp;Matching brace highlighting  &lt;li&gt;&amp;nbsp;Extend selection (Control+W)  &lt;li&gt;&amp;nbsp;Quick documentation popup (Control+Q)  &lt;li&gt;&amp;nbsp;Parameter info &lt;em&gt;(doesn't pop up automatically)&lt;/em&gt; &lt;li&gt;&amp;nbsp;Identifier highlighting  &lt;li&gt;&amp;nbsp;Error highlighting&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;In addition this release offers better user interface design (see screenshots) and significant stability improvements. &lt;p&gt;&amp;nbsp; &lt;p&gt;From this &lt;a href="http://www.jetbrains.net/confluence/display/ReSharper/Download" target="_blank"&gt;page&lt;/a&gt; you can download the EAP builds for ReSharper 2.5. &lt;p&gt;&amp;nbsp; &lt;p&gt;[Via &lt;a href="http://www.larkware.com/" target="_blank"&gt;Larkware News&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116380004497755296?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116380004497755296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116380004497755296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116380004497755296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116380004497755296'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/resharper-25.html' title='ReSharper 2.5'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116379963037442617</id><published>2006-11-17T23:40:00.000+02:00</published><updated>2006-11-17T23:40:30.380+02:00</updated><title type='text'>A full set of professionally designed icons for ASP.NET applications.</title><content type='html'>&lt;p&gt;There are more than 300&amp;nbsp; awsome designed icons for your ASP.NET applications in this package. And, they all are completely free!You can use them in your web applications, both personal and commercial.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.aspneticons.com/" target="_blank"&gt;Download ASP.NET Icons&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116379963037442617?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116379963037442617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116379963037442617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116379963037442617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116379963037442617'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/full-set-of-professionally-designed.html' title='A full set of professionally designed icons for ASP.NET applications.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116379941234886588</id><published>2006-11-17T23:36:00.000+02:00</published><updated>2006-11-17T23:36:52.353+02:00</updated><title type='text'>Windows PowerShell 1.0</title><content type='html'>&lt;p&gt;Windows PowerShell 1.0 is finally released.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx" target="_blank"&gt;Download Windows PowerShell 1.0&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Don't forget to check out related resources like:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/faq.mspx" target="_blank"&gt;Windows PowerShell FAQ&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/PowerShell/" target="_blank"&gt;Windows PowerShell Blog&lt;/a&gt; &lt;p&gt;Remember to download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B4720B00-9A66-430F-BD56-EC48BFCA154F&amp;amp;displaylang=en" target="_blank"&gt;Windows PowerShell Documentation Pack&lt;/a&gt; that includes a Getting Started Guide, Quick Reference chart and a 100+ page Windows PowerShell primer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116379941234886588?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116379941234886588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116379941234886588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116379941234886588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116379941234886588'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/windows-powershell-10.html' title='Windows PowerShell 1.0'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-116281304608143259</id><published>2006-11-06T13:37:00.000+02:00</published><updated>2006-11-06T13:37:26.123+02:00</updated><title type='text'>Multithreading for .Net 2.0</title><content type='html'>&lt;p&gt;Well these are must read articles if you’re new to the threading world or if you’re not but want to get updated with the new Net 2.0 &lt;a href="http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgroundworker(VS.80).aspx" target="_blank"&gt;BackgroundWorker&lt;/a&gt; component.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;a href="http://www.informit.com/articles/article.asp?p=459619&amp;amp;seqNum=5&amp;amp;rl=1" target="_blank"&gt;Programming with the BackgroundWorker Component in .NET 2.0 by Paul Kimmel.&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.albahari.com/threading/part3.html" target="_blank"&gt;Threading in C# by Joseph Albahari&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.devx.com/codemag/Article/20639/1954?pf=true" target="_blank"&gt;Asynchronous Windows Forms Programming by Juval Löwy&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.mikedub.net/mikeDubSamples/SafeReallySimpleMultithreadingInWindowsForms20/SafeReallySimpleMultithreadingInWindowsForms20.htm" target="_blank"&gt;Safe, Even Simpler Multithreading in Windows Forms 2.0&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:68507bf4-fa08-4d7b-bf1e-7dac53af381b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/BackgroundWorker" rel="tag"&gt;BackgroundWorker&lt;/a&gt;, &lt;a href="http://technorati.com/tags/network" rel="tag"&gt;network&lt;/a&gt;, &lt;a href="http://technorati.com/tags/winforms" rel="tag"&gt;winforms&lt;/a&gt;, &lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-116281304608143259?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/116281304608143259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=116281304608143259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116281304608143259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/116281304608143259'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/11/multithreading-for-net-20.html' title='Multithreading for .Net 2.0'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115939691942651156</id><published>2006-09-28T01:41:00.000+03:00</published><updated>2006-09-28T01:50:09.576+03:00</updated><title type='text'>Windows Live Writer 1.0 (Beta) Update with Windows Live Gallery</title><content type='html'>&lt;p&gt;Windows Live Writer&amp;nbsp;is a desktop application that makes it easier to compose compelling blog posts using &lt;a href="http://spaces.live.com/" target="_blank"&gt;Windows Live Spaces&lt;/a&gt; or your current blog service.&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The following&amp;nbsp;is&amp;nbsp;a summary of the changes in the Writer 1.0 (Beta) Update:  &lt;ul&gt; &lt;li&gt;Tagging support  &lt;li&gt;Support for Blogger Beta  &lt;li&gt;Categories are sorted by name and support scrolling, plus improved support for reading categories from your blog  &lt;li&gt;Improved startup performance  &lt;li&gt;Paste is enabled for Title region and TAB/SHIFT+TAB navigation between title and body supported  &lt;li&gt;Insert hyperlink added to context menu when text is selected  &lt;li&gt;Title attribute in Insert Link dialog  &lt;li&gt;Custom date support for Community Server  &lt;li&gt;Improved keyboard shortcuts for switching views  &lt;li&gt;Change spell-check shortcut key to F7  &lt;li&gt;Add ‘png’ to insert image dialog file type filter  &lt;li&gt;More robust&amp;nbsp;image posting to&amp;nbsp;Live Spaces  &lt;li&gt;Improved style detection for blogs&amp;nbsp;  &lt;li&gt;Fixed issues with pasting URLs and links  &lt;li&gt;Remember last window size and position when opening a new post  &lt;li&gt;Open post dialog retrieves&amp;nbsp;more than 25 old posts&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://g.msn.com/8SEENUS030000TBR/WriterMSI" target="_blank"&gt;Download Windows Live Writer 1.0 (Beta) Update&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1484ed7e-bbfe-43a5-aa17-8cdd7dfd41b2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/windows" rel="tag"&gt;windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/writer" rel="tag"&gt;writer&lt;/a&gt;, &lt;a href="http://technorati.com/tags/live" rel="tag"&gt;live&lt;/a&gt;, &lt;a href="http://technorati.com/tags/blogging" rel="tag"&gt;blogging&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115939691942651156?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115939691942651156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115939691942651156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115939691942651156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115939691942651156'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/09/windows-live-writer-10-beta-update.html' title='Windows Live Writer 1.0 (Beta) Update with Windows Live Gallery'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115892656167716217</id><published>2006-09-22T15:02:00.000+03:00</published><updated>2006-09-22T15:02:41.706+03:00</updated><title type='text'>visionapp Remote Desktop (vRD 1.4)</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;vRD is a tool which allows the management of RDP connections to servers. vRD is ideal for administrators who need to maintain simultaneous connections to multiple servers. Connection-specific settings and login credentials can be organized in folders and subfolders for quick access.  &lt;p&gt;The new version 1.4 further extends the ease of use. Coming, amongst others, with a dynamic overview tab page over all established connections, the ability to choose the session window size through a drop down field and providing the option to set the RDP port, vRD offers many new features for hassle-free handling of multiple RDP connections.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://www.visionapp.com/141.0.html?#get_URL_ID_TOK" target="_blank"&gt;Download visionapp Remote Desktop 1.4&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115892656167716217?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115892656167716217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115892656167716217' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115892656167716217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115892656167716217'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/09/visionapp-remote-desktop-vrd-14.html' title='visionapp Remote Desktop (vRD 1.4)'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115723341948350732</id><published>2006-09-03T00:43:00.000+03:00</published><updated>2006-09-03T00:43:39.560+03:00</updated><title type='text'>Memory Management</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Automatic memory management is one of the services during Managed Execution that makes a developer's life a bit easier. Developers do not have to worry about freeing objects when they are no longer used, since the garbage collector takes care of that. The garbage collector determines which objects have no references and can therefore be released from memory. This prevents many problems such as forgetting to free objects from memory, causing memory leaks or attempting to access memory that has already been released.&lt;br&gt;&lt;/em&gt;&lt;em&gt;&lt;strong&gt;The problem with automatic memory management&lt;br&gt;&lt;/strong&gt;The automatic memory management technique is not perfect. As explained above, an object can be collected by the garbage collector when the object has no more references. It's logical that a button will not be collected when a form still knows it's there, but there are other references that a programmer might not expect, that also keep an object alive.&lt;br&gt;An eventhandler can be such a reference that it will prevent the object from being collected. Another example is using a static collection object to register certain object instances. These instances will never be collected since the collection always has a reference to them. An IMessageFilter to handle window messages also has the same collection problem.&lt;br&gt;&lt;/em&gt;&lt;em&gt;&lt;strong&gt;The solution&lt;br&gt;&lt;/strong&gt;To prevent this kind of problems, &lt;/em&gt;&lt;a href="http://www.qiosdevsuite.com" target="_blank"&gt;&lt;em&gt;qios&lt;/em&gt;&lt;/a&gt;&lt;em&gt; has created a system that uses WeakReferences to attach to events, collection members, and IMessageFilters. A WeakReference is a reference to an object that will allow it to be garbage collected.&lt;/em&gt;  &lt;p&gt;&lt;a href="http://www.qiosdevsuite.com/qios.devsuite.website/memorymanagement.aspx" target="_blank"&gt;To read more about our solution to these problems, check out a free and open source sample and libary available for download.You are allowed to use the MemoryPack library in your own applications without any costs.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115723341948350732?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115723341948350732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115723341948350732' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115723341948350732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115723341948350732'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/09/memory-management.html' title='Memory Management'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115677464767480203</id><published>2006-08-28T17:17:00.000+03:00</published><updated>2006-08-28T17:17:45.403+03:00</updated><title type='text'>SyntaxColor4Writer</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;SyntaxColor4Writer is a plugin for Windows Live Writer that enables you to embed syntax highlighting in your blog posts. This plugin uses an excellent component called &lt;a href="http://www.codehighlighter.com" target="_blank"&gt;Code Highlighter&lt;/a&gt; . The following syntax languages are included and can be customized and extended: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;C#  &lt;li&gt;CSS  &lt;li&gt;HTML  &lt;li&gt;INI File  &lt;li&gt;Java  &lt;li&gt;JScript&amp;nbsp;&amp;nbsp;  &lt;li&gt;Perl  &lt;li&gt;PHP  &lt;li&gt;Python  &lt;li&gt;SQL  &lt;li&gt;VB.NET  &lt;li&gt;VBScript  &lt;li&gt;XML &lt;/li&gt;&lt;/ul&gt; &lt;h4&gt;Download &amp;amp; Installation&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Plugin: &lt;/b&gt;&lt;a href="http://www.istaysharp.net/images/f/f5/SyntaxColor4Writer.rar" target="_blank"&gt;SyntaxColor4Writer v0.1 (197KB)&lt;/a&gt;  &lt;li&gt;&lt;b&gt;Installation&amp;nbsp;:&lt;/b&gt; Unpack the file into the plugins folder of Windows Live Writer (default: &lt;i&gt;C:\Program Files\Windows Live Writer\Plugins&lt;/i&gt;)  &lt;li&gt;&lt;b&gt;Note&amp;nbsp;:&lt;/b&gt; This plugin requires &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=en" target="_blank"&gt;Microsoft .NET 2.0 Redistributable&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="52DD6A77-6902-4404-991A-D62C03B41ABE:3101d0ef-bbf3-4509-9812-ffe73b5c97fe" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;p&gt;&lt;/p&gt;Technorati Tags:&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/tool" rel="tag"&gt;tool&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/plugin.live" rel="tag"&gt;plugin.live&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://www.technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115677464767480203?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115677464767480203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115677464767480203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115677464767480203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115677464767480203'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/syntaxcolor4writer.html' title='SyntaxColor4Writer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115614444957397152</id><published>2006-08-21T10:14:00.000+03:00</published><updated>2006-11-15T11:49:57.703+02:00</updated><title type='text'>Monopix-Live CD Linux distribution</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;h5&gt;&amp;nbsp;&lt;/h5&gt; &lt;p&gt;Monoppix is a Live CD Linux distribution (based on &lt;a href="http://www.knoppix.net" target="_blank"&gt;Knoppix&lt;/a&gt;), which means you pop it in your CD drive, reboot, and you're running Linux. It works without installing a thing on your hard drive - it runs completely off the CD and RAM.  &lt;h5&gt;What's on the CD?&lt;/h5&gt; &lt;p&gt;- &lt;a href="http://www.mono-project.com/Main_Page" target="_blank"&gt;Mono runtime environment&lt;/a&gt;, complier and class libraries&lt;br&gt;- &lt;a href="http://www.monodevelop.com/" target="_blank"&gt;Monodevelop&lt;/a&gt; - Mono enabled IDE&lt;br&gt;- XSP - ASP.NET web server&lt;br&gt;- &lt;a href="http://gtk-sharp.sourceforge.net/" target="_blank"&gt;GTK#&lt;/a&gt; - for desktop applications (sample included)&lt;br&gt;- &lt;a href="http://www.mysql.com/" target="_blank"&gt;MySQL database server&lt;/a&gt;&lt;br&gt;- Quickstarts and Mono walkthroughs and tutorials,  &lt;h5&gt;How to get started?&lt;/h5&gt; &lt;p&gt;- &lt;a href="http://www.monoppix.com/download.php" target="_blank"&gt;Download&lt;/a&gt; the latest ISO.&lt;br&gt;- Burn the ISO to a bootable CD.&lt;br&gt;- Reboot your computer with the mono CD and CDRom boot enabled in your bios.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115614444957397152?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115614444957397152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115614444957397152' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115614444957397152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115614444957397152'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/monopix-live-cd-linux-distribution.html' title='Monopix-Live CD Linux distribution'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115540528563869901</id><published>2006-08-12T09:49:00.000+03:00</published><updated>2006-08-12T20:56:50.620+03:00</updated><title type='text'>How can I make the SplitContainer continuously update its contents while the splitter is moving?</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #808080"&gt;Note: Continuously updating a SplitContainer's contents can lead to poor performance, and should be used sparingly.&lt;br/&gt;&lt;/span&gt; By default, when moving a SplitContainer's splitter a preview is shown of the splitter's future location. Then when the splitter is released, the SplitContainer resizes to that position. If you want the SplitContainer to be constantly resizing as the splitter is moving, you can do one of two things:&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Insert the following code in your project, and attach these events to all of the SplitContainers that you want to continuously update.&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #800000"&gt;private void splitContainer_MouseDown(object sender, MouseEventArgs e)&lt;br/&gt;{&lt;br/&gt;// This disables the normal move behavior&lt;br/&gt;((SplitContainer)sender).IsSplitterFixed = true;&lt;br/&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;private void splitContainer_MouseUp(object sender, MouseEventArgs e)&lt;br/&gt;{&lt;br/&gt;// This allows the splitter to be moved normally again&lt;br/&gt;((SplitContainer)sender).IsSplitterFixed = false;&lt;br/&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt;private void splitContainer_MouseMove(object sender, MouseEventArgs e)&lt;br/&gt;{&lt;br/&gt;// Check to make sure the splitter won't be updated by the&lt;br/&gt;// normal move behavior also&lt;br/&gt;if (((SplitContainer)sender).IsSplitterFixed)&lt;br/&gt;{&lt;br/&gt;// Make sure that the button used to move the splitter&lt;br/&gt;// is the left mouse button&lt;br/&gt;if (e.Button.Equals(MouseButtons.Left))&lt;br/&gt;{&lt;br/&gt;// Checks to see if the splitter is aligned Vertically&lt;br/&gt;if (((SplitContainer)sender).Orientation.Equals(Orientation.Vertical))&lt;br/&gt;{&lt;br/&gt;// Only move the splitter if the mouse is within&lt;br/&gt;// the appropriate bounds&lt;br/&gt;if (e.X &amp;gt; 0 &amp;amp;&amp;amp; e.X &amp;lt; ((SplitContainer)sender).Width)&lt;br/&gt;{&lt;br/&gt;// Move the splitter&lt;br/&gt;((SplitContainer)sender).SplitterDistance = e.X;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;// If it isn't aligned vertically then it must be&lt;br/&gt;// horizontal&lt;br/&gt;else&lt;br/&gt;{&lt;br/&gt;// Only move the splitter if the mouse is within&lt;br/&gt;// the appropriate bounds&lt;br/&gt;if (e.Y &amp;gt; 0 &amp;amp;&amp;amp; e.Y &amp;lt; ((SplitContainer)sender).Height)&lt;br/&gt;{&lt;br/&gt;// Move the splitter&lt;br/&gt;((SplitContainer)sender).SplitterDistance = e.Y;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;// If a button other than left is pressed or no button&lt;br/&gt;// at all&lt;br/&gt;else&lt;br/&gt;{&lt;br/&gt;// This allows the splitter to be moved normally again&lt;br/&gt;((SplitContainer)sender).IsSplitterFixed = false;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/splitcontainer" class="ztag" rel="tag"&gt;splitcontainer&lt;/a&gt;, &lt;a href="http://technorati.com/tag/winforms" class="ztag" rel="tag"&gt;winforms&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115540528563869901?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115540528563869901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115540528563869901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115540528563869901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115540528563869901'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/how-can-i-make-splitcontainer.html' title='How can I make the SplitContainer continuously update its contents while the splitter is moving?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533477191344750</id><published>2006-08-11T14:14:00.000+03:00</published><updated>2006-08-12T01:19:31.946+03:00</updated><title type='text'>Why are user scoped settings present in the app.config?</title><content type='html'>&lt;br /&gt;The configuration system is hierarchical and has the following ordering:&lt;br /&gt;&lt;p style="MARGIN-LEFT: 9pt; TEXT-ALIGN: center"&gt;&lt;span style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: #999999 1pt solid; mso-border-shadow: yes"&gt;Machine&lt;/span&gt; &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt; &lt;span style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: #999999 1pt solid; mso-border-shadow: yes"&gt;Application&lt;/span&gt; &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt; &lt;span style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: #999999 1pt solid; mso-border-shadow: yes"&gt;Roaming User&lt;/span&gt; &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt; &lt;span style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: #999999 1pt solid; mso-border-shadow: yes"&gt;Local User&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 9pt"&gt;When you query a &lt;a href="http://msdn2.microsoft.com/library/System.Configuration.ConfigurationSection" target="_blank"&gt;configuration section&lt;/a&gt; at any level, you get a merged view of the sections declared in that level and those below it (with machine being the lowest level and local user the highest). The section handler defines how the merge happens and for settings, a setting value specified in, say, local user config trumps the one specified in application config.&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 9pt"&gt;So for user scoped settings, you can think of the values specified in app.config to be install time defaults. When the settings are saved into user.config, those values will override these defaults. This way admins have the option of changing the defaults. Note that the defaults can also be specified by means of a &lt;a href="http://msdn2.microsoft.com/library/System.Configuration.DefaultSettingValueAttribute" target="_blank"&gt;DefaultSettingValueAttribute&lt;/a&gt;. The provider will use this value if no value is specified for a setting in any level of config.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533477191344750?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533477191344750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533477191344750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533477191344750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533477191344750'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/why-are-user-scoped-settings-present.html' title='Why are user scoped settings present in the app.config?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533118032203877</id><published>2006-08-11T13:14:00.000+03:00</published><updated>2006-08-12T00:19:40.323+03:00</updated><title type='text'>How are my strongly typed properties serialized as settings?</title><content type='html'>&lt;br /&gt;&lt;p&gt;There are two primary mechanisms that ApplicationSettingsBase uses to serialize settings:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;If a TypeConverter exists that can convert to and from string, it is used.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Otherwise, the XmlSerializer is used.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533118032203877?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533118032203877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533118032203877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533118032203877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533118032203877'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/how-are-my-strongly-typed-properties.html' title='How are my strongly typed properties serialized as settings?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533105976713153</id><published>2006-08-11T13:12:00.000+03:00</published><updated>2006-08-12T00:17:39.766+03:00</updated><title type='text'>Are there multiple config files for an application or just one?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The default SettingsProvider for client applications (called the LocalFileSettingsProvider) stores settings in the application configuration files. In .NET v1 and v1.1, there were two levels of config files - machine.config and app.exe.config (where 'app.exe' is the name of the application). In v2.0, we have added two more levels of configuration to store user specific data - one that goes in the roaming user profile path and another in the local user profile path. On XP, the profile directories would be something like 'c:\Documents and Settings\&amp;lt;username&amp;gt;\Application Data' and 'c:\Documents and Settings\&amp;lt;username&amp;gt;\Local Settings\Application Data' respectively. These directories are the recommended location (per Windows Logo requirements) for storing user specific information, and most applications (like Outlook and Visual Studio) put user data somewhere under here.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533105976713153?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533105976713153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533105976713153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533105976713153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533105976713153'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/are-there-multiple-config-files-for.html' title='Are there multiple config files for an application or just one?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533094978088831</id><published>2006-08-11T13:10:00.000+03:00</published><updated>2006-08-12T00:15:49.786+03:00</updated><title type='text'>How do I know when to call Upgrade in a non-Clickonce app?</title><content type='html'>&lt;br /&gt;&lt;p&gt;In non-Clickonce cases, there is no automatic upgrade - you have to call Upgrade yourself. Here is one idea for determining when to call Upgrade:&lt;br/&gt;Have a boolean setting called CallUpgrade with a default value of true. When your app starts up, do the following:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: #408080"&gt;if (Properties.Settings.Value.CallUpgrade)&lt;br/&gt;{&lt;br/&gt;Properties.Settings.Value.Upgrade();&lt;br/&gt;Properties.Settings.Value.CallUpgrade = false;&lt;br/&gt;}&lt;br/&gt;&lt;/span&gt;This will ensure that Upgrade( ) is called only the first time the application runs after a new version is deployed.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/clickonce" class="ztag" rel="tag"&gt;clickonce&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533094978088831?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533094978088831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533094978088831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533094978088831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533094978088831'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/how-do-i-know-when-to-call-upgrade-in_11.html' title='How do I know when to call Upgrade in a non-Clickonce app?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533087603176619</id><published>2006-08-11T13:09:00.000+03:00</published><updated>2006-08-12T00:14:36.036+03:00</updated><title type='text'>How do I know when to call Upgrade in a Clickonce app?</title><content type='html'>&lt;br /&gt;&lt;p&gt;In Clickonce, when you install a new version of your application, ApplicationSettingsBase will detect it and automatically upgrade settings for you at the point settings are loaded.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/clickonce" class="ztag" rel="tag"&gt;clickonce&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533087603176619?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533087603176619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533087603176619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533087603176619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533087603176619'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/how-do-i-know-when-to-call-upgrade-in.html' title='How do I know when to call Upgrade in a Clickonce app?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533082843222591</id><published>2006-08-11T13:08:00.000+03:00</published><updated>2006-08-12T00:13:48.436+03:00</updated><title type='text'>If I deploy a new version of my application, will the user lose all the settings saved by the previous version?</title><content type='html'>&lt;br /&gt;&lt;p&gt;It is easy to upgrade settings from a previous version of the application to the latest. Simply call ApplicationSettingsBase.Upgrade() and it will retrieve settings from the previous version that match the current version of the class and store them out in the current version's user.config file. You also have the option of overriding this behavior either in your settings class or in your provider implementation.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533082843222591?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533082843222591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533082843222591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533082843222591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533082843222591'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/if-i-deploy-new-version-of-my.html' title='If I deploy a new version of my application, will the user lose all the settings saved by the previous version?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115533075594638763</id><published>2006-08-11T13:07:00.000+03:00</published><updated>2006-08-12T00:12:35.986+03:00</updated><title type='text'>Where is the user.config file located if I deployed my application using Clickonce?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The path algorithm mentioned above is not used in the Clickonce case. Instead, the local user.config file goes in the Clickonce Data directory (the &amp;lt;Version&amp;gt; part of the path will still be included). There is no roaming user.config file for Clickonce applications.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115533075594638763?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115533075594638763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115533075594638763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533075594638763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115533075594638763'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/08/where-is-userconfig-file-located-if-i.html' title='Where is the user.config file located if I deployed my application using Clickonce?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334077965566981</id><published>2006-07-19T12:21:00.000+03:00</published><updated>2006-07-19T23:26:19.656+03:00</updated><title type='text'>Why doesn’t the debugger catch exceptions in webBrowser events?</title><content type='html'>&lt;br /&gt;&lt;p&gt;Since the core of the managed WebBrowser is an unmanaged ActiveX control, it captures all exceptions thrown in its methods before they can be passed to the debugger. This can lead to unusual behavior if you are not catching the exceptions before they leave the method. For this reason it is highly recommended that try catch blocks should be placed around the contents of all WebBrowser methods during the development and test phases, with special attention paid to procedures that could potentially throw exceptions.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet.faq" class="ztag" rel="tag"&gt;dotnet.faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334077965566981?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334077965566981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334077965566981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334077965566981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334077965566981'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/why-doesnt-debugger-catch-exceptions.html' title='Why doesn’t the debugger catch exceptions in webBrowser events?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334067878459505</id><published>2006-07-19T12:20:00.000+03:00</published><updated>2006-07-19T23:24:38.793+03:00</updated><title type='text'>Does the WebBrowser control work in Partial Trust?</title><content type='html'>&lt;br /&gt;&lt;p&gt;The WebBrowser control does not work in partial trust. This class makes security demands at the class level, therefore a &lt;a href="http://msdn2.microsoft.com/en-us/library/yx0zh807" target="_blank" title="SecurityException"&gt;SecurityException&lt;/a&gt; is thrown when a derived class or any caller in the call stack does not have full trust permission. For details about security demands, see &lt;a href="http://msdn2.microsoft.com/en-us/library/hzsc022c" target="_blank" title="Link Demands"&gt;Link Demands&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-us/library/x4yx82e6" target="_blank" title="Inheritance Demands"&gt;Inheritance Demands&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334067878459505?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334067878459505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334067878459505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334067878459505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334067878459505'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/does-webbrowser-control-work-in.html' title='Does the WebBrowser control work in Partial Trust?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334042543829907</id><published>2006-07-19T12:15:00.000+03:00</published><updated>2006-07-19T23:20:25.440+03:00</updated><title type='text'>WebBrowser FAQ:How do I get the site of a new window?</title><content type='html'>&lt;br /&gt;&lt;p&gt;To get the Url that the WebBrowser is navigating to in a new window, use DWebBrowserEvents2::NewWindow3. This method is not exposed by IntelliSense. For information on how to use it, see: &lt;a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=7228" target="_blank"&gt;http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=7228&lt;/a&gt; for an implementation.&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334042543829907?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334042543829907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334042543829907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334042543829907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334042543829907'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/webbrowser-faqhow-do-i-get-site-of-new.html' title='WebBrowser FAQ:How do I get the site of a new window?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334033659645601</id><published>2006-07-19T12:14:00.000+03:00</published><updated>2006-07-19T23:18:56.596+03:00</updated><title type='text'>How do I navigate to a Url that contains escape characters?</title><content type='html'>&lt;br /&gt;&lt;p&gt;To navigate to an addresses that contains escaped characters (such as %20) be sure to use the webBrowser.Navigate(String) method instead of the webBrowser.Navigate(Uri) method. The Uri method escapes these characters by default, while the String method does not.&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrwser" class="ztag" rel="tag"&gt;webbrwser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334033659645601?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334033659645601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334033659645601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334033659645601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334033659645601'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/how-do-i-navigate-to-url-that-contains.html' title='How do I navigate to a Url that contains escape characters?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334027360530602</id><published>2006-07-19T12:13:00.000+03:00</published><updated>2006-07-19T23:17:53.606+03:00</updated><title type='text'>How do I block popups?</title><content type='html'>&lt;br /&gt;&lt;p&gt;To block pop-ups, use the following registry key:&lt;br/&gt;&lt;span style="COLOR: #008080"&gt;HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)&lt;br/&gt;SOFTWARE&lt;br/&gt;Microsoft&lt;br/&gt;Internet Explorer&lt;br/&gt;Main&lt;br/&gt;FeatureControl&lt;br/&gt;FEATURE_WEBOC_POPUPMANAGEMENT&lt;br/&gt;&lt;/span&gt;For more information on this topic, see &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/wbcustomization.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/wbcustomization.asp&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webrowser" class="ztag" rel="tag"&gt;webrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334027360530602?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334027360530602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334027360530602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334027360530602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334027360530602'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/how-do-i-block-popups.html' title='How do I block popups?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334017379180925</id><published>2006-07-19T12:11:00.000+03:00</published><updated>2006-07-19T23:16:13.796+03:00</updated><title type='text'>Why won’t the WebBrowser navigate?</title><content type='html'>&lt;br /&gt;&lt;p&gt;Be sure that AllowNavigation is set to true. This property not only prevents users from making the WebBrowser navigate, but also prevents the WebBrowser from programmatically being given a new Url.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334017379180925?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334017379180925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334017379180925' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334017379180925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334017379180925'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/why-wont-webbrowser-navigate.html' title='Why won’t the WebBrowser navigate?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334011993312349</id><published>2006-07-19T12:10:00.000+03:00</published><updated>2006-07-19T23:15:19.946+03:00</updated><title type='text'>WebBrowser FAQ:How can a control in the browser access the DOM of the page that is hosting it?</title><content type='html'>&lt;br /&gt;&lt;p&gt;For an example of this, see &lt;a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting"&gt;http://msdn2.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webbrowser" class="ztag" rel="tag"&gt;webbrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334011993312349?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334011993312349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334011993312349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334011993312349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334011993312349'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/webbrowser-faqhow-can-control-in.html' title='WebBrowser FAQ:How can a control in the browser access the DOM of the page that is hosting it?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-115334002389946975</id><published>2006-07-19T12:09:00.000+03:00</published><updated>2006-07-19T23:13:43.956+03:00</updated><title type='text'>WebBrowser FAQ:How do I get XP SP2 Security features?</title><content type='html'>&lt;br /&gt;&lt;p&gt;To control XP SP2 security features, you can set various registry keys. For detailed information, see: &lt;a href="http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2brows.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2brows.mspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;br /&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;br /&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/faq" class="ztag" rel="tag"&gt;faq&lt;/a&gt;, &lt;a href="http://technorati.com/tag/webrowser" class="ztag" rel="tag"&gt;webrowser&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-115334002389946975?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/115334002389946975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=115334002389946975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334002389946975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/115334002389946975'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/07/webbrowser-faqhow-do-i-get-xp-sp2.html' title='WebBrowser FAQ:How do I get XP SP2 Security features?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114787371556649081</id><published>2006-05-17T16:45:00.000+03:00</published><updated>2006-05-17T16:48:35.570+03:00</updated><title type='text'>HitTestInfo Overview</title><content type='html'> &lt;p&gt;Sometimes in applications you may need to recognize which element is located at the specified screen coordinates. For instance, you may have to determine which part of a DataGridView the user has clicked or double-clicked. For this purpose, DataGridView implements the HitTest method.&lt;/p&gt; &lt;p&gt;For demonstrative purposes on how to process data provided by a HitTestInfo object, you can make use of the following example. It handles the DataGridView.MouseMove event and shows information about a part under the mouse cursor.&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Consolas"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; dataGridView1_MouseMove(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, MouseEventArgs e)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;System.Windows.Forms.DataGridView.HitTestInfo hitInfo = dataGridView1.HitTest(e.X, e.Y);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.listBox1.Items.Clear();&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// displaying dataGridView related information defined a point under the mouse cursor&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("Point: " + &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; Point(e.X, e.Y) );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("Type: " + hitInfo.Type.ToString());&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("ColumnIndex: " + hitInfo.ColumnIndex);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("RowIndex: " + hitInfo.RowIndex);&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (hitInfo.ColumnIndex != -1)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DataGridViewColumn column = dataGridView1.Columns[hitInfo.ColumnIndex];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("Column Caption: " + column.DataPropertyName );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;else&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;listBox1.Items.Add("No Column");&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/csharp" class="ztag" rel="tag"&gt;csharp&lt;/a&gt;, &lt;a href="http://technorati.com/tag/data" class="ztag" rel="tag"&gt;data&lt;/a&gt;, &lt;a href="http://technorati.com/tag/datagridview" class="ztag" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a href="http://technorati.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/grid" class="ztag" rel="tag"&gt;grid&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/csharp" class="ztag" rel="tag"&gt;csharp&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/data" class="ztag" rel="tag"&gt;data&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/datagridview" class="ztag" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/grid" class="ztag" rel="tag"&gt;grid&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114787371556649081?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114787371556649081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114787371556649081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114787371556649081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114787371556649081'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/hittestinfo-overview.html' title='HitTestInfo Overview'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114787343782602209</id><published>2006-05-17T16:41:00.000+03:00</published><updated>2006-05-17T16:43:57.876+03:00</updated><title type='text'>Sample of Using HitTestInfo Object</title><content type='html'> &lt;p&gt;The following sample demonstrates how to implement the grid row's popup menu. This menu has only one item, which deletes the row that the menu has been called for. The HitTest method is called to obtain the row position. Selection is then moved to this row and the custom context menu called.&lt;/p&gt;  &lt;br/&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Consolas"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; dataGridView1_MouseDown(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, MouseEventArgs e)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;System.Windows.Forms.DataGridView.HitTestInfo hitInfo = dataGridView1.HitTest(e.X, e.Y);&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt; ( (hitInfo.Type == DataGridViewHitTestType.Cell) &amp;amp;&amp;amp;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;((e.Button &amp;amp; MouseButtons.Right) != 0) )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// switch selection&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DataGridViewRow selectedRow = dataGridView1.Rows[hitInfo.RowIndex];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;selectedRow.Selected = &lt;span style="COLOR: blue"&gt;true&lt;/span&gt;;&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;//show the context menu&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;ContextMenuStrip contextMenu = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; ContextMenuStrip();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;contextMenu.Items.Add("Delete Row", &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; EventHandler(DeleteSelectedRow) );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;contextMenu.Items[0].Tag = selectedRow;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;contextMenu.Show(&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.dataGridView1, e.X, e.Y);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; DeleteSelectedRow(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;ToolStripItem menuItem = sender &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; ToolStripItem;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (menuItem != &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;dataGridView1.Rows.Remove(&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;(DataGridViewRow)menuItem.Tag&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/HitTestInfo" class="ztag" rel="tag"&gt;HitTestInfo&lt;/a&gt;, &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/csahrp" class="ztag" rel="tag"&gt;csahrp&lt;/a&gt;, &lt;a href="http://technorati.com/tag/data" class="ztag" rel="tag"&gt;data&lt;/a&gt;, &lt;a href="http://technorati.com/tag/datagridview" class="ztag" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a href="http://technorati.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/HitTestInfo" class="ztag" rel="tag"&gt;HitTestInfo&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/csahrp" class="ztag" rel="tag"&gt;csahrp&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/data" class="ztag" rel="tag"&gt;data&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/datagridview" class="ztag" rel="tag"&gt;datagridview&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114787343782602209?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114787343782602209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114787343782602209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114787343782602209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114787343782602209'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/sample-of-using-hittestinfo-object.html' title='Sample of Using HitTestInfo Object'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114789998617504346</id><published>2006-05-17T13:03:00.000+03:00</published><updated>2006-05-18T00:06:26.230+03:00</updated><title type='text'>UML Resource List</title><content type='html'> &lt;p&gt;Collection of UML links&lt;/p&gt; &lt;p&gt;&lt;br/&gt; &lt;a href="http://www.ebookshare.net/2006/05/16/oreilly-learning-uml-v20-apr-2006/" target="_blank"&gt;O'Reilly - Learning UML v2.0 Apr 2006&lt;/a&gt; &lt;br/&gt; &lt;a href="http://understandinguml.com/wiki/doku.php" target="_blank"&gt;Understanding UML Wiki&lt;/a&gt; &lt;br/&gt; &lt;a href="http://understandinguml.com/blog/" target="_blank"&gt;Understanding UML Blog&lt;/a&gt; &lt;br/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/architecture" class="ztag" rel="tag"&gt;architecture&lt;/a&gt;, &lt;a href="http://technorati.com/tag/design" class="ztag" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://technorati.com/tag/framework" class="ztag" rel="tag"&gt;framework&lt;/a&gt;, &lt;a href="http://technorati.com/tag/patterns" class="ztag" rel="tag"&gt;patterns&lt;/a&gt;, &lt;a href="http://technorati.com/tag/uml" class="ztag" rel="tag"&gt;uml&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/architecture" class="ztag" rel="tag"&gt;architecture&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/design" class="ztag" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/framework" class="ztag" rel="tag"&gt;framework&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/patterns" class="ztag" rel="tag"&gt;patterns&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/uml" class="ztag" rel="tag"&gt;uml&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114789998617504346?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114789998617504346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114789998617504346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114789998617504346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114789998617504346'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/uml-resource-list.html' title='UML Resource List'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114785122097664314</id><published>2006-05-17T10:31:00.000+03:00</published><updated>2006-06-02T23:00:44.863+03:00</updated><title type='text'>IDE for your thoughts - wikidPad</title><content type='html'> &lt;p&gt;"&lt;a href="http://www.jhorman.org/wikidPad/" target="_blank"&gt;&lt;em&gt;wikidPad&lt;/em&gt;&lt;/a&gt; &lt;em&gt;is a wiki-like notebook for storing your thoughts, ideas, &lt;br/&gt; todo lists, contacts or anything else you can think of that's &lt;br/&gt; important. What makes wikidPad different from other notepad or &lt;br/&gt; outliner applications is the ease with which you can cross-link your &lt;br/&gt; information."&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;br/&gt; &lt;strong&gt;WikidPad Features &lt;br/&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;On the fly WikiWord linking, as you type&lt;/li&gt; &lt;li&gt;WikiWord auto-completion&lt;/li&gt; &lt;li&gt;Easy WikiWord navigation&lt;/li&gt; &lt;li&gt;Wiki text styling&lt;/li&gt; &lt;li&gt;WikiWord History&lt;/li&gt; &lt;li&gt;Wiki document attributes&lt;/li&gt; &lt;li&gt;Dynamic views&lt;/li&gt; &lt;li&gt;Tree/Outline view with over 100 icons&lt;/li&gt; &lt;li&gt;Todo lists&lt;/li&gt; &lt;li&gt;Incremental search&lt;/li&gt; &lt;li&gt;Search and Replace&lt;/li&gt; &lt;li&gt;Autosave&lt;/li&gt; &lt;li&gt;Export to HTML&lt;/li&gt; &lt;li&gt;All your data is stored in plain text&lt;/li&gt; &lt;li&gt;URL and file linking&lt;/li&gt; &lt;li&gt;Intuitive keybindings&lt;/li&gt; &lt;li&gt;Help Wiki included &lt;br/&gt; &lt;br/&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Visit the &lt;a href="http://wikidpad.python-hosting.com/" target="_blank"&gt;project homepage&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/opensource" class="ztag" rel="tag"&gt;opensource&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;, &lt;a href="http://technorati.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;, &lt;a href="http://technorati.com/tag/wiki" class="ztag" rel="tag"&gt;wiki&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/opensource" class="ztag" rel="tag"&gt;opensource&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/wiki" class="ztag" rel="tag"&gt;wiki&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114785122097664314?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114785122097664314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114785122097664314' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114785122097664314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114785122097664314'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/ide-for-your-thoughts-wikidpad.html' title='IDE for your thoughts - wikidPad'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114778514596452421</id><published>2006-05-16T16:09:00.000+03:00</published><updated>2006-05-16T16:12:25.966+03:00</updated><title type='text'>Microsoft's new open source hosting solution - CodePlex.</title><content type='html'> &lt;p&gt;&lt;strong&gt;CodePlex&lt;/strong&gt; is an online software development environment for open and shared source developers to create, host and manage projects throughout the project lifecycle. It has been written from the ground up in C# using .NET 2.0 technology with Team Foundation Server on the back end.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;: &lt;br/&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Release Management&lt;/li&gt; &lt;li&gt;Work Item Tracking&lt;/li&gt; &lt;li&gt;Source Code Dissemination&lt;/li&gt; &lt;li&gt;Wiki-based Project Team Communications&lt;/li&gt; &lt;li&gt;Project Forums&lt;/li&gt; &lt;li&gt;News Feed Aggregation&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.codeplex.com/" target="_blank"&gt;Visit CodePlex&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/community" class="ztag" rel="tag"&gt;community&lt;/a&gt;, &lt;a href="http://technorati.com/tag/open%20source" class="ztag" rel="tag"&gt;open source&lt;/a&gt;, &lt;a href="http://technorati.com/tag/source" class="ztag" rel="tag"&gt;source&lt;/a&gt;, &lt;a href="http://technorati.com/tag/wiki" class="ztag" rel="tag"&gt;wiki&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/community" class="ztag" rel="tag"&gt;community&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/open+source" class="ztag" rel="tag"&gt;open source&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/source" class="ztag" rel="tag"&gt;source&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/wiki" class="ztag" rel="tag"&gt;wiki&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114778514596452421?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114778514596452421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114778514596452421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114778514596452421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114778514596452421'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/microsofts-new-open-source-hosting.html' title='Microsoft&apos;s new open source hosting solution - CodePlex.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114777922800251756</id><published>2006-05-16T14:31:00.000+03:00</published><updated>2006-05-16T14:38:38.333+03:00</updated><title type='text'>Universal Debugger Visualizer in Visual Studio 2005.</title><content type='html'> &lt;p&gt;Visual Studio 2005 shipped with a very helpful feature called debugger visualizers.Debugger visualizers allow you to view useful information about objects during debug.This visualizer is helpful for anyone writing an application and want to view or change objects properties during runtime.&lt;/p&gt;  &lt;br/&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Consolas"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Diagnostics;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Text;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; Microsoft.VisualStudio.DebuggerVisualizers;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Drawing;&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;namespace&lt;/span&gt; Devintelligence.Debug&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Visual Studio visualizer for viewing objects&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;in PropertyGrid during debug.&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; UniversalVisualizer : DialogDebuggerVisualizer&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;protected&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Show(IDialogVisualizerService windowService,&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;IVisualizerObjectProvider objectProvider)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; data = objectProvider.GetObject();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; (Form form = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; Form())&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;form.Text = data.GetType().FullName;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;form.ClientSize = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; Size(230, 300);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;form.FormBorderStyle = FormBorderStyle.FixedToolWindow;&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;PropertyGrid propGrid = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; PropertyGrid();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;propGrid.SelectedObject = data;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;propGrid.Parent = form;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;propGrid.Dock = DockStyle.Fill;&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;windowService.ShowDialog(form);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;objectProvider.ReplaceObject( propGrid.SelectedObject );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// TODO: Add the following to your testing code to test the visualizer:&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;//&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// UniversalVisualizer.TestShowVisualizer(new SomeType());&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;//&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Tests the visualizer by hosting it outside of the debugger.&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="objectToVisualize"&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;The object to display in the visualizer.&lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; TestShowVisualizer(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; objectToVisualize)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;VisualizerDevelopmentHost visualizerHost =&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; VisualizerDevelopmentHost(objectToVisualize,&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(UniversalVisualizer));&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;visualizerHost.ShowVisualizer();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt;&lt;/div&gt; &lt;p&gt;I overrode the method Show. This method gets two parameters: objectProvider holds a serialized copy of the debugged object we want to view or change properties, windowService allows us to show a dialog form under the context of the Visual Studio IDE. In this method, I created a form with a property grid and loaded the object into it.&lt;/p&gt; &lt;p&gt;Here's screenshot of the Universal Visualizer in action. &lt;br/&gt; &lt;img src="http://devintelligence.com/blog-images/Universal-Visualizer.png" style="BORDER-RIGHT: rgb(0,0,0) 1px solid; BORDER-TOP: rgb(0,0,0) 1px solid; DISPLAY: inline; MARGIN: 15px 5px 5px; BORDER-LEFT: rgb(0,0,0) 1px solid; WIDTH: 431px; BORDER-BOTTOM: rgb(0,0,0) 1px solid; HEIGHT: 322px" title="Universal Visualizer" height="322" width="431" alt="Universal Visualizer"/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/Visualizer" class="ztag" rel="tag"&gt;Visualizer&lt;/a&gt;, &lt;a href="http://technorati.com/tag/addin" class="ztag" rel="tag"&gt;addin&lt;/a&gt;, &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/debug" class="ztag" rel="tag"&gt;debug&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vs2005" class="ztag" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/Visualizer" class="ztag" rel="tag"&gt;Visualizer&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/addin" class="ztag" rel="tag"&gt;addin&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/debug" class="ztag" rel="tag"&gt;debug&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/vs2005" class="ztag" rel="tag"&gt;vs2005&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114777922800251756?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114777922800251756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114777922800251756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114777922800251756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114777922800251756'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/universal-debugger-visualizer-in.html' title='Universal Debugger Visualizer in Visual Studio 2005.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114776524625527384</id><published>2006-05-16T10:38:00.000+03:00</published><updated>2006-05-16T10:45:28.446+03:00</updated><title type='text'>PS Hot Launch</title><content type='html'> &lt;p&gt;&lt;img src="http://devintelligence.com/blog-images/pshlvvl_small.gif" style="BORDER-RIGHT: rgb(255,255,255) 5px solid; BORDER-TOP: rgb(255,255,255) 5px solid; DISPLAY: inline; FLOAT: left; BORDER-LEFT: rgb(255,255,255) 5px solid; WIDTH: 214px; BORDER-BOTTOM: rgb(255,255,255) 5px solid; HEIGHT: 282px" title="PS Hot Launch" height="282" width="214" alt="PS Hot Launch"/&gt;&lt;/p&gt; &lt;p&gt;PS Hot Launch lets you open multiple programs, documents, folders, and web sites with the click of your mouse or by defining keyboard shortcuts.&lt;/p&gt; &lt;p&gt;This type of program is perfect if you find that you always need to launch multiple applications when you are getting started with different tasks.&lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Quick launch of programs from the menu in the system tray.&lt;/li&gt; &lt;li&gt;Quick launch of programs using hot keys.&lt;/li&gt; &lt;li&gt;Logical grouping of commands.&lt;/li&gt; &lt;li&gt;Using separators to make the menu handier.&lt;/li&gt; &lt;li&gt;Quick and handy set-up using drag&amp;amp;drop&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.pssoftlab.com/download/pshlvvl.zip" target="_blank"&gt;Download PS Hot Launch&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://www.lifehacker.com/" target="_blank"&gt;LifeHacker&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;, &lt;a href="http://technorati.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114776524625527384?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114776524625527384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114776524625527384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114776524625527384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114776524625527384'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/ps-hot-launch.html' title='PS Hot Launch'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114769330560414246</id><published>2006-05-15T14:39:00.000+03:00</published><updated>2006-05-15T14:41:45.660+03:00</updated><title type='text'>Easy Picture2Icon</title><content type='html'> &lt;p&gt;Easy Picture2Icon is a wonderful tool for converting images or digital photos in to Windows icons. Easy Picture2Icon make it possible to use any graphical editor to produce icons.Easy Picture2Icon has support for making transparent icons and the user can choose which color to make transparent. With this picture to icon converter it is possible to make icon files that contain multiple icons of different sizes.&lt;/p&gt; &lt;p&gt;Features: &lt;br/&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Images formats that can be converted to Windows icons (.ico files) are: &lt;br/&gt; BMP, GIF, JPEG, PNG&lt;/li&gt; &lt;li&gt;True color icons.&lt;/li&gt; &lt;li&gt;Single image icon file.&lt;/li&gt; &lt;li&gt;Multiple icons in one Windows icon file.&lt;/li&gt; &lt;li&gt;Transparent color icons.&lt;/li&gt; &lt;li&gt;User choused transparent color.&lt;/li&gt; &lt;li&gt;Image edge cutting to fit icon function.&lt;/li&gt; &lt;li&gt;Image resize to fit icon function.&lt;/li&gt; &lt;li&gt;The supported icon sizes are 16x16, 32x32 and 48x48&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http:///" target="_blank" title="http://www.picture2icon.com/downloads.php"&gt;Download Easy Picture2Icon&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/convert" class="ztag" rel="tag"&gt;convert&lt;/a&gt;, &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/graphics" class="ztag" rel="tag"&gt;graphics&lt;/a&gt;, &lt;a href="http://technorati.com/tag/icon" class="ztag" rel="tag"&gt;icon&lt;/a&gt;, &lt;a href="http://technorati.com/tag/picture" class="ztag" rel="tag"&gt;picture&lt;/a&gt;, &lt;a href="http://technorati.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/convert" class="ztag" rel="tag"&gt;convert&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/graphics" class="ztag" rel="tag"&gt;graphics&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/icon" class="ztag" rel="tag"&gt;icon&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/picture" class="ztag" rel="tag"&gt;picture&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/utils" class="ztag" rel="tag"&gt;utils&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114769330560414246?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114769330560414246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114769330560414246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114769330560414246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114769330560414246'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/easy-picture2icon.html' title='Easy Picture2Icon'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114760069628465307</id><published>2006-05-14T12:55:00.000+03:00</published><updated>2006-05-14T12:58:16.390+03:00</updated><title type='text'>Google Co-op</title><content type='html'> &lt;p&gt;"&lt;a href="http://www.google.com/coop" target="_blank"&gt;&lt;em&gt;Google Co-op&lt;/em&gt;&lt;/a&gt; &lt;em&gt;is about sharing expertise. You can contribute your expertise and benefit when others do the same. Help other users find information more easily by creating "subscribed links" for your services and labeling webpages around the topics you know best."&lt;/em&gt; &lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Google Co-op Features:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Personalized search results, where you can subscribe to content providers like &lt;a href="http://www.digg.com/" target="_blank"&gt;Digg&lt;/a&gt;&lt;/li&gt; &lt;li&gt;"Free AdWords" from Google for those who help refine searches&lt;/li&gt; &lt;li&gt;The "onebox" for the masses&lt;/li&gt; &lt;li&gt;Finally, cluster search results&lt;/li&gt; &lt;li&gt;A sort of semantic web, only that some of the data is stored not on your webserver, but on Google's server (an important distinction, I think - the competition can't access this meta-data, and it's a bit of a Google lock-in!)&lt;/li&gt; &lt;li&gt;Google becoming a meta search engine, an aggregator of other specialized search engines&lt;/li&gt; &lt;li&gt;Meta-keywords 2.0 - the trust is build into Google's account system to prevent spamming&lt;/li&gt; &lt;li&gt;Social bookmarking and tagging a la &lt;a href="http://del.icio.us/" target="_blank"&gt;del.icio.us&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;[Via &lt;a href="http://blog.outer-court.com/archive/2006-05-11-n40.html" target="_blank"&gt;Philipp Lenssen&lt;/a&gt;] &lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/cluster" class="ztag" rel="tag"&gt;cluster&lt;/a&gt;, &lt;a href="http://technorati.com/tag/collaboration" class="ztag" rel="tag"&gt;collaboration&lt;/a&gt;, &lt;a href="http://technorati.com/tag/coop" class="ztag" rel="tag"&gt;coop&lt;/a&gt;, &lt;a href="http://technorati.com/tag/google" class="ztag" rel="tag"&gt;google&lt;/a&gt;, &lt;a href="http://technorati.com/tag/search" class="ztag" rel="tag"&gt;search&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tagging" class="ztag" rel="tag"&gt;tagging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/web" class="ztag" rel="tag"&gt;web&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/cluster" class="ztag" rel="tag"&gt;cluster&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/collaboration" class="ztag" rel="tag"&gt;collaboration&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/coop" class="ztag" rel="tag"&gt;coop&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/google" class="ztag" rel="tag"&gt;google&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/search" class="ztag" rel="tag"&gt;search&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tagging" class="ztag" rel="tag"&gt;tagging&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/web" class="ztag" rel="tag"&gt;web&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114760069628465307?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114760069628465307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114760069628465307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114760069628465307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114760069628465307'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/google-co-op.html' title='Google Co-op'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114737391604382937</id><published>2006-05-11T10:55:00.000+03:00</published><updated>2006-05-11T21:58:36.190+03:00</updated><title type='text'>Windows Firewall Site</title><content type='html'> &lt;p&gt;A new &lt;a href="http://www.microsoft.com/technet/itsolutions/network/wf/default.mspx" target="_blank"&gt;Windows Firewall Site&lt;/a&gt; has been published, providing a central location for all the published resources on the Windows Firewall provided with Windows XP , Windows Server 2003, Windows Vista and Windows Server "Longhorn".&lt;/p&gt; &lt;p&gt;[Via &lt;a href="http://blogs.msdn.com/joe_davies/archive/2006/05/11/595497.aspx" target="_blank"&gt;Joe Davies's WebLog&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/firewall" class="ztag" rel="tag"&gt;firewall&lt;/a&gt;, &lt;a href="http://technorati.com/tag/resource" class="ztag" rel="tag"&gt;resource&lt;/a&gt;, &lt;a href="http://technorati.com/tag/site" class="ztag" rel="tag"&gt;site&lt;/a&gt;, &lt;a href="http://technorati.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/firewall" class="ztag" rel="tag"&gt;firewall&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/resource" class="ztag" rel="tag"&gt;resource&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/site" class="ztag" rel="tag"&gt;site&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/windows" class="ztag" rel="tag"&gt;windows&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114737391604382937?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114737391604382937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114737391604382937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114737391604382937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114737391604382937'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/windows-firewall-site.html' title='Windows Firewall Site'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114728318443987389</id><published>2006-05-10T09:43:00.000+03:00</published><updated>2006-05-10T20:48:32.163+03:00</updated><title type='text'>Wait control for ASP.NET</title><content type='html'> &lt;p&gt;&lt;span style="FONT-SIZE: 0.75em; FONT-FAMILY: Verdana"&gt;&lt;strong&gt;BusyBoxDotNet is a very useful ASP.NET user control for your web pages&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;"BusyBoxDotNet is an ASP.NET web control library. It is built for ASP.NET 1.1 but it is fully compatible with ASP.NET 2.0 and will soon be written especially for it. &lt;br/&gt; The main control is the BusyBox control, which can be used to show a customizable box inside web pages during time consuming activities, a very useful behavior especially during long processing tasks, in order to inform the user that something is actually happening. Typical time consuming tasks are file uploads, complex queries against databases, heavy load operations in application code, or heavy pages which require some time to be rendered by the browser. &lt;br/&gt; Among the new features, there's the option to show it on page loads, in case the pages takes a while to load and you want to notify the user that the loading process is still going." &lt;br/&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;BusyBoxDotNet Features:&lt;/strong&gt;&lt;/p&gt; &lt;ul class="yellow"&gt; &lt;li&gt;Ease of integration: no need to write javascript code, stylesheets or HTML, everything is embedded in a simple drag and drop control.&lt;/li&gt; &lt;li&gt;Cross browser compatibility . Tested with actual versions of Firefox/Mozilla, Internet Explorer, Opera, Netscape Navigator.&lt;/li&gt; &lt;li&gt;Many customization options.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://busybox.sourceforge.net/" target="_blank"&gt;Get BusyBoxDotNet&lt;/a&gt; &lt;br/&gt; &lt;br/&gt; Download animated images to use with BusyBoxDotNet. &lt;a href="http://mentalized.net/activity-indicators/" target="_blank"&gt;(1)&lt;/a&gt; &lt;a href="http://www.napyfab.com/ajax-indicators/" target="_blank"&gt;(2)&lt;/a&gt; &lt;br/&gt; &lt;br/&gt; Generate animated gifs on the fly, customizing shape, fore color and background color to use with BusyBoxDotNet. &lt;a href="http://www.ajaxload.info/" target="_blank"&gt;(1)&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/asp" class="ztag" rel="tag"&gt;asp&lt;/a&gt;, &lt;a href="http://technorati.com/tag/control" class="ztag" rel="tag"&gt;control&lt;/a&gt;, &lt;a href="http://technorati.com/tag/csharp" class="ztag" rel="tag"&gt;csharp&lt;/a&gt;, &lt;a href="http://technorati.com/tag/progress" class="ztag" rel="tag"&gt;progress&lt;/a&gt;, &lt;a href="http://technorati.com/tag/resourse" class="ztag" rel="tag"&gt;resourse&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/asp" class="ztag" rel="tag"&gt;asp&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/control" class="ztag" rel="tag"&gt;control&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/csharp" class="ztag" rel="tag"&gt;csharp&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/progress" class="ztag" rel="tag"&gt;progress&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/resourse" class="ztag" rel="tag"&gt;resourse&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114728318443987389?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114728318443987389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114728318443987389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114728318443987389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114728318443987389'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/wait-control-for-aspnet.html' title='Wait control for ASP.NET'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114716764091427361</id><published>2006-05-09T12:38:00.000+03:00</published><updated>2006-05-09T13:12:45.476+03:00</updated><title type='text'>Microsoft Bloggers List</title><content type='html'> &lt;ul&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/academicsearch"&gt;Academic Search Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/access/default.aspx"&gt;Access&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/antimalware/default.aspx"&gt;Anti-Malware&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/monicaboris/default.aspx"&gt;ASP.NET&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/azman/default.aspx"&gt;Authorization Manager Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/bitlocker/default.aspx"&gt;BitLocker Drive Encryption Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/BizTalk_Server_Team_Blog/"&gt;BizTalk Server 2006 Product Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/bpidcustomerresponseteam/default.aspx"&gt;BPID Customer Response Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/bsm/default.aspx"&gt;Business Scorecard Manager Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/clickonce/"&gt;ClickOnce Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/collabtools/"&gt;Collaboration Platform Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/default.aspx"&gt;Content Management Server (CMS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/crm/default.aspx"&gt;Customer Relationship Management (CRM) Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/ddcpxblg/default.aspx"&gt;DDCPX Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/dataaccess/"&gt;Data Access Team&lt;/a&gt; (Protocols, ODBC, OleDb, ADO, ADO.Net, JDBC, MDAC, SNAC, SQL)&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/dpm/default.aspx"&gt;Data Protection Manager&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/deskman/"&gt;Desktop Deployment&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/teamdhcp/default.aspx"&gt;DHCP Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/excel/"&gt;Excel&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/evand/default.aspx"&gt;Exchange Clustering&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msexchangeteam.com/"&gt;Exchange Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/expression/"&gt;Expression&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/finserv_blog/"&gt;Financial Service Services Group&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/pixelpoke/default.aspx"&gt;Flight Simulator&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/fontblog/default.aspx"&gt;Fonts &amp;amp; Typography&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/rmauceri/default.aspx"&gt;FrontPage 12&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/lisawoll/"&gt;FrontPage Developers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/frontpoint/"&gt;FrontPage / Sharepoint&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/hpc/default.aspx"&gt;High Performance Computing&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/mailCall/"&gt;Hotmail Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/industry_insiders/"&gt;The Industry Insiders&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/infopath/default.aspx"&gt;InfoPath Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/ie/default.aspx"&gt;Internet Explorer&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/iemobile/default.aspx"&gt;Internet Explorer Mobile Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/chrisad/default.aspx"&gt;Internet Information Server (IIS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/internetprotocols/default.aspx"&gt;Internet Protocols Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/isablog/"&gt;Internet Security and Acceleration (ISA) Server Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/livecom/PersonalSpace.aspx?_c="&gt;Live.COM&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/toml/default.aspx"&gt;Live Communications Server (LCS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/nadyne/default.aspx"&gt;Macintosh&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/max/default.aspx"&gt;Max&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/mscom/"&gt;Microsoft.COM Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/randyy/default.aspx"&gt;Microsoft Operations Framework (MOF)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/momteam/default.aspx"&gt;Microsoft Operations Manager (MOM)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/secguide/"&gt;Microsoft Solutions for Security and Compliance (MSSC) Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/mu/default.aspx"&gt;Microsoft Update Product Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/msbuild/default.aspx"&gt;MSBuild Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/msnsearch/default.aspx"&gt;MSN Search&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/hughewilliams/default.aspx"&gt;MSN Search Developers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/thespacecraft/"&gt;MSN Spaces&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/netcfteam/default.aspx"&gt;.NET Compact Framework Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/nap"&gt;Network Access Protection (NAP) Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://blogs.msdn.com/jensenh/"&gt;Office&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/erikaehrli/archive/2006/01/23/office12bloggers.aspx"&gt;Office 12 Teams&lt;/a&gt; (List)&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/officeliveblog/blog/"&gt;Office Live Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://origamiproject.com/blogs/team_blog/default.aspx"&gt;Origami (Ultra Mobile PC) Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/chris_pratley/"&gt;OneNote Developers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/willkennedy/"&gt;Outlook 12&lt;/a&gt; &amp;amp; &lt;a href="http://blogs.msdn.com/melissamacbeth/"&gt;"Tasks / Time Management"&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/waynekao/"&gt;PowerPoint&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/powertoys/default.aspx"&gt;PowerToys&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/dieterz/"&gt;Project&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/morello/default.aspx"&gt;Public Key Infrastructure (PKI)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/rayozzie/"&gt;Ray Ozzie - Microsoft CTO&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/recman/default.aspx"&gt;Records Management Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/rrasblog/default.aspx"&gt;Routing &amp;amp; Remote Access Service (RRAS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/rtcnews/"&gt;Real-Time Collaboration (RTC)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/rssteam"&gt;RSS Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/saptech/default.aspx"&gt;SAP Global Alliance Technology Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/steve_lamb/default.aspx"&gt;Security Matters&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/msrc/default.aspx"&gt;Security Response Center&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/jesper_johansson/default.aspx"&gt;Security Technology Unit&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint/"&gt;SharePoint&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/sbs/default.aspx"&gt;Small Business Server (SBS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/somasegar/default.aspx"&gt;Somasegar, VP Dev Tools&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/spokenword/archive/2005/11/30/498709.aspx"&gt;Speech-to-Text&lt;/a&gt; (List)&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/mssblog/archive/2006/04/04/568334.aspx"&gt;Speech Server Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/mat_stephen/default.aspx"&gt;Structured Query Language (SQL) Server&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/sqlprogrammability/"&gt;SQL Programmability &amp;amp; API Development Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/queryoptteam/default.aspx"&gt;SQL Server Query Optimization Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/sqlrem/default.aspx"&gt;SQL Server Relational Engine Management Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/mssqlisv/default.aspx"&gt;SQL ISV Program Management Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/smsperfguy/"&gt;Systems Management Server (SMS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/tabletpc/default.aspx"&gt;TabletPC&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/technetcontent/default.aspx"&gt;TechNet&lt;/a&gt; , &lt;a href="http://blogs.technet.com/techblog/default.aspx"&gt;Flash&lt;/a&gt; , &lt;a href="http://blogs.technet.com/tnmag/default.aspx"&gt;Magazine&lt;/a&gt; , &amp;amp; &lt;a href="http://blogs.technet.com/technetwebcasts/default.aspx"&gt;Webcasts&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/texttospeech/default.aspx"&gt;Text-to-Speech&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://spaces.msn.com/virtualEarth/"&gt;Virtual Earth Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/virtual_pc_guy/default.aspx"&gt;Virtual PC&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/megand/default.aspx"&gt;Virtual Server&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/mailant/"&gt;Visio&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/eric_rockey/default.aspx"&gt;Visio 12&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/vbteam/default.aspx"&gt;Visual Basic Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/askburton/default.aspx"&gt;Visual Studio 2005 Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsdata/default.aspx"&gt;Visual Studio Data Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/fxcop"&gt;Visual Studio Managed Code Analysis Team&lt;/a&gt; (FxCop)&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn.microsoft.com/vstudio/teamsystem/community/blogs/default.aspx"&gt;Visual Studio Team System Blogs&lt;/a&gt; (List)&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/webdevtools/"&gt;Web Development Tools Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/cenet/default.aspx"&gt;Windows CE Networking Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/david_bennett/default.aspx"&gt;Windows Communication Foundation (WCF - formally "Indigo")&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/filecab/default.aspx"&gt;Windows Core File Services&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/windows_installer_team/default.aspx"&gt;Windows Installer Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/david_fleischman/"&gt;Windows Media Center&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/windowsmobile/"&gt;Windows Mobile&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/jasonlan/default.aspx"&gt;Windows Mobile Enterprise&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell"&gt;Windows PowerShell&lt;/a&gt; (Formally "Monad")&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/rms/default.aspx"&gt;Windows Rights Management Services&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/windowssdk/"&gt;Windows SDK Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/kent_compton/default.aspx"&gt;Windows Server "Centro"&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/windowsserver/"&gt;Windows Server Division&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/wsus/default.aspx"&gt;Windows Server Update Services (WSUS)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.technet.com/jdzions/default.aspx"&gt;Windows &amp;amp; Unix since 1995&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/jsacks/archive/2006/01/31/520901.aspx"&gt;Windows Vista SDK&lt;/a&gt; (Coming Soon)&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/windowsvista/default.aspx"&gt;Windows Vista Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/brian_jones/default.aspx"&gt;Word&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/xbox/default.aspx"&gt;Xbox&lt;/a&gt; (Gamescore)&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.majornelson.com/"&gt;Xbox "Major Nelson"&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/xboxteam/"&gt;Xbox Team&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/xmlteam/default.aspx"&gt;XML Team&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;[Via &lt;a href="http://spaces.msn.com/bhandler/blog/cns!70F64BC910C9F7F3!699.entry" target="_blank"&gt;Blake Handler's Blog&lt;/a&gt;]&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/blog" class="ztag" rel="tag"&gt;blog&lt;/a&gt;, &lt;a href="http://technorati.com/tag/blogger" class="ztag" rel="tag"&gt;blogger&lt;/a&gt;, &lt;a href="http://technorati.com/tag/directory" class="ztag" rel="tag"&gt;directory&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/resources" class="ztag" rel="tag"&gt;resources&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/blog" class="ztag" rel="tag"&gt;blog&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/blogger" class="ztag" rel="tag"&gt;blogger&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/directory" class="ztag" rel="tag"&gt;directory&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/microsoft" class="ztag" rel="tag"&gt;microsoft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/resources" class="ztag" rel="tag"&gt;resources&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114716764091427361?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114716764091427361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114716764091427361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716764091427361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716764091427361'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/microsoft-bloggers-list.html' title='Microsoft Bloggers List'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114716415555779584</id><published>2006-05-09T11:40:00.000+03:00</published><updated>2006-05-09T11:42:35.560+03:00</updated><title type='text'>Internet Logger v1.1</title><content type='html'> &lt;p&gt;Save both incoming and outgoing Internet traffic (all data sent or received by browser: Internet Explorer, FireFox, Opera; email client: Outlook, Thunderbird; instant messenger: MSN, Yahoo, AOL, ICQ, Skype; media player and etc.) on the hard drive for future use.&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;a href="http://www.softx.org/downloads/InternetLogger.exe" target="_blank"&gt;Download Internet Logger(124 Kb)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/http" class="ztag" rel="tag"&gt;http&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/http" class="ztag" rel="tag"&gt;http&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114716415555779584?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114716415555779584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114716415555779584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716415555779584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716415555779584'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/internet-logger-v11.html' title='Internet Logger v1.1'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114716396624879438</id><published>2006-05-09T11:37:00.000+03:00</published><updated>2006-05-09T11:39:28.080+03:00</updated><title type='text'>HTTP Debugger</title><content type='html'> &lt;p&gt;Capture, analyze and debug all HTTP communications between the web browser on the client side and the web server on the other side. Internet software developers can use HTTP Debugger to analyze the communication between their programs and Internet.&lt;/p&gt; &lt;p&gt;Each HTTP transaction can be examined to see the HTTP header parameter values, cookies, query strings, error codes and etc. All captured network traffic can be saved either in RAW network format or decoded (how browsers see it) format. &lt;br/&gt; &lt;br/&gt; HTTP Debugger works with all today's alternative browsers and their plugins, as well as with your own software. You can even monitor and debug ICQ, MSN, Yahoo Messenger and other popular Internet programs.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;span&gt;Monitor and debug all outgoing HTTP requests from a browser (or any other selected program) and corresponding responses from a server.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;See the full header and content data of both: HTTP requests and responses.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;Catch when the browser performs automatic redirects.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;Capture requests from all of the installed plugins (Flash, ActiveX, etc.) in addition to requests sent by a browser directly.&lt;/span&gt; &lt;span&gt;Analyze the same page in all modern browsers simultaneously.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;Measure the size and downloading time of your web pages to optimize the performance of your web site.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;The gzip and chunked encodings will be automatically processed by the program.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;View information supplied by each web browser or any program when you visit a site.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;Analyze how other sites work and how they implement certain features.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;Learn about how HTTP works (useful for programming and web design cases).&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br/&gt; &lt;span&gt;&lt;a href="http://www.softx.org/downloads/HTTPDebugger.exe" target="_blank"&gt;Download HTTP Debugger (240 Kb)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/debug" class="ztag" rel="tag"&gt;debug&lt;/a&gt;, &lt;a href="http://technorati.com/tag/debuger" class="ztag" rel="tag"&gt;debuger&lt;/a&gt;, &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/http" class="ztag" rel="tag"&gt;http&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/debug" class="ztag" rel="tag"&gt;debug&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/debuger" class="ztag" rel="tag"&gt;debuger&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/http" class="ztag" rel="tag"&gt;http&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/tools" class="ztag" rel="tag"&gt;tools&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114716396624879438?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114716396624879438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114716396624879438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716396624879438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114716396624879438'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/http-debugger.html' title='HTTP Debugger'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114707555338794842</id><published>2006-05-08T11:03:00.000+03:00</published><updated>2006-05-08T11:05:53.433+03:00</updated><title type='text'>Refactoring Databases Website</title><content type='html'> &lt;p&gt;The newly updated &lt;a href="http://www.databaserefactoring.com/" target="_blank"&gt;Refactoring Databases Website&lt;/a&gt; by &lt;a href="http://www.ambysoft.com/scottAmbler.html" target="_blank"&gt;Scott W. Ambler&lt;/a&gt; and &lt;a href="http://www.databaserefactoring.com/PramodSadalage.html" target="_blank"&gt;Pramodkumar J. Sadalage&lt;/a&gt; is a excellent resource for DB developer.The authors introduce powerful refactoring techniques specifically designed for database systems.The authors demonstrate how small changes to table structures, data, stored procedures, and triggers can significantly enhance any database design-without changing semantics. You'll learn how to evolve database schemas in step with source code-and become far more effective in projects relying on iterative, agile methodologies .&lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;DB Refactoring techniques and strategies&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.databaserefactoring.com/AddCRUDMethods.html" target="_blank"&gt;Add CRUD Methods&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/AddForeignKey.html" target="_blank"&gt;Add Foreign Key Constraint&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/AddLookupTable.html" target="_blank"&gt;Add Lookup Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/AddMirrorTable.html" target="_blank"&gt;Add Mirror Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/AddReadMethod.html" target="_blank"&gt;Add Read Method&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/AddTriggerForCalculatedColumn.html" target="_blank"&gt;Add Trigger for Calculated Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ApplyStandardCodes.html" target="_blank"&gt;Apply Standard Codes&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ApplyStandardType.html" target="_blank"&gt;Apply Standard Type&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ConsolidateKeyStrategy.html" target="_blank"&gt;Consolidate Key Strategy&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveColumn.html" target="_blank"&gt;Drop Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveColumnConstraint.html" target="_blank"&gt;Drop Column Constraint&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveDefaultValue.html" target="_blank"&gt;Drop Default Value&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveForeignKey.html" target="_blank"&gt;Drop Foreign Key Constraint&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveNonNullable.html" target="_blank"&gt;Drop Non Nullable&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveTable.html" target="_blank"&gt;Drop Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RemoveView.html" target="_blank"&gt;Drop View&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/EncapsulateTableWithView.html" target="_blank"&gt;Encapsulate Table With View&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceCalculatedColumn.html" target="_blank"&gt;Introduce Calculated Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceCalculationMethod.html" target="_blank"&gt;Introduce Calculation Method&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceCascadingDelete.html" target="_blank"&gt;Introduce Cascading Delete&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceColumnConstraint.html" target="_blank"&gt;Introduce Column Constraint&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceCommonFormat.html" target="_blank"&gt;Introduce Common Format&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceDefaultValue.html" target="_blank"&gt;Introduce Default Value&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceHardDelete.html" target="_blank"&gt;Introduce Hard Delete&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceIndex.html" target="_blank"&gt;Introduce Index&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceReadOnlyTable.html" target="_blank"&gt;Introduce Read Only Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceSoftDelete.html" target="_blank"&gt;Introduce Soft Delete&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceSurrogateKey.html" target="_blank"&gt;Introduce Surrogate Key&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/IntroduceTriggerForHistory.html" target="_blank"&gt;Introduce Trigger for History&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MakeColumnNonNullable.html" target="_blank"&gt;Make Column Non Nullable&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MergeColumns.html" target="_blank"&gt;Merge Columns&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MergeTables.html" target="_blank"&gt;Merge Tables&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MigrateMethodFromDatabase.html" target="_blank"&gt;Migrate Method From Database&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MigrateMethodToDatabase.html" target="_blank"&gt;Migrate Method To Database&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MoveColumn.html" target="_blank"&gt;Move Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/MoveData.html" target="_blank"&gt;Move Data&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RenameColumn.html" target="_blank"&gt;Rename Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RenameTable.html" target="_blank"&gt;Rename Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/RenameView.html" target="_blank"&gt;Rename View&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceBlobWithTable.html" target="_blank"&gt;Replace LOB With Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceColumn.html" target="_blank"&gt;Replace Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceMethodWithView.html" target="_blank"&gt;Replace Method(s) With View&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceOneToMany.html" target="_blank"&gt;Replace One-To-Many With Associative Tables&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceSurrogateKeyWithNaturalKey.html" target="_blank"&gt;Replace Surrogate Key With Natural Key&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceTypeCodeWithBooleans.html" target="_blank"&gt;Replace Type Code With Property Flags&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/ReplaceViewWithMethods.html" target="_blank"&gt;Replace View With Methods(s)&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/SplitColumns.html" target="_blank"&gt;Split Column&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/SplitTable.html" target="_blank"&gt;Split Table&lt;/a&gt; &lt;br/&gt; &lt;a href="http://www.databaserefactoring.com/UseOfficialDataSource.html" target="_blank"&gt;Use Official Data Source&lt;/a&gt; &lt;br/&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/agile" class="ztag" rel="tag"&gt;agile&lt;/a&gt;, &lt;a href="http://technorati.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;, &lt;a href="http://technorati.com/tag/design" class="ztag" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://technorati.com/tag/mssql" class="ztag" rel="tag"&gt;mssql&lt;/a&gt;, &lt;a href="http://technorati.com/tag/oracle" class="ztag" rel="tag"&gt;oracle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/patterns" class="ztag" rel="tag"&gt;patterns&lt;/a&gt;, &lt;a href="http://technorati.com/tag/refactoring" class="ztag" rel="tag"&gt;refactoring&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sql" class="ztag" rel="tag"&gt;sql&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/agile" class="ztag" rel="tag"&gt;agile&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/db" class="ztag" rel="tag"&gt;db&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/design" class="ztag" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/mssql" class="ztag" rel="tag"&gt;mssql&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/oracle" class="ztag" rel="tag"&gt;oracle&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/patterns" class="ztag" rel="tag"&gt;patterns&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/refactoring" class="ztag" rel="tag"&gt;refactoring&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/sql" class="ztag" rel="tag"&gt;sql&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114707555338794842?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114707555338794842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114707555338794842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114707555338794842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114707555338794842'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/refactoring-databases-website.html' title='Refactoring Databases Website'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114695465559083853</id><published>2006-05-06T14:28:00.000+03:00</published><updated>2006-05-07T01:30:55.640+03:00</updated><title type='text'>Visual Studio 2005 Code Snippets</title><content type='html'> &lt;p&gt;Code Snippets are reusable, task-oriented blocks of code.You can download the Visual C# code snippets by clicking on the categories below.&lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;ul&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57396&amp;amp;clcid=0x409" target="_blank"&gt;Application Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For working with Isolated Storage, ClickOnce tasks, Console Applications and Process Management.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57397&amp;amp;clcid=0x409" target="_blank"&gt;Collections and Arrays Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For tasks like creating, iterating, locating elements, and sorting collections like arrays and dictionaries.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57399&amp;amp;clcid=0x409" target="_blank"&gt;Connectivity Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For checking network status, downloading a file via HTTP, performing serial port operations, sending email and more.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57400&amp;amp;clcid=0x409" target="_blank"&gt;Crystal Reports Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For common reporting tasks such as printing a Crystal Report, setting report parameters, and configuring report data access.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57401&amp;amp;clcid=0x409" target="_blank"&gt;Database Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For performing a variety of common tasks around ADO.NET data access.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57402&amp;amp;clcid=0x409" target="_blank"&gt;Datatypes Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For various string conversions, date spanning operations, and other type-focused operations.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57403&amp;amp;clcid=0x409" target="_blank"&gt;File System Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For performing a number of tasks around reading, writing, and managing files.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57404&amp;amp;clcid=0x409" target="_blank"&gt;Math Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For calculating monthly payments, depreciation, sines, cosines, and random numbers.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57405&amp;amp;clcid=0x409" target="_blank"&gt;Operating System Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;A large collection of snippets for Event logging, Message Queues, Process management, registry access, windows services, getting system information and more.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57406&amp;amp;clcid=0x409" target="_blank"&gt;Security Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For working with hashes, decrypting, encrypting, and getting a user's name.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57407&amp;amp;clcid=0x409" target="_blank"&gt;Smart Devices Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For performing common tasks on Smart Devices.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57408&amp;amp;clcid=0x409" target="_blank"&gt;Windows Forms Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For working with the clipboard, fonts, sounds, GDI drawing, and general Windows Form and control creation.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;li class="gray"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://go.microsoft.com/fwlink/?linkid=57409&amp;amp;clcid=0x409" target="_blank"&gt;XML Code Snippets&lt;/a&gt; &lt;p&gt;&lt;span style="COLOR: #000000"&gt;For reading and writing XML, selecting nodes, performing XSL transforms, and other XML oriented tasks.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/2005" class="ztag" rel="tag"&gt;2005&lt;/a&gt;, &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/refactoring" class="ztag" rel="tag"&gt;refactoring&lt;/a&gt;, &lt;a href="http://technorati.com/tag/reuse" class="ztag" rel="tag"&gt;reuse&lt;/a&gt;, &lt;a href="http://technorati.com/tag/snippets" class="ztag" rel="tag"&gt;snippets&lt;/a&gt;, &lt;a href="http://technorati.com/tag/source" class="ztag" rel="tag"&gt;source&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vs" class="ztag" rel="tag"&gt;vs&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a href="http://blogs.icerocket.com/tag/2005" class="ztag" rel="tag"&gt;2005&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/refactoring" class="ztag" rel="tag"&gt;refactoring&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/reuse" class="ztag" rel="tag"&gt;reuse&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/snippets" class="ztag" rel="tag"&gt;snippets&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/source" class="ztag" rel="tag"&gt;source&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/tag/vs" class="ztag" rel="tag"&gt;vs&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114695465559083853?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114695465559083853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114695465559083853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114695465559083853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114695465559083853'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/visual-studio-2005-code-snippets.html' title='Visual Studio 2005 Code Snippets'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114673647424615820</id><published>2006-05-04T12:52:00.000+03:00</published><updated>2006-05-04T12:54:34.293+03:00</updated><title type='text'>CSS Layout Resource</title><content type='html'> &lt;p&gt;This is a &lt;a href="http://blog.html.it/layoutgala/" target="_blank"&gt;collection of 40 valid CSS layouts&lt;/a&gt;,without hacks nor workaround and tested to work in IE, FireFox, Safari and Opera.&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/FireFox" class="ztag" rel="tag"&gt;FireFox&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Html" class="ztag" rel="tag"&gt;Html&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Safari" class="ztag" rel="tag"&gt;Safari&lt;/a&gt;, &lt;a href="http://technorati.com/tag/collection" class="ztag" rel="tag"&gt;collection&lt;/a&gt;, &lt;a href="http://technorati.com/tag/css" class="ztag" rel="tag"&gt;css&lt;/a&gt;, &lt;a href="http://technorati.com/tag/design" class="ztag" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ie" class="ztag" rel="tag"&gt;ie&lt;/a&gt;, &lt;a href="http://technorati.com/tag/layout" class="ztag" rel="tag"&gt;layout&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114673647424615820?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114673647424615820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114673647424615820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114673647424615820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114673647424615820'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/css-layout-resource.html' title='CSS Layout Resource'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114672532289582508</id><published>2006-05-04T09:46:00.000+03:00</published><updated>2006-05-04T10:08:52.336+03:00</updated><title type='text'>The Microsoft Consolas Font Family</title><content type='html'> &lt;p&gt;The Microsoft Consolas Font Family is a set of highly legible fonts designed for ClearType. It is intended for use in programming environments and other circumstances where a monospaced font is specified.All characters have the same width, like old typewriters, making it a good choice for personal and business correspondence. Optimizing the font specifically for ClearType allowed a design with proportions closer to normal text than traditional monospaced fonts like Courier. This allows for more comfortable reading of extended text on-screen.&lt;/p&gt; &lt;p&gt;&lt;br/&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&amp;amp;displaylang=en" target="_blank"&gt;Download Consolas Font Pack for Microsoft Visual Studio 2005&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/cleartype" class="ztag" rel="tag"&gt;cleartype&lt;/a&gt;, &lt;a href="http://technorati.com/tag/font" class="ztag" rel="tag"&gt;font&lt;/a&gt;, &lt;a href="http://technorati.com/tag/programng" class="ztag" rel="tag"&gt;programng&lt;/a&gt;, &lt;a href="http://technorati.com/tag/reading" class="ztag" rel="tag"&gt;reading&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114672532289582508?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114672532289582508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114672532289582508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114672532289582508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114672532289582508'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/microsoft-consolas-font-family.html' title='The Microsoft Consolas Font Family'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114666544138331328</id><published>2006-05-03T06:08:00.000+03:00</published><updated>2006-05-03T17:10:59.486+03:00</updated><title type='text'>Download the video you are watching .</title><content type='html'> &lt;p&gt;Special plugin for Firefox Browser makes possible to save video from the online services to the hard disk for the local watching.&lt;/p&gt; &lt;p&gt;Services supported: &lt;br/&gt; Youtube, Google Video, iFilm, Metacafe, Dailymotion, Myspace, Angry Alien, AnimeEpisodes.Net, Badjojo, Blastro, Blennus, Blip.tv, Bofunk, Bolt, Break.com, Castpost, CollegeHumor, Current TV, Dachix, Danerd, DailySixer.com, DevilDucky, Double Agent, eVideoShare, EVTV1, FindVideos, Free Video Blog, Grinvi, Grouper, Hiphopdeal, Kontraband, Lulu TV, Midis.biz, Music.com, MusicVideoCodes.info, MySpace Video Code, Newgrounds, NothingToxic, PcPlanets, Pixparty, PlsThx, Putfile, Revver, Sharkle, SmitHappens, StreetFire, That Video Site, TotallyCrap, VideoCodes4U, VideoCodesWorld, VideoCodeZone, vidiLife, Vimeo, vSocial, Yikers, ZippyVideos... and any other webpage with embedded objects. &lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="https://addons.mozilla.org/firefox/2390/"&gt;Get VideoDownloader&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/addin" class="ztag" rel="tag"&gt;addin&lt;/a&gt;, &lt;a href="http://technorati.com/tag/firefox" class="ztag" rel="tag"&gt;firefox&lt;/a&gt;, &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/plugin" class="ztag" rel="tag"&gt;plugin&lt;/a&gt;, &lt;a href="http://technorati.com/tag/service" class="ztag" rel="tag"&gt;service&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tag/video" class="ztag" rel="tag"&gt;video&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114666544138331328?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114666544138331328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114666544138331328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114666544138331328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114666544138331328'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/download-video-you-are-watching.html' title='Download the video you are watching .'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114666371506818359</id><published>2006-05-03T05:39:00.000+03:00</published><updated>2006-05-03T16:41:55.090+03:00</updated><title type='text'>Software modeling platform - StarUML</title><content type='html'> &lt;p&gt;StarUML is a software modeling platform that supports UML (Unified Modeling Language). It is based on UML version 1.4 and provides eleven different types of diagram, and it accepts UML 2.0 notation. It actively supports the MDA (Model Driven Architecture) approach by supporting the UML profile concept. StarUML excels in customizability to the user's environment and has a high extensibility in its functionality. Using StarUML, one of the top leading software modeling tools, will guarantee to maximize the productivity and quality of your software projects.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;UML Tool that Adapts to the User&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;StarUML provides maximum customization to the user's environment by offering customizing variables that can be applied in the user's software development methodology, project platform, and language.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;True MDA Support&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Software architecture is a critical process that can reach 10 years or more into the future. The intention of the OMG (Object Management Group) is to use MDA (Model Driven Architecture) technology to create platform independent models and allow automatic acquisition of platform dependent models or codes from platform independent models. StarUML truly complies with UML 1.4 standards, UML 2.0 notation and provides the UML Profile concept, allowing creation of platform independent models. Users can easily obtain their end products through simple template document.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Excellent Extensibility and Flexibility&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;StarUML provides excellent extensibility and flexibility. It provides Add-In frameworks for extending the functionality of the tool. It is designed to allow access to all functions of the model/meta-model and tool through COM Automation, and it provides extension of menu and option items. Also, users can create their own approaches and frameworks according to their methodologies. The tool can also be integrated with any external tools.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.staruml.com/LinkClick.aspx?link=http%3a%2f%2fwww.staruml.com%2fDefault.aspx%3ftabid%3d314&amp;amp;tabid=36&amp;amp;mid=1040" target="_blank"&gt;Download Now! (StarUML 5.0 Official Stable)&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/mda" class="ztag" rel="tag"&gt;mda&lt;/a&gt;, &lt;a href="http://technorati.com/tag/modeling" class="ztag" rel="tag"&gt;modeling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/opensource" class="ztag" rel="tag"&gt;opensource&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tag/uml" class="ztag" rel="tag"&gt;uml&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114666371506818359?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114666371506818359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114666371506818359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114666371506818359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114666371506818359'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/software-modeling-platform-staruml.html' title='Software modeling platform - StarUML'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114655932003795911</id><published>2006-05-02T11:39:00.000+03:00</published><updated>2006-05-02T11:42:00.040+03:00</updated><title type='text'>GmailSync - command line backup utility</title><content type='html'> &lt;p&gt;GmailSync is a command line backup utility synchronize files on your PC to your gmail.GmailSync keeps track of the backed up files therefore it only does the differential backup.&lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/nleghari/articles/gmailbackup.aspx" target="_blank"&gt;Download GmailSync&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/backup" class="ztag" rel="tag"&gt;backup&lt;/a&gt;, &lt;a href="http://technorati.com/tag/cli" class="ztag" rel="tag"&gt;cli&lt;/a&gt;, &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/gmail" class="ztag" rel="tag"&gt;gmail&lt;/a&gt;, &lt;a href="http://technorati.com/tag/synchronization" class="ztag" rel="tag"&gt;synchronization&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114655932003795911?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114655932003795911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114655932003795911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114655932003795911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114655932003795911'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/gmailsync-command-line-backup-utility.html' title='GmailSync - command line backup utility'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114648137387219417</id><published>2006-05-01T14:00:00.000+03:00</published><updated>2006-05-01T14:05:11.426+03:00</updated><title type='text'>Data paging in the database (an Gentle.NET approach)</title><content type='html'>&lt;p&gt;This post will show you how to do really simple data paging in Gentle.Net ORM Framework&lt;br /&gt;Lets say you have 1000 rows of data and you only want to view 100 rows at a time ,&lt;br /&gt;you will need to page trough the data a 10 times, each time you page you view a set of records.&lt;/p&gt;&lt;p&gt;User Table&lt;br /&gt;The table in my example is presented in script below.This table will contain the data which will be paged.&lt;/p&gt;&lt;p&gt;CREATE TABLE [Users] (&lt;br /&gt;[UserId] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,&lt;br /&gt;[UserName] [varchar] (25) ,&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;GO&lt;/p&gt;&lt;p&gt;User class&lt;br /&gt;The User class is taken from Gentle.Net manual&lt;/p&gt;&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; BACKGROUND: white; BORDER-BOTTOM-WIDTH: 1pt; BORDER-BOTTOM-COLOR: windowtext; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0pt" size="10pt" color="black"&gt;&lt;p style="MARGIN: 0px"&gt;[TableName("Users")]&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; User&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; userId;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; userName;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; User(&lt;span style="color:blue;"&gt;int&lt;/span&gt; userId, &lt;span style="color:blue;"&gt;string&lt;/span&gt; userName)&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.userId = userId;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;.userName = userName;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;[TableColumn("UserId"), PrimaryKey]&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Id&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; userId;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;userId = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;[TableColumn(NotNull=&lt;span style="color:blue;"&gt;true&lt;/span&gt;)]&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Name&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; userName;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Our final function will looks like this:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; BORDER-BOTTOM-WIDTH: 1pt; BORDER-BOTTOM-COLOR: windowtext; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt"&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:green;"&gt;Reads the user entries from underline datastore.&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;param name="pageRecords"&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;Amount of records in the page&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;param name="page"&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;Current page namber&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;param name="totalRecords"&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;Total records.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt; &lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; IList ReadUser( &lt;span style="color:blue;"&gt;int&lt;/span&gt; pageRecords, &lt;span style="color:blue;"&gt;int&lt;/span&gt; page, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; totalRecords)&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;// create count query&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;SqlBuilder sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SqlBuilder(&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;StatementType.Count,&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;typeof&lt;/span&gt; (User));&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;// get total row count&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;SqlStatement stmt = sb.GetStatement(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;totalRecords = stmt.Execute().Count;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;// create select query&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SqlBuilder(&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;StatementType.Select,&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;typeof&lt;/span&gt; (User));&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;// add sorting by UserName if nessesary&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;//sb.AddOrderByField(true, "UserName");&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;sb.SetRowLimit(pageRecords);&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;stmt = sb.GetStatement(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;SqlResult sqlResult = stmt.Execute();&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;IList list =&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;ObjectFactory.GetCollection(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt; (User), sqlResult.Page(page));&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; list;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;&lt;/div&gt;&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/c#" rel="tag"&gt;c#&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/csharp" rel="tag"&gt;csharp&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/database" rel="tag"&gt;database&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/gentle.net" rel="tag"&gt;gentle.net&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/opensource" rel="tag"&gt;opensource&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/source" rel="tag"&gt;source&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114648137387219417?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114648137387219417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114648137387219417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114648137387219417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114648137387219417'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/05/data-paging-in-database-ge_114648137387219417.html' title='Data paging in the database (an Gentle.NET approach)'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114638302216200261</id><published>2006-04-30T10:41:00.000+03:00</published><updated>2007-01-12T16:45:32.616+02:00</updated><title type='text'>Opening URL  from within the C# program</title><content type='html'>&lt;p&gt;Use this function to retrieve path of default browser&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Reads path of default browser from registry&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; GetDefaultBrowserPath()&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; key = @"htmlfile\shell\open\command";&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;RegistryKey registryKey =&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Registry.ClassesRoot.OpenSubKey(key, &lt;span style="COLOR: blue"&gt;false&lt;/span&gt;);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// get default browser path&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; ((&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;) registryKey.GetValue(&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)).Split('"')[1];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p&gt;Opens URL in default browser from within the C# program.&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; defaultBrowserPath = GetDefaultBrowserPath();&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;try&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// launch default browser&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Process.Start(defaultBrowserPath, "http://www.yahoo.com");&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;catch&lt;/span&gt; (Exception exp)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;MessageBox.Show(exp.Message);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p&gt;&lt;br/&gt;&lt;/p&gt; &lt;p&gt;&lt;br/&gt; Opens URL in separate instance of default browser from within the C# program.&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: green"&gt;// open URL in separate instance of default browser&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;Process p = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; Process();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;p.StartInfo.FileName = GetDefaultBrowserPath();&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;p.StartInfo.Arguments = "http://www.yahoo.com";&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;p.Start();&lt;/p&gt; &lt;/div&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/IE" class="ztag" rel="tag"&gt;IE&lt;/a&gt;, &lt;a href="http://technorati.com/tag/URL" class="ztag" rel="tag"&gt;URL&lt;/a&gt;, &lt;a href="http://technorati.com/tag/browser" class="ztag" rel="tag"&gt;browser&lt;/a&gt;, &lt;a href="http://technorati.com/tag/c%23" class="ztag" rel="tag"&gt;c#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dotnet" class="ztag" rel="tag"&gt;dotnet&lt;/a&gt;, &lt;a href="http://technorati.com/tag/snippet" class="ztag" rel="tag"&gt;snippet&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114638302216200261?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114638302216200261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114638302216200261' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114638302216200261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114638302216200261'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/opening-url-from-within-c-program.html' title='Opening URL  from within the C# program'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114613587485087160</id><published>2006-04-27T14:02:00.000+03:00</published><updated>2006-04-27T14:13:40.813+03:00</updated><title type='text'>Zoundry Blog Writer</title><content type='html'>&lt;p&gt;The &lt;strong&gt;Zoundry Blog Writer&lt;/strong&gt; is a blog editor that makes editing and manging your posts across your blogs simpler and faster.It's as easy to use as a word processor, also it contains smart tools to add links, tags, photos, music and video files, and many more.I've summarized some of the coolest features of Zoundry Blog Writer.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="LIST-STYLE-TYPE: none"&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Drag and drop support for pictures, image tags, links, and text from your computer and the Web&lt;/li&gt;&lt;li&gt;Automatically integrate product search&lt;/li&gt;&lt;li&gt;Integrated Tagging for IceRocket, Technorati, Flikr etc.&lt;/li&gt;&lt;li&gt;Create links to Google, Technorati, etc.&lt;/li&gt;&lt;li&gt;Template based preview&lt;/li&gt;&lt;li&gt;Spellcheck&lt;/li&gt;&lt;li&gt;Support for BlogThis via browser toolbar plug-in&lt;/li&gt;&lt;li&gt;Open and edit existing html file on your computer&lt;/li&gt;&lt;li&gt;Save post as a file to your computer&lt;/li&gt;&lt;li&gt;Automatic thumbnailing of pictures&lt;/li&gt;&lt;li&gt;Picture style settings - change border, dimensions, margins, alignment easily.&lt;/li&gt;&lt;li&gt;Automatically create podcast enclosures when you drag and drop MP3 files&lt;/li&gt;&lt;li&gt;Media repository that uploads pictures and podcast files&lt;/li&gt;&lt;li&gt;Upload pictures using FTP&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.zoundry.com/download.html" target="_blank"&gt;Download Zoundry Blog Writer&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114613587485087160?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114613587485087160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114613587485087160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114613587485087160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114613587485087160'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/zoundry-blog-writer.html' title='Zoundry Blog Writer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114597815424094020</id><published>2006-04-25T18:13:00.000+03:00</published><updated>2007-01-29T22:54:14.296+02:00</updated><title type='text'>Convert .Net Type to SqlDbType or DbType and vise versa</title><content type='html'> &lt;p&gt;This class can be useful when you make conversion between types .The class supports conversion between .Net Type , SqlDbType and DbType .&lt;/p&gt;  &lt;br/&gt; &lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Collections;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;using&lt;/span&gt; System.Data;&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;namespace&lt;/span&gt; Devintelligence.Common.Data&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert a base data type to another base data type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;sealed&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; TypeConvertor&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;struct&lt;/span&gt; DbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Type Type;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; DbType DbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlDbType SqlDbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; DbTypeMapEntry( Type type, DbType dbType, SqlDbType sqlDbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.Type = type;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.DbType = dbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.SqlDbType = sqlDbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;};&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; ArrayList _DbTypeList = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; ArrayList();&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;#region&lt;/span&gt; Constructors&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt; TypeConvertor()&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;bool&lt;/span&gt;), DbType.Boolean , SqlDbType.Bit);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;byte&lt;/span&gt;), DbType.Double , SqlDbType.TinyInt);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;byte&lt;/span&gt;[]), DbType.Binary , SqlDbType.Image);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(DateTime), DbType.DateTime , SqlDbType.DateTime);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(Decimal), DbType.Decimal , SqlDbType.Decimal);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;double&lt;/span&gt;), DbType.Double , SqlDbType.Float);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(Guid), DbType.Guid , SqlDbType.UniqueIdentifier);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(Int16), DbType.Int16 , SqlDbType.SmallInt);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(Int32), DbType.Int32 , SqlDbType.Int);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(Int64), DbType.Int64 , SqlDbType.BigInt);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;), DbType.Object , SqlDbType.Variant);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;dbTypeMapEntry&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; DbTypeMapEntry(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;), DbType.String , SqlDbType.VarChar);&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;_DbTypeList.Add( dbTypeMapEntry );&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; TypeConvertor()&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;#endregion&lt;/span&gt;&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;#region&lt;/span&gt; Methods&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert db type to .Net data type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="dbType"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; Type ToNetType(DbType dbType)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( dbType );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.Type;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert TSQL type to .Net data type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="sqlDbType"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; Type ToNetType(SqlDbType sqlDbType)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( sqlDbType );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.Type;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert .Net type to Db type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="type"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; DbType ToDbType( Type type )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( type );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.DbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert TSQL data type to DbType&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="sqlDbType"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; DbType ToDbType( SqlDbType sqlDbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( sqlDbType );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.DbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert .Net type to TSQL data type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="type"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; SqlDbType ToSqlDbType( Type type )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( type );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.SqlDbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: green"&gt;Convert DbType type to TSQL data type&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;param name="dbType"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt; &lt;span style="COLOR: gray"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; SqlDbType ToSqlDbType( DbType dbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = Find( dbType );&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; entry.SqlDbType;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; DbTypeMapEntry Find( Type type )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; retObj = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;for&lt;/span&gt;( &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i=0; i&amp;lt;_DbTypeList.Count; i++ )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = (DbTypeMapEntry)_DbTypeList[i];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;( entry.Type == type )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;retObj = entry;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;(retObj==&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;throw&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; ApplicationException("Referenced an unsupported Type");&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (DbTypeMapEntry)retObj;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; DbTypeMapEntry Find( DbType dbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; retObj = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;for&lt;/span&gt;( &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i=0; i&amp;lt;_DbTypeList.Count; i++ )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = (DbTypeMapEntry)_DbTypeList[i];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;( entry.DbType == dbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;retObj = entry;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;(retObj==&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;throw&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; ApplicationException("Referenced an unsupported DbType");&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (DbTypeMapEntry)retObj;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; DbTypeMapEntry Find( SqlDbType sqlDbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; retObj = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;for&lt;/span&gt;( &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i=0; i&amp;lt;_DbTypeList.Count; i++ )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;DbTypeMapEntry entry = (DbTypeMapEntry)_DbTypeList[i];&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;( entry.SqlDbType == sqlDbType )&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;retObj = entry;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;(retObj==&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;{&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;throw&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; ApplicationException("Referenced an unsupported SqlDbType");&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (DbTypeMapEntry)retObj;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt;  &lt;br/&gt; &lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: blue"&gt;#endregion&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;p style="MARGIN: 0px"&gt;}&lt;/p&gt; &lt;/div&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/code" class="ztag" rel="tag"&gt;code&lt;/a&gt;, &lt;a href="http://technorati.com/tag/database" class="ztag" rel="tag"&gt;database&lt;/a&gt;, &lt;a href="http://technorati.com/tag/dataset" class="ztag" rel="tag"&gt;dataset&lt;/a&gt;, &lt;a href="http://technorati.com/tag/net" class="ztag" rel="tag"&gt;net&lt;/a&gt;, &lt;a href="http://technorati.com/tag/snippet" class="ztag" rel="tag"&gt;snippet&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114597815424094020?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114597815424094020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114597815424094020' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114597815424094020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114597815424094020'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/convert-net-type-to-sqldbtype-or.html' title='Convert .Net Type to SqlDbType or DbType and vise versa'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114582346559996912</id><published>2006-04-23T12:15:00.000+03:00</published><updated>2006-04-23T23:17:45.603+03:00</updated><title type='text'>Google Sitemap Generator</title><content type='html'> &lt;strong&gt;Introduction&lt;/strong&gt; &lt;p&gt;A simple and easy to use Sitemap Generator tool to help you make Google sitemaps.&lt;/p&gt; &lt;strong&gt;Current feature list&lt;/strong&gt; &lt;br/&gt; &lt;p&gt;The following features are currently included in Sitemap Generator:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Crawl website based on known URL&lt;/li&gt; &lt;li&gt;Edit the list of collected URLs Edit priority and frequency data per URL&lt;/li&gt; &lt;li&gt;Only working URLs are automatically included in the listing&lt;/li&gt; &lt;li&gt;Automatically create sitemap files&lt;/li&gt; &lt;li&gt;Automatically gzip sitemap files&lt;/li&gt; &lt;li&gt;Automatically upload sitemap files by FTP&lt;/li&gt; &lt;/ul&gt;  &lt;br/&gt; &lt;strong&gt;Screen shots&lt;/strong&gt; &lt;p&gt;&lt;a href="http://www.devintelligence.com/sitemapgenerator/Sitemap%20Generator-Main.png" target="_blank"&gt;&lt;img width="308" height="335" border="0" src="http://www.devintelligence.com/sitemapgenerator/Sitemap%20Generator-Main-thumb.png"/&gt;&lt;/a&gt; &lt;a href="http://www.devintelligence.com/sitemapgenerator/Sitemap%20Generator-Links.png" target="_blank"&gt;&lt;img width="308" height="335" border="0" src="http://www.devintelligence.com/sitemapgenerator/Sitemap%20Generator-Links-thumb.png"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.devintelligence.com/downloads/Sitemap%20Gen-1.0.0.0-Setup_zip.aspx"&gt;Download Google Sitemap Generator&lt;/a&gt;&lt;/p&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/google" class="ztag" rel="tag"&gt;google&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sitemap" class="ztag" rel="tag"&gt;sitemap&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;, &lt;a href="http://technorati.com/tag/util" class="ztag" rel="tag"&gt;util&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114582346559996912?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114582346559996912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114582346559996912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114582346559996912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114582346559996912'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/google-sitemap-generator.html' title='Google Sitemap Generator'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114582328969106359</id><published>2006-04-23T12:12:00.000+03:00</published><updated>2006-04-24T11:59:37.903+03:00</updated><title type='text'>Log4Net Viewer 0.7</title><content type='html'>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Log4Net Viewer is a GUI log viewer and filter for the Log4Net library. By default it listens for LoggingEvent objects sent using the UdpAppender and displays them in a table.&lt;/p&gt;&lt;p&gt;The events can be filtered based on:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Level&lt;/li&gt;&lt;li&gt;Logger&lt;/li&gt;&lt;li&gt;Message&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All the details for each event can be displayed by selecting the event in the table.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Screen shot&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;img style="DISPLAY: inline; WIDTH: 400px; HEIGHT: 302px" height="302" src="http://devintelligence.com/blog-images/114586504718.jpg" width="400" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.devintelligence.com/downloads/Log4Net%20Viewer_0_7_0_0_zip.aspx"&gt;Download Log4Net Viewer 0.7&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114582328969106359?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114582328969106359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114582328969106359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114582328969106359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114582328969106359'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/log4net-viewer-07.html' title='Log4Net Viewer 0.7'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26787890.post-114581862392581592</id><published>2006-04-23T10:54:00.000+03:00</published><updated>2006-04-23T22:06:06.746+03:00</updated><title type='text'>The universal freeware editor - PSPad</title><content type='html'> &lt;strong&gt;PSPad editor&lt;/strong&gt; &lt;p&gt;The universal freeware editor is for you if you need to:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;work with plain text - the editor has a wealth of formatting functions, including a spell checker&lt;/li&gt; &lt;li&gt;create web pages - as web authoring editor, PSPad contains many unique tools to save your time&lt;/li&gt; &lt;li&gt;use a good IDE for your compiler - editor PSPad catch and parse compiler output, integrate external help files, compare versions, and much more...&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.pspad.com/img/screen/mainfull.png"&gt;&lt;img src="http://www.pspad.com/img/screen/tn_mainfull.jpg" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 159px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 120px" width="159" alt="mainfull.png" height="120"/&gt;&lt;/a&gt; &lt;a href="http://www.pspad.com/img/screen/mainmini.png"&gt;&lt;img src="http://www.pspad.com/img/screen/tn_mainmini.jpg" style="BORDER-RIGHT: rgb(0,0,0) 0px solid; BORDER-TOP: rgb(0,0,0) 0px solid; DISPLAY: inline; BORDER-LEFT: rgb(0,0,0) 0px solid; WIDTH: 159px; BORDER-BOTTOM: rgb(0,0,0) 0px solid; HEIGHT: 120px" width="159" alt="mainmini.png" height="120"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;PSPad Features:&lt;/strong&gt;&lt;/p&gt; &lt;ul class="noindent"&gt; &lt;li&gt;work with projects&lt;/li&gt; &lt;li&gt;work on several documents at the same time (MDI)&lt;/li&gt; &lt;li&gt;Save desktop session to later reopen all open files&lt;/li&gt; &lt;li&gt;FTP client - you can edit files directly from the web&lt;/li&gt; &lt;li&gt;macro recorder to record, save and load macros&lt;/li&gt; &lt;li&gt;search and replace in files&lt;/li&gt; &lt;li&gt;text difference with color-coded differences highlighted&lt;/li&gt; &lt;li&gt;templates (HTML tags, scripts, code templates...)&lt;/li&gt; &lt;li&gt;installation contains templates for HTML, PHP, Pascal, JScript, VBScript, MySQL, MS-Dos, Perl,...&lt;/li&gt; &lt;li&gt;syntax highlighting auto set by file type&lt;/li&gt; &lt;li&gt;user-defined highlighters for exotic environments&lt;/li&gt; &lt;li&gt;auto correction&lt;/li&gt; &lt;li&gt;intelligent internal HTML preview using IE and Mozilla&lt;/li&gt; &lt;li&gt;full HEX editor&lt;/li&gt; &lt;li&gt;call external programs, different for each environment&lt;/li&gt; &lt;li&gt;external compiler with catch command output, log window, log parser for each environment for "IDE" effect&lt;/li&gt; &lt;li&gt;color syntax highlight printing and print preview&lt;/li&gt; &lt;li&gt;integrated TiDy library for formatting and checking HTML code, conversion to CSS, XML, XHTML&lt;/li&gt; &lt;li&gt;integrated free version of top CSS editor TopStyle Lite&lt;/li&gt; &lt;li&gt;export with highlight to RTF, HTML, TeX format into file or clipboard&lt;/li&gt; &lt;li&gt;column block select, bookmarks, line numbers, ...&lt;/li&gt; &lt;li&gt;reformat and compress HTML code, tags char case change&lt;/li&gt; &lt;li&gt;line sorting with ability to sort on defined column, with option to drop duplicates&lt;/li&gt; &lt;li&gt;ASCII chart with HTML entities&lt;/li&gt; &lt;li&gt;Code explorer for Pascal, INI, HTML, XML, PHP, and more in future&lt;/li&gt; &lt;li&gt;spell checker&lt;/li&gt; &lt;li&gt;internal web browser with APACHE support&lt;/li&gt; &lt;li&gt;matching bracket highlighting&lt;/li&gt; &lt;li style="list-style: none"&gt;&lt;br/&gt; &lt;a href="http://www.pspad.com/en/download.php"&gt;Download PSPad editor&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p class="zoundry_bw_tags"&gt;  &lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;  &lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a href="http://technorati.com/tag/GUI" class="ztag" rel="tag"&gt;GUI&lt;/a&gt;, &lt;a href="http://technorati.com/tag/freeware" class="ztag" rel="tag"&gt;freeware&lt;/a&gt;, &lt;a href="http://technorati.com/tag/programming" class="ztag" rel="tag"&gt;programming&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soft" class="ztag" rel="tag"&gt;soft&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tool" class="ztag" rel="tag"&gt;tool&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26787890-114581862392581592?l=dotnetpulse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetpulse.blogspot.com/feeds/114581862392581592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26787890&amp;postID=114581862392581592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114581862392581592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26787890/posts/default/114581862392581592'/><link rel='alternate' type='text/html' href='http://dotnetpulse.blogspot.com/2006/04/universal-freeware-editor-pspad.html' title='The universal freeware editor - PSPad'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry></feed>
