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

<channel>
	<title>Ryan's Obligatory Blog &#187; Development</title>
	<atom:link href="http://blog.ryanwheeler.co.uk/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ryanwheeler.co.uk</link>
	<description>Random thoughts, SharePoint and the software business...</description>
	<lastBuildDate>Tue, 13 Jul 2010 11:16:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Setting up a new PC</title>
		<link>http://blog.ryanwheeler.co.uk/2010/05/setting-up-a-new-pc/</link>
		<comments>http://blog.ryanwheeler.co.uk/2010/05/setting-up-a-new-pc/#comments</comments>
		<pubDate>Sat, 29 May 2010 20:33:11 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.ryanwheeler.co.uk/?p=71</guid>
		<description><![CDATA[Its that time again &#8211; upgrading OS. This time to Windows 7.
I figure its been long enough now for the serious kinks to be worked out and I&#8217;ve been putting it off long enough. Its not the installation itself that is hard &#8211; mostly its a simple as bunging in a DVD, selecting a few [...]]]></description>
			<content:encoded><![CDATA[<p>Its that time again &#8211; upgrading OS. This time to Windows 7.</p>
<p>I figure its been long enough now for the serious kinks to be worked out and I&#8217;ve been putting it off long enough. Its not the installation itself that is hard &#8211; mostly its a simple as bunging in a DVD, selecting a few options and waiting 30 mins &#8211; but installing all the pograms I use and tweaking everyting so its just so will take about a day. I know that you can do an &#8216;upgrade&#8217; install but long experience has taught me that anything but a &#8216;clean install&#8217; is a recipie for anger, suffering and hate&#8230;</p>
<p>Anyway &#8211; a list of programs I use, as much as a note for myself for when Window 8 comes around.</p>
<p>A quick tip fist though &#8211; when doing this sort of ting you will invaribably forget to copy off some data that you need or there will be a program that you can&#8217;t get working right or maybe something that you use once per year that you really can&#8217;t be bothered installing again. I use the <a href="http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vcenter_converter_standalone/4_0">free VMWare Converter</a> to convert the physical macine to a virtual machine and store the VHD on a USB drive &#8211; if I ever need to get/run someting from this old machine I just boot it up using the <a href="http://www.vmware.com/products/server/">free VMWare Server</a> &#8211; a nice saftey net.</p>
<h2>General Programs</h2>
<p>Most of these are opensource, free or donationware but do be careul and check the options so you don&#8217;t inadvertantly install crapware like Yahoo toolbar, registry cleaners or that oh so helpful desktop shortcut to eBay (however would you find it otherwise?)</p>
<p><a href="http://www.google.com/chrome">Google Chrome browser</a> &#8211; most day to day browsing, so much faster than IE/Firefox and working with downloaded files that doesn&#8217;t suck (yes Firefox, looking at you!)</p>
<p><a href="https://www.dropbox.com/">Dropbox</a> &#8211; The easiest way to sync files between computers and people, just works.</p>
<p><a href="https://secure.logmein.com/">LogMeIn </a>- Free and easy remote access, just works but they have recently started push the paid upgrades a little harder.</p>
<p><a href="http://www.foxitsoftware.com/pdf/reader/">FoxIt Free PDF reader</a> - because Adobe Acrobat reader is so bad it both sucks and blows.</p>
<p><a href="http://www.getpaint.net/">Paint.NET</a> &#8211; free basic image editing tool.</p>
<p><a href="http://www.techsmith.com/screen-capture.asp">Snagit</a> &#8211; easy screen capture &#8211; yes you can use CTRL+PRINT SCREEN and Paint.NET but this just makes it a little easier.</p>
<p><a href="http://www.videolan.org/vlc/">VLC Media Player</a> &#8211; fast lightweight media player that works with just about everything. No computer I own will ever be subjected to running Quicktime or god forbid Realplayer.</p>
<p><a href="http://www.piriform.com/defraggler">Defraggler</a> &#8211; seems to do a much better job of defragmening that Windows built in tool especally if you work with large and/or hevily framented files (VHD&#8217;s for example)</p>
<p><a href="http://www.izarc.org/">IZArc</a> &#8211; great freeware zipping tool</p>
<p><a href="http://www.realtimesoft.com/ultramon/overview/">UltraMon </a>- If you have a desk that looks like mission control.</p>
<p><a href="http://www.slysoft.com/en/virtual-clonedrive.html">Virtual Clone Drive</a> &#8211; make a virtual drive from an .ISO image so you dont have to muck around burning stuff to DVD just to install it (if you even have a DVD drive in your laptop any more). This really really should be built into Windows.</p>
<p><a href="http://windirstat.info/">WinDirStat</a> &#8211; figure out what the hell is using up that enourmous 500GB hard drive you thought would last forever.</p>
<p><a href="http://sourceforge.net/projects/passwordsafe/">PasswordSafe</a> &#8211; you don&#8217;t use the same password for everything, do you?</p>
<p>And of course your office tools of choice &#8211; for me its Microsoft Office.</p>
<p>Any killer tools i&#8217;ve missed? Next up its developer focused tools.</p>
 <img src="http://blog.ryanwheeler.co.uk/wp-content/plugins/feed-statistics.php?view=1&post_id=71" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.ryanwheeler.co.uk/2010/05/setting-up-a-new-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ILMerge /targetplatform:v1.1 and Vista x64</title>
		<link>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/</link>
		<comments>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:11:47 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ILMerge]]></category>

		<guid isPermaLink="false">http://blog.ryanwheeler.co.uk/?p=34</guid>
		<description><![CDATA[ILMerge is an invaluable tool from Michael Barnett at Microsoft Research that can merge multiple assemblies together into a single assembly.
ILMerge can output .NET 2.0 or .NET 1.1 assemblies by using the /targetplatform:v1.1 switch.
At the time of writing v2.8.0626 (26th June 08) has a little problem when targeting .NET 1.1 and running on 64bit Vista.
In [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;displaylang=en" target="_blank">ILMerge</a> is an invaluable tool from <a href="http://research.microsoft.com/en-us/people/mbarnett/">Michael Barnett</a> at Microsoft Research that can merge multiple assemblies together into a single assembly.</p>
<p>ILMerge can output .NET 2.0 or .NET 1.1 assemblies by using the /targetplatform:v1.1 switch.</p>
<p>At the time of writing v2.8.0626 (26th June 08) has a little problem when targeting .NET 1.1 and running on 64bit Vista.</p>
<p>In the log files you see this when running on x86</p>
<pre>Set platform to 'v1.1', using directory</pre>
<pre>'C:\Windows\Microsoft.NET\Framework\v2.0.50727\..\v1.1.4322' for mscorlib.dll</pre>
<p>But on x64</p>
<pre>Set platform to 'v1.1', using directory</pre>
<pre>'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\..\v1.1.4322'</pre>
<pre>for mscorlib.dll</pre>
<p>But there is no such dir &#8211; .NET 1.1 is only 32bit (though obviously it runs on x64 systems) and the correct dir is</p>
<p>C:\Windows\Microsoft.NET\Framework\v1.1.4322</p>
<p>As a result you will see the following in the log file.</p>
<pre>AssemblyResolver: Assembly 'System.Web' is referencing assembly 'System'.</pre>
<pre>AssemblyResolver: Attempting referencing assembly's directory.</pre>
<pre>AssemblyResolver: Did not find assembly in referencing assembly's directory.</pre>
<pre>AssemblyResolver: Attempting input directory.</pre>
<pre>AssemblyResolver: Did not find assembly in input directory.</pre>
<pre>AssemblyResolver: Attempting user-supplied directories.</pre>
<pre>AssemblyResolver: Did not find assembly in user-supplied directories.</pre>
<pre>....</pre>
<pre>Could not resolve type reference: [mscorlib]System.Enum.</pre>
<pre>Could not resolve type reference: [mscorlib]System.ValueType.</pre>
<pre>Could not resolve type reference: [mscorlib]System.Object.</pre>
<pre>Could not resolve type reference: [mscorlib]System.IDisposable.</pre>
<pre>....</pre>
<pre>(Missed out a few hundred lines referencing all other mscorlib etc namespaces)</pre>
<pre>ILMerge: Done.</pre>
<p>And although it reports done and does not return an error code you will get assembly loading errors.<br />
Workaround</p>
<p>Add a <a href="http://en.wikipedia.org/wiki/NTFS_symbolic_link" target="_blank">symlink</a> (a sort of low level shortcut) directing ILMerge to the correct directory.</p>
<pre>MKLINK /D C:\Windows\Microsoft.NET\Framework64\v1.1.4322</pre>
<pre>C:\Windows\Microsoft.NET\Framework\v1.1.4322</pre>
 <img src="http://blog.ryanwheeler.co.uk/wp-content/plugins/feed-statistics.php?view=1&post_id=34" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting up SharePoint with a SQL Server 2008 Instance</title>
		<link>http://blog.ryanwheeler.co.uk/2008/11/setting-up-sharepoint-with-sql-server-2008-instance/</link>
		<comments>http://blog.ryanwheeler.co.uk/2008/11/setting-up-sharepoint-with-sql-server-2008-instance/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 11:08:35 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.ryanwheeler.co.uk/?p=18</guid>
		<description><![CDATA[This seems to come up time and time again and can leave people hairless. I haven&#8217;t found a good, simple walkthrough &#8211; so I thought I would put together a quick post.
Disclaimer : This post is written from the perspective of a developer setting up a dev/test system. For production purposes you need to thoroughly [...]]]></description>
			<content:encoded><![CDATA[<p>This seems to come up time and time again and can leave people hairless. I haven&#8217;t found a good, simple walkthrough &#8211; so I thought I would put together a quick post.</p>
<p><span style="color: #ff6600;"><em>Disclaimer : This post is written from the perspective of a developer setting up a dev/test system. For production purposes you need to thoroughly understand the security implications of all the setting listed below. But you knew that already.</em></span></p>
<p>Back in the good ol days you never had any trouble getting apps connecting to SQL Sever. Username<a title="Voyager Alpha Force worm" href="http://support.microsoft.com/kb/313418" target="_blank"> &#8220;sa&#8221; and a blank password</a> and you were good to go <img src='http://blog.ryanwheeler.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Things are a bit more difficult now&#8230;</p>
<p>This particular example walks through installing <a title="Download Windows SharePoint Services" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D51730B5-48FC-4CA2-B454-8DC2CAF93951&amp;displaylang=en" target="_blank">Windows SharePoint Services</a> on one server (a virtual server, but it makes no difference) connecting to a <a title="SQL Server 2008 Express" href="http://www.microsoft.com/SQL/default.mspx" target="_blank">SQL Server 2008 Express</a> database <strong>Instance </strong>on another server.</p>
<p>Both servers are using the same domain. This <a title="SharePoint and database on different domains" href="http://support.microsoft.com/kb/932376" target="_blank">kb 932376</a> should help if you are running SharePoint and a Database on servers in different domains or no domain at all.</p>
<p>Firstly, install SQL Server on its own instance (lets assume the machine is called <strong>SQL2008EXP </strong>and the instance is called <strong>SharePoint</strong>). There&#8217;s a whole big process here that involves what is possibly the worlds most complex installer that inexplicably leaves you manually hunting for all the pre-requisites (Windows Installer 4.5, NET 3.5 SP1, Powershell &#8211; but that&#8217;s all out of the scope of this post). Seriously Microsofties, you have outdone yourselves with this installer!</p>
<p>Grumbling aside &#8211; setup a Domain Account <strong>(A)</strong> that the SharePoint services will use. As usual for service account make it &#8216;password never expires&#8217; and uncheck &#8216;user must change password on first login&#8217;.</p>
<p>Start <strong>Microsoft SQL Server Management Studio</strong> and go to <strong>Security </strong>&gt; <strong>Logins</strong>, right click and select <strong>New Login</strong>. Enter your DOMAIN\UserName <strong>(A)</strong> that you created above. Select <strong>Server Roles</strong> and check <strong>dbcreator </strong>and <strong>securityadmin</strong>.</p>
<p style="text-align: center;"><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/sql-permissions.gif" target="_blank"><img class="size-medium wp-image-19 aligncenter" title="sql-permissions" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/sql-permissions-300x172.gif" alt="" width="300" height="172" /></a><br />
Install <a title="Download Windows SharePoint Services" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D51730B5-48FC-4CA2-B454-8DC2CAF93951&amp;displaylang=en" target="_blank">WSSv3 (SP1 or above)</a> &#8211; select <strong>Advanced </strong>and then <strong>&#8220;Web Front End&#8221;</strong> as we want to use SQL Server not MSDE.</p>
<p style="text-align: center;"><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-advanced.gif" target="_blank"><img class="alignnone size-medium wp-image-20" title="install-advanced" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-advanced-300x167.gif" alt="SharePoint - select Advanced Install" width="300" height="167" /></a> <a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-webfrontend.gif" target="_blank"><img class="alignnone size-medium wp-image-21" title="install-webfrontend" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-webfrontend-300x108.gif" alt="SharePoint - select Web Farm Front End" width="300" height="108" /></a></p>
<p>The <strong>SharePoint Products and Technologies Configuration Wizard</strong> should start automatically</p>
<p>Select <strong>&#8220;No, I want to create a new server farm&#8221;</strong></p>
<p style="text-align: center;"><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/config-new-farm.gif" target="_blank"><img class="aligncenter size-medium wp-image-23" title="config-new-farm" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/config-new-farm-300x99.gif" alt="Create a new server farm" width="300" height="99" /></a></p>
<p>Fill in the account details that you setup earlier (A)</p>
<p style="text-align: center;"><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-database-settings.gif" target="_blank"><img class="aligncenter size-medium wp-image-24" title="install-database-settings" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-database-settings-300x255.gif" alt="Configuration Database Settings" width="300" height="255" /></a></p>
<p>Get the follwoing error</p>
<p><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-error.gif"><img class="aligncenter size-medium wp-image-25" title="install-error" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/install-error-300x76.gif" alt="" width="300" height="76" /></a></p>
<address style="text-align: center;">Failed to connect to the database server or the database name does not exist. </address>
<address style="text-align: center;">Ensure the database server exists, is a Sql server, and that you have the appropriate permissions to access the database server.</address>
<p>Now its time to waste 2 hours of your life pinging servers, checking names, passwords, permissions and event logs. Or feel free to skip this step and carry on below :-</p>
<h2>SQL 2008 installs in a state that will stop you connecting from a remote server.</h2>
<p>This is not done out of badness, but for security.</p>
<p>Start <strong>SQL Server Configuration Manager</strong></p>
<p>Expand the <strong>SQL Server Network Configuration</strong> node and find the <strong>Protocols </strong>for your Instance</p>
<p>Right click on <strong>TCP/IP</strong> and click <strong>Enabled </strong>- do the same with <strong>Named Pipes</strong></p>
<p style="text-align: center;"><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/config-manager.gif" target="_blank"><img class="size-medium wp-image-26 aligncenter" title="config-manager" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/config-manager-300x115.gif" alt="Enable TCP/IP and Named Pipes" width="300" height="115" /></a></p>
<p>Right click on <strong>TCP/IP </strong>and click <strong>Properties</strong>. Select the <strong>IP Address</strong> tab and make a note <strong>(B)</strong> of the <strong>TCP Dynamic Port</strong></p>
<p><a href="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/tcpip-properties.gif"><img class="aligncenter size-medium wp-image-27" title="tcpip-properties" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/tcpip-properties-272x300.gif" alt="" width="272" height="300" /></a></p>
<p>Restart the SQL server service</p>
<p>When you connect to a SQL Server <em>instance</em> via TCP/IP the connection attempt will query the SQL Server Browser service (on port 1434) and find out which port a specific instance is set to listen on. However by default the <strong>SQL Server Browser service</strong> is disabled. You can now either start it or use the Port number <strong>(B)</strong> you found earlier to connect directly.</p>
<p>Confusingly the syntax is different to what you may expect &#8211; no semi-colons here, <strong>use a comma</strong></p>
<pre>ServerName\InstanceName<span style="color: #ff0000;">,</span>PORT</pre>
<p><em>(If you are using a default instance then the connection will happen on port 1433 by default and you won&#8217;t have to enter the port number or worry about the SQL Browser service)</em></p>
<p>If you have a firewall running you will also have to open up this port number for incoming TCP connections. See <a title="Configuring Windows Firewall" href="http://technet.microsoft.com/en-us/library/cc737845.aspx" target="_blank">Windows Firewall</a> or the <a title="Firewall guide for SQL Server 2005" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277" target="_blank">Firewall guide for SQL Server 2005</a></p>
<p>Further reading <a href="http://blogs.msdn.com/sql_protocols/archive/2006/09/30/SQL-Server-2005-Remote-Connectivity-Issue-TroubleShooting.aspx" target="_blank">SQL Server 2005 Remove Connectivity Issue Troubleshooting</a> (most steps applicable to 2008)</p>
 <img src="http://blog.ryanwheeler.co.uk/wp-content/plugins/feed-statistics.php?view=1&post_id=18" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.ryanwheeler.co.uk/2008/11/setting-up-sharepoint-with-sql-server-2008-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essential Tools &#8211; SmartInspect Logging</title>
		<link>http://blog.ryanwheeler.co.uk/2008/11/essential-tools-smartinspect-logging/</link>
		<comments>http://blog.ryanwheeler.co.uk/2008/11/essential-tools-smartinspect-logging/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 22:14:04 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.ryanwheeler.co.uk/?p=15</guid>
		<description><![CDATA[For many applications (especially server based applications) its essential to provide some sort of logging for support and troubleshooting.
While logging to Windows Event logs is a good idea if you need to get an administrators attention its not really suitable for detailed logging, and if you have a problem you need to have already been [...]]]></description>
			<content:encoded><![CDATA[<p>For many applications (especially server based applications) its essential to provide some sort of logging for support and troubleshooting.</p>
<p>While logging to Windows Event logs is a good idea if you need to get an administrators attention its not really suitable for detailed logging, and if you have a problem you need to have already been collecting details &#8230; lots of them.</p>
<p>There has to be as many different logging schemes as there are programmers. A quick search gives you <a href="http://msdn.microsoft.com/en-us/library/cc309506.aspx" target="_blank">Microsoft&#8217;s Logging Application Block</a>, <a href="http://logging.apache.org/log4net/" target="_blank">Apache Log4Net</a>, <a href="http://www.nlog-project.org/" target="_blank">NLog</a> and <a href="http://code.google.com/appengine/articles/logging.html" target="_blank">Google App Engine Logging</a> &#8211; and that&#8217;s just for starters. You may even think it would be trivial to roll your own? (You would be wrong of course, developers always underestimate things like this).</p>
<p>But all of these options are lacking in one vital part &#8211; <strong>what do you do with your logs when you have them?</strong> Most require you to fire up your text editor and start jumping around a 10MB text file! Give me a break, my sanity is hanging by a thread as it is <img src='http://blog.ryanwheeler.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I use <a href="http://www.gurock.com/" target="_blank">Gurock Software&#8217;s SmartInspect</a> in some of my software (<a href="http://www.pentalogic.net/sharepoint-reminder.aspx" target="_blank">Email reminders and alerts for SharePoint)</a>.</p>
<p>The logging library is very good &#8211; fast, feature rich, lots of transport options, easy to use and extremely well documented. <strong> But where it stands head and shoulders above everything else is the log viewer.</strong><a href="http://www.gurock.com/products/smartinspect/"><img class="alignright size-full wp-image-16" title="SmartInspect Console" src="http://blog.ryanwheeler.co.uk/wp-content/uploads/2008/11/smartinspectconsolescreenshot-small.gif" alt="" width="200" height="152" /></a></p>
<p>It&#8217;s blindingly fast, easy to use, clear and has all manner of time saving features &#8211; easy navigation, graphs, filters, colours and much more. Yes the software is a few hundred dollars but<strong> will more than pay for itself in time savings the very first time you use it in anger.</strong></p>
<p><a href="http://www.gurock.com/products/smartinspect/tour/1/" target="_blank">Take a look</a> &#8211; no connection other than a satisfied customer.</p>
<p><em>P.S. If you are in the software business and want to know how your product can compete with <a href="http://en.wikipedia.org/wiki/Free_and_open_source_software" target="_blank">FOSS</a> alternatives then I think Gurock make an excellent case study.<br />
</em></p>
 <img src="http://blog.ryanwheeler.co.uk/wp-content/plugins/feed-statistics.php?view=1&post_id=15" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.ryanwheeler.co.uk/2008/11/essential-tools-smartinspect-logging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
