<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PeterKellner.net &#187; Tools</title>
	<atom:link href="http://peterkellner.net/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterkellner.net</link>
	<description>Microsoft Focussed, JavaScript (ExtJS, SenchaTouch &#38; Windows 8 Metro)</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:14:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Format HTML with Windows Live Writer</title>
		<link>http://peterkellner.net/2011/11/22/how-to-format-html-with-windows-live-writer/</link>
		<comments>http://peterkellner.net/2011/11/22/how-to-format-html-with-windows-live-writer/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 00:10:06 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Live Writer]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/11/22/how-to-format-html-with-windows-live-writer/</guid>
		<description><![CDATA[Ever since Microsoft released Windows Live Writer, posting articles to this blog (and others) has been really easy.&#160; Even though this blog is powered by WordPress, Microsoft’s Live Writer let’s me author my blog posts, include pictures, format code and do all kinds of other tricks really easily.&#160; One of the side benefits of using [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since Microsoft released <a href="http://explore.live.com/windows-live-writer">Windows Live Writer</a>, posting articles to this blog (and others) has been really easy.&#160; Even though this blog is powered by <a href="http://wordpress.com/">WordPress</a>, Microsoft’s Live Writer let’s me author my blog posts, include pictures, format code and do all kinds of other tricks really easily.&#160; One of the side benefits of using Live Writer is it gives you a very easy way to format <a href="http://en.wikipedia.org/wiki/HTML">HTML</a> code.</p>  <p>So, turns out, that when you are writing a post with Live Writer, at the bottom of the page there are three tabs, Edit, Preview and Source.</p>  <p>&#160;</p>  <p><a href="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image14.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image_thumb13.png" width="378" height="242" /></a></p>  <p>&#160;</p>  <p>When you switch to source, you will see the raw html.&#160; You can also modify the source there which is our trick for formatting the HTML.</p>  <p>So, here are the steps:</p>  <p>&#160;</p>  <p>1.&#160; Start Live Writer (it starts with an empty post)</p>  <p>2.&#160; Copy your unformatted HTML into the “Source” tab as shown above (it will look like this below)</p>  <p><a href="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image15.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image_thumb14.png" width="440" height="554" /></a></p>  <p>3.&#160; Click on the “Edit” tab at the bottom of the page</p>  <p>4.&#160; Click Back on the “Source” tab at the bottom of the page</p>  <p>And now, it will look like this:</p>  <p><a href="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image16.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/wp/wp/wp-content/uploads/2011/11/image_thumb15.png" width="439" height="454" /></a></p>  <p>&#160;</p>  <p>Now, you can cut and paste the code and put it anyplace you want.</p>  <p>Hope this helps!</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/11/22/how-to-format-html-with-windows-live-writer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINQPad is Totally Awesome at Testing and Writing LINQ Queries</title>
		<link>http://peterkellner.net/2008/09/20/linqpad-sqlserver-linq-interpreter-nutshell/</link>
		<comments>http://peterkellner.net/2008/09/20/linqpad-sqlserver-linq-interpreter-nutshell/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 02:25:56 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 3.5]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/09/20/linqpad-sqlserver-linq-interpreter-nutshell/</guid>
		<description><![CDATA[http://www.linqpad.net/ &#8211; Use with Microsoft .Net for building Query type expressions with LINQ  I&#8217;m not a wizard at writing LINQ expressions so I often find myself in Google looking for something similar to what I want, then I put it into my application and run it. This has worked pretty well, but it takes [...]]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.linqpad.net/" href="http://www.linqpad.net/">http://www.linqpad.net/</a> &#8211; Use with Microsoft .Net for building Query type expressions with LINQ</p>  <p>I&#8217;m not a wizard at writing <a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx">LINQ</a> expressions so I often find myself in <a href="http://google.com">Google</a> looking for something similar to what I want, then I put it into my application and run it. This has worked pretty well, but it takes a couple iterations to get it right. It occured to me that someone probably has written a LINQ interpreter so I just guessed the name, <a href="http://www.linqpad.net/">LINQPad</a>, typed it into search, and I find the authors of the book C# 3.0 in a nutshell, <a href="http://www.technosis.com.au/Training.aspx">Joseph Albahari</a> and <a href="http://www.oreillynet.com/pub/au/465">Ben Albahari</a>, (which I like a lot) have written it.</p> <span id="more-162"></span>  <p>I download it (it&#8217;s an exe file), run it (OK, I trust you guys somehow), and presto, I get a very nice interface that not only has tons of examples built into it with a nice tree view, but lets me make a connection to my database and run LINQ queries against it. It even cancels them when you create one that will run forever (very nice guys!).</p>  <p>So, the query I was going after is I have a huge list of cities that includes states. From that, I just want a unique list of states (this list does not have all the states so I want just the ones contained in it). Below is a screen shot of the <a href="http://www.linqpad.net/">LINQPad</a> with my Query in it. I simply pressed the green triangle (trained by <a href="http://msdn.microsoft.com/en-us/library/aa174466(SQL.80).aspx">Sql Server Enterprise Manager</a>), and presto, my list! Could not be much easier. This tool will be in my box for a long time.</p>  <p>&#160;</p>  <table border="0" cellspacing="0" cellpadding="5" width="400"><tbody>     <tr>       <td valign="top" width="200"><a href="http://www.peterkellner.net/FilesForWebDownload/LINQPadistotallyawesomeattestingandwriti_11132/image.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.peterkellner.net/FilesForWebDownload/LINQPadistotallyawesomeattestingandwriti_11132/image_thumb.png" width="436" height="462" /></a></td>        <td valign="top" width="200">         <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:7dc1bd33-94bd-46fd-a20b-0131235bcd47:f6c31e3c-c91c-488b-9956-0209b5fc625f" class="wlWriterSmartContent">           <table border="0" cellspacing="0" cellpadding="2" width="400"><tbody>               <tr>                 <td valign="top" width="400">                   <p><a title="Amazon.com: C# 3.0 in a Nutshell" href="http://www.amazon.com/exec/obidos/ASIN/0596527578/petkelsblo-20"><img border="0" align="left" src="http://images.amazon.com/images/P/0596527578.01.MZZZZZZZ.jpg" />Amazon.com: C# 3.0 in a Nutshell</a></p>                 </td>               </tr>             </tbody></table>         </div>       </td>     </tr>   </tbody></table>  <p>&#160;</p>  <p>Grab this now!&#160; It&#8217;s a winner, believe me.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/09/20/linqpad-sqlserver-linq-interpreter-nutshell/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ToLambda Refactor From ReSharper is Just Too Cool!</title>
		<link>http://peterkellner.net/2008/09/09/convert-to-lambda-csharp-jetbrains-resharper-41/</link>
		<comments>http://peterkellner.net/2008/09/09/convert-to-lambda-csharp-jetbrains-resharper-41/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 16:07:31 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/09/09/convert-to-lambda-csharp-jetbrains-resharper-41/</guid>
		<description><![CDATA[ Can hardly contain my excitement.&#160; I was just cleaning up a business object to post in my MVC article and of course was using JetBrain&#8217;s Resharper 4.1.&#160; Not sure if any of you remember, but when I started learning ASP.NET I developed some nice business objects to use with my MSDN articles.&#160; One of [...]]]></description>
			<content:encoded><![CDATA[<p> Can hardly contain my excitement.&#160; I was just cleaning up a business object to post in my MVC article and of course was using <a href="http://www.jetbrains.com/resharper/">JetBrain&#8217;s Resharper 4.1</a>.&#160; Not sure if any of you remember, but when I started learning <a href="http://www.asp.net/default.aspx?wwwaspnetrdirset=1">ASP.NET</a> I developed some nice business objects to use with <a href="http://peterkellner.net/category/msdn-articles/">my MSDN articles</a>.&#160; One of the nice tricks used is using <a href="http://msdn.microsoft.com/en-us/library/0yw3tz5k(VS.80).aspx">anonymous delegates</a> to sort lists.&#160; The code was a little tricky, but id did the job.&#160; Here is the old code:</p>  <div class="csharpcode">&#160;</div>  <div class="csharpcode">   <pre class="alt">[DataObjectMethod(DataObjectMethodType.Select, <span class="kwrd">true</span>)]</pre>

  <pre>    <span class="kwrd">public</span> List&lt;BusinessObjectItem&gt; GetMembers()</pre>

  <pre class="alt">    {</pre>

  <pre>        listBusinessObject.Sort(</pre>

  <pre class="alt">            <span class="kwrd">new</span> Comparison&lt;BusinessObjectItem&gt;(</pre>

  <pre>                <span class="kwrd">delegate</span>(BusinessObjectItem lhs, BusinessObjectItem rhs)</pre>

  <pre class="alt">                { <span class="kwrd">return</span> lhs.Name.CompareTo(rhs.Name); }));</pre>

  <pre>        <span class="kwrd">return</span> listBusinessObject;</pre>

  <pre class="alt">    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p></p>
<span id="more-155"></span>

<p>
  <br />So, the first thing I did was to execute the ReSharper &quot;cleanup&quot; from the right mouse button as follows:</p>

<p><a href="http://www.peterkellner.net/FilesForWebDownload/ToLambdaRefactorFromReSharperisjusttooco_8033/image.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.peterkellner.net/FilesForWebDownload/ToLambdaRefactorFromReSharperisjusttooco_8033/image_thumb.png" width="157" height="244" /></a></p>

<p>Then, when I hover over the &quot;return&quot; and press the right mouse button with the light bulb, I get this:</p>

<p><a href="http://www.peterkellner.net/FilesForWebDownload/ToLambdaRefactorFromReSharperisjusttooco_8033/image_3.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.peterkellner.net/FilesForWebDownload/ToLambdaRefactorFromReSharperisjusttooco_8033/image_thumb_3.png" width="244" height="91" /></a></p>

<p>I say &quot;Convert to Lambda&quot; and I get this:</p>

<p>&#160;</p>

<p>&#160;</p>

<div class="csharpcode">
  <pre class="alt">listBusinessObject.Sort(</pre>

  <pre>            <span class="kwrd">new</span> Comparison&lt;BusinessObjectItem&gt;(</pre>

  <pre class="alt">                (lhs, rhs) =&gt; lhs.Name.CompareTo(rhs.Name)));</pre>

  <pre>        <span class="kwrd">return</span> listBusinessObject;</pre>

  <pre>&#160;</pre>

  <pre>Way to cool!  Just had to share.</pre>

  <pre>&#160;</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/09/09/convert-to-lambda-csharp-jetbrains-resharper-41/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Google Reader Offline</title>
		<link>http://peterkellner.net/2008/07/27/using-google-news-reader-in-offline-mode/</link>
		<comments>http://peterkellner.net/2008/07/27/using-google-news-reader-in-offline-mode/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 14:08:24 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[News Reader]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=329</guid>
		<description><![CDATA[<p>A review of using Google's offline news reader.  The story of how I switched from Bloglines to Google Reader, then finally to the offline Google Reader</p>]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>  <p>For the past couple of years, I&#8217;ve been really impressed with how much content there is out there on the Internet in people&#8217;s blogs.&#160; To harvest all this content, you really need some kind of aggregating software to help you organize all this content.&#160; For no real reason, the first aggregator I used was <a href="http://bloglines.com">Bloglines</a>.&#160; It worked pretty well but I got tired of days when it was very slow, and other days where this cute <a href="http://www.seopedia.org/wp-content/uploads/2006/10/bloglines-plumber.jpg">plumber</a> would be displayed telling me Bloglines was offline and I should come back later.&#160; About 2 months ago, I switched to <a href="http://reader.google.com">Google Reader</a>.&#160; So far, I&#8217;m a happy camper.</p> <span id="more-125"></span> <h2>Google Reader Online</h2>  <p>To switch from Bloglines to Google Reader, there was a simple <a href="http://www.quickonlinetips.com/archives/2005/10/export-bloglines-subscriptions-to-google-reader/">&quot;export to standard format&quot;</a> and &quot;import from standard format&quot; that made moving all my subscriptions easy.&#160; Functionally, both do the same thing.&#160; They keep track of what I&#8217;ve read and give me a reasonable experience at viewing posts.&#160; Initially, I didn&#8217;t like the Google Reader format but since I&#8217;ve been using it more, I&#8217;ve grown to like it better.&#160; It has lots of clientside javascript which makes it faster and it has subtle things like when you mouse over a post, it marks it as read (unless you click the button on the bottom saying &quot;mark as unread&quot;.</p>  <h2>Google Reader Offline</h2>  <p>This is really what I wanted to talk about.&#160; I&#8217;m currently flying home (to California) from a two week Italian bicycling vacation.&#160; I&#8217;ve been offline for&#160; a while and as you can imagine, I have over 2000 blog posts to catch up on.&#160; At the first airport, I decided to install Google&#8217;s offline reader.&#160; The steps were pretty straight forward.</p>  <ol>   <li>Install Google Gears </li>    <li>Press the Go Off Line Button at the top of the reader page </li> </ol>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/07/groffline.png"><img style="border-right-width: 0px; margin: 5px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="groffline" src="http://peterkellner.net/wp/wp-content/uploads/2008/07/groffline-thumb.png" width="362" height="173" /></a></p>  <p>Then, after about 2 minutes with a nice progress dialog,&#160;&#160; <a href="http://www.google.com">Google</a> told me all my subscribed posts were synchronized.&#160; This was at the Nice airport.&#160; I jumped on my airplane, fired up the browser, went to <a href="http://reader.google.com">http://reader.google.com</a> and nothing happened.&#160; Just an error message saying DNS could not be resolved.&#160; Well, back to reading the newspaper.</p>  <p>In Brussels (my next stop) I went on line to the <a href="http://reader.google.com">Google Reader</a> help and it said it should have worked.&#160; By accident, I discovered if I set the browser (<a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">IE7</a>) to offline mode, my Google reader worked.&#160; This is done by going into IE7 tools menu and selecting offline.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/07/gr1.png"><img style="border-right-width: 0px; margin: 5px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="gr1" src="http://peterkellner.net/wp/wp-content/uploads/2008/07/gr1-thumb.png" width="362" height="262" /></a></p>  <p>So, I&#8217;m sitting on the airplane from JFK to SFO after a 6 hour weather delay in NY reading my blog posts.&#160; Very impressive if you ask me.</p>  <h2>Problem, the MORE button on posts</h2>  <p>One problem I have noticed is that if the blog has a short summary, then a more button all you get off line is the more button and not the context (like my blog for example).&#160; I need to fix my blog to not do that, though I&#8217;m not sure what the standard is.</p>  <h2>Conclusion</h2>  <p>Overall, I&#8217;m much happier having my blog aggregator available offline.&#160; I have not used it a lot, but from this one plan trip, I have learned a lot of things I would not otherwise have had the opportunity to.&#160; Offline blog reading with Google blog reader is a good thing.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/07/27/using-google-news-reader-in-offline-mode/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Refactoring With ReSharper, Some Very Nice C# fixes I often use</title>
		<link>http://peterkellner.net/2008/07/03/code-refactoring-with-resharper/</link>
		<comments>http://peterkellner.net/2008/07/03/code-refactoring-with-resharper/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:59:34 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/07/03/code-refactoring-with-resharper/</guid>
		<description><![CDATA[<br /><p>One of the really nice features I enjoy using in Resharper 4.0 is the refactoring that converts inefficient (and unpleasant to read) syntax into nice efficient code.  In this post, I'll show some refactorings that Resharper (from JetBrains) gives us.  There are lots more, but the ones listed below seem to come up the most in my own c# code.</p><br />]]></description>
			<content:encoded><![CDATA[<p>One of the really nice features I enjoy using in <a href="http://www.jetbrains.com/resharper/" target="_blank">Resharper 4.0</a> is the refactoring that converts inefficient (and unpleasant to read) syntax into nice efficient code.&#160; In this post, I&#8217;ll show some refactorings that Resharper (from <a href="http://www.jetbrains.com/index.html" target="_blank">JetBrains</a>) gives us.&#160; There are lots more, but the ones listed below seem to come up the most in my own c# code.</p> <span id="more-121"></span>  <h2>Creates String.Format in C# From &quot;a&quot; + &quot;b&quot; + &quot;c&quot; syntax</h2>  <p>From:</p>  <pre class="csharpcode">var url = wikiURL + <span class="str">&quot;/api/AddPage?apikey_v1=&quot;</span> + apiKey
                                + <span class="str">&quot;&amp;page=&quot;</span> + wikiPageName
                                + <span class="str">&quot;&amp;name=&quot;</span> + name
                                + <span class="str">&quot;&amp;email=&quot;</span> + email; </pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>To:</p>

<pre class="csharpcode">var url =  <span class="kwrd">string</span>.Format(<span class="str">&quot;{0}/api/AddPage?apikey_v1={1}&amp;page={2}&amp;name={3}&amp;email={4}&quot;</span>,
                    wikiURL, apiKey, wikiPageName, name, email); </pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>&#160;</p>

<h2>Create Simple Logical Assignments From my Overly Verbose Code</h2>

<p>From:</p>

<pre class="csharpcode"><span class="kwrd">if</span> (ConfigurationManager.AppSettings[<span class="str">&quot;ShowDinnerConfirmation&quot;</span>].ToLower().Equals(<span class="str">&quot;true&quot;</span>))
            {
                TableRowSaturdayDinner.Visible = <span class="kwrd">true</span>;
            }
            <span class="kwrd">else</span>
            {
                TableRowSaturdayDinner.Visible = <span class="kwrd">false</span>;
            } </pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>&#160;</p>

<p>To:</p>

<pre class="csharpcode">TableRowSaturdayDinner.Visible = ConfigurationManager.AppSettings[<span class="str">&quot;ShowDinnerConfirmation&quot;</span>].ToLower().Equals(<span class="str">&quot;true&quot;</span>); </pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>&#160;</p>

<h2>Use ?? When I&#8217;ve used Simple ? Operator Makes for Simpler Code</h2>

<p>From:</p>

<pre class="csharpcode"><span class="kwrd">string</span> s = context.Request.QueryString[<span class="str">&quot;Cache&quot;</span>] == <span class="kwrd">null</span> ? <span class="str">&quot;true&quot;</span> : context.Request.QueryString[<span class="str">&quot;Cache&quot;</span>];</pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>To:</p>

<pre class="csharpcode"><span class="kwrd">string</span> s = context.Request.QueryString[<span class="str">&quot;Cache&quot;</span>] ?? <span class="str">&quot;true&quot;</span>;</pre>

<p>
  <br /></p>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/07/03/code-refactoring-with-resharper/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making the RSS Feed From the web site Discoverable</title>
		<link>http://peterkellner.net/2008/06/29/make-rss-discoverable-on-web-page/</link>
		<comments>http://peterkellner.net/2008/06/29/make-rss-discoverable-on-web-page/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 16:09:58 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 3.5]]></category>
		<category><![CDATA[Code Camp Web Site Series]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/06/29/make-rss-discoverable-on-web-page/</guid>
		<description><![CDATA[<br /><p>This post shows how to use a cool tool to making a RSS Feed Discoverable on a web page.  It involves creating an entry in the header tag of the page.</p>]]></description>
			<content:encoded><![CDATA[<p>After adding the RSS feed to our <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley Code Camp Web site</a> I noticed that the feed was not discoverable by Internet Explorer.&#160; That is, the little RSS Icon on the toolbar was not finding it. </p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/abcde.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="abcde" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/abcde-thumb.png" width="476" height="456" /></a></p> <span id="more-119"></span>  <p>After a little searching around, I discovered that a header tag was needed.&#160; Further searching found a <a href="http://www.feedforall.com/autodiscovery.htm">nice web site that helped create this header tag for me</a>. </p>  <p>&#160;</p>  <p><a title="http://www.feedforall.com/autodiscovery.htm" href="http://www.feedforall.com/autodiscovery.htm">http://www.feedforall.com/autodiscovery.htm</a></p>  <p>&#160;</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/abcd.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="abcd" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/abcd-thumb.png" width="501" height="458" /></a></p>  <p>Then, all I had to do was add that tag to my master page and the page is now discoverable!</p>  <p>&#160;</p>  <div class="csharpcode">   <pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">&lt;</span><span class="html">html</span> <span class="attr">xmlns</span><span class="kwrd">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span class="kwrd">&gt;</span></pre>

  <pre><span class="lnum">   2:  </span><span class="kwrd">&lt;</span><span class="html">head</span> <span class="attr">id</span><span class="kwrd">=&quot;Head1&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span></pre>

  <pre class="alt"><span class="lnum">   3:  </span>    <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>Silicon Valley Codecamp 2008<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span></pre>

  <pre><span class="lnum">   4:  </span>    <span class="kwrd">&lt;</span><span class="html">link</span> <span class="attr">rel</span><span class="kwrd">=&quot;alternate&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;application/rss+xml&quot;</span> </pre>

  <pre class="alt"><span class="lnum">   5:  </span>       <span class="attr">title</span><span class="kwrd">=&quot;Code Camp Rss Feed&quot;</span> </pre>

  <pre><span class="lnum">   6:  </span>       <span class="attr">href</span><span class="kwrd">=&quot;http://www.siliconvalley-codecamp.com/Rss.aspx&quot;</span> <span class="kwrd">/&gt;</span> </pre>

  <pre class="alt"><span class="lnum">   7:  </span><span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span></pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>Lines 4-6 are the header tag created by the autodiscovery tool listed above.</p>

<p>That&#8217;s it. Hope this helps. I did not include it in my <a href="http://peterkellner.net/category/code-camp-web-site-series/">series on building the code camp web site</a> because it seemed kind of a small point.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/06/29/make-rss-discoverable-on-web-page/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Use Multiple Monitors? Checkout UltraMon from Realtime Soft.</title>
		<link>http://peterkellner.net/2008/01/06/ultramonreview/</link>
		<comments>http://peterkellner.net/2008/01/06/ultramonreview/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 19:04:16 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/01/06/ultramonreview/</guid>
		<description><![CDATA[<p>A review of a great tool to help you manage multiple monitors, <a href="http://www.realtimesoft.com/ultramon/">UltraMon</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been addicted to using multiple monitors for programming for many years now.&#160; Recently (through other MVP blogs), I&#8217;ve noticed people talking about using <a href="http://www.realtimesoft.com/ultramon/">UltraMon</a> as a &quot;must have&quot; if you use multiple monitors. Frankly, I couldn&#8217;t see how it could get much better, but after using it for just a couple days, I&#8217;m hooked!&#160; There are lots of features to the product that I don&#8217;t yet know about or have played with, but the ones I have used so far have been very nice.&#160; I&#8217;ll outline them here.</p>  <p>First, it&#8217;s really nice to be able use one picture to cover your complete desktop (in my case, three monitors).&#160; While in New Zealand in 2003 on a bike vacation, I took this panorama picture.&#160; I forget where it is, but if any of you know, please add it to the comments.&#160; Here is a picture of that picture.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon4.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="ultramon4" src="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon4-thumb.jpg" width="244" height="87" /></a></p> <span id="more-98"></span>  <p>Secondly, and also very helpful is that you now can have toolbbars on each monitor so you don&#8217;t have to guess where things are going to pop up.&#160; It also helps decrease the clutter on your primary toolbar.&#160; No more hunting for programs because you have so many open!&#160; Here is a screen shot.&#160; Notice the toolbars on the right edge of each monitor.&#160; (you may have to click on the image to actually see them.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon2.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="ultramon2" src="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon2-thumb.jpg" width="244" height="61" /></a></p>  <p>The third thing I really like is the cool feature where UltraMon adds a buttons to your program menu that lets you move any program to any screen, and another button that lets you maximize your program across all your monitors.&#160; Here is a screen shot of what is added to outlook.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon3.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="ultramon3" src="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon3-thumb.jpg" width="244" height="112" /></a></p>  <p>UltraMon also adds to your taskbar a configuration panel that you can right click on for lots of other things which I will explore soon.&#160; Here is what that looks like:</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon1.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="ultramon1" src="http://peterkellner.net/wp/wp-content/uploads/2008/01/ultramon1-thumb.jpg" width="186" height="244" /></a></p>  <p>That&#8217;s it for now.&#160; Just a quick post to let everyone know about this cool new program.&#160; I highly recommend it.&#160; You can find more details at their web site.&#160; </p>  <p><a title="http://www.realtimesoft.com/ultramon/" href="http://www.realtimesoft.com/ultramon/">http://www.realtimesoft.com/ultramon/</a></p>  <p>Good Luck!</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/01/06/ultramonreview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 6/13 queries in 0.005 seconds using disk

Served from: peterkellner.net @ 2012-02-08 20:11:39 -->
