<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en"><title type="text">David Gardiner - Dave's Daydreams</title><link rel="alternate" type="text/html" href="http://david.gardiner.net.au/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DavesDaydreams" /><subtitle type="html">A blog of software development, .NET and other interesting things</subtitle><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-03-19T01:36:17+00:00</updated><generator uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">642</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="davesdaydreams" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><id>tag:blogger.com,1999:blog-10782889</id><geo:lat>-34.91774</geo:lat><geo:long>138.546664</geo:long><logo>http://cq3x6a.blu.livefilestore.com/y1pQX6XaLQ7tEA8rrz9AB0SrVBS1Sm-LZkEGL9itUd6fJBW5h1YmwACQTSkW5vbGRXNBgNivqNk-4U/favicon.ico</logo><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><entry><title type="text">The consulting cycle</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/IdF0sdc5-1k/consulting-cycle.html" /><category term="Work" /><category term="Cycling" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-03-18T02:12:46-07:00</updated><id>tag:blogger.com,1999:blog-10782889.post-6040426477558619930</id><content type="html">&lt;p&gt;How do you combine exercise, family and consulting work?&lt;/p&gt;  &lt;p&gt;I'm trying to figure out how I can squeeze in the occasional ride to work, whilst still retaining that degree of separation that is appropriate as a consultant (eg. not using client's shower facilities!)&lt;/p&gt;  &lt;p&gt;My requirements are relatively simple. Somewhere to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;securely to store my bike&lt;/li&gt;    &lt;li&gt;shower and change&lt;/li&gt;    &lt;li&gt;leave bike clothes/towel to dry&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a title="Rob Farley&amp;#39;s blog" href="http://sqlblog.com/blogs/rob_farley/default.aspx" target="_blank"&gt;Rob&lt;/a&gt; had a good suggestion of checking out local gyms in the Adelaide CBD – maybe they might offer a cheap &amp;quot;change facilities only&amp;quot; membership deal. I read that &lt;a href="http://www.melbourne.vic.gov.au/ParksandActivities/WalkingCyclingandSkating/Pages/Bikepod.aspx" target="_blank"&gt;Melbourne now have a dedicated &amp;quot;Bike Pod&amp;quot;&lt;/a&gt; for their cyclists to use. Wouldn't it be great if Adelaide had something similar!&lt;/p&gt;  &lt;p&gt;I'd be interested to hear of other suggestions and/or solutions.&lt;/p&gt;  &lt;p&gt;Whilst I do like the idea of a &amp;quot;&lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt;&amp;quot; branded bike top and knicks (the red claw would be very eye catching!) I'm not sure that our clients would be happy with me wearing that around the office all day :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-6040426477558619930?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/IdF0sdc5-1k" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-18T19:42:46.520+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/03/consulting-cycle.html</feedburner:origLink></entry><entry><title type="text">Time tracking</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/eWl7EVd3RLY/time-tracking.html" /><category term="Productivity" /><category term="Work" /><category term="LobsterPot" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-03-10T04:38:25-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-90973555654161210</id><content type="html">&lt;p&gt;I'm part-way through my 3rd week at &lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt; and one of the things &lt;a title="Rob Farley&amp;#39;s blog" href="http://sqlblog.com/blogs/rob_farley/default.aspx" target="_blank"&gt;Rob&lt;/a&gt; asked me to do was keep track of my time, so that he can bill clients appropriately. That's how things work in the consulting business :-)&lt;/p&gt;  &lt;p&gt;Some people do this with the old fashioned but very reliable paper and pen. I tried that myself for a bit, but found a) my handwriting isn't easy for even me to read and b) I wasn't that good at consistently writing down new tasks etc.&lt;/p&gt;  &lt;p&gt;One interesting approach I have seen is to just block out time in your calendar (be it Outlook or Google). That works as a record, but it doesn't do the 'adding up' bit to give you the end of week totals etc. &lt;/p&gt;  &lt;p&gt;Surely there must be a reasonable time tracking application that is free and does enough for me to record what I'm doing and give a reasonable I can forward to Rob? One criteria was that it should store data centrally. Being a consultant I could find myself working at a client's premises in town, at home, or even interstate – so a 'cloud' solution is appealing.&lt;/p&gt;  &lt;p&gt;The first application I tried was &lt;a href="http://screeperzone.com/2009/06/05/activity-tracker-plus-track-all-your-life-activities-with-just-a-single-click/" target="_blank"&gt;Activity Tracker Plus&lt;/a&gt;. It is a Google gadget that you can add to your iGoogle page and cleverly stores data in a Google Docs spreadsheet. I used this for a week and a bit, but found the editing and reporting were a bit limited. Specifically there isn't a way to edit a previously saved time period, and it just gives you a weekly report but no totals broken down by activity. To top it off when I was trying to correct the time allocated to a task it was messing up the end-time component (a bug I presume).&lt;/p&gt;  &lt;p&gt;Lifehacker reviewed &lt;a href="http://lifehacker.com/5362829/five-best-time+tracking-applications"&gt;Five Best Time-Tracking Applications&lt;/a&gt; late last year. Of those, two were web-based – RescueTime and SlimTimer.&lt;/p&gt;  &lt;p&gt;I've seen &lt;a href="https://www.rescuetime.com/" target="_blank"&gt;RescueTime&lt;/a&gt; used by &lt;a href="http://laany.blogspot.com/" target="_blank"&gt;Ben&lt;/a&gt; and I think he found it useful. The free version does have limits though, including keeping only the last 3 months worth of data.&lt;/p&gt;  &lt;p&gt;Because of that I thought I'd try &lt;a href="http://slimtimer.com" target="_blank"&gt;SlimTimer&lt;/a&gt;. This is a simple web-based app that seems to have enough features to make it useable. I've only just started using it, so it will be interesting to see if it lives up to expectations. If not then I'll give RescueTime a go.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-90973555654161210?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/eWl7EVd3RLY" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-10T23:08:25.872+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/03/time-tracking.html</feedburner:origLink></entry><entry><title type="text">Backup for Windows Home Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/D90fPzr5Kq0/backup-for-windows-home-server.html" /><category term="Windows Home Server" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-03-09T03:15:46-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-3991927372728808768</id><content type="html">&lt;p&gt;Now that my WHS installation is running properly I'm a bit happier because it means I now have a current backup of all of our other computers. That's a good start, but it doesn't solve the problem of having an off-site backup.&lt;/p&gt;  &lt;p&gt;One option is to buy one (or more) external drives – backup the WHS data to the external drive and then transport that drive to a trusted external location. That's fine, but it would rely on me being disciplined enough to update it at regular intervals – and I'm not sure that I trust myself to remember to do that frequently enough!&lt;/p&gt;  &lt;p&gt;The other option is to use the 'cloud' - subscribe to an online backup solution. Googling &amp;quot;&lt;a href="http://www.google.com.au/search?q=whs+backup" target="_blank"&gt;WHS Backup&lt;/a&gt;&amp;quot; doesn't list that many useful results. The top result is a &lt;a href="http://superuser.com/questions/23431/windows-home-server-online-backup-solutions" target="_blank"&gt;relevant question on SuperUser&lt;/a&gt;. Scanning the answers reveals two products that apparently DO work with WHS, and a number of products to avoid because they don't.&lt;/p&gt;  &lt;h4&gt;KeepVault&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.keepvault.com/index.php" target="_blank"&gt;KeepVault&lt;/a&gt; provide online backup for Windows desktops &lt;em&gt;and&lt;/em&gt; Windows Home Server. Their WHS product also includes a 'client connector' so you can also backup files from client PC's too.&lt;/p&gt;  &lt;p&gt;Pricing starts at $US48/year for 40GB. A range of larger amounts are also available including 80, 130, 200, 300-900, 1TB-5TB. They also offer a 15% discount if you pay via PayPal.&lt;/p&gt;  &lt;h4&gt;humyo&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.humyo.com/pages/en/online-file-storage" target="_blank"&gt;Humyo&lt;/a&gt; don't specifically mention WHS, but the SuperUser comment indicates it installs and functions correctly.&lt;/p&gt;  &lt;p&gt;Their pricing starts at $US8.21/month or $US82.24/year for 100GB. Additional amounts of 100GB can be added for $US11.74/month&lt;/p&gt;  &lt;h4&gt;Comparison&lt;/h4&gt;  &lt;p&gt;So how do the numbers stack up? The comparison is simpler once you get to 200GB and beyond. To simplify things, I've used US dollars and excluded KeepVault's PayPal discount.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th&gt;&amp;#160;&lt;/th&gt;        &lt;th style="text-align: center" colspan="7"&gt;GB&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;th width="72"&gt;Provider&lt;/th&gt;        &lt;th width="72"&gt;40&lt;/th&gt;        &lt;th width="72"&gt;80&lt;/th&gt;        &lt;th width="64"&gt;100&lt;/th&gt;        &lt;th width="64"&gt;130&lt;/th&gt;        &lt;th width="64"&gt;200&lt;/th&gt;        &lt;th width="64"&gt;500&lt;/th&gt;        &lt;th width="64"&gt;1000&lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;Humyo&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&lt;a name="RANGE!D3"&gt;82.24&lt;/a&gt;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;223.12&lt;/td&gt;        &lt;td&gt;645.76&lt;/td&gt;        &lt;td&gt;1350.16&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;KeepVault&lt;/td&gt;        &lt;td&gt;48&lt;/td&gt;        &lt;td&gt;89&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;139&lt;/td&gt;        &lt;td&gt;199&lt;/td&gt;        &lt;td&gt;480&lt;/td&gt;        &lt;td&gt;930&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Throwing the numbers into a graph illustrates this nicely. For amounts of data below 200GB, Humyo looks ok, but once you pass that mark KeepVault appears to be the best value.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Graph plotting data from table showing cost per gigabyte for Humyo and KeepVault" border="0" alt="Graph plotting data from table showing cost per gigabyte for Humyo and KeepVault" src="http://lh4.ggpht.com/_pxqKA-ofl4A/S5Yt3zdWsBI/AAAAAAAABVM/p99-llFhbBg/image%5B7%5D.png?imgmax=800" width="483" height="291" /&gt; &lt;/p&gt;  &lt;p&gt;I can only see our backup requirements increasing, so at this stage I'm planning to sign up with KeepVault.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-3991927372728808768?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/D90fPzr5Kq0" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-09T21:45:46.456+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/03/backup-for-windows-home-server.html</feedburner:origLink></entry><entry><title type="text">Happy Hyper-V</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/0LtUBIl5EK8/happy-hyper-v.html" /><category term="Hardware" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-03-01T12:30:00-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-4162752792549066104</id><content type="html">&lt;p&gt;I think my Hyper-V server is finally behaving itself. In searching for a resolution to the &lt;a href="http://david.gardiner.net.au/2010/02/bsod-clock-interrupt-was-not-received.html"&gt;intermittent BSOD&lt;/a&gt;, I finally &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/10/16/hyper-v-hotfix-for-0x00000101-clock-watchdog-timeout-on-nehalem-systems.aspx"&gt;found something&lt;/a&gt; that seemed to match my particular combination of hardware and software. I've installed the &lt;a href="http://support.microsoft.com/default.aspx/kb/975530"&gt;hotfix&lt;/a&gt; for Windows Server 2008 R2 that works around this &amp;quot;erratum&amp;quot; in Intel's Core i7 processors, and so far so good.&lt;/p&gt;  &lt;p&gt;The other reason Hyper-V has to be happy is that I also purchased a proper case to house the hardware in. I ended up getting an &lt;a href="http://www.antec.com/Believe_it/product.php?id=MjQ=" target="_blank"&gt;Antec Three Hundred&lt;/a&gt; case from &lt;a href="http://www.mats-systems.com.au" target="_blank"&gt;MATS Systems&lt;/a&gt;. It's a nice, smart, functional case. While there are cheaper cases around, Mark from MATS recommended the Antec models in particular because of their cooling ability. The Three Hundred (the model, not the price!) comes with two fans, and has decent capacity for mounting a few hard disks too.&lt;/p&gt;  &lt;p&gt;Let's see what a difference a proper case with extra fans makes:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;Component&lt;/td&gt;        &lt;td valign="top"&gt;°C (DIY Case)&lt;/td&gt;        &lt;td valign="top"&gt;°C (Antec Case)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;CPU Core #0&lt;/td&gt;        &lt;td valign="top"&gt;41&lt;/td&gt;        &lt;td valign="top"&gt;32&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;CPU Core #1&lt;/td&gt;        &lt;td valign="top"&gt;36&lt;/td&gt;        &lt;td valign="top"&gt;29&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;CPU Core #2&lt;/td&gt;        &lt;td valign="top"&gt;43&lt;/td&gt;        &lt;td valign="top"&gt;34&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;CPU Core #3&lt;/td&gt;        &lt;td valign="top"&gt;38&lt;/td&gt;        &lt;td valign="top"&gt;28&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;HDD ST314003 #1&lt;/td&gt;        &lt;td valign="top"&gt;53&lt;/td&gt;        &lt;td valign="top"&gt;36&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;HDD ST314003 #2&lt;/td&gt;        &lt;td valign="top"&gt;55&lt;/td&gt;        &lt;td valign="top"&gt;35&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;That's quite a significant drop. Those temperatures seem much more reasonable too.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-4162752792549066104?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/0LtUBIl5EK8" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T07:00:00.266+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/03/happy-hyper-v.html</feedburner:origLink></entry><entry><title type="text">NDepend</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/g0mEtTmEHN8/ndepend.html" /><category term="DotNet" /><category term="Software Engineering" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-28T02:10:44-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-1681972797159046097</id><content type="html">&lt;p&gt;I received an email the other day from &lt;a href="http://codebetter.com/blogs/patricksmacchia/" target="_blank"&gt;Patrick Smacchia&lt;/a&gt;, the lead developer of probably the best known .NET dependency analysis tool &lt;a href="http://www.ndepend.com" target="_blank"&gt;NDepend&lt;/a&gt; a couple of days ago, letting me know that &lt;a href="http://www.ndepend.com/Features.aspx#Tour" target="_blank"&gt;version 3.0 is now available&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It also pricked my conscious that a fair while back Patrick had given me a license for NDepend v2.0 and only asked that I post about my experiences using it. It is now way overdue for me to return the favour… so what are my thoughts?&lt;/p&gt;  &lt;p&gt;First of all, what is it? As I understand it NDepend is a static analysis tool that looks at the dependencies between classes and assemblies. Whereas FxCop might look at individual lines of code to detect sub-optimal patterns, NDepend takes a step back and looks at the big picture of how your application is architected – especially how &lt;a href="http://en.wikipedia.org/wiki/Loose_coupling" target="_blank"&gt;loosely coupled&lt;/a&gt; (or not) your classes are (which is normally a desirable aim).&lt;/p&gt;  &lt;p&gt;Probably the main thing I like about NDepend is the dependency graph it can generate. I've found this useful both for getting a thumbnail sketch of your current solution (especially if it has evolved a bit over time), and also to a rough idea of the architecture of a legacy application that you've just been handed.&lt;/p&gt;  &lt;p&gt;One other feature that appeals to my sense of keeping your code in good order is how it can &lt;a href="http://www.ndepend.com/Features.aspx#WarningsAndAdvices" target="_blank"&gt;highlight potential version mismatches&lt;/a&gt; between assemblies and also symbol files. When your build process becomes slightly more complicated this can be handy to ensure all your ducks are in the right row and version :-) The version differences may not be a problem for compiling and linking, but if your PDB file is wrong then you're going to get misleading or minimal stack trace information – something better avoided in the first place.&lt;/p&gt;  &lt;p&gt;The final feature that can be quite illuminating for me is the dependencies matrix. This is a table (matrix) that shows the interdependencies between all your assemblies. Because it adds up the totals, you can quickly identify where an assembly may only have one (or even no) hard dependencies on another assembly and consider refactoring to reduce your coupling if appropriate.&lt;/p&gt;  &lt;p&gt;There are also features of NDepend that to be honest I'm happy to know are there but haven't had a chance to make use of in a real way yet. It has a very comprehensive inbuilt &lt;a href="http://www.ndepend.com/Features.aspx#CQL" target="_blank"&gt;query language&lt;/a&gt;, and could add some real value to a continuous integration build system – where you're keen to set some code quality benchmarks.&lt;/p&gt;  &lt;p&gt;If you're still not convinced, there's a whole bunch of &lt;a href="http://www.ndepend.com/GettingStarted.aspx" target="_blank"&gt;demo and tutorial videos&lt;/a&gt; on the NDepend site that can explain the range of features a lot better than I can.&lt;/p&gt;  &lt;p&gt;Version 3.0 adds new features including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Better integration with Visual Studio, including support for VS 2010&lt;/li&gt;    &lt;li&gt;NDepend projects can now be a part of a Visual Studio solution&lt;/li&gt;    &lt;li&gt;Improved performance&lt;/li&gt;    &lt;li&gt;Integration with Reflector&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In summary I have found NDepend to be a really useful tool to have in my toolkit, and I'd like to thank Patrick and his colleagues for the opportunity to have access to it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-1681972797159046097?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/g0mEtTmEHN8" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T20:40:44.780+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/ndepend.html</feedburner:origLink></entry><entry><title type="text">Changing the location of "Import Pictures and Videos using Windows"</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/xa123aAPW8Q/changing-location-of-pictures-and.html" /><category term="Windows 7" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-27T01:54:49-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-6138318844618750484</id><content type="html">&lt;p&gt;For some reason, if you uncheck the &amp;quot;Prompt for a tag on import&amp;quot; under the &amp;quot;Import Settings&amp;quot; of the Windows 7 &amp;quot;Import Pictures and Videos&amp;quot; wizard, then as far as I can tell there is no way to get back the &amp;quot;Import settings&amp;quot; dialog again.&lt;/p&gt;  &lt;p&gt;A quick search of the registry reveals that these settings are stored under the following key:&lt;/p&gt;  &lt;pre&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Photo Acquisition&lt;/pre&gt;

&lt;p&gt;For example, there's a &amp;quot;Camera and Portable Device&amp;quot; subkey with a value named &amp;quot;RootDirectory&amp;quot;, and also one named &amp;quot;FilenameTemplate&amp;quot;. Changing these should alter where the wizard saves photos.&lt;/p&gt;

&lt;p&gt;Comparing this subkey with the &amp;quot;OpticalMedia&amp;quot; and &amp;quot;Scanner&amp;quot; subkeys showed one interesting difference. All three have an AcquisitionFlags value, but the latter two had it set to 0x82 whilst the former was 0x8a.&lt;/p&gt;

&lt;p&gt;Reverting the AcquisitionFlags value to 0x82 in the following registry key seems to restore the import wizard to prompting you for an optional tag, and allowing you to click on the &amp;quot;Import Settings&amp;quot; link again:&lt;/p&gt;

&lt;pre&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Photo Acquisition\Camera and Portable Device&lt;/pre&gt;

&lt;p&gt;To make this change yourself, follow the following steps (with the standard warning that editing the Windows Registry incorrectly can completely mess up everything!):&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Run regedit.exe &lt;/li&gt;

  &lt;li&gt;Navigate through the registry tree to find the following subkey: 
    &lt;br /&gt;

    &lt;pre&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Photo Acquisition\Camera and Portable Device&lt;/pre&gt;
  &lt;/li&gt;

  &lt;li&gt;Double-click on the &amp;quot;AcquisitionFlags&amp;quot; value &lt;/li&gt;

  &lt;li&gt;Type in &amp;quot;82&amp;quot; &lt;/li&gt;

  &lt;li&gt;Click on &amp;quot;OK&amp;quot; and close the Registry Editor &lt;/li&gt;
&lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-6138318844618750484?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/xa123aAPW8Q" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-27T20:24:49.509+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/changing-location-of-pictures-and.html</feedburner:origLink></entry><entry><title type="text">ReSharper 5 – Structural Search and Replace</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/p-aLDenEbfQ/resharper-5-structural-search-and.html" /><category term="Productivity" /><category term="DotNet" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-26T00:46:24-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-8527885433088538761</id><content type="html">&lt;p&gt;I found a use today for a new feature that will be in ReSharper 5.0 - &amp;quot;&lt;a href="http://blogs.jetbrains.com/dotnet/2010/02/resharper-5-beta-2-released/"&gt;Structural Search and Replace&lt;/a&gt;&amp;quot;. Essentially it's a way to add code matching templates into R# to add new refactoring patterns in addition to those that come in the box.&lt;/p&gt;  &lt;p&gt;For example, Microsoft recommends (and Code Analysis/FxCop generates &lt;a href="http://msdn.microsoft.com/en-us/library/ms182279.aspx"&gt;appropriate warnings&lt;/a&gt;) if you are doing a comparison between a string value and an empty string, to use the &lt;a href="http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx"&gt;String.IsNullOrEmpty&lt;/a&gt;() method.&lt;/p&gt;  &lt;p&gt;I always wanted R# to make this change for me, and now I can:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Go to Resharper | Tools | Patterns Catalog &lt;/li&gt;    &lt;li&gt;Click on 'Add Pattern' &lt;/li&gt;    &lt;li&gt;Enter &amp;quot;&lt;code&gt;$value$ == &amp;quot;&amp;quot; &lt;/code&gt;&amp;quot; in the Search Pattern textbox. &lt;/li&gt;    &lt;li&gt;Click on 'Add Placeholder' and add an 'Expression' placeholder named 'value' of type System.String &lt;/li&gt;    &lt;li&gt;Enter &amp;quot;&lt;code&gt;string.IsNullOrEmpty($value$)&lt;/code&gt;&amp;quot; in the Replace Pattern textbox &lt;/li&gt;    &lt;li&gt;Ensure Pattern Severity is set to at least 'Show as suggestion' &lt;/li&gt;    &lt;li&gt;Click on 'Add' &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;R# will now use this pattern and highlight code that matches. You can then hit the QuickFix shortcut (&lt;kbd&gt;Alt&lt;/kbd&gt;-&lt;kbd&gt;Enter&lt;/kbd&gt; by default) and get a smart tag offering to refactor/replace your code.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Resharper 5 - Smart Tag showing option to replace with String.IsNullOrEmpty" border="0" alt="Resharper 5 - Smart Tag showing option to replace with String.IsNullOrEmpty" src="http://lh5.ggpht.com/_pxqKA-ofl4A/S4X4B6c84mI/AAAAAAAABTQ/kYJdf2fEjho/R%235%20-%20SSR%20Example%5B22%5D.png?imgmax=800" width="397" height="155" /&gt; &lt;/p&gt;  &lt;p&gt;If you can't wait for the final release of ReSharper 5 (due in the next few months) then install &lt;a href="http://www.jetbrains.com/resharper/beta/beta.html"&gt;beta 2&lt;/a&gt; or one of the recent &lt;a href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+5.0+Nightly+Builds"&gt;nightly builds&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-8527885433088538761?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/p-aLDenEbfQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T19:16:24.641+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/resharper-5-structural-search-and.html</feedburner:origLink></entry><entry><title type="text">Passed 70-451</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/lfyXkL1F_gQ/passed-70-451.html" /><category term="Training and Certification" /><category term="SQL" /><category term="LobsterPot" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-23T02:49:36-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-5645899382231909136</id><content type="html">&lt;p&gt;If one wasn't enough this week, today I passed another exam – &lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-451&amp;amp;Locale=en-us#tab2" target="_blank"&gt;70-451 PRO: Designing Database Solutions and Data Access Using Microsoft SQL Server 2008&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Combining that with &lt;a href="http://david.gardiner.net.au/2010/02/passed-70-433.html" target="_blank"&gt;yesterday's success&lt;/a&gt; means I am now a &lt;a href="http://www.microsoft.com/learning/mcp/mcitp/sql/2008/"&gt;Microsoft Certified IT Professional (MCITP): Database Developer 2008&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Doing the exams are an interesting (and educational) process but they have other advantages too – they'll be useful to my employer (&lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt;) and might benefit efforts for me to become a &lt;a href="http://www.microsoft.com/learning/en/us/certification/mct.aspx" target="_blank"&gt;Microsoft Certified Trainer&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-5645899382231909136?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/lfyXkL1F_gQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-23T21:19:36.258+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/passed-70-451.html</feedburner:origLink></entry><entry><title type="text">Passed 70-433</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/R_x1Ab43OmQ/passed-70-433.html" /><category term="Training and Certification" /><category term="SQL" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-22T02:31:39-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-3420559871837347272</id><content type="html">&lt;p&gt;This morning I took the Microsoft exam &amp;quot;&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-433#tab2" target="_blank"&gt;TS: Microsoft SQL Server 2008, Database Development 70-433&lt;/a&gt;&amp;quot;. I was quite chuffed after I hit the 'Finish' button and it said I'd passed!&lt;/p&gt;  &lt;p&gt;One thing different about today's exam was that I chose to do it at &lt;a href="http://www.rockfort.com.au" target="_blank"&gt;Rockfort International Pty Ltd&lt;/a&gt;. An impressive name, but it turns out they appear to be a 2-man outfit in a quite tiny office. I wasn't even sure I was in the right place until the guy turned up and confirmed that yes they did do exams! Having said all that, once I sat down at the exam PC it was pretty good – quiet, comfortable and the PC had a reasonable screen. I've done most of my other exams at &lt;a href="http://excom.com.au/" target="_blank"&gt;Excom&lt;/a&gt;, and last time I was there they still had a crumby old CRT monitor (running at a really low refresh rate) and that room had pretty noisy air conditioning. So even though the office may not be quite as swish, I'd rate the actual examination environment higher.&lt;/p&gt;  &lt;p&gt;Over the weekend I was doing some study toward the exam and came across the following things that were new to me. Some of them may be obvious to others, but they're not things I've used before or been aware of.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can create filtered indexes (an index that has a WHERE clause) &lt;/li&gt;    &lt;li&gt;An indexed view needs to use WITH SCHEMABINDING, and as a consequence the index must be UNIQUE CLUSTERED. &lt;/li&gt;    &lt;li&gt;Run a table-valued function against all the rows of a query using APPLY. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note – these were things I came across &lt;strong&gt;BEFORE&lt;/strong&gt; I did the exam. I am definitely not indicating these topics were either in or out of the exam (and no, there's no hidden meaning here, I&amp;#160; really mean that). All I am saying is that by reviewing the curriculum I happened to learn some new things.&lt;/p&gt;  &lt;p&gt;Finally, let me pre-empt the inevitable lazy sod who emails me and asks for some hints or answers to this exam (apart from the fact that by taking the exam, I've agreed to &lt;a href="http://www.microsoft.com/learning/en/us/certification/exam-policies.aspx#tab2" target="_blank"&gt;Microsoft's Non-Disclosure Agreement&lt;/a&gt; which includes not &amp;quot;Disseminating actual Exam content&amp;quot; ) .. &lt;/p&gt;  &lt;p&gt;Do what I did – use the product, and know all (or enough of) the stuff it says you need to know and you should pass!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-3420559871837347272?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/R_x1Ab43OmQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-22T21:01:39.028+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/passed-70-433.html</feedburner:origLink></entry><entry><title type="text">BSOD - "A clock interrupt was not received on a secondary processor within an allocated time"</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/T47LqeRKUWQ/bsod-clock-interrupt-was-not-received.html" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-20T20:22:45-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-1229160945666406566</id><content type="html">&lt;p&gt;I &lt;a href="http://david.gardiner.net.au/2010/02/assembling-hyper-v-server.html" target="_blank"&gt;mentioned yesterday&lt;/a&gt; that the Hyper-V server had been experiencing the &lt;a href="http://en.wikipedia.org/wiki/Blue_Screen_of_Death" target="_blank"&gt;Blue Screen Of Death&lt;/a&gt; with the message &amp;quot;A clock interrupt was not received on a secondary processor within an allocated time&amp;quot; (&lt;a href="http://msdn.microsoft.com/en-us/library/aa469194.aspx" target="_blank"&gt;0x00000101&lt;/a&gt;). The problem is that it doesn't really give you any clues as to what was the cause of the error.&lt;/p&gt;  &lt;p&gt;Yesterday morning I changed the BIOS defaults to &amp;quot;Fail safe&amp;quot; and things had been working fine… until this morning, when it crashed again. Researching this error is not that encouraging:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;There are a few posts to forums where suggestions such as BIOS settings, defective CPU cores, RAM timing, CPU V&lt;a href="http://en.wikipedia.org/wiki/CPU_core_voltage" target="_blank"&gt;Core&lt;/a&gt; etc are thrown up.&lt;/li&gt;    &lt;li&gt;Almost every other reference I've seen also indicates the problem is seen when running a 64-bit OS.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://support.amd.com/us/kbarticles/Pages/CPU-3-Systemexperiencesablue.aspx" target="_blank"&gt;AMD lists some basic checks&lt;/a&gt; but nothing very specific (I've already tried resetting BIOS settings, updated the BIOS to the latest firmware version&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Presumably Microsoft are slightly more interested in the crash as today's Windows Error Reporting asked for me to submit extra debugging info. I'm happy to do that, though I don't expect to get any quick answers.&lt;/p&gt;  &lt;p&gt;This is quite frustrating as until I can identify and resolve the cause of this problem, I don't have a lot of confidence in the server.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-1229160945666406566?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/T47LqeRKUWQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-21T14:52:45.231+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/bsod-clock-interrupt-was-not-received.html</feedburner:origLink></entry><entry><title type="text">Assembling the Hyper-V Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/Ot8SeoihyKo/assembling-hyper-v-server.html" /><category term="Hardware" /><category term="Media Center" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-19T18:06:51-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-3912175505987116621</id><content type="html">&lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="Motherboard and PSU in desktop case" alt="Motherboard and PSU in desktop case" align="right" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S3854Er3zbI/AAAAAAAABR8/APtHZ9KcZfo/s288/P1050985.JPG" width="296" height="221" /&gt; Once I figured out my preferred components I emailed MSY and put in an order with MATS. However it turns out that just because MSY have something on their parts list, doesn't mean they have it in stock. I ended up having to go to their Plympton and City stores, and got the PSU from MATS as MSY didn't have that at all.&lt;/p&gt;  &lt;p&gt;The case I used was from an old desktop PC. It can accept an ATX board, but as the previous motherboard was a slightly smaller model I had to do some &amp;quot;creative&amp;quot; metal work to move the hard drive bays around so that they could still fit inside the case and not bump into the motherboard.&lt;/p&gt;  &lt;h4&gt;Things that changed&lt;/h4&gt;  &lt;table border="0" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;RAM&lt;/td&gt;        &lt;td valign="top"&gt;2 x G.Skill Ripjaws DDR3-1600 &lt;a href="http://www.gskill.com/products.php?index=222" target="_blank"&gt;F3-12800CL9D-4GBRL&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;Drive (Data)&lt;/td&gt;        &lt;td valign="top"&gt;2 x &lt;a href="http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD#tTabContentSpecifications" target="_blank"&gt;Seagate Barracuda 7200.11&lt;/a&gt; SATA 3Gb/s 1.5-TB Hard Drives&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;UPS&lt;/td&gt;        &lt;td valign="top"&gt;&lt;a href="http://powerquality.eaton.com/Products-services/Backup-Power-UPS/Nova-AVR.aspx?cx=202" target="_blank"&gt;Eaton Nova 625 AVR&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h4&gt;Noctua CPU Fan vs Ripjaw RAM&lt;/h4&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="RAM next to CPU and Fan" alt="RAM next to CPU and Fan" align="left" src="http://lh6.ggpht.com/_pxqKA-ofl4A/S3854dbx3KI/AAAAAAAABSA/6qHFmWX-uh8/s288/P1050987.JPG" width="224" height="296" /&gt; One reason I preferred the G.Skill Ripjaws RAM was that the heat spreaders were less intrusive than those on the &amp;quot;Trident&amp;quot; model. Having said that, once I went to clip the fans onto the Noctua, the wire clips on the RAM-side were in the way of the RAM. A bit of physical effort with a couple of pliers managed to bend the wire clips flatter against the heat sink such that the RAM could just slide past into the sockets on the motherboard.&lt;/p&gt;  &lt;div style="clear: both"&gt;   &lt;h4&gt;Faulty RAM?&lt;/h4&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_pxqKA-ofl4A/S39DtgZdr3I/AAAAAAAABSg/sZqFei9hFF8/s1600-h/P1050988%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="DDR3 RAM not seated correctly" border="0" alt="DDR3 RAM not seated correctly" align="right" src="http://lh4.ggpht.com/_pxqKA-ofl4A/S39DuTn7_NI/AAAAAAAABSk/3Qnkj1yglMQ/P1050988_thumb%5B3%5D.jpg?imgmax=800" width="244" height="232" /&gt;&lt;/a&gt; I added an old DVD drive I had lying around and went to install Windows Server 2008 R2. The installation proceeded as expected, then I noticed that the machine had suddenly rebooted. On restarting a message indicating that &amp;quot;Windows had not expected to shutdown&amp;quot; appeared. That's odd. Allowing it to continue then displayed a message that the installation had failed and to try again.&lt;/p&gt;    &lt;p&gt;Hmm.. Just out of curiosity, I fired up the Memory Diagnostics tool and after ticking over it came up with a message indicating there was a problem! Restarting the machine I went back into the BIOS to see what it said there.. Only 6G of RAM??? Hmm. Now a visual inspection of the sticks of RAM and something looked wrong!&lt;/p&gt;    &lt;p&gt;Reseating the RAM in the sockets and re-running the memory diagnostics and everything was happy again.&lt;/p&gt;    &lt;h4&gt;Enabling AHCI&lt;/h4&gt;    &lt;p&gt;I realised after I'd installed Windows Server 2008 R2 that I'd left the BIOS at the default settings, which included the SATA emulating IDE instead of AHCI. Because the boot disk was also connected this way, you can't just change the BIOS and reboot – you need to tweak the registry so that the ACHI driver gets loaded properly.&lt;/p&gt;    &lt;h4&gt;BSOD&lt;/h4&gt;    &lt;p&gt;&amp;quot;A clock interrupt was not received on a secondary processor within an allocated time&amp;quot;&lt;/p&gt;    &lt;p&gt;Lots of references to this online – some solutions suggest lowering the bus speed slightly. I fiddled around with these a bit but the crashes kept happening. I have no experience over (or under) clocking so I was quite out of my depth. Finally in desperation I changed the BIOS settings to the &amp;quot;fail safe&amp;quot; defaults. This appears to have done the trick.&lt;/p&gt;    &lt;h4&gt;Cooling&lt;/h4&gt;    &lt;p&gt;An unfortunate side-effect of trying to re-use an old desktop case is that I don't think the cooling of the various components is as good as it could be.&lt;/p&gt;    &lt;p&gt;Using &lt;a href="http://www.cpuid.com/hwmonitor.php" target="_blank"&gt;HWMonitor&lt;/a&gt; I am seeing the following temperatures being reported:&lt;/p&gt;    &lt;table border="0" cellspacing="0" cellpadding="2" ?="?"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;Component&lt;/td&gt;          &lt;td valign="top"&gt;°C&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;CPU Core #0&lt;/td&gt;          &lt;td valign="top"&gt;41&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;CPU Core #1&lt;/td&gt;          &lt;td valign="top"&gt;36&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;CPU Core #2&lt;/td&gt;          &lt;td valign="top"&gt;43&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;CPU Core #3&lt;/td&gt;          &lt;td valign="top"&gt;38&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;HDD ST314003 #1&lt;/td&gt;          &lt;td valign="top"&gt;53&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top"&gt;HDD ST314003 #2&lt;/td&gt;          &lt;td valign="top"&gt;55&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;I'm thinking getting a proper-size case and possibly some extra cooling might help bring things down to a better level. It would also mean the disks would be slightly more secure in the case!&lt;/p&gt;  &lt;h4&gt;Networking&lt;/h4&gt;  &lt;p&gt;I now have a number of machines capable of gigabit networking but my trusty Billion 7402GL modem/router only has 4 100Mb network ports. I purchased a new &lt;a href="http://www.asus.com.au/product.aspx?P_ID=eAFylicSHCzCucUS" target="_blank"&gt;Asus GX-D1081&lt;/a&gt; 8 port gigabit switch to enable better network performance. This also meant I could connect the Windows Media Center PC directly (it was previously using a wireless connection). After confirming the switch worked correctly, I then changed the network settings on all the gigabit-capable machines to enable &amp;quot;Jumbo frames&amp;quot; at 9K. I'm pretty sure this has resulted in a noticeable improvement in performance – especially when browsing pictures through the media center that are stored remotely on the Windows Home Server box.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-3912175505987116621?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/Ot8SeoihyKo" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-20T12:36:51.142+10:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_pxqKA-ofl4A/S3854Er3zbI/AAAAAAAABR8/APtHZ9KcZfo/s72-c/P1050985.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/assembling-hyper-v-server.html</feedburner:origLink></entry><entry><title type="text">Bring on the Lobster</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/gLT1N5Db13g/bring-on-lobster.html" /><category term="Work" /><category term="LobsterPot" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-17T02:32:03-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-1806839445889580151</id><content type="html">&lt;p&gt;I've now officially started as a Senior Consultant for &lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt;.&lt;/p&gt; &lt;img title="David holding a knife and fork" alt="David holding a knife and fork" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S3vDg3C4fyI/AAAAAAAABRQ/TCRRQGuVjrg/s800/P1060228.JPG" /&gt;  &lt;p&gt;Let's start cutting that code!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-1806839445889580151?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/gLT1N5Db13g" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-17T21:02:03.982+10:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_pxqKA-ofl4A/S3vDg3C4fyI/AAAAAAAABRQ/TCRRQGuVjrg/s72-c/P1060228.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/bring-on-lobster.html</feedburner:origLink></entry><entry><title type="text">Hyper-V Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/qHWph-mVXio/hyper-v-server.html" /><category term="Hardware" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-07T02:45:19-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-2021396921466311085</id><content type="html">I've come up with the following list of components that should make a decent server using Hyper-V to experiment with various versions of SQL Server, Windows Server and also run Windows Home Server:&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;CPU&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.intel.com/products/processor/corei7/index.htm" target="_blank"&gt;Intel i7-860&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;Motherboard&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=3237" target="_blank"&gt;GA-P55A-UD5&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;CPU Fan&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.noctua.at/main.php?show=productview&amp;amp;products_id=32&amp;amp;lng=en" target="_blank"&gt;Noctua NH-U9B-SE2&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;RAM&lt;/td&gt;        &lt;td class="s3"&gt;2 x 4G Kit DDR3 2000 Kingston HyperX&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;PSU&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.antec.com/Believe_it/product.php?id=MTc1OA==" target="_blank"&gt;Antec TP 550&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;Video&lt;/td&gt;        &lt;td class="s3"&gt;512MB 4350 Gigabyte&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;Drive (System)&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.a-ram.com/ProductDetails.asp?ID=50" target="_blank"&gt;A-RAM SSD PRO series 32GB 2.5" MLC SSD&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;Drive (Data)&lt;/td&gt;        &lt;td class="s3"&gt;2 x WD 1.5TB&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td class="s3"&gt;UPS&lt;/td&gt;        &lt;td class="s3"&gt;&lt;a href="http://www.socomec.com/characteristics-ups-netys-pe_1_en.html" target="_blank"&gt;Socomec NeTYS PE 600Va UPS&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Most parts I'm planning to get from MSY with the exception of the SDD and UPS which I'll get from &lt;a href="http://www.mats-systems.com.au/" target="_blank"&gt;MATS Systems&lt;/a&gt;. I've seen &lt;a href="http://forums.whirlpool.net.au/forum-replies.cfm?t=1358644" target="_blank"&gt;comments&lt;/a&gt; that while MSY sell a cheaper SSD, the Indilinx-based drives (such the A-RAM) perform much better.&lt;br /&gt;
The video card is the cheapest I can find, as it will be hardly ever used (there isn't any on-board video on the motherboard).&lt;br /&gt;
The i7-860 has 4 cores and 8 threads. It uses the 1156pin packaging and seems to be reasonable value if you don't want to step up to the 1366pin 950/970 chips (which then require more expensive motherboards and RAM).&lt;br /&gt;
I'm thinking that a UPS might be a helpful addition to ensure this machine gets treated well as far as the power supply goes.&lt;br /&gt;
The motherboard has plenty of USB and SATA connections so should offer room for future storage expansion. I may end up throwing in some of my existing older/slower drives into this machine so that the Home Server can make use of them too.&lt;br /&gt;
I'd appreciate any suggestions/comments too.&lt;br /&gt;
&lt;br /&gt;
Update: 7-Feb 9pm&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Changed UPS to an &lt;a href="http://www.instant-web-shop.com/pcshop/756/index.php?categoryID=4965"&gt;Eaton Nova AVR 625Va&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Changed RAM to G.Skill Ripjaws (&lt;a href="http://www.gskill.com/products.php?index=227"&gt;F3-16000CL9D-4GBRH&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;MATS have NH-U9B on special. If it is actually NH-U9B-SE2 then will buy from them.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-2021396921466311085?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/qHWph-mVXio" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-07T21:15:19.657+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/hyper-v-server.html</feedburner:origLink></entry><entry><title type="text">Another Lobster in the Pot</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/vMJTzdBgKXA/another-lobster-in-pot.html" /><category term="Work" /><category term="LobsterPot" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-17T02:33:17-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-723529547933624209</id><content type="html">&lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/S2gJsigjcjI/AAAAAAAABPs/aksUTkjpSCo/s1600-h/David%20eating%20Lobster%20in%20PI%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="David eating Lobster in Prince Edward Island" border="0" alt="David eating Lobster in Prince Edward Island" align="left" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S2gJtRoZS-I/AAAAAAAABPw/Zei9wqR5waU/David%20eating%20Lobster%20in%20PI_thumb%5B3%5D.jpg?imgmax=800" width="184" height="244" /&gt;&lt;/a&gt;   &lt;p&gt;The year was 1994, and I was travelling with good friend Sally over to the US to attend the wedding of a mutual friend Cathy.&lt;/p&gt;  &lt;p&gt;It was my first trip overseas, but Sally was an experienced traveller and suggested we do a bit of sightseeing in Canada, including visiting &lt;a href="http://en.wikipedia.org/wiki/Prince_Edward_Island" target="_blank"&gt;Prince Edward Island&lt;/a&gt;. As well as being a beautiful, picturesque island it also happens to be the setting for the &lt;a href="http://www.amazon.com/gp/product/0553609416?ie=UTF8&amp;amp;tag=davesdayd-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0553609416"&gt;Anne of Green Gables&lt;/a&gt; books.&lt;/p&gt;  &lt;p&gt;On one of our excursions around the island we happened to stop at &lt;a href="http://www.fishermanswharf.ca/" target="_blank"&gt;Fisherman's Wharf Lobster Suppers&lt;/a&gt;. As you can see, they supply a practical (if not very fashionable) bib. To be honest, I probably got more out of the 60 foot salad bar than the lobster, not being a huge seafood fan, but it was an experience nonetheless.&lt;/p&gt;  &lt;p&gt;&amp;quot;That's nice Dave, but where's this trip down memory lane leading?&amp;quot;, you say?&lt;/p&gt;  &lt;p&gt;As &lt;a href="http://en.wikipedia.org/wiki/Deane_Hutton" target="_blank"&gt;Dean Hutton&lt;/a&gt; would respond, &amp;quot;I'm glad you asked!&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="LobsterPot Solutions Logo" alt="LobsterPot Solutions Logo" align="right" src="http://www.lobsterpot.com.au/lp2.jpg" /&gt;Well I've been offered the position of &amp;quot;Senior Consultant&amp;quot; with &lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;I'll be working with &lt;a href="http://msmvps.com/blogs/robfarley/default.aspx" target="_blank"&gt;Rob Farley&lt;/a&gt; and the rest of the LobsterPot team, providing consulting and training services around SQL Server and Business Intelligence. I also hope to bring my .NET application development experience to the mix.&lt;/p&gt;  &lt;p&gt;I'm quite excited about this next step in my career. In some respects it seems like it will combine many of the best parts of some of my previous positions – the training and professional development support that I got working at UniSA, and the intellectual stimulation and enthusiasm of working with some seriously smart guys at Viterra/ABB Grain.&lt;/p&gt;  &lt;p&gt;I start on Monday 15th February, so that gives me two weeks break – to do a few jobs around the house, take the kids to school, go for the odd bike ride, and do some more research on that &lt;a href="http://david.gardiner.net.au/2010/01/hardware-planning.html"&gt;Hyper-V server I'm planning to build&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-723529547933624209?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/vMJTzdBgKXA" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-17T21:03:17.730+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/02/another-lobster-in-pot.html</feedburner:origLink></entry><entry><title type="text">Goodbye contracting..</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/8tq7toWQqio/goodbye-contracting.html" /><category term="Work" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-01-28T05:48:02-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-2575566181601201463</id><content type="html">&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/S2GVjtLqxCI/AAAAAAAABJg/o_As_H8r7VI/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S2GVkRlQocI/AAAAAAAABJk/nbglKz-n4-M/image_thumb%5B1%5D.png?imgmax=800" width="179" height="91" /&gt;&lt;/a&gt;&lt;em&gt;Ten years ago, a crack IT-commando unit was sent to prison by a static code analyser for a bug they didn't create. These men promptly escaped from a Triple-DES security stockade to the Adelaide underground. Today, still wanted by the government/higher education and private sectors, they survive as developers of fortune. If you have a software problem, if no one else can help, and if you can find them, maybe you can hire... The AoM-Team.&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;If I recall correctly, I wrote those words not that long after I started as a contract developer at ABB Grain around 18 months ago. This Friday the 29th is my last day contracting at what is now known as Viterra. Our team is finishing up as &amp;quot;the job is done&amp;quot;.&lt;/p&gt;  &lt;p&gt;It has been an exciting and fulfilling adventure being part of the team that has created a software solution that has been so widely praised by the end-users. More often than not, IT project fail, but against the odds we managed to succeed in a big way. I'm proud to know that our work made a real difference to the staff who have just worked through one of the biggest grain harvests in recent history.&lt;/p&gt;  &lt;p&gt;Without doubt THE highlight has been working with a group of awesome colleagues – my fellow &amp;quot;AoM Team&amp;quot; members:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://laany.blogspot.com/" target="_blank"&gt;Ben Laan&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.spencen.com/" target="_blank"&gt;Nigel Spencer&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Brian Kelsey&lt;/li&gt;    &lt;li&gt;Ping Liang&lt;/li&gt;    &lt;li&gt;Raaj Kumaar&lt;/li&gt;    &lt;li&gt;Jo Wegner&lt;/li&gt;    &lt;li&gt;Angelo Tsirbas&lt;/li&gt;    &lt;li&gt;Tony Miller - Yes I can now proudly say (along with apparently all the residents of Eyre Peninsula and the west coast of South Australia) that I know Tony Miller!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(And previous team members Timothy Walters, Richard Hollon and Solan Dogan).&lt;/p&gt;  &lt;p&gt;I will really miss working with you guys - sharing stories, parenting tips, learning new coding tricks, &lt;a href="http://david.gardiner.net.au/2010/01/sticky-taped-part-2.html" target="_blank"&gt;Jo's lollies&lt;/a&gt;, plying everyone with &amp;quot;Dad&amp;quot; jokes, visiting lots of country bakeries and creating great software.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;quot;So what's next?&amp;quot;, I hear you ask? Well while it isn't a secret, I'm going to make you wait until my next blog post to tell you!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-2575566181601201463?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/8tq7toWQqio" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-29T00:18:02.568+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/01/goodbye-contracting.html</feedburner:origLink></entry><entry><title type="text">SATA hard disk value</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/Pu_5omfP-Yg/sata-hard-disk-value.html" /><category term="Hardware" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-01-25T18:34:00-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-6244808123639505864</id><content type="html">&lt;p&gt;As part of my research into suitable components for a Hyper-V server, I thought it would be interesting to see the cents per gigabyte of the various drives offered by &lt;a href="http://www.msy.com.au/" target="_blank"&gt;MSY&lt;/a&gt;.&lt;/p&gt;  &lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th class="s2"&gt;Brand&lt;/th&gt;        &lt;th class="s3"&gt;Capacity (GB)&lt;/th&gt;        &lt;th class="s3"&gt;Cost (AUD)&lt;/th&gt;        &lt;th class="s3"&gt;Cents/Gigabyte&lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th class="s4"&gt;Hitachi&lt;/th&gt;        &lt;td class="s5"&gt;320&lt;/td&gt;        &lt;td class="s5"&gt;50&lt;/td&gt;        &lt;td class="s6"&gt;0.16&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;500&lt;/td&gt;        &lt;td class="s5"&gt;59&lt;/td&gt;        &lt;td class="s6"&gt;0.12&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s8"&gt;1000&lt;/td&gt;        &lt;td class="s8"&gt;97&lt;/td&gt;        &lt;td class="s9"&gt;0.10&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;2000&lt;/td&gt;        &lt;td class="s5"&gt;224&lt;/td&gt;        &lt;td class="s6"&gt;0.11&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;th class="s4"&gt;Seagate&lt;/th&gt;        &lt;td class="s5"&gt;160&lt;/td&gt;        &lt;td class="s5"&gt;47&lt;/td&gt;        &lt;td class="s10"&gt;0.29&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;250&lt;/td&gt;        &lt;td class="s5"&gt;49&lt;/td&gt;        &lt;td class="s10"&gt;0.20&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;320&lt;/td&gt;        &lt;td class="s5"&gt;55&lt;/td&gt;        &lt;td class="s10"&gt;0.17&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;500&lt;/td&gt;        &lt;td class="s5"&gt;59&lt;/td&gt;        &lt;td class="s10"&gt;0.12&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;1000&lt;/td&gt;        &lt;td class="s5"&gt;102&lt;/td&gt;        &lt;td class="s10"&gt;0.10&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s8"&gt;1500&lt;/td&gt;        &lt;td class="s8"&gt;139&lt;/td&gt;        &lt;td class="s11"&gt;0.09&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;2000&lt;/td&gt;        &lt;td class="s5"&gt;239&lt;/td&gt;        &lt;td class="s10"&gt;0.12&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;th class="s4"&gt;&lt;acronym title="Western Digital"&gt;WD&lt;/acronym&gt;&lt;/th&gt;        &lt;td class="s5"&gt;160&lt;/td&gt;        &lt;td class="s5"&gt;49&lt;/td&gt;        &lt;td class="s12"&gt;0.31&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;320&lt;/td&gt;        &lt;td class="s5"&gt;54&lt;/td&gt;        &lt;td class="s12"&gt;0.17&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;808&lt;/td&gt;        &lt;td class="s5"&gt;77&lt;/td&gt;        &lt;td class="s12"&gt;0.10&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;1000&lt;/td&gt;        &lt;td class="s5"&gt;105&lt;/td&gt;        &lt;td class="s12"&gt;0.11&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s8"&gt;1500&lt;/td&gt;        &lt;td class="s8"&gt;140&lt;/td&gt;        &lt;td class="s13"&gt;0.09&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="s7"&gt; &lt;/td&gt;        &lt;td class="s5"&gt;2000&lt;/td&gt;        &lt;td class="s5"&gt;235&lt;/td&gt;        &lt;td class="s12"&gt;0.12&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Prices from MSY PARTS.PDF dated 25/01/2010&lt;/p&gt;  &lt;p&gt;So as far as value for money, those 1.5TB drives from Seagate and WD appear the winner.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-6244808123639505864?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/Pu_5omfP-Yg" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-26T13:04:00.102+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/01/sata-hard-disk-value.html</feedburner:origLink></entry><entry><title type="text">Sticky taped (part 2)</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/Xeb8szbpVpw/sticky-taped-part-2.html" /><category term="Work" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-01-24T12:30:00-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-9146666948895233171</id><content type="html">&lt;p&gt;Ahh.. I will miss Brian's little pranks :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_pxqKA-ofl4A/S1lxBPWb5eI/AAAAAAAABH4/2kAj_shnpW0/s1600-h/SPM_A0001%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SPM_A0001" border="0" alt="SPM_A0001" src="http://lh6.ggpht.com/_pxqKA-ofl4A/S1lxB225m2I/AAAAAAAABH8/UxtIN6kpAU0/SPM_A0001_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the bright side – yes those are &lt;a href="http://www.cadbury.com.au/Products/Chocolate-Bars/Cherry-Ripe-Bar.aspx" target="_blank"&gt;Cherry Ripe&lt;/a&gt; bars attached to the sticky-tape.&lt;/p&gt;  &lt;p&gt;That's something we've particularly enjoyed over the last few months – Jo (one of the testers in our team) has most generously taken it upon herself to be the &amp;quot;filler of the lolly bowl&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_pxqKA-ofl4A/S1lxCkHNjcI/AAAAAAAABIA/v5Grmxk8VIk/s1600-h/SPM_A0003%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SPM_A0003" border="0" alt="SPM_A0003" src="http://lh5.ggpht.com/_pxqKA-ofl4A/S1lxDVWiEUI/AAAAAAAABIE/e15ShtdpBoM/SPM_A0003_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Mmmmmm :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-9146666948895233171?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/Xeb8szbpVpw" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-25T07:00:00.051+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/01/sticky-taped-part-2.html</feedburner:origLink></entry><entry><title type="text">Tour Down Under 2010</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/p_jfZgNoUvY/tour-down-under-2010.html" /><category term="Cycling" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-01-22T03:04:02-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-5486559211400831823</id><content type="html">&lt;div style="float: left"&gt;&lt;iframe height="550" marginheight="0" src="http://maps.google.com.au/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=100938105547471017423.00047dbe69be65b920279&amp;amp;ll=-35.248984,138.835602&amp;amp;spn=0.616824,0.480652&amp;amp;z=10&amp;amp;output=embed" frameborder="0" width="350" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;    &lt;br /&gt;&lt;small&gt;View &lt;a style="text-align: left; color: #0000ff" href="http://maps.google.com.au/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=100938105547471017423.00047dbe69be65b920279&amp;amp;ll=-35.248984,138.835602&amp;amp;spn=0.616824,0.480652&amp;amp;z=10&amp;amp;source=embed"&gt;Woodside to Goolwa&lt;/a&gt; in a larger map&lt;/small&gt; &lt;/div&gt;  &lt;p&gt;Today I joined around 8,000 fellow cyclists in the &lt;a href="http://www.tourdownunder.com.au/race/stage-4" target="_blank"&gt;Mutual Community Challenge Tour&lt;/a&gt; – riding 111km along part of the same route that the professionals took later in the day. The full route started at Norwood, but owing to my limited preparation we started with the majority of riders at Woodside.&lt;/p&gt;  &lt;p&gt;This year I was once again riding with my Dad and the rest of the &lt;a href="http://www.mudsweatandgears.org.au/" target="_blank"&gt;Mud, Sweat and Gears&lt;/a&gt; team.&lt;/p&gt;  &lt;p&gt;This year was different for a number of reasons – most significantly it was the first year that &lt;a href="http://www.bikesa.asn.au/" target="_blank"&gt;BicycleSA&lt;/a&gt; weren't responsible for organising the ride, and boy was that obvious (in a bad way).&lt;/p&gt;  &lt;p&gt;First of all, there was &lt;a href="http://www.bicycles.net.au/forums/viewtopic.php?f=16&amp;amp;t=16365&amp;amp;start=275" target="_blank"&gt;the jersey size debacle&lt;/a&gt;. There appear to have been hundreds of complaints already that the same &amp;quot;size&amp;quot; is way larger than last year. &lt;/p&gt;  &lt;div style="clear: both"&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_pxqKA-ofl4A/S1mGHknkXJI/AAAAAAAABJM/Es2Trg26TIY/s1600-h/SPM_A0004%5B10%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Riders leaving Woodside" border="0" alt="Riders leaving Woodside" align="right" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S1mGIe3coqI/AAAAAAAABJQ/XTC04KeKgRQ/SPM_A0004_thumb%5B8%5D.jpg?imgmax=800" width="240" height="180" /&gt;&lt;/a&gt;Around 5,000 of the total riders started at Woodside. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Car parking was a joke. &lt;/li&gt;    &lt;li&gt;Everyone had to squeeze through 2 &amp;quot;gates&amp;quot; to sign in. Talk about bottlenecks! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Strathalbyn was the major drink and food stop.. except there was no food! Poor planning. It should have all been delivered by the night before. Apparently it did turn up later in the morning – but too late for us and the hundreds of others who'd already been and gone.&lt;/p&gt;  &lt;p&gt;Milang drink stop only had about 4 water taps running off one hose, whose pressure was pitiful (they should have had a water tanker provide water).&lt;/p&gt;  &lt;p&gt;Goolwa finish was at the footy oval which at least was a suitable size to deal with the crowd, except:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Poor signing and poor directions – took ages to find the 'cloakroom' to pick up our bag &lt;/li&gt;    &lt;li&gt;I felt sorry for the guy singing and playing guitar who was being drowned out by commercial radio on a separate PA. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;At least we got our lunch ok.&lt;/p&gt;  &lt;p&gt;The other problem that I remembered also happened in Angaston last year – the mobile phone network becomes useless. The organisers really need to get the phone companies to bring in temporary towers to provide extra coverage.&lt;/p&gt;  &lt;p&gt;So apart from a bit of grumbling, we finished our ride in good time (though that wind was pretty nasty).&lt;/p&gt;  &lt;p&gt;Here's a few photos from the end of the day:&lt;/p&gt; &lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="Riders and support cars approaching finish line" align="left" src="http://lh5.ggpht.com/_pxqKA-ofl4A/S1l1qCevNXI/AAAAAAAABIs/3HZOmTJjmUs/s400/P1050176.JPG" width="408" height="258" /&gt;   &lt;p&gt;The crowds watch on as the riders and support teams in the professional race approach the finish line at Goolwa.&lt;/p&gt;  &lt;div style="clear: both"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="Packing up the bike" align="right" src="http://lh5.ggpht.com/_pxqKA-ofl4A/S1l1pfV-OwI/AAAAAAAABIk/V5JE9X_W-gg/s400/P1050203.JPG" /&gt;     &lt;p&gt;Packing up the bike. Looks like that daughter of mine is using her powers of levitation! &lt;/p&gt;    &lt;p&gt;Also note that baggy jersey.&lt;/p&gt;    &lt;p&gt;That's my new bike by the way. You may recall my old bike met with a slight accident after last year's event. &lt;/p&gt;    &lt;p&gt;I'm now riding a &lt;a href="http://www.cannondale.com/bikes/innovation/caad7/" target="_blank"&gt;Cannondale CAAD7&lt;/a&gt; with an &lt;a href="http://www.shimano.com.au/publish/content/global_cycle/en/au/index/products/road/ultegra.html" target="_blank"&gt;Ultegra group set&lt;/a&gt;.&lt;/p&gt;    &lt;div style="clear: both"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="Riding home" align="left" src="http://lh3.ggpht.com/_pxqKA-ofl4A/S1l1ppnjOuI/AAAAAAAABIo/fTUTeylzkE4/s400/P1050206.JPG" /&gt;       &lt;p&gt;Driving back to Adelaide, we saw this guy.&amp;#160; He must be fit.&lt;/p&gt;      &lt;p&gt;&lt;/p&gt;   &lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-5486559211400831823?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/p_jfZgNoUvY" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-22T21:34:02.353+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/01/tour-down-under-2010.html</feedburner:origLink></entry><entry><title type="text">Hardware planning</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/TgjfNaJZq8s/hardware-planning.html" /><category term="Hardware" /><category term="Windows 7" /><category term="Work" /><category term="SQL" /><category term="Hyper-V" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2010-02-25T21:50:19-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-6690743464145197981</id><content type="html">&lt;p&gt;As my time at Viterra/ABB Grain is rapidly drawing to a close (more about that later), I've started to think about what would be useful (if not essential) for the next stage in my career (more about that later too!).&lt;/p&gt;  &lt;p&gt;I think a laptop might be a useful tool. For the last couple of &lt;a href="http://www.codecampsa.com" target="_blank"&gt;CodeCampSA&lt;/a&gt; events, I've borrowed my Mum's Toshiba. It's quite a nice machine, but I don't think she'd be too keen on lending it to me all the time! I don't know much about various models, but if I could manage to fit an SSD into the budget then I hear that can make a big difference.&lt;/p&gt;  &lt;p&gt;For a while now I've also wanted to get up to speed with &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/hyperv-main.aspx" target="_blank"&gt;Hyper-V&lt;/a&gt;. The only thing preventing me has been access to suitable hardware. When Ben (the Virtual PC Guy) published &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/10/06/hyper-v-in-my-house.aspx" target="_blank"&gt;the specs of the server he runs at home&lt;/a&gt; my eyes lit up, as it seems pretty similar to what I would like to achieve. Specifically&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hosting Windows Home Server&lt;/li&gt;    &lt;li&gt;Running up VMs to run various server environments – particular different versions of SQL Server.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Finally if there was any room left in the budget, I'd really like to upgrade my main desktop machine too – it must be a joy to develop on machine like &lt;a href="http://www.hanselman.com/blog/GetThosePixelsWorkingForYou.aspx" target="_blank"&gt;Scott Hanselman's&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Still, while my existing desktop is is an &lt;a href="http://www.intel.com/support/motherboards/desktop/D865PERL/" target="_blank"&gt;aging old box&lt;/a&gt;, it does the job and manages to run Windows 7 pretty well. One advantage of getting the Hyper-V server up and running would be that I could just RDP from my old box to a VM instead.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-6690743464145197981?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/TgjfNaJZq8s" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T16:20:19.848+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2010/01/hardware-planning.html</feedburner:origLink></entry><entry><title type="text">Two cool Christmas presents</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/dE0AzZ_zZY4/two-cool-christmas-presents.html" /><category term="Family" /><category term="Hardware" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-12-30T04:04:19-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-3508820486626220363</id><content type="html">&lt;p&gt;Christmas has always been a special time for me, and now it's also special for the kids too.&lt;/p&gt;  &lt;p&gt;This year my sister generously bought me a new car…&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Super Grover in his convertible car" border="0" alt="Super Grover in his convertible car" src="http://lh4.ggpht.com/_pxqKA-ofl4A/SztBvYBbXNI/AAAAAAAABHM/PO7PsATqJ0I/P1040142%5B1%5D%5B5%5D.jpg?imgmax=800" width="400" height="313" /&gt; &lt;/p&gt;  &lt;p&gt;Pretty neat huh?&lt;/p&gt;  &lt;p&gt;Carson got given this electronic robot. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/SztBwHLmx8I/AAAAAAAABHQ/jjXlTF8hqQI/s1600-h/P1040145%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Electronic robot" border="0" alt="Electronic robot" src="http://lh5.ggpht.com/_pxqKA-ofl4A/SztBwoIjEZI/AAAAAAAABHU/iXDQ_YiZHzc/P1040145%5B1%5D_thumb%5B2%5D.jpg?imgmax=800" width="400" height="300" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It came as a kit, which meant I had to pull out my trusty old soldering iron and solder all the components onto the &lt;acronym title="printed circuit board"&gt;PCB&lt;/acronym&gt; then assembly all the gearbox bits. I seem to recall my success rate for soldering electronic kits wasn't very good, but I'm pleased to report I managed to get this one working first time. Probably a good thing as I would have no idea how to fix it if it hadn't worked!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;When you turn it on, it runs around the floor, and changes direction when the &lt;acronym title="infra-red"&gt;IR&lt;/acronym&gt; sensors detect an object in the way.&lt;/p&gt;  &lt;p&gt;Merry Christmas and a Happy New Year to everyone.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-3508820486626220363?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/dE0AzZ_zZY4" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-30T22:34:19.929+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/12/two-cool-christmas-presents.html</feedburner:origLink></entry><entry><title type="text">Watching the .NET Garbage Collector</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/zplCsstoMCw/watching-net-garbage-collector.html" /><category term="DotNet" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-12-16T05:30:32-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-6564107326901146184</id><content type="html">&lt;p&gt;Here's an interesting use of SciTech's &lt;a href="http://www.memprofiler.com" target="_blank"&gt;.NET Memory Profiler&lt;/a&gt; – watching how objects are handled by the .NET CLR garbage collector.&lt;/p&gt;  &lt;p&gt;The sample code create 4 objects – a simple class &amp;quot;Simple&amp;quot;, a class that implements &lt;a href="http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx" target="_blank"&gt;IDisposable&lt;/a&gt; &amp;quot;Disposable&amp;quot;, and a class that also implements a destructor &amp;quot;Destructable&amp;quot;. &lt;/p&gt;  &lt;p&gt;.NET Memory Profiler can generate a real-time graph of memory allocations. I've instrumented the sample code using SciTech's API to add comments to the graph so you can match the code execution path against the X axis (time). The object instance count is mapped to the Y axis.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_pxqKA-ofl4A/Syjg8-Xfp-I/AAAAAAAABE8/VQr46KrOTHE/s1600-h/image%5B18%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_pxqKA-ofl4A/Syjg9-7Q4mI/AAAAAAAABFA/Qz2yz_kEPzQ/image_thumb%5B12%5D.png?imgmax=800" width="611" height="625" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;See how 2 instances of the &amp;quot;Destructable&amp;quot; class existed around the 10 second mark – then one was released at the first GC, then the 2nd (which has the &lt;a href="http://msdn.microsoft.com/en-us/library/0s71x931.aspx" target="_blank"&gt;destructor&lt;/a&gt;) is only released after the 2nd GC.&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:27f0e6a3-b9f8-48b9-a293-b821aafee8d9" class="wlWriterEditableSmartContent"&gt;&lt;pre class="brush: c#;gutter:false;auto-links:false;"&gt;using System;
using System.Diagnostics;
using SciTech.NetMemProfiler;

namespace MemoryTesting
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            MemProfiler.FullSnapShot("Start");

            CreateSimple();

            CreateDisposable();
            System.Threading.Thread.Sleep(1000);

            CreateDestructableAndDispose();
            System.Threading.Thread.Sleep(1000);

            CreateDestructable();
            System.Threading.Thread.Sleep(1000);

            MemProfiler.AddRealTimeComment("GC");
            GC.Collect();

            System.Threading.Thread.Sleep(2000);
            MemProfiler.AddRealTimeComment("WaitForPendingFinalizers");
            GC.WaitForPendingFinalizers();

            System.Threading.Thread.Sleep(2000);

            MemProfiler.AddRealTimeComment("GC");
            GC.Collect();

            System.Threading.Thread.Sleep(1000);

            MemProfiler.AddRealTimeComment("End");
            MemProfiler.FullSnapShot();

        }

        private static void CreateSimple()
        {
            MemProfiler.AddRealTimeComment("Create Simple");

            var a = new Simple();
            a.Something += OnEventHandler;
            a.Data = "hey";

            a.Something -= OnEventHandler;

        }

        private static void CreateDisposable()
        {
            MemProfiler.AddRealTimeComment("Create Disposable");

            var a = new Disposable();
            a.Something += OnEventHandler;
            a.Data = "ho";
            System.Threading.Thread.Sleep(1000);
            a.Something -= OnEventHandler;

            a.Dispose();
        }

        private static void CreateDestructableAndDispose()
        {
            MemProfiler.AddRealTimeComment("Create Destructable and Dispose");

            var a = new Destructable();
            a.Something += OnEventHandler;
            a.Data = "haha";
            System.Threading.Thread.Sleep(1000);
            a.Something -= OnEventHandler;

            a.Dispose();
        }

        private static void CreateDestructable()
        {
            MemProfiler.AddRealTimeComment("Create Destructable");

            var a = new Destructable();
            a.Something += OnEventHandler;
            a.Data = "haha";
            System.Threading.Thread.Sleep(1000);
            a.Something -= OnEventHandler;
            //a.Dispose();
        }

        private static void OnEventHandler(object sender, EventArgs e)
        {
            Debug.WriteLine("Something Fired");
        }
    }

    public class Simple
    {
        private string _data;

        public string Data
        {
            get { return _data; }
            set
            {
                _data = value;
                OnSomething(null);
            }
        }

        public event EventHandler Something;

        protected virtual void OnSomething(EventArgs e)
        {
            EventHandler handler = Something;
            if (handler != null) handler(this, e);
        }
    }


    public class Disposable : Simple, IDisposable
    {
        #region IDisposable Members

        public void Dispose()
        {
            System.Threading.Thread.Sleep(1000);

            MemProfiler.AddRealTimeComment("Dispose");

            Dispose(true);
            GC.SuppressFinalize(this);
        }

        #endregion

        protected virtual void Dispose(bool disposing)
        {
        }
    }

    public class Destructable : Disposable
    {
        ~Destructable()
        {
            System.Threading.Thread.Sleep(1000);

            MemProfiler.AddRealTimeComment("Destructing");

            Dispose(false);
        }
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-6564107326901146184?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/zplCsstoMCw" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T00:00:32.583+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/12/watching-net-garbage-collector.html</feedburner:origLink></entry><entry><title type="text">Time</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/X_IQqdr0MWI/time.html" /><category term="Faith" /><category term="Work" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-12-08T03:52:38-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-275120053388577287</id><content type="html">&lt;p&gt;The Byrds were spot on when they sang &amp;quot;To everything… there is a season… and a time to every purpose under heaven&amp;quot;. Spot on, because the lyrics (whilst put to music by Pete Seeger &lt;a href="http://en.wikipedia.org/wiki/Turn!_Turn!_Turn!" target="_blank"&gt;according to Wikipedia&lt;/a&gt;) are actually adapted directly from &lt;a href="http://www.biblegateway.com/passage/?search=Ecclesiastes%203&amp;amp;version=KJV" target="_blank"&gt;Ecclesiastes 3&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Particularly appropriate for me at the moment is the line the following line:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;A right time to plant and another to reap&amp;quot; &lt;a href="http://www.biblegateway.com/passage/?search=Ecclesiastes%203&amp;amp;version=MSG" target="_blank"&gt;Ecc 3:2b&lt;/a&gt; (The Message)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/Sx4-AiwZWPI/AAAAAAAABEk/T2V0uFYjFHk/s1600-h/r160170_602465%5B1%5D%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="r160170_602465[1]" border="0" alt="r160170_602465[1]" align="right" src="http://lh3.ggpht.com/_pxqKA-ofl4A/Sx4-BEdwLKI/AAAAAAAABEw/-WqhOOGp9UI/r160170_602465%5B1%5D_thumb%5B1%5D.jpg?imgmax=800" width="244" height="164" /&gt;&lt;/a&gt;Right now in country areas of South Australia, &lt;a href="http://www.abc.net.au/news/stories/2009/11/06/2734897.htm" target="_blank"&gt;harvest is in full swing&lt;/a&gt;. In the past that wouldn't have meant so much to me, but having worked for the last 18 months at a certain &lt;strike&gt;Australian&lt;/strike&gt;Canadian agribusiness, the change of seasons and especially the impact of weather on crop production has become much more relevant.&lt;/p&gt;  &lt;p&gt;These are interesting, but exciting times. I'm sure a number of the other verses from Ecclesiastes 3 are also applicable at the moment, but I'll write more about that later!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-275120053388577287?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/X_IQqdr0MWI" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T22:22:38.761+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/12/time.html</feedburner:origLink></entry><entry><title type="text">Antihistamines</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/zB9fEXiDunY/antihistamines.html" /><category term="Health" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-12-06T07:13:31-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-2427739804835108357</id><content type="html">&lt;p&gt;I've been a long-time hay fever sufferer. I also had a fair bit of &lt;a href="http://en.wikipedia.org/wiki/Allergic_conjunctivitis" target="_blank"&gt;allergic conjuctivitis&lt;/a&gt; in my younger years which I seem to be growing out of (finally!), though for the last 6 or so years &lt;a href="http://en.wikipedia.org/wiki/Dermatographic_urticaria" target="_blank"&gt;dermographism&lt;/a&gt; has been a challenge too. You can just call me &amp;quot;Mr Healthy&amp;quot; :-)&lt;/p&gt;  &lt;p&gt;Because of this, I have developed a more than average interest in antihistamines, and done a bit of research on the various &amp;quot;non-drowsy&amp;quot; over-the-counter products available in Australia.&lt;/p&gt;  &lt;p&gt;The products are grouped by active ingredient, and then ordered by the most familiar brand name with that ingredient. As a rule, the best known brand is usually the most expensive – presumably you're paying extra for all the marketing and colourful packaging.&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0" width="469"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th width="107"&gt;Brand&lt;/th&gt;        &lt;th width="143"&gt;Active Ingredient&lt;/th&gt;        &lt;th width="62"&gt;Size&lt;/th&gt;        &lt;th width="46"&gt;Dose&lt;/th&gt;        &lt;th width="40"&gt;Price&lt;/th&gt;        &lt;th width="69"&gt;Cost per tablet&lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="107"&gt;Zyrtec&lt;/td&gt;        &lt;td width="143"&gt;&lt;a href="http://en.wikipedia.org/wiki/Cetirizine" target="_blank"&gt;Cetirizine&lt;/a&gt;&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;21.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.73&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Zodac&lt;/td&gt;        &lt;td width="143"&gt;Cetirizine&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;9.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.33&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Alzene&lt;/td&gt;        &lt;td width="143"&gt;Cetirizine&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;17.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.60&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Telfast&lt;/td&gt;        &lt;td width="143"&gt;&lt;a href="http://en.wikipedia.org/wiki/Fexofenadine" target="_blank"&gt;Fexofenadine&lt;/a&gt;&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;180mg&lt;/td&gt;        &lt;td width="40"&gt;22.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.77&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Xergic&lt;/td&gt;        &lt;td width="143"&gt;Fexofenadine&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;180mg&lt;/td&gt;        &lt;td width="40"&gt;21.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.73&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Fexotabs&lt;/td&gt;        &lt;td width="143"&gt;Fexofenadine&lt;/td&gt;        &lt;td width="62"&gt;50&lt;/td&gt;        &lt;td width="46"&gt;180mg&lt;/td&gt;        &lt;td width="40"&gt;26.45&lt;/td&gt;        &lt;td width="69"&gt;$ 0.53&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Fexal&lt;/td&gt;        &lt;td width="143"&gt;Fexofenadine&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;180mg&lt;/td&gt;        &lt;td width="40"&gt;15.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.53&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Xyzal&lt;/td&gt;        &lt;td width="143"&gt;&lt;a href="http://en.wikipedia.org/wiki/Levocetirizine" target="_blank"&gt;Levocetirizine&lt;/a&gt;&lt;/td&gt;        &lt;td width="62"&gt;30&lt;/td&gt;        &lt;td width="46"&gt;5mg&lt;/td&gt;        &lt;td width="40"&gt;22.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.77&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Clarityne&lt;/td&gt;        &lt;td width="143"&gt;&lt;a href="http://en.wikipedia.org/wiki/Loratadine" target="_blank"&gt;Loratadine&lt;/a&gt;&lt;/td&gt;        &lt;td width="62"&gt;50&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;36.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.74&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Lorastyne&lt;/td&gt;        &lt;td width="143"&gt;Loratadine&lt;/td&gt;        &lt;td width="62"&gt;50&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;21.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.44&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;AllerEze&lt;/td&gt;        &lt;td width="143"&gt;Loratadine&lt;/td&gt;        &lt;td width="62"&gt;50&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;27.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.56&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Chemists' Own Loratadine&lt;/td&gt;        &lt;td width="143"&gt;Loratadine&lt;/td&gt;        &lt;td width="62"&gt;50&lt;/td&gt;        &lt;td width="46"&gt;10mg&lt;/td&gt;        &lt;td width="40"&gt;32.95&lt;/td&gt;        &lt;td width="69"&gt;$ 0.66&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="107"&gt;Aerius&lt;/td&gt;        &lt;td width="143"&gt;&lt;a href="http://en.wikipedia.org/wiki/Desloratadine" target="_blank"&gt;Desloratadine&lt;/a&gt;&lt;/td&gt;        &lt;td width="62"&gt;28&lt;/td&gt;        &lt;td width="46"&gt;5mg&lt;/td&gt;        &lt;td width="40"&gt;24.35&lt;/td&gt;        &lt;td width="69"&gt;$ 0.87&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Note also, the prices I've quoted here are from online pharmacies based in Australia, such as &lt;a href="http://www.pharmacydirect.com.au" target="_blank"&gt;Pharmacy Direct&lt;/a&gt; and &lt;a href="http://www.pharmacyonline.com.au/" target="_blank"&gt;Pharmacy Online&lt;/a&gt; (don't forget to allow for postage). Buying the same identical product from a non-discount pharmacy may cost up to a 1/3 more.&lt;/p&gt;  &lt;p&gt;I've tried all the main kinds, with varying degrees of success. I do think it is a good idea to swap products every few months as in my experience extended use of one specific antihistamine reduced its effectiveness (as though the body became desensitised to it).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-2427739804835108357?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/zB9fEXiDunY" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-07T01:43:31.939+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/12/antihistamines.html</feedburner:origLink></entry><entry><title type="text">A Sydney Wedding</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/ig0oJrxR3JQ/sydney-wedding.html" /><category term="Transport" /><category term="Family" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-12-01T04:44:03-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-4079260948817028901</id><content type="html">&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_pxqKA-ofl4A/SxUPgfdM6zI/AAAAAAAABDo/aztuZsTL3Jo/s1600-h/P1020379%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Katie and Gabriel Osorio" border="0" alt="Katie and Gabriel Osorio" align="left" src="http://lh3.ggpht.com/_pxqKA-ofl4A/SxUPhM1JWkI/AAAAAAAABDs/y36CA-hPYYg/P1020379_thumb%5B3%5D.jpg?imgmax=800" width="184" height="244" /&gt;&lt;/a&gt;Narelle's cousin Katie was getting married in Sydney, so we bundled the family into a plane and headed over for the festivities. &lt;/p&gt;  &lt;p&gt;I'd booked seats on &lt;a href="http://www.tigerairways.com/au/en/index.php" target="_blank"&gt;Tiger Airways&lt;/a&gt; earlier in the year (taking advantage of particularly cheap tickets). One thing with Tiger is that everything besides a seat on the plane costs you extra. I paid for extra baggage allowance but decided not to shell out for the privilege of choosing allocated seats. There was a risk that Tiger's seat booking system might be so stupid that it could put the kids and the adults in completely separate seats, but I'm pleased to report that we ended up with decent seats all in the same row on both flights.&lt;/p&gt;  &lt;p&gt;A few quibbles with Tiger – the PDF attachments they emailed me were blank. Fortunately I figured out that the attachment file name happened to be the confirmation number so you could still review the details by going to their &lt;a href="http://booking.tigerairways.com/skylights/cgi-bin/skylights.cgi?module=C3" target="_blank"&gt;Review Itinerary&lt;/a&gt; page. Their website also fails to mention the fact that they will carry prams for free (thanks to Margaret for finding that out).&lt;/p&gt;  &lt;p&gt;I'm not sure if it's a measure of how trustworthy visitors to Sydney airport are, but you have to pay $4 to use a luggage cart – contrasted with Adelaide airport where the carts are free (and I'd suggest a better design too – 3 bags fit side-by-side which we couldn't do with the interstate model).&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Not a Toyota Camry!" border="0" alt="Not a Toyota Camry!" align="right" src="http://lh6.ggpht.com/_pxqKA-ofl4A/SxUPhyjtgfI/AAAAAAAABDw/d4evSjciRVM/P1020200%5B4%5D.jpg?imgmax=800" width="244" height="184" /&gt; I organised a hire car through &lt;a title="http://www.airportrentacar.com.au/sydney/" href="http://www.airportrentacar.com.au/sydney/"&gt;http://www.airportrentacar.com.au/sydney/&lt;/a&gt;, who seemed to have the best price compared to some of the more familiar hire car companies. One thing I didn't find out until after submitting a hire request through their website was that they require a &amp;quot;CREDIT&amp;quot; credit card (ie. not a debit card) for security. So began a mad panic to try and obtain such a card in less that 2 weeks. Despite trying to ensure my credit union had all the paperwork required up front, it took a few days for them to ask me for a pay slip and then a group certificate. The Thursday of our departure arrived, but sadly the card did not (it was delivered the day before we got back home!) Thankfully Narelle's parents were also travelling on the same flight and were kind enough to use their card for the security (the actual payment could still be done on a debit card). Also in Sydney this company's office is actually within reasonable walking distance from the terminal. In peak hour if you don't have much luggage, walking may actually be faster than the free pickup they offer.&lt;/p&gt;  &lt;p&gt;The car (a &lt;a href="http://www.toyota.com.au/camry/specifications/altise" target="_blank"&gt;Toyota Camry Altise&lt;/a&gt;) was perfect for our needs, and we were able to just cram the kids into the back seat (with various booster/baby seats). Our own car is also a Camry (though a slightly older 1995 model) and by comparison I found the modern Altise quite responsive, a bit gruntier and with more headroom (something I tend to notice). Imagine my surprise to learn learn that the current model still has only a 4 cylinder engine. (And no, that picture is not a Camry!)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/SxUPigkarBI/AAAAAAAABD0/m2hMhB9joy0/s1600-h/P1020144%5B7%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="P1020144" border="0" alt="P1020144" align="left" src="http://lh6.ggpht.com/_pxqKA-ofl4A/SxUPjaQ7jiI/AAAAAAAABD4/RFXa30ex0qo/P1020144_thumb%5B5%5D.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_pxqKA-ofl4A/SxUPkOS0xHI/AAAAAAAABD8/zFERusFA0zE/s1600-h/P1020164%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="P1020164" border="0" alt="P1020164" align="right" src="http://lh4.ggpht.com/_pxqKA-ofl4A/SxUPkob4pbI/AAAAAAAABEA/v4lHNEWl8H0/P1020164_thumb%5B1%5D.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt;We took the opportunity to do a bit of sight seeing, and visited Ocean World at Manly. We all enjoyed looking at all the various exhibits – especially walking through the tunnel through the aquarium. Boy those teeth look sharp! &lt;/p&gt;  &lt;p style="clear: both"&gt;Having grown up in Adelaide, driving in a big city like Sydney is not my idea of fun. The traffic just seems crazy, and it all feels like there are just way too many cars trying to squeeze along lots of too-narrow roads (even though the roads are usually multi-lane). At least this visit we did pretty well finding our way around – Narelle's old NSW navigation skills came through with flying colours. &lt;/p&gt;  &lt;p&gt;It was a nice holiday but it is good to be home again.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-4079260948817028901?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/ig0oJrxR3JQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T23:14:03.117+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/12/sydney-wedding.html</feedburner:origLink></entry><entry><title type="text">Office Communicator and the tel: protocol</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DavesDaydreams/~3/yICcmNk-V0Q/office-communicator-and-tel-protocol.html" /><category term="WWW" /><author><name>David Gardiner</name><email>noreply@blogger.com</email><uri>http://www.blogger.com/profile/02636945252155832647</uri></author><updated>2009-11-18T03:32:39-08:00</updated><id>tag:blogger.com,1999:blog-10782889.post-5090536603997374227</id><content type="html">&lt;p&gt;I was wondering today whether Office Communicator offered any integration with web pages to enable calling a phone number on a web page. It turns out it does (&lt;a href="http://communicatorteam.com/archive/2008/02/18/69.aspx" target="_blank"&gt;as the Communicator team explains on their blog&lt;/a&gt;) via the &lt;a href="http://www.ietf.org/rfc/rfc2806.txt" target="_blank"&gt;tel: protocol&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I confirmed this by inspecting the registry on a computer with the Office Communicator 2007 client installed. Sure enough, it is registered for tel: (and also callto:).&lt;/p&gt;  &lt;p&gt;If your page is just for your intranet, you can probably get away with the local number, but the RFC strongly recommends you use full &amp;quot;international form&amp;quot; – that way the number should be callable from anywhere. eg.&lt;/p&gt; &lt;code&gt;Telephone: &amp;lt;a href=&amp;quot;tel:+3585551234567&amp;quot;&amp;gt;+358-555-1234567&amp;lt;/a&amp;gt;&lt;/code&gt;   &lt;p&gt;I don't have Communicator installed on my home PC, but I do have Skype. A quick check of the registry confirmed that Skype has registered as a handler for callto: but there is no tel:.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10782889-5090536603997374227?l=david.gardiner.net.au' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DavesDaydreams/~4/yICcmNk-V0Q" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-18T22:02:39.367+10:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://david.gardiner.net.au/2009/11/office-communicator-and-tel-protocol.html</feedburner:origLink></entry></feed>
