<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>i-think Twenty-Two</title>
	
	<link>http://www.i-think22.net</link>
	<description>Now with more rambling</description>
	<lastBuildDate>Thu, 25 Aug 2011 22:27:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/i-thinkTwenty-two" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="i-thinktwenty-two" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>More thoughts on Google+</title>
		<link>http://www.i-think22.net/archives/2011/07/08/more-thoughts-on-google-plus/</link>
		<comments>http://www.i-think22.net/archives/2011/07/08/more-thoughts-on-google-plus/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 20:15:23 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=332</guid>
		<description><![CDATA[So it seems as though I forgot a couple of points in last night&#8217;s blog post (First Impressions of Google+). I should be able to sort my circles While you can create new circles there doesn&#8217;t appear to be any way to sort them. Unfortunately this means that my extreme circles (close friends and fringe) [...]]]></description>
			<content:encoded><![CDATA[<p>So it seems as though I forgot a couple of points in last night&#8217;s blog post (<a href="http://www.i-think22.net/archives/2011/07/07/first-impressions-of-google-plus/">First Impressions of Google+</a>).</p>
<p><strong>I should be able to sort my circles</strong><br />
While you can create new circles there doesn&#8217;t appear to be any way to sort them. Unfortunately this means that my extreme circles (close friends and fringe) are right next to each other and that&#8217;s just not right. However the problem really becomes evident with the menu list of your streams. Only your first custom circle is shown in the list (when you have added more than two custom circles). These are also sorted alphabetically after the predefined circles, which is a little odd, but I can see why it might be the case.</p>
<p><strong>Preliminary conclusion</strong><br />
I think that at least in my case, Google+ is more likely to displace Twitter than Facebook. That said I&#8217;m not overly active on Facebook, but I find using twitter is a great way to keep up to date with the people I actually care about and a little industry stuff as well. I think Google+ is well targeted for that particular purpose. Like Twitter though you only know who is actually listening, not how much they care about what you say.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=jXsr6Dge-Ng:xfsf4QdfNJI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=jXsr6Dge-Ng:xfsf4QdfNJI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=jXsr6Dge-Ng:xfsf4QdfNJI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=jXsr6Dge-Ng:xfsf4QdfNJI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=jXsr6Dge-Ng:xfsf4QdfNJI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/jXsr6Dge-Ng" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2011/07/08/more-thoughts-on-google-plus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Impressions of Google+</title>
		<link>http://www.i-think22.net/archives/2011/07/07/first-impressions-of-google-plus/</link>
		<comments>http://www.i-think22.net/archives/2011/07/07/first-impressions-of-google-plus/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 11:16:43 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=329</guid>
		<description><![CDATA[Well, I managed to get on to Google+ today. My first impression is it feels like the love child of Facebook and Twitter. It may look a lot like Facebook when you are viewing your &#8216;Streams&#8217;, but the model feels much more like how Twitter would be if you could tweet to specific groups of [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I managed to get on to Google+ today. My first impression is it feels like the love child of Facebook and Twitter. It may look a lot like Facebook when you are viewing your &#8216;Streams&#8217;, but the model feels much more like how Twitter would be if you could tweet to specific groups of people. I won&#8217;t bore you with the details of Circles and how they work, instead I&#8217;ll point out the things I really like and the missing features that I hope are filled in soon.</p>
<p><strong>The Stream</strong><br />
Well, this is all pretty standard. So all the things from your circles that your circle friends have deemed you worthy to see appear here. What I would like to see here is the ability to exclude feeds from certain circles from appearing in the stream. This would allow your default view to be void of noise but still provide ready access to these people.</p>
<p><strong>Circles and Sets</strong><br />
I have no doubt that this is a feature the guys at Google are keen to push out (the math nerds that they are). Basically what is needed is the ability to define composite circles, that is circles that use standard set operations (union, intersection and subtraction) to define their members. Of course they would have to explain it better than me, but some Venn diagrams should make it clear enough to just about anybody.</p>
<p><strong>Suggestions that are smarter about multiple email addresses</strong><br />
Because the suggestions are based partly on the entire contents of you Gmail address book I&#8217;ve found that I get suggestions for people I&#8217;ve already added (but have multiple email accounts). One suggestion was even to add myself. Where I&#8217;ve told Google that I have multiple addresses I would hope that it could prune some of that for me.</p>
<p>I do like the multiple personality approach that Google+ gives you. I&#8217;m glad that even though set functionality isn&#8217;t available yet that by using circles you can model some pretty complex social hierarchies. Whether enough people will make the switch remains to be seen. I&#8217;m not holding my breath, because unless Google rapidly expands their trial interest may just fizzle. So, hopefully Google can bring wave after wave of improvements while the buzz is still in the air.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=dTmIm58-_Dc:D6ikETbltEY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=dTmIm58-_Dc:D6ikETbltEY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=dTmIm58-_Dc:D6ikETbltEY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=dTmIm58-_Dc:D6ikETbltEY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=dTmIm58-_Dc:D6ikETbltEY:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/dTmIm58-_Dc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2011/07/07/first-impressions-of-google-plus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Pipe Character ‘|’ on Windows Phone 7</title>
		<link>http://www.i-think22.net/archives/2011/02/07/the-pipe-character-on-windows-phone-7/</link>
		<comments>http://www.i-think22.net/archives/2011/02/07/the-pipe-character-on-windows-phone-7/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 09:48:23 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[windows phone 7]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=320</guid>
		<description><![CDATA[Recently I decided to put a bit of Powershell in a reply to a tweet. I was using my fancy shmancy new Windows Phone 7. Well, needless to say I ran into a few problems when I tried to insert the pipe character. I suppose it isn&#8217;t too commonly used, but I really wanted it [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I decided to put a bit of Powershell in a reply to a tweet. I was using my fancy shmancy new Windows Phone 7. Well, needless to say I ran into a few problems when I tried to insert the pipe character. I suppose it isn&#8217;t too commonly used, but I really wanted it to get my message across (whilst I could have probably used a capital I to get my point across, some fonts won&#8217;t do that and it wouldn&#8217;t be able to be pasted, so that wouldn&#8217;t do).</p>
<p>After holding down what felt like every button<sup><a href="http://www.i-think22.net/archives/2011/02/07/the-pipe-character-on-windows-phone-7/#footnote_0_320" id="identifier_0_320" class="footnote-link footnote-identifier-link" title="On the English (UK) keyboard">1</a></sup> to see what special characters they revealed (like the iPhone, the ° symbol is hidden under the &#8217;0&#8242; key) the pipe character still eluded me. However Windows Phone 7 also comes with a special smiley keyboard which has a wide array of smileys to choose from, including the flat :&#x007c; smiley. Knowing that was the pipe character right there it became easy, simply insert the :&#x007c; smiley, move the cursor between the colon and the pipe, hit the backspace key and move the cursor back to the end of the line.</p>
<p>It couldn&#8217;t be simpler&#8230;</p>
<p>Actually, maybe it could. Pipe symbol please!?!</p>
<ol class="footnotes"><li id="footnote_0_320" class="footnote">On the English (UK) keyboard</li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=yznnIEHmapg:3MP05bw1cUQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=yznnIEHmapg:3MP05bw1cUQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=yznnIEHmapg:3MP05bw1cUQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=yznnIEHmapg:3MP05bw1cUQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=yznnIEHmapg:3MP05bw1cUQ:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/yznnIEHmapg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2011/02/07/the-pipe-character-on-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Installing multiple MSI files using msiexec.exe and Powershell</title>
		<link>http://www.i-think22.net/archives/2011/02/06/installing-multiple-msi-files-using-msiexec-exe-and-powershell/</link>
		<comments>http://www.i-think22.net/archives/2011/02/06/installing-multiple-msi-files-using-msiexec-exe-and-powershell/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 09:36:09 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=317</guid>
		<description><![CDATA[I use Powershell scripts to update test environments and when I can I prefer to use the MSI files that we would ship to a customer rather than hacking together an xcopy deployment. Recently I worked on a script that did the following: Check if an MSI already exists in a folder I designated as [...]]]></description>
			<content:encoded><![CDATA[<p>I use Powershell scripts to update test environments and when I can I prefer to use the MSI files that we would ship to a customer rather than hacking together an xcopy deployment. Recently I worked on a script that did the following:</p>
<ol>
<li>Check if an MSI already exists in a folder I designated as holding the current installation files (I called it &#8216;Current&#8217;).</li>
<li>If the MSI exists, execute the uninstall process for the MSI, and remove the MSI from the &#8216;Current&#8217; folder.</li>
<li>Copy the new installation file from the build drop folder and put it in the &#8216;Current&#8217; folder.</li>
<li>Execute the install process on the MSI in the &#8216;Current&#8217; folder.</li>
</ol>
<p>However I soon ran into a problem in that when I called msiexec.exe it would not block the script, so it would try to run multiple instances on Windows Installer and if you&#8217;ve had any experience with Windows Installer you know that just doesn&#8217;t work (and for good reason).</p>
<p>A quick search on the interwebs revealed that I could simply wait for the msiexec.exe process to finish. Rather than doing some sort of convoluted monitoring of the process inside Powershell I decided to use the the <code class="prettyprint">Start-Process</code> commandlet (inspired by <a href="http://blogs.msdn.com/b/heaths/">Heath Stewart</a>&#8216;s post &#8216;<a href="http://blogs.msdn.com/b/heaths/archive/2005/11/15/493236.aspx">Waiting for msiexec to Finish</a>&#8216;).</p>
<p><code class="prettyprint">Start-Process</code> is a little bit different from &#8216;start&#8217; especially in how it passes the parameters (through the <code class="prettyprint">-ArgumentList</code> argument/parameter). But fortunately the <code class="prettyprint">-Wait</code> parameter was exactly what I was looking for. Here&#8217;s the final line:</p>
<pre class="prettyprint">Start-Process -FilePath msiexec -ArgumentList /i, $installer, /quiet -Wait</pre>
<p>This let everything nicely chain together and now deployments are super easy, as they should be.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=06ms0tzaaCE:VWy6jsix0Fk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=06ms0tzaaCE:VWy6jsix0Fk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=06ms0tzaaCE:VWy6jsix0Fk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=06ms0tzaaCE:VWy6jsix0Fk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=06ms0tzaaCE:VWy6jsix0Fk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/06ms0tzaaCE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2011/02/06/installing-multiple-msi-files-using-msiexec-exe-and-powershell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Disabling the debug trace output in Coded UI Tests</title>
		<link>http://www.i-think22.net/archives/2011/01/24/disabling-the-debug-trace-output-in-coded-ui-tests/</link>
		<comments>http://www.i-think22.net/archives/2011/01/24/disabling-the-debug-trace-output-in-coded-ui-tests/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 09:26:39 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[coded ui test]]></category>
		<category><![CDATA[vstudio]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=312</guid>
		<description><![CDATA[The Coded UI tests in Visual Studio 2010 are pretty cool. For the last few months I&#8217;ve been using the framework to completely automate a sophisticated web application, with lots of drag and drop and crazy design surfaces. But the test details page has always looked a little verbose. The default Debug trace is full [...]]]></description>
			<content:encoded><![CDATA[<p>The Coded UI tests in Visual Studio 2010 are pretty cool. For the last few months I&#8217;ve been using the framework to completely automate a sophisticated web application, with lots of drag and drop and crazy design surfaces.</p>
<p>But the test details page has always looked a little verbose. The default Debug trace is full of so much stuff that I find it completely unusable, and what it does have is barely legible anyway. So usually I just collapse the section and move on to my own less verbose logging and the stack trace.</p>
<p>Unfortunately all this information comes at a bit of a price and I have seen machines run into the good ol&#8217; <code class="prettyprint">OutOfMemoryException</code> more than once while working with the log. So to eliminate that cause from the list of possible culprits I hit the net and went searching for how to disable the debug trace in Coded UI Tests.</p>
<p>Unfortunately I didn&#8217;t find much (other than how to enable, and usually by editing the test agent configuration). I wanted to find a solution that I could add to my solution (damn overloaded words) that would just work no matter what machine I ran the tests on. Fortunately it was really easy. I just added an App.config file with the following:</p>
<pre class="prettyprint">&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;configuration&gt;
  &lt;system.diagnostics&gt;
    &lt;switches&gt;
      &lt;add name="EqtTraceLevel" value="0" /&gt;
    &lt;/switches&gt;
  &lt;/system.diagnostics&gt;
&lt;/configuration&gt;</pre>
<p>It did the trick and it is making my life a whole lot easier. Hopefully it helps someone else too. (You could also try other values for the level, but I&#8217;m an all or nothing kind of guy).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=OQ6xQXa3yUU:gLYmS9U-5lo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=OQ6xQXa3yUU:gLYmS9U-5lo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=OQ6xQXa3yUU:gLYmS9U-5lo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=OQ6xQXa3yUU:gLYmS9U-5lo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=OQ6xQXa3yUU:gLYmS9U-5lo:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/OQ6xQXa3yUU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2011/01/24/disabling-the-debug-trace-output-in-coded-ui-tests/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I don’t need no stinking third dimension</title>
		<link>http://www.i-think22.net/archives/2010/10/01/i-dont-need-no-stinking-third-dimension/</link>
		<comments>http://www.i-think22.net/archives/2010/10/01/i-dont-need-no-stinking-third-dimension/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 00:27:49 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[The Mill]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[soapbox]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=301</guid>
		<description><![CDATA[They are all the rage these days. Movies in 3D. Soon it will be hard to see a movie at a cinema without having to wear those silly glasses. It&#8217;s also a new excuse to add to the ticket price. But in reality it is all just a gimmick, yes, even for those ultra-gimicky movies [...]]]></description>
			<content:encoded><![CDATA[<p>They are all the rage these days. Movies in 3D. Soon it will be hard to see a movie at a cinema without having to wear those silly glasses. It&#8217;s also a new excuse to add to the ticket price. But in reality it is all just a gimmick, yes, even for those ultra-gimicky movies like <i>Avatar</i>.</p>
<p>That&#8217;s right. I&#8217;ve said it. I didn&#8217;t really enjoy <i>Avatar</i>. It went on and on and frankly I&#8217;m kind of annoyed that the humans didn&#8217;t wipe out the blue guys. Sure the movie was visually very fancy and there were lots of ooing and ahing about the 3D visuals (which I agree were spectacular), but in adding the third dimension to the visuals the movie lost one of the most important dimensions, substance.</p>
<p>And that&#8217;s where the problem really lies. The addition of 3D to the movie world has just given the movie makers of today yet another distraction from actually making a good movie. You know, one where you actually care about the characters.</p>
<p>The other thing that bugs me about movies in 3D is that it can make it very difficult to focus on what is going on. Although I will give credit to <i>The Last Airbender</i> which made only very subtle use of 3D and I could actually read the text when it appeared without straining. <i>Piranha</i> on the other hand made the text almost impossible to read.</p>
<p>I seriously question the need for presenting films in three dimensions. Movie makers have been using a simple two dimensional screen for years and doing just fine. They use lighting, shadows and other fancy tricks to provide the illusion of depth and when you are caught up in the movie you don&#8217;t even really notice. So I think that&#8217;s where the problem really is. In 3D movies all I notice is that it is in 3D and it becomes harder to recognise and interpret the story that is actually happening on the screen. It sounds odd, but I find it harder to actually immerse myself in a 3D film.</p>
<p>I suppose one big reason the studios might be pushing for more 3D film releases apart from the increased ticket prices is that it might be a way to thwart some camcorder piracy of their movies. Although It would probably be fairly simple to put a filter on the camera so that&#8217;s probably a stupid reason.</p>
<p>And if the kids out there want to really play with the whole three dimensional thing, I suggest placing two objects one behind the other. Close one eye and line up your sight so that the back object is obscured. Now alternately close and open each eye. It&#8217;s like magic.</p>
<p><img src="http://www.i-think22.net/wp-content/uploads/2010/10/DSC01543_1024o-300x225.jpg" alt="Me, Will and Dave sporting 3D glasses" title="Me, Will and Dave sporting 3D glasses" width="300" height="225" class="aligncenter size-medium wp-image-302" /></p>
<p>Photo courtesy of <a href="http://omegadelta.net/">William Denniss</a>. Used with permission.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=VUuBCHBVzt0:VIoe4IQxLsU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=VUuBCHBVzt0:VIoe4IQxLsU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=VUuBCHBVzt0:VIoe4IQxLsU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=VUuBCHBVzt0:VIoe4IQxLsU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=VUuBCHBVzt0:VIoe4IQxLsU:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/VUuBCHBVzt0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2010/10/01/i-dont-need-no-stinking-third-dimension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Google Chrome omitting the http:// from the Omnibox</title>
		<link>http://www.i-think22.net/archives/2010/09/10/on-google-chrome-omitting-the-http-from-the-omnibox/</link>
		<comments>http://www.i-think22.net/archives/2010/09/10/on-google-chrome-omitting-the-http-from-the-omnibox/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 23:10:07 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[soapbox]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=283</guid>
		<description><![CDATA[Recently a Google Chrome update removed the &#8216;http://&#8217; from the Omnibox (aka the address/search bar). When the change was originally introduced in the development branch of Google Chrome in April this year there was massive backlash (~150 comments on a bug, specifically Bug 41467). Of course within about 5 days the comments died down and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.i-think22.net/wp-content/uploads/2010/09/chrome_logo.gif" alt="Google Chrome Logo" title="Google Chrome Logo" width="147" height="141" class="alignright size-full wp-image-284" /><br />
Recently a Google Chrome update removed the &#8216;http://&#8217; from the Omnibox (aka the address/search bar). When the change was originally introduced in the development branch of Google Chrome in April this year there was massive backlash (~150 comments on a bug, specifically <a href="http://code.google.com/p/chromium/issues/detail?id=41467">Bug 41467</a>). Of course within about 5 days the comments died down and everyone moved on with their lives. The Chromium team have marked the &#8216;bug&#8217; as &#8216;Won&#8217;t fix&#8217;.</p>
<p>Now the feature has hit the main release. If you still aren&#8217;t sure what I&#8217;m talking about, here&#8217;s a screenshot:<br />
<img src="http://www.i-think22.net/wp-content/uploads/2010/09/omnibox_sans_http.png" alt="The Omnibox sans &#039;http://&#039;" title="The Omnibox sans &#039;http://&#039;" width="330" height="54" class="aligncenter size-full wp-image-291" /></p>
<p>Personally I like the change, and here&#8217;s why:</p>
<ul>
<li>Copy and Paste use cases still work (at least they do on my machine).</li>
<li>Because I read left to right I don&#8217;t have to skip 7 characters to get to the domain name.</li>
<li>I consider my browser to be primarily an HTTP client. I expect HTTP to be the default protocol and don&#8217;t need this information exposed.</li>
<li>My own personal biases.</li>
</ul>
<p>Of course, HTTPS urls display differently.<br />
<img src="http://www.i-think22.net/wp-content/uploads/2010/09/omnibox_https.png" alt="Omnibox with https://" title="Omnibox with https://" width="204" height="30" class="aligncenter size-full wp-image-290" /></p>
<p>So this could be a little confusing, but it does further highlight the fact that the connection is secured.</p>
<p>Nevertheless one of the reasons I do include Chrome as part of my browser cycle is because it is different. This change is different from the other browsers, but it is exactly this difference that I like.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=w5YvNP8FQ54:0qsMzz7xXuk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=w5YvNP8FQ54:0qsMzz7xXuk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=w5YvNP8FQ54:0qsMzz7xXuk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=w5YvNP8FQ54:0qsMzz7xXuk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=w5YvNP8FQ54:0qsMzz7xXuk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/w5YvNP8FQ54" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2010/09/10/on-google-chrome-omitting-the-http-from-the-omnibox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VSMDI Normalizer</title>
		<link>http://www.i-think22.net/archives/2010/02/11/vsmdi-normalizer/</link>
		<comments>http://www.i-think22.net/archives/2010/02/11/vsmdi-normalizer/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 10:11:35 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[VSMDI Normalizer]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[vstudio]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/?p=276</guid>
		<description><![CDATA[Have you noticed that your Visual Studio test lists always seem to get re-ordered? Make sense of this randomness with the VSMDI Normalizer. It works by sorting your test lists and tests by name, creating a consistent ordering, allowing better merging and comparison of test lists. It&#8217;s a command line tool so it can integrate [...]]]></description>
			<content:encoded><![CDATA[<p>Have you noticed that your Visual Studio test lists always seem to get re-ordered? Make sense of this randomness with the VSMDI Normalizer.</p>
<p>It works by sorting your test lists and tests by name, creating a consistent ordering, allowing better merging and comparison of test lists. It&#8217;s a command line tool so it can integrate with automated processes really well.</p>
<p>It works in two modes:</p>
<ol>
<li>Target Mode: Specify the VSMDI file as the first argument and the target output file as the second. If the target exists it will be overwritten. This is ideal if not everyone is using VSMDI Normalizer. Some file comparison tools accept external converter tools (such as Beyond Compare).</li>
<li>In Place Mode: The VSMDI file will be normalized in place. This would be a good operation to run prior to check in. Just specify the VSMDI file as the first and only argument at the command line.</li>
</ol>
<p><a href="http://download.i-think22.net/tools/VsmdiNormalizer.exe">Download VSMDI Normalizer Now</a> (~13K)</p>
<p>For support, visit <a href="http://www.i-think22.net/support/">http://www.i-think22.net/support/</a></p>
<p>VSMDI Normalizer is free for personal and commercial use. It comes with no warranty, explicit or implicit.</p>
<p>To use VSMDI Normalizer with Beyond Compare:</p>
<ol>
<li>Open Beyond Compare</li>
<li>Select Tools > File Formats</li>
<li>Click New</li>
<li>Enter *.vsmdi as the mask</li>
<li>In the Conversion Tab, select &#8220;External program (Unicode filenames)&#8221;.</li>
<li>Browse for the VSMDI Normalizer tool (for the Loading field).</li>
<li>Append the following to the Loading path: &#8221; %s %t&#8221; (without the quotes).</li>
<li>Check Disable editing</li>
<li>Click Save and Close</li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=gjmY54DfzwI:DHX8bFsMNHY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=gjmY54DfzwI:DHX8bFsMNHY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=gjmY54DfzwI:DHX8bFsMNHY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=gjmY54DfzwI:DHX8bFsMNHY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=gjmY54DfzwI:DHX8bFsMNHY:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/gjmY54DfzwI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2010/02/11/vsmdi-normalizer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Windows Easy Transfer: Easy when you know how</title>
		<link>http://www.i-think22.net/archives/2009/10/06/windows-easy-transfer-easy-when-you-know-how/</link>
		<comments>http://www.i-think22.net/archives/2009/10/06/windows-easy-transfer-easy-when-you-know-how/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 20:18:00 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[i-think IT]]></category>
		<category><![CDATA[windows7]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/archives/2009/10/06/windows-easy-transfer-easy-when-you-know-how/</guid>
		<description><![CDATA[I recently installed Windows 7 RTM on my laptop. Knowing that Asus didn’t supply 64-bit drivers for my laptop I installed the 32-bit version. After all, I only had 2GiB of RAM anyway. Working from home the last few weeks has put more stress on my laptop than it has previously and I was constantly [...]]]></description>
			<content:encoded><![CDATA[<p>I recently installed Windows 7 RTM on my laptop. Knowing that Asus didn’t supply 64-bit drivers for my laptop I installed the 32-bit version. After all, I only had 2GiB of RAM anyway.</p>
<p>Working from home the last few weeks has put more stress on my laptop than it has previously and I was constantly hitting my 2GiB limit leaving my hard drive thrashing as Windows struggled to swap pages in and out of memory.</p>
<p>I was surprised when I installed Windows 7 that I didn’t need to download any drivers from my manufacturer (Asus). My graphics drivers were installed through Windows Update and everything else worked out of the box.<sup><a href="http://www.i-think22.net/archives/2009/10/06/windows-easy-transfer-easy-when-you-know-how/#footnote_0_271" id="identifier_0_271" class="footnote-link footnote-identifier-link" title="Unfortunately this didn&rsquo;t include my Bluetooth drivers, but as I am now using the Microsoft Explorer Mouse this doesn&amp;#8217;t seem like such a loss.">1</a></sup></p>
<p>So, after some encouragement from a <a href="http://buffered.io">friend on twitter</a> I decided to try installing the 64-bit version of Windows 7 and if it worked, move up to 4GiB of RAM.</p>
<p>I already had the 64-bit image ready to go on Windows Deployment Services, but I had just recently finished setting up my machine perfectly. I was particularly worried about having to reconfigure Outlook and set up new PST file. Now I could have tried copying my user profile and transferring that way, but instead I figured that I’d give Windows Easy Transfer a try. Once I passed the initial welcome screen I was confronted with the following options:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="An Easy Transfer cable" border="0" alt="An Easy Transfer cable" src="http://www.i-think22.net/wp-content/uploads/2009/10/EasyTransferCable.png" width="463" height="69" /></p>
<p>I guess this is a good idea for people who don’t have a wired home network. I didn’t have one of these cables (and I don’t think looping it back to the same computer would work right) so I moved to the next option.</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="A network" border="0" alt="A network" src="http://www.i-think22.net/wp-content/uploads/2009/10/NetworkTransfer.png" width="457" height="69" /> </p>
<p>Surely this was the option I wanted. After all, I wanted to copy the files to my network server. Unfortunately, no. This option migrates directly to the new computer. This wasn’t right either.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RemovableDiskTransfer" border="0" alt="RemovableDiskTransfer" src="http://www.i-think22.net/wp-content/uploads/2009/10/RemovableDiskTransfer.png" width="446" height="101" /> </p>
<p>An external hard disk or USB flash drive? That sounds very specific. Fortunately this includes network drives too. In fact, it just brings up a standard file dialog so you could likely store the migration file anywhere you want.</p>
<p>Then it was just a case of following the on-screen directions. It not only backed up the Documents folder, but it grabbed other folders on the disk and on different partitions. Unfortunately it doesn’t grab the settings for all applications, but it covered enough for my needs.</p>
<p>Once you’ve migrated back you get this handy migration report which you can use as a guide to see what applications you still have to install:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Previously Installed Applications" border="0" alt="Previously Installed Applications" src="http://www.i-think22.net/wp-content/uploads/2009/10/PreviouslyInstalledApplications.png" width="434" height="401" /></p>
<ol class="footnotes"><li id="footnote_0_271" class="footnote">Unfortunately this didn’t include my Bluetooth drivers, but as I am now using the Microsoft Explorer Mouse this doesn&#8217;t seem like such a loss.</li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=Af6NqcrGVJ4:MNMlr5g6xVc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=Af6NqcrGVJ4:MNMlr5g6xVc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=Af6NqcrGVJ4:MNMlr5g6xVc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=Af6NqcrGVJ4:MNMlr5g6xVc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=Af6NqcrGVJ4:MNMlr5g6xVc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/Af6NqcrGVJ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2009/10/06/windows-easy-transfer-easy-when-you-know-how/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LINQ to SQL and tables with no Primary Key</title>
		<link>http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/</link>
		<comments>http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 20:24:39 +0000</pubDate>
		<dc:creator>Rhys</dc:creator>
				<category><![CDATA[LINQ]]></category>
		<category><![CDATA[.net]]></category>

		<guid isPermaLink="false">http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/</guid>
		<description><![CDATA[I ran into an interesting issue with LINQ to SQL yesterday. I had to update a table with no Primary Key. As I expected, LINQ to SQL wasn&#8217;t too happy with this scenario. Unfortunately LINQ to SQL will only throw an exception when you try to Insert or Delete a record with no primary key. [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into an interesting issue with LINQ to SQL yesterday. I had to update a table with no Primary Key. As I expected, LINQ to SQL wasn&#8217;t too happy with this scenario. Unfortunately LINQ to SQL will only throw an exception when you try to Insert or Delete a record with no primary key. Updates fail silently.</p>
<p>It&#8217;s actually quite obvious when you look into what is happening. To do an update you would usually do something like this:</p>
<pre class="prettyprint">var update = (from v in db.SimpleRecords
              where v.identifier == 12
              select v).First();
update.value = &quot;new value&quot;;
db.SubmitChanges();</pre>
<p>Of course, nothing happens. Here&#8217;s the code (slightly edited for readability) that is generated by the LINQ to SQL classes:</p>
<pre class="prettyprint">[Table(Name=&quot;dbo.SimpleRecord&quot;)]
public partial class SimpleRecord
{
   private int _identifier;

   private string _value;

      public SimpleTable()
      {
      }

      [Column(Storage=&quot;_identifier&quot;, AutoSync=AutoSync.Always,
         DbType=&quot;Int NOT NULL IDENTITY&quot;, IsDbGenerated=true)]
      public int identifier
      {
         get
         {
            return this._identifier;
         }
         set
         {
            if (this._identifier != value)
            {
               this._identifier = value;
            }
         }
      }

      [Column(Storage=&quot;_value&quot;, DbType=&quot;VarChar(50)&quot;)]
      public string value
      {
         get
         {
            return this._value;
         }
         set
         {
            if (this._value != value)
            {
               this._value = value;
            }
         }
      }
}</pre>
<p>Without a primary key the two following interfaces aren&#8217;t emitted: <code class="prettyprint">INotifyPropertyChanging</code> and <code class="prettyprint">INotifyPropertyChanged</code></p>
<p>Therefore LINQ to SQL doesn&#8217;t know that your record has changed (so can&#8217;t warn you that it can&#8217;t update).</p>
<p>Now that you understand the problem the solution is simple: Define a primary key in your table.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=pTS87w5MVPU:vNtJCTocP3w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=pTS87w5MVPU:vNtJCTocP3w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=pTS87w5MVPU:vNtJCTocP3w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?a=pTS87w5MVPU:vNtJCTocP3w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/i-thinkTwenty-two?i=pTS87w5MVPU:vNtJCTocP3w:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/i-thinkTwenty-two/~4/pTS87w5MVPU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

