<?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>Matt&#039;s blog</title>
	<atom:link href="http://blog.djmatty.com/Index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.djmatty.com</link>
	<description>Now that I&#039;m here in Sydney, interesting things might happen...</description>
	<lastBuildDate>Wed, 01 Sep 2010 09:06:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Kris &amp; Hayley&#8217;s Wedding</title>
		<link>http://blog.djmatty.com/?p=334</link>
		<comments>http://blog.djmatty.com/?p=334#comments</comments>
		<pubDate>Wed, 01 Sep 2010 09:06:15 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Australia]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=334</guid>
		<description><![CDATA[Just got back to Sydney from a fantastic (but hectic) weekend in the UK at Kris &#038; Hayley&#8217;s wedding. Yes, you read it right, a weekend in the UK. I left thursday morning, and arrived early on Friday, spent the arvo with Andy H chilling in St Albans before Dave, Christy and I drove up [...]]]></description>
			<content:encoded><![CDATA[<p>Just got back to Sydney from a fantastic (but hectic) weekend in the UK at Kris &#038; Hayley&#8217;s wedding. Yes, you read it right, a weekend in the UK. I left thursday morning, and arrived early on Friday, spent the arvo with Andy H chilling in St Albans before Dave, Christy and I drove up to Belper.</p>
<p>Saturday was the day of the wedding, a fantastic day, it was a great service and reception, H&#8217;s dad&#8217;s speech was great, as were the best men&#8217;s (there were 2 of em!), and as was Kris&#8217;s, including an emotional and respectful toast to Stuart. Oh, and the weather was good too (if a little windy at times).</p>
<p>We were suited and booted, and I know that doesn&#8217;t happen often for me, but I suspect even less so for Dave Dev, in fact, I can&#8217;t recall ever seeing him in a suit&#8230; so here&#8217;s evidence:</p>
<p><a title="Dave Dev in a suit!" href="http://flic.kr/p/8xb6J2"><div style="overflow:hidden;width:380px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-312 shadow_osx" width="350" height="469" border="0" alt="Dave Dev in a suit!" src="http://static.flickr.com/4149/4947279129_7d9823640c_o.jpg"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>Here&#8217;s H&#038;K cutting their cake:</p>
<p><a title="Dave Dev in a suit!" href="http://flic.kr/p/8xe7WG"><div style="overflow:hidden;width:430px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-312 shadow_osx" width="400" height="300" border="0" alt="Dave Dev in a suit!" src="http://static.flickr.com/4149/4947868564_a7e942ebaf_o.jpg"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>Here&#8217;s a vid of H&#038;K arriving at the reception:</p>
<p><object type="application/x-shockwave-flash" width="400" height="225" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" class="aligncenter"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=84c05f25ff&#038;photo_id=4947328335"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=84c05f25ff&#038;photo_id=4947328335" height="225" width="400"></embed></object></p>
<p>After a quiet sunday recovering from my hangover, watching the grand prix (well the end of it anyway) and having a chat with James P who was camping with the family up near Ripley (in Codnor I believe, and if that&#8217;s the case I&#8217;m surprised he didn&#8217;t come back to find his car and his tent on bricks :) we headed back down to Christy &#038; Dave&#8217;s place ready for my flight back on Monday morning. We squeezed in a little curry at a local curry house, which was great!</p>
<p>Then it was the start of the long flight back (well shorter than when I came, as I messed up and ended up with a 6hr wait in Singapore on the outward journey), and I arrived back home at 9pm-ish on Tuesday, just managed to start the washing machine going before I nodded off.</p>
<p>It was well worth the trip back, and great to catch up with people who I hadn&#8217;t seen for a long time. Although the travelling was pretty gruelling and I don&#8217;t plan to do it again any time soon!</p>
<p>Thanks must go to my Sis and her hubby for spending the bank holiday weekend ferrying me up to Belper and back, I&#8217;ll return the favour when you come over to Sydney, Christy :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=334</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mercurial and hosting it as an ISAPI module under IIS6</title>
		<link>http://blog.djmatty.com/?p=311</link>
		<comments>http://blog.djmatty.com/?p=311#comments</comments>
		<pubDate>Sat, 01 May 2010 00:07:53 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Geek Post]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=311</guid>
		<description><![CDATA[After reading a bit more about Mercurial as a distributed source code control system, and discovering that it will co-exist with git I decided to try it out, so I could see which I prefer. The jury is still out at the moment, but I also decided to install mercurial on my windows home server [...]]]></description>
			<content:encoded><![CDATA[<p>After reading a bit more about Mercurial as a distributed source code control system, and discovering that it will co-exist with git I decided to try it out, so I could see which I prefer. The jury is still out at the moment, but I also decided to install mercurial on my windows home server so I could try hosting repos centrally. Here&#8217;s the process I went through to get it set up, it took a bit of messing about to get working in IIS6 with ISAPI, mainly due to there not being many resources on the net for setting it up with ISAPI under IIS6.</p>
<p>First thing is to follow <a href="http://www.eworldui.net/blog/post/2010/04/08/Setting-up-Mercurial-server-in-IIS7-using-a-ISAPI-module.aspx">this</a> great post by Matt Hawley, it has the links and instructions to set up all the required packages, python, pywin32, mercurial, and isapi-wsgi. Follow that post up to the config part.</p>
<p>Now my setup differs from Matts, he creates a new website to host mercurial and starts it on port 81, I wanted to use port 80/443 and have it play nicely with the rest of the WHS standard web sites, but I didn&#8217;t want to have to configure host headers, and wildcard certs, etc. I discovered that using host headers were a problem too, apparently they mess up the existing software in my HP WHS, so I decided to go with a virtual directory under the main web page.</p>
<p>When modifying the &#8216;hgwebdir_wsgi.py&#8217; file to set your hgweb_config path, I also set the path_strip and path_prefix to 1 rather than 0. It doesn&#8217;t seem to work if you only set path_prefix to 1.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/hgwebdir_wsgi.py_.png"><div style="overflow:hidden;width:330px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-312 shadow_osx" title="hgwebdir_wsgi.py" src="http://blog.djmatty.com/wp-content/uploads/2010/05/hgwebdir_wsgi.py_-300x82.png" alt="" width="300" height="82"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>Follow Matt&#8217;s instructions for generating the DLL shim called _hgwebdir_wsgi.dll.</p>
<p>I created a shared folder in WHS to contain the repos (because you can&#8217;t access the drives directly that are used in the drive set), so set that path in hgweb.config file:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">
[paths]
/ = \\server\repos\*
</pre>
<p>In IIS Manager create a new app pool called Mercurial, then create a new virtual directory pointing to the folder you created in Matt&#8217;s post step 1. (mine was c:\inetpub\hg, but it could be anywhere you like)</p>
<p>If you do use a network share for your repos, you will need to change the identity that the app pool uses to a user that has permissions to access that folder, or give access permissions to Network Service. If you change the identity to a local user, follow the instructions in <a href="http://weblogs.asp.net/dburke/archive/2004/01/05/47755.aspx">this</a> post for assigning the correct groups and rights to the user, otherwise you might just get a &#8216;Service Unavailable&#8217; message when you browse to the page.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt1.png"><div style="overflow:hidden;width:330px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-313 shadow_osx" title="hgvirt1" src="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt1-300x289.png" alt="" width="300" height="289"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>Click the configuration button to configure the application.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt2.png"><div style="overflow:hidden;width:299px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-314 shadow_osx" title="hgvirt2" src="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt2-269x300.png" alt="" width="269" height="300"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>Click Insert in the Wildcard Application Maps and select the _hgwebdir_wsgi.dll file. <strong>Important!</strong> Ensure you uncheck the &#8216;Verify that file exists&#8217; checkbox, otherwise you will get 404 errors when you try to browse the site.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt3.png"><div style="overflow:hidden;width:330px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-315 shadow_osx" title="hgvirt3" src="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt3-300x87.png" alt="" width="300" height="87"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>In the directory security tab click the Edit button on the Authentication and Access Control and disable anonymous access, also enable basic authentication and disable integrated windows authentication. This is needed for mercurial authentication, but credentials are transmitted in plain text so shouldn&#8217;t be used on the public internet without ssl.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt4.png"><div style="overflow:hidden;width:280px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-316 shadow_osx" title="hgvirt4" src="http://blog.djmatty.com/wp-content/uploads/2010/05/hgvirt4-250x300.png" alt="" width="250" height="300"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
<p>To enable ssl, assuming your site already has a certificate etc, just click edit on the secure communications, and check the require secure channel checkbox.</p>
<p>Now you should be able to browse to https://yoursite/hg and see the repository summary page.</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2010/05/reposummary.png"><div style="overflow:hidden;width:330px; " class="aligncenter">
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left top; width: 30px; height: 7px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right top; width: 30px; height: 7px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_top.png) repeat-x center top; margin: 0 30px; height: 7px;" class="shadow_img"></div>
<table style="margin:0;padding:0;width:100%;empty-cells:show;border-collapse:collapse;"><tr>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left -7px; width: 15px; height: 25px;" class="shadow_img"></td>
<td rowspan=2 style="margin:0;padding:0;border-width:0; background-color: transparent; line-height:1px;">
<img class=" size-medium wp-image-318 shadow_osx" title="reposummary" src="http://blog.djmatty.com/wp-content/uploads/2010/05/reposummary-300x205.png" alt="" width="300" height="205"  style="padding:0 !important; margin:0 !important; vertical-align:text-bottom !important; min-height: 25px !important;">
</td>
<td style="margin:0;padding:0;border-width:0;background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right -7px; width: 15px; height: 25px;" class="shadow_img"></td>
</tr>
<tr>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_left.png) repeat-y left center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
<td style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_right.png) repeat-y right center; width: 15px;margin:0;padding:0;border-width:0;" class="shadow_img"></td>
</tr>
</table>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat left bottom; width: 30px; height: 23px; float: left;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx.png) no-repeat right bottom; width: 30px; height: 23px; float: right;" class="shadow_img"></div>
<div style="background: transparent url(http://blog.djmatty.com/wp-content/plugins/shadows/shadow_osx_bottom.png) repeat-x center bottom; margin: 0 30px; height: 23px;" class="shadow_img"></div>
</div>
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=311</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Git</title>
		<link>http://blog.djmatty.com/?p=302</link>
		<comments>http://blog.djmatty.com/?p=302#comments</comments>
		<pubDate>Thu, 25 Feb 2010 08:49:05 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Australia]]></category>
		<category><![CDATA[Geek Post]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=302</guid>
		<description><![CDATA[Been using Git for a while now and getting to like it. Found out some more info about some of the commands. The commands I gave previously for adding p4merge as the merge tool didn&#8217;t do quite what I was expecting, and didn&#8217;t actually work :) After expecting git to use this merge tool whenever [...]]]></description>
			<content:encoded><![CDATA[<p>Been using Git for a while now and getting to like it. Found out some more info about some of the commands.</p>
<p>The commands I gave previously for adding p4merge as the merge tool didn&#8217;t do quite what I was expecting, and didn&#8217;t actually work :)</p>
<p>After expecting git to use this merge tool whenever merges were needed it doesn&#8217;t, you have to run it when auto merge fails using this command (discovered from <a href="http://stackoverflow.com/questions/137102/whats-the-best-visual-merge-tool-for-git">this</a> SO question):</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git mergetool</pre>
<p>This will then go through each file with conflicts and run p4merge on them. Except that each time it tried to run p4merge it failed, so I guess the command was setup incorrectly.</p>
<p>I took a look at the .gitconfig file in my user folder and noticed that each of the file parameters to the p4merge.exe had got lots of slashes:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">[user]
	name = Mike Hunt
	email = someone@somewhere.com
[core]
	editor = notepad.exe
[merge]
	tool = p4merge
[mergetool &quot;p4merge&quot;]
	cmd = p4merge.exe \\\&quot;$BASE\\\&quot; \\\&quot;$LOCAL\\\&quot; \\\&quot;$REMOTE\\\&quot; \\\&quot;$MERGED\\\&quot;</pre>
<p>So I changed it to this:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">
[user]
	name = Mike Hunt
	email = someone@somewhere.com
[core]
	editor = notepad.exe
[merge]
	tool = p4merge
[mergetool &quot;p4merge&quot;]
	cmd = p4merge.exe &quot;$BASE&quot; &quot;$LOCAL&quot; &quot;$REMOTE&quot; &quot;$MERGED&quot;
[diff]
	tool = p4merge
[difftool &quot;p4merge&quot;]
	cmd = p4merge.exe &quot;$LOCAL&quot; &quot;$REMOTE&quot;
</pre>
<p>And now it runs p4merge for the merges and shows the files properly, and also note the entry for the diff tool, so it uses that for diffs as well, using the command:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git difftool</pre>
<p>Other things that had me scratching my head for a while were:</p>
<p>1) If I delete a folder from the working set I couldn&#8217;t stage the delete (or commit it), which I discovered was due to me not using:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git add -u .</pre>
<p>or</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git add -A .</pre>
<p>-u (or &#8211;update) stages files based on what is in the index rather than the working set, so it won&#8217;t add new files, but will update newly updated files that are already staged, and it will also remove files that were staged but have been removed from the working set.</p>
<p>-A (or &#8211;all) will do as -u but will also stage new files as well (lesson learned, &#8220;use git add -A .&#8221; from now on!) More details <a href="http://kernel.org/pub/software/scm/git-core/docs/git-add.html">here</a></p>
<p>2) &#8220;git pull&#8221; performs a &#8220;git fetch&#8221; then a &#8220;git merge&#8221;. The fetch fetches the remote branch to a local tracking branch based on the remote and branch you fetched, e.g. &#8220;git fetch unfuddle master&#8221; fetches the master branch from the unfuddle remote to a tracking branch locally called &#8216;unfuddle/master&#8217;. The merge then merges that tracking branch to the local branch. e.g. if you are in the local branch &#8220;git merge unfuddle/master&#8221; will merge the changes.</p>
<p>3) If you mess up and want to reset your working files to the last commit:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git reset --hard HEAD</pre>
<p>4) If you only want to reset individual files:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git checkout -- hello.cs</pre>
<p>will reset the local working file hello.cs to the staged version</p>
<p>or</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git checkout HEAD hello.cs</pre>
<p>will reset the local working file to the HEAD version (last local commit)</p>
<p>Here are some handy links that I have come across for finding this info:</p>
<p><a href="http://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-visual-diff-program">http://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-visual-diff-program</a></p>
<p><a href="http://gitguru.com/2009/02/22/integrating-git-with-a-visual-merge-tool/">http://gitguru.com/2009/02/22/integrating-git-with-a-visual-merge-tool/</a></p>
<p><a href="http://stackoverflow.com/questions/866262/p4merge-error">http://stackoverflow.com/questions/866262/p4merge-error</a></p>
<p><a href="http://www.andymcintosh.com/?p=33">http://www.andymcintosh.com/?p=33</a></p>
<p><a href="http://www.gitready.com/advanced/2009/02/11/pull-with-rebase.html">http://www.gitready.com/advanced/2009/02/11/pull-with-rebase.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=302</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git :)</title>
		<link>http://blog.djmatty.com/?p=272</link>
		<comments>http://blog.djmatty.com/?p=272#comments</comments>
		<pubDate>Mon, 15 Feb 2010 07:47:42 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Geek Post]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=272</guid>
		<description><![CDATA[With the weather being a bit rubbish the past few weekends I have been geeking out (in addition to playing Uncharted 1 &#38; 2) and been learning wpf, mvvm pattern and I decided to start using an open source source code control system. After some deliberation I picked Git (I did look at subversion and [...]]]></description>
			<content:encoded><![CDATA[<p>With the weather being a bit rubbish the past few weekends I have been geeking out (in addition to playing Uncharted 1 &amp; 2) and been learning wpf, mvvm pattern and I decided to start using an open source source code control system. After some deliberation I picked Git (I did look at subversion and mercurial), it seems to have gained popularity and I wanted to see what all the fuss was about and if it was written and used by Linus for the linux kernel then it should be good enough for me :)</p>
<p>After some investigation I found <a href="http://code.google.com/p/msysgit/">msysgit</a> which is basically git on windows. It effectively installs a bash shell on your windows box with all the git commands. I also decided to use <a href="http://unfuddle.com/">Unfuddle</a> as an online store of my source code. Here are the steps I took to get setup, mainly so that I can find them again if I need to do this later…</p>
<p>Installing msysgit was pretty straight forward, I accepted the defaults and it installed just fine. (This was after discovering the right package to download, as that is not immediately obvious, but it’s <a href="http://msysgit.googlecode.com/files/Git-1.6.5.1-preview20091022.exe">here</a>, the git package, rather than the msysgit package)</p>
<p>Setting up git to work with unfuddle and setting up ssh keys etc was the next step, and also setting up the repo to work with Visual Studio, which is basically setting up a .gitignore file to tell git not to include certain files and filetypes in the source code control</p>
<p>Once git is up and running you should then set up some global config, an ssh-key can be created using the following:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">ssh-keygen –C “your@email.com” –t rsa</pre>
<p>This will create the key in a folder called .ssh in your user folder. You then use this key to add to unfuddle (or github or wherever) so that you can be authorised against the remote repo.</p>
<p>Then set your username and email:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git config -–global user.name “Your Name”
git config –-global user.email &quot;Your@Email.com”</pre>
<p>In your user folder there should be a .profile file, if there isn’t then you can use</p>
<pre class="brush: bash; gutter: false; toolbar: true;">touch .profile </pre>
<p>which will create a file without a filename and only an extension (you can&#8217;t do this in explorer) Then add <a href="http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html">this</a> to it, which starts up the SSH Agent when bash is run, so that you only have to enter the ssh key password once.</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">SSH_ENV=$HOME/.ssh/environment

function start_agent {
     echo &quot;Initialising new SSH agent...&quot;;
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' &gt; &quot;${SSH_ENV}&quot;
     echo succeeded
     chmod 600 &quot;${SSH_ENV}&quot;
     . &quot;${SSH_ENV}&quot; &gt; /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f &quot;${SSH_ENV}&quot; ]; then
     . ${SSH_ENV} &gt; /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ &gt; /dev/null || {
         start_agent;
     }
else
     start_agent;
fi
</pre>
<p><a href="http://stackoverflow.com/questions/10564/how-can-i-set-up-an-editor-to-work-with-git-on-windows">This</a> question on SO tells you how to change git’s default editor, I changed it from vi to notepad. (I use notepad2, but it’s installed to take over from notepad, so opening notepad.exe opens notepad2)</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git config –-global core.editor “notepad.exe”</pre>
<p><a href="http://stackoverflow.com/questions/426026/git-on-windows-how-do-you-set-up-a-mergetool">This</a> question on SO tells you how to change the default merge tool to p4merge, which is my merge tool of choice:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd ‘p4merge.exe \”$BASE\” \”$LOCAL\” \”$REMOTE\” \”$MERGED\”’</pre>
<p>Then that should be the environment set up, after that its just a case of either creating a new repo or cloning one from unfuddle. </p>
<p><a href="http://unfuddle.com/docs/git#additional_resources">This</a> page has the basic info on how to do it:</p>
<p>1) If you are starting a new repo, create it in unfuddle, then create a folder locally for it then:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git init</pre>
<p>1b) you might also want to create a .gitignore file in the repo folder, so that you can tell git to only commit your source code, mine looks like this (you can tell where I ‘borrowed’ it from):</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;"># .gitignore for .NET projects
# Thanks to Derick Bailey
# http://www.lostechies.com/blogs/derickbailey/archive/2009/05/18/a-net-c-developer-s-gitignore-file.aspx
# Additional Thanks to
# - Alexey Abramov

# Standard VS.NET and ReSharper Foo
obj
bin
*.csproj.user
*ReSharper*
*resharper*
*.suo
*.cache
*Thumbs.db
*.scc

# Other useful stuff
*.bak
*.cache
*.log
*.swp
*.user
_compareTemp
_notes
aspnet_client
httpd.parse.errors

# Office Temp Files
~$*

# If you have a deploy folder
deploy
deploy/*

# Exclude ALL DLLs?
#*.dll</pre>
<p>2) Associate the repo with the unfuddle remote repo:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git remote add unfuddle git@subdomain.unfuddle.com:subdomain/abbreviation.git

git config remote.unfuddle.push refs/heads/master:refs/heads/master</pre>
<p>2a) If you already have code in the repo you can clone it</p>
<p>3) Finally, write some code, and when you are happy and want to commit the changes to your local repo:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git add *
git commit</pre>
<p>4) Then push the changes to the remote unfuddle repo:</p>
<pre class="brush: bash; first-line: 1; gutter: false; toolbar: true;">git push unfuddle master</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=272</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fishing</title>
		<link>http://blog.djmatty.com/?p=271</link>
		<comments>http://blog.djmatty.com/?p=271#comments</comments>
		<pubDate>Sun, 13 Dec 2009 02:41:45 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Australia]]></category>
		<category><![CDATA[Sydney]]></category>
		<category><![CDATA[fishing]]></category>
		<category><![CDATA[whale beach]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=271</guid>
		<description><![CDATA[Just spent the morning rock fishing at Whale Beach, and this time we actually caught something! It&#8217;s a beautiful day, blue skies, blue seas, and almost no-one there so we got to pick our spot.]]></description>
			<content:encoded><![CDATA[<p>Just spent the morning rock fishing at Whale Beach, and this time we actually caught something! It&#8217;s a beautiful day, blue skies, blue seas, and almost no-one there so we got to pick our spot. </p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_7517A71E-698D-45FC-80D9-D2DC9DB750EC.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_7517A71E-698D-45FC-80D9-D2DC9DB750EC.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/12/p_2048_1536_CCFE3293-BE01-46E0-BC2A-546A73144A6B.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/12/p_2048_1536_CCFE3293-BE01-46E0-BC2A-546A73144A6B.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/12/p_2048_1536_7F5A841F-E4FF-4D2D-A864-46AEB8D0D81B.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/12/p_2048_1536_7F5A841F-E4FF-4D2D-A864-46AEB8D0D81B.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_9980FF46-2361-41A6-AFC2-C4BDB1411401.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_9980FF46-2361-41A6-AFC2-C4BDB1411401.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_3D8F6CF5-92DB-4081-96F1-61F62AC30614.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/12/l_2048_1536_3D8F6CF5-92DB-4081-96F1-61F62AC30614.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=271</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The sun is a good cure for a hangover</title>
		<link>http://blog.djmatty.com/?p=264</link>
		<comments>http://blog.djmatty.com/?p=264#comments</comments>
		<pubDate>Sat, 31 Oct 2009 03:35:01 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Sydney]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=264</guid>
		<description><![CDATA[Well, we decided to head out for beers and pool last night, so after some dinner at James Squires I introduced Dave to the delights of the Shark Hotel. It has supposedly been refurbished, but looked pretty much the same to me, although they have taken up some of the space for more chairs and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, we decided to head out for beers and pool last night, so after some dinner at James Squires I introduced Dave to the delights of the Shark Hotel. It has supposedly been refurbished, but  looked pretty much the same to me, although they have taken up some of the space for more chairs and tables, and squashed the pool tables together a bit. Still, it didn&#8217;t affect my game, as I lost most of them to Dave, who seems to be getting the hang of these funny upside down tables now. Needless to say, a lot of boags, strongbow, and g&#038;t&#8217;s were quaffed, hence my &#8220;special&#8221; feeling this morning. </p>
<p>Dave pursuaded me to go with him to sit in the sun on the grass at the botanical gardens and I&#8217;m sat here on the grass typing this. Not a bad idea Dave! I&#8217;ve attached some pictures of Dave enjoying himself, mind you it&#8217;s only about the 3rd day or so of sun that we have had since he got here, so he&#8217;s been enjoying the decidedly English-like weather up until yesterday!</p>
<p>Oh and happy Halloween too!</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_B69446FE-E6ED-4439-9F21-18DEBAE34B97.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_B69446FE-E6ED-4439-9F21-18DEBAE34B97.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_BFA140A0-428E-413E-A6FF-3AD6337FAE69.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_BFA140A0-428E-413E-A6FF-3AD6337FAE69.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/10/l_2048_1536_C84D1174-4C3A-409A-A88B-EE2AE6E5D215.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/10/l_2048_1536_C84D1174-4C3A-409A-A88B-EE2AE6E5D215.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/10/l_2048_1536_76C0365A-893C-4E07-B3EA-65F291DBD5FD.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/10/l_2048_1536_76C0365A-893C-4E07-B3EA-65F291DBD5FD.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=264</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;ve all arrived in Filey</title>
		<link>http://blog.djmatty.com/?p=259</link>
		<comments>http://blog.djmatty.com/?p=259#comments</comments>
		<pubDate>Fri, 16 Oct 2009 14:23:15 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[UK]]></category>
		<category><![CDATA[Filey]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=259</guid>
		<description><![CDATA[We&#8217;re all settled in, it&#8217;s a little bit windy and a bit pearl harbour, I doubt I&#8217;ll be going for a dip in the sea, I&#8217;ll wait till I get home to Sydney for that]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re all settled in, it&#8217;s a little bit windy and a bit pearl harbour, I doubt I&#8217;ll be going for a dip in the sea, I&#8217;ll wait till I get home to Sydney for that</p>
<p><a href="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_4168FBAE-2026-42D5-B519-E040F0773E7F.jpeg"><img src="http://blog.djmatty.com/wp-content/uploads/2009/10/p_2048_1536_4168FBAE-2026-42D5-B519-E040F0773E7F.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=259</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am really using my iPhone for stuff these days</title>
		<link>http://blog.djmatty.com/?p=255</link>
		<comments>http://blog.djmatty.com/?p=255#comments</comments>
		<pubDate>Thu, 01 Oct 2009 11:05:56 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Australia]]></category>
		<category><![CDATA[Geek Post]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=255</guid>
		<description><![CDATA[I&#8217;m surprised at how much I am using my iPhone nowadays, and what for. I&#8217;ve managed to steer clear of eBooks for a long time, being a firm believer of having a nice chunk of mashed up tree in my hand is part of getting into a good book. However, I have recently installed iPhone [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m surprised at how much I am using my iPhone nowadays, and what for. </p>
<p>I&#8217;ve managed to steer clear of eBooks for a long time, being a firm believer of having a nice chunk of mashed up tree in my hand is part of getting into a good book. However, I have recently installed iPhone app <a href="http://www.lexcycle.com/">Stanza</a> and downloaded a couple of eBooks. Partly because books are really expensive over here, and partly because I didn’t want to lug a book around with me on my way to work.</p>
<p>I have to say that I have got into reading on my iPhone, I’ve bought a copy of the book I am reading at the moment, <a href="http://en.wikipedia.org/wiki/Day_Watch_%28novel%29">Day Watch</a> by <a href="http://en.wikipedia.org/wiki/Sergey_Lukyanenko">Sergey Lukyanenko</a> and just carried on reading from where I had already got to in the paper book. I had thought before I gave it a try that the iPhone would be too small to read on, but using it I don’t think that’s the case. The app remembers where you got to in each book, it has online catalogues that you can browse to either purchase books and download them there and then in the app or safari, or just download from the many free catalogues too, like project gutenberg.</p>
<p>Since I was on a roll with eBooks, I thought I’d give video a go, to make the journey to and from work pass quickly. After some research (well, googling, still not that impressed with bing) I discovered an opensource project called <a href="http://handbrake.fr/index.php">Handbrake</a> which is a video transcoding app. It has a default setting for iPhone, and I just ran some tv shows through it and hey presto, 200mb m4v files of each episode, no matter what format I threw at it, xvid in avi, or h264 in mkv, it sorted them all out.</p>
<p>Most impressed, a quick iTunes sync with the iPhone and the next morning I was watching TV on the way to work, great quality, really watchable even on the screen size that it is (I think handbrake crops the video as well as shrinking it so you may lose some of the edges of the frames, but it doesn’t make everything really tiny).</p>
<p>The only thing I have to be careful of now is missing my stop on the train cos I am too busy watching tv :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sydney moved to Mars</title>
		<link>http://blog.djmatty.com/?p=249</link>
		<comments>http://blog.djmatty.com/?p=249#comments</comments>
		<pubDate>Thu, 24 Sep 2009 13:07:54 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Australia]]></category>
		<category><![CDATA[Dusty]]></category>
		<category><![CDATA[Sydney]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=249</guid>
		<description><![CDATA[Woke up yesterday morning after it being really windy all night, to the deep orange glow of a very dusty Sydney. Very eerie it was, sorta like you&#8217;d think a dust storm on Mars would be :) Took a couple of shots with my iPhone camera: It had mostly gone by lunch time and things [...]]]></description>
			<content:encoded><![CDATA[<p>Woke up yesterday morning after it being really windy all night, to the deep orange glow of a very dusty Sydney. Very eerie it was, sorta like you&#8217;d think a dust storm on Mars would be :)</p>
<p>Took a couple of shots with my iPhone camera:</p>
<div class="wp-caption aligncenter" style="width: 435px"><a href="http://farm3.static.flickr.com/2459/3948204153_ceea789327_m.jpg"><img alt="Dusty Sydney" src="http://farm3.static.flickr.com/2459/3948204153_ceea789327.jpg" title="Dusty Sydney" width="425" height="283" /></a><p class="wp-caption-text">Dusty Sydney</p></div>
<div class="wp-caption aligncenter" style="width: 435px"><a href="http://www.flickr.com/photos/im_djmatty/3948204261/"><img alt="Dusty Sydney in my apartment" src="http://farm4.static.flickr.com/3425/3948204261_8886a8ecc3.jpg" title="Dusty Sydney in my apartment" width="425" height="283" /></a><p class="wp-caption-text">Dusty Sydney in my apartment</p></div>
<p>It had mostly gone by lunch time and things were back to normal</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=249</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some general Winforms coding info</title>
		<link>http://blog.djmatty.com/?p=233</link>
		<comments>http://blog.djmatty.com/?p=233#comments</comments>
		<pubDate>Wed, 23 Sep 2009 23:01:26 +0000</pubDate>
		<dc:creator>DJMatty</dc:creator>
				<category><![CDATA[Geek Post]]></category>

		<guid isPermaLink="false">http://blog.djmatty.com/?p=233</guid>
		<description><![CDATA[The difference between Control.Invalidate, Control.Update and Control.Refresh: Control.Invalidate() Adds a region or a control to the update region of a window Control.Update() Sends WM_PAINT to the window if the windows update region is not empty (sends directly to wndproc bypassing the apps message queue) Control.Refresh() Calls invalidate and then update String format alignment enums The [...]]]></description>
			<content:encoded><![CDATA[<p>The difference between Control.Invalidate, Control.Update and Control.Refresh:</p>
<p><strong>Control.Invalidate()</strong><br />
Adds a region or a control to the update region of a window</p>
<p><strong>Control.Update()</strong><br />
Sends WM_PAINT to the window if the windows update region is not empty (sends directly to wndproc bypassing the apps message queue)</p>
<p><strong>Control.Refresh()</strong><br />
Calls invalidate and then update</p>
<p><strong>String format alignment enums</strong><br />
The names of LineAlignment and Alignment (plus the descriptions in their tooltips) are confusing and I keep forgetting which one is which.</p>
<p><strong>StringFormat.LineAlignment</strong><br />
Text alignment vertically</p>
<p><strong>StringFormat.Alignment</strong><br />
Text alignment horizontally</p>
<p><strong>Scrollbars</strong><br />
The scroll value automatically takes into account not scrolling the amount at the end of the range given by LargeChange. According to reflector:</p>
<pre name="code" class="c#:nogutter:nocontrols">

case ScrollEventType.SmallDecrement:
	newValue = Math.Max(this.value - this.SmallChange, this.minimum);
	break;

case ScrollEventType.SmallIncrement:
	newValue = Math.Min((int) (this.value + this.SmallChange),
		(int) ((this.maximum - this.LargeChange) + 1));
	break;

case ScrollEventType.LargeDecrement:
	newValue = Math.Max(this.value - this.LargeChange,
		this.minimum);
	break;

case ScrollEventType.LargeIncrement:
	newValue = Math.Min((int) (this.value + this.LargeChange),
	(int) ((this.maximum - this.LargeChange) + 1));
	break;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.djmatty.com/?feed=rss2&amp;p=233</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
