<?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>Alkampfer&#039;s Place&#187; Uncategorized</title>
	<atom:link href="http://www.codewrecks.com/blog/index.php/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codewrecks.com/blog</link>
	<description>Wrecks of code floating in the sea of Internet By Ricci Gian Maria</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:49:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>X01 Team Foundation Server List</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/12/20/x01-team-foundation-server-list/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/12/20/x01-team-foundation-server-list/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 09:16:41 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/12/20/x01-team-foundation-server-list/</guid>
		<description><![CDATA[I’ve not a 101 Team Foundation Server link lists , but quite often I got question from people on TFS, and I clearly remember that I read the answer in some blog post, but I could not remember exactly where. Since there are a lot of blogs and sites that deal with TFS, I decided [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F12%2F20%2Fx01-team-foundation-server-list%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F12%2F20%2Fx01-team-foundation-server-list%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I’ve not a 101 <a target="_blank" title="Team Foundation Server" href="http://msdn.microsoft.com/en-us/vstudio/ff637362">Team Foundation Server</a> link lists <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but quite often I got question from people on <a target="_blank" title="TFS" href="http://msdn.microsoft.com/en-us/vstudio/ff637362">TFS</a>, and I clearly remember that I read the answer in some blog post, but I could not remember exactly where. Since there are a lot of blogs and sites that deal with <a target="_blank" title="TFS" href="http://msdn.microsoft.com/en-us/vstudio/ff637362">TFS</a>, I decided to keep a list of all links that I found useful during time in a blog post, so, whenever I need to look for a link that was useful in the past, I can simply scan this list hoping to find what I’m searching <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>If you are interested this is the list (I’ll try to keep it updated over time). This is an highly incomplete list, I’ve started to keep it not long ago, but it can be useful <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and I hope it can be useful for all the readers of my blog.</p>
<p><a title="General" href="http://www.codewrecks.com/blog/index.php/category/general/">General</a></p>
<p><a target="_blank" href="http://www.microsoft.com/download/en/details.aspx?id=27152">Introduction to TFS Training Kit</a></p>
<p><a title="Process template" href="http://www.codewrecks.com/blog/index.php/tag/process-template/">Process template</a></p>
<p><a target="_blank" href="http://blog.hinshelwood.com/do-you-know-how-to-upgrade-a-process-template-but-still-keep-your-data-intact/">Do you know how to upgrade a process template but still keep your data intact</a>.    <br /><a target="_blank" href="http://blogs.microsoft.co.il/blogs/shair/archive/2011/12/18/validate-field-format-in-work-items-using-match-element.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+ShaiRaiten+%28Shai+Raiten%29">How to force a specific format of a work item with the MATCH Element</a></p>
<p>Source Control</p>
<p><a target="_blank" href="http://blogs.msdn.com/b/billheys/archive/2011/08/02/when-would-i-use-a-branch-for-developer-scenario.aspx">When would I use a Branch for Developer Scenario.</a>    <br /><a target="_blank" href="http://blog.discountasp.net/using-the-tf-command-line-utility-to-recover-from-a-minor-catastrophe/">Surviving from a file locked to someone else that is not available at the moment</a>    <br /><a target="_blank" href="http://msmvps.com/blogs/vstsblog/archive/2011/06/14/available-check-in-policies-for-team-foundation-server-2010.aspx">Check-in policies for TFS 2010</a></p>
<p>Work Items</p>
<p><a target="_blank" href="http://www.dzone.com/links/r/search_in_tfs_work_items_never_was_so_easy_.html">Search In TFS Work Items never was so Easy</a></p>
<p><a target="_blank" title="Visual Studio" href="http://blogs.msdn.com/b/visualstudio/">Visual Studio</a></p>
<p><a target="_blank" href="http://blogs.msdn.com/b/jjameson/archive/2009/03/06/large-visual-studio-solutions-by-loading-unloading-projects.aspx">Surviving Large Solutions in VS20101</a>    <br /><a target="_blank" href="http://msmvps.com/blogs/vstsblog/archive/2011/11/16/download-visual-studio-2010-project-template-for-tfs-utilities.aspx">ProjectTemplate for TFS Utilities</a>    <br /><a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/ff718165">Home page of the Visual Studio SDK</a>    <br /><a target="_blank" href="http://archive.msdn.microsoft.com/VS2010PDF/Release/ProjectReleases.aspx?ReleaseId=4568">VSIX Package development</a></p>
<p>Administering</p>
<p><a target="_blank" href="http://blogs.msdn.com/b/bharry/archive/2011/07/25/putting-tfs-on-port-80.aspx">Move your TFS in port 80.</a>    <br /><a target="_blank" href="http://blog.nwcadence.com/2011/11/how-to-migrate-tfs-2008-deployment-to-tfs-2010/">Migration while changing domain.</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/granth/archive/2012/01/03/tfs-2010-what-service-packs-and-hotfixes-should-i-install.aspx">List of Patch/Hotfixes for TFS2010.</a></p>
<p>Reporting</p>
<p><a target="_blank" href="http://blogs.msdn.com/b/bryang/archive/2011/06/08/deep-dive-into-tfs-reporting.aspx">Deep Dive Into TFS Reporting</a>    <br /><a target="_blank" href="http://codesmartnothard.com/CustomizingTheBurndownDashboardReportInTheTFS2010TeamPortal.aspx">Customizing the Burndown Dashboard Report in team portal</a>    <br /><a target="_blank" href="http://download.microsoft.com/download/A/B/5/AB5B5163-4A69-49D9-BCF4-D514CE12BF36/Making_Real-Time_Decisions.pdf">Quality report</a>    <br /><a target="_blank" href="http://msdn.microsoft.com/en-us/library/dd380683(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd380683(VS.100).aspx</a></p>
<p><a title="Power tools" href="http://www.codewrecks.com/blog/index.php/tag/power-tools/">Power tools</a> </p>
<p><a target="_blank" href="http://msmvps.com/blogs/vstsblog/archive/2011/06/14/available-check-in-policies-for-team-foundation-server-2010.aspx">CheckInPolicies for Tfs Power Tools</a></p>
<p>API</p>
<p><a target="_blank" href="http://geekswithblogs.net/TarunArora/archive/2011/06/26/tfs-2010-sdk-smart-merge-programmatically-create-your-own-merge.aspx">Programmatically merge code with Tfs API</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/jongallant/archive/2011/07/18/how-to-programmatically-modify-a-tfs-query-with-c.aspx">Programmatically change a query </a>    <br /><a target="_blank" href="http://geekswithblogs.net/TarunArora/archive/2011/07/23/tfs-sdk-compare-changesets-programmatically.aspx">Compare changeset programmatically with API</a>    <br /><a target="_blank" href="http://geekswithblogs.net/TarunArora/archive/2011/08/30/tfs-sdk-workspace-explorer.aspx">TFS SDK: Workspace Explorer And Statistics</a>    <br /><a target="_blank" href="http://geekswithblogs.net/TarunArora/archive/2011/12/12/tfs-2011-apindashhow-to-get-exploratory-testing-and-feedback-manager.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+geekswithblogs+%28Geekswithblogs.net%29&amp;utm_content=Google+Reader">Get Exploratory testing and Feedback Manager Session in TFS 2011 API</a></p>
<p><a title="Tfs Build" href="http://www.codewrecks.com/blog/index.php/tag/tfs-build/">Tfs Build</a></p>
<p><a target="_blank" href="http://tfsdeployer.codeplex.com/">An utility to launch a deploy script when build quality changes</a>.    <br /><a target="_blank" href="http://tfsbuildextensions.codeplex.com">A series of tfs activities built from community members</a>    <br /><a target="_blank" href="http://seesharper.wordpress.com/2011/05/18/publishing-samples-as-part-of-your-product-with-team-build-and-tfs/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nwcadence+%28Thoughts+on+VSTS%2C+TFS+and+ALM%29&amp;utm_content=FeedBurner">Publishing samples with TFS build.</a>    <br /><a target="_blank" href="http://visualstudiomagazine.com/articles/2011/07/01/pfcov_tfs2010-builds.aspx">Level of TFS Build Automation</a>    <br /><a target="_blank" href="http://donovanbrown.com/post/I-need-to-build-a-project-that-is-not-supported-by-MSBuild.aspX">Building project type not supported by MSBuild.</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/jpricket/archive/2011/08/23/inline-tasks-for-msbuild-that-work-with-tfs.aspx">Take advantage from MSBuild Inline task in TFS Build</a>    <br /><a target="_blank" href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2011/09/05/tfs-2010-build-numbers-file-versions-from-inside-your-c-and-c-projects.aspx">Numbering assemblies during build.</a>    <br /><a target="_blank" href="http://altdevblogaday.com/2011/08/31/how-to-improve-build-stability/">Improving the stability of a build</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/willbar/archive/2011/12/15/updating-associated-changesets-and-work-items-without-updating-work-items.aspx">Updating Associated changesets and Work Items without Updating Work Items</a>    <br /><a target="_blank" href="http://www.heikura.info/publish-nunit-test-results-as-part-of-team-build-in-team-foundation-server-2010">Publish Nunit Test result as part of Team Build in Team Foundation Server 2010</a>    <br /><a target="_blank" href="http://nunit4teambuild.codeplex.com/">Nunit for TFS Build</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/jpricket/archive/2010/02/23/creating-fake-builds-in-tfs-build-2010.aspx">Creating Fake Builds in TFS Build 2010</a></p>
<p><a title="Testing" href="http://www.codewrecks.com/blog/index.php/category/programming/testing/">Testing</a> and Microsoft <a title="Test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">Test</a> Manager</p>
<p><a target="_blank" href="http://www.sela.co.il/alm/products_WTM.html">WTM &#8211; Manage Microsoft Test Manager plans from a Cool Web Interface.</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/vstsqualitytools/archive/2011/07/06/improving-the-performance-of-your-coded-ui-tests.aspx">Improve performance of CodedUI Test</a>    <br /><a target="_blank" href="http://blog.benday.com/archive/2011/07/18/Silverlight-Coded-UI-Tests-with-UserControls-amp-AutomationProperties.aspx">Unit Test Silverlight Programs</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/vstsqualitytools/archive/2011/09/21/customize-your-test-case-work-item-template-to-enable-query-on-test-suites-test-plans-test-categories-and-execution-statistics.aspx">Customize your work item test item template</a>    <br /><a target="_blank" href="http://cuite.codeplex.com/">CUITe (Coded UI Test enhanced) Framework</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/visualstudioalm/archive/2011/09/21/manual-testing-tools-for-windows-8-metro-style-applications.aspx">Testing Metro Style application with MTM</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/geektester/archive/2011/12/10/web-services-test-automation-guidance-using-vs-2010-unit-test-amp-web-test.aspx">Web Services Test Automation Guidance using Visual Studio</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/gautamg/archive/2011/12/30/how-to-get-the-test-case-associated-with-the-unit-test.aspx">Get the test case associated with a Unit Test.</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/mathew_aniyan/archive/2011/03/31/howto-add-all-controls-on-a-page-to-the-ui-map.aspx">Add all control of a page to the UiMap at once.</a>    <br /><a target="_blank" href="http://geekswithblogs.net/TarunArora/archive/2011/12/11/customising-tfs-2011-process-template-for-exploratory-testing-tours-using.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+geekswithblogs+%28Geekswithblogs.net%29&amp;utm_content=Google+Reader">Customizing TFS 2011 process template for Exploratory Testing Tours</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/visualstudioalm/archive/2011/12/29/how-to-bulk-edit-action-recording.aspx">Bulk Edit Action Recording</a>    <br /><a target="_blank" href="http://blogs.msdn.com/b/vstsqualitytools/archive/2011/09/21/customize-your-test-case-work-item-template-to-enable-query-on-test-suites-test-plans-test-categories-and-execution-statistics.aspx">Customize your test case work item template to enable query on test artifacts.</a></p>
<p><a title="Lab Management" href="http://www.codewrecks.com/blog/index.php/category/programming/team-foundation-server/lab-management-team-foundation-server-programming/">Lab Management</a></p>
<p><a target="_blank" href="http://blogs.msdn.com/b/lab_management/archive/2011/11/12/lab-management-walkthrough-using-visual-studio-11-developer-preview-virtual-machine.aspx">Lab Management Walktrhough using VS11 Dev preview machine</a></p>
<p>User Voice</p>
<p><a target="_blank" href="http://visualstudio.uservoice.com/forums/131389-visual-studio-performance/filters/top">Performance user voice</a>    <br /><a target="_blank" href="http://visualstudio.uservoice.com/forums/121579-visual-studio">Visual Studio General</a></p>
<p>Agile</p>
<p><a target="_blank" href="http://blogs.msdn.com/b/greggboer/archive/2012/01/27/tfs-vnext-configuring-your-project-to-have-a-master-backlog-and-sub-teams.aspx">Master and sub backlog in TFS11</a></p>
<p>&#160;</p>
<p>Happy TFS.</p>
<p>Gian Maria.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/12/20/x01-team-foundation-server-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getters are an antipattern?</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/12/16/getters-are-an-antipattern/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/12/16/getters-are-an-antipattern/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 19:00:38 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/12/16/getters-are-an-antipattern/</guid>
		<description><![CDATA[When you realize that property setters is an antipattern, because you want to protect the status of your entity from direct external manipulation, the next step is starting to believe that even Getters can be considered an Antipattern. This is some sort of extreme object oriented thinking, because getters does not modify the status of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F12%2F16%2Fgetters-are-an-antipattern%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F12%2F16%2Fgetters-are-an-antipattern%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>When you realize that <a target="_blank" href="http://www.codewrecks.com/blog/index.php/2011/10/20/protect-the-status-of-your-entities/">property setters is an antipattern</a>, because you want to protect the status of your <a title="entity" href="http://en.wikipedia.org/wiki/Domain-driven_design#Building_blocks_of_DDD">entity</a> from direct external manipulation, the next step is starting to believe that even Getters can be considered an Antipattern.</p>
<p>This is some sort of extreme object oriented thinking, because getters does not modify the status of an object, so there is nothing evil in them… or not? If you look for the definition of Encapsulation from Wikipedia you can find this:</p>
<p><em>encapsulation means that the internal representation of an </em><a target="_blank" href="http://en.wikipedia.org/wiki/Object_%28computer_science%29"><em>object</em></a><em> is generally <strong>hidden from view outside of the object&#8217;s definition</strong>. Typically, only the object&#8217;s own methods can directly <strong>inspect or manipulate</strong> its fields.</em></p>
<p>If you read it carefully you can find that a well encapsulated object completely hides his status from the external world. One of the most interesting reason why you should avoid external world to read your internal status with getter is avoiding other object to do logic that belong to you. Whenever an object expose, even in read-only, part of its internal status, there is the risk that some other object uses that status to implement some logic and this is bad for many reasons. </p>
<p>First of all this is a symptom that logic is probably not in the right place. If you need to know the internal status of another object to implement something, probably that logic should be in other object.</p>
<p>Another drawback is that objects become to be too much entangled, when you modify the status of an object, if it is completely hidden to the outside world, you need only to take care on the logic inside the object; on the contrary, if the status is exposed with getters, you need to search all the usage of the status before modification.</p>
<p>This does not mean that you should use no getters whatsoever, but<em> you surely need to think twice when you want to expose some part of the status</em>, even if in read-only.</p>
<p>Gian Maria.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/12/16/getters-are-an-antipattern/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Test post</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/09/14/test-post-3/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/09/14/test-post-3/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 00:22:45 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/09/14/test-post-3/</guid>
		<description><![CDATA[This is a test post after the catastrophic failure of mysql database engine.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F09%2F14%2Ftest-post-3%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F09%2F14%2Ftest-post-3%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is a <a title="test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">test</a> post after the catastrophic failure of mysql database engine. </p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/09/14/test-post-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Again on TimeGrowingResource</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/09/09/again-on-timegrowingresource/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/09/09/again-on-timegrowingresource/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 16:21:04 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/09/09/again-on-timegrowingresource/</guid>
		<description><![CDATA[In the last post I explained how I resolved the problem of Time Growing Resources in my hypothetical role playing game. The advantage of using an OOP approach is that you can think without data in mind and you can identify entities that represents a single concept in a given BOUNDED CONTEXT an approach that [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F09%2F09%2Fagain-on-timegrowingresource%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F09%2F09%2Fagain-on-timegrowingresource%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In the last post I explained how I resolved the problem of Time Growing Resources in my hypothetical role playing game. The advantage of using an <a target="_blank" title="OOP" href="http://en.wikipedia.org/wiki/Object-oriented_programming">OOP</a> approach is that you can think without data in mind and you can identify <strong><em>entities </em></strong>that represents a single concept in a given <strong><em>BOUNDED CONTEXT</em></strong> an approach that leads to simpler code and models.</p>
<p>Suppose that we want to add other logic to the <em>TimeGrowingResource</em> class, first of all we want to be able to change the rate of growing, so we write this simple <a title="test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">test</a>.</p>
<div style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);" id="codeSnippetWrapper">
<div style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);" id="codeSnippet">
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum1">   1:</span> [Test]</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum2">   2:</span> <span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span> Verify_change_increase_level()</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum3">   3:</span> {    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum4">   4:</span>     DateTime dt = <span style="color: rgb(0, 0, 255);">new</span> DateTime(2010, 1, 1, 12, 00, 00);    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum5">   5:</span>     DisposeAtTheEndOfTest(DateTimeService.OverrideTimeGenerator(() =&gt; dt));    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum6">   6:</span>     TimeGrowingResource sut = CreateBasicSut(10);    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum7">   7:</span>     dt = dt.AddSeconds(60);    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum8">   8:</span>     <span style="color: rgb(0, 128, 0);">//now the resource should have value 600    </span></pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum9">   9:</span>     sut.ChangeIncrementValue(20);    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum10">  10:</span>     dt = dt.AddSeconds(60);    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum11">  11:</span>     <span style="color: rgb(0, 128, 0);">//another 60 second passed, quantity should be 600 + 60 * 20    </span></pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum12">  12:</span>     sut.Quantity.Should().Be.EqualTo(600 + 60 * 20);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum13">  13:</span> }</pre>
<p><!--CRLF--></div>
</div>
<p>Even if you usually do not use full TDD approach, writing the <a title="test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">test</a> first helps me to understand how we want to use the new feature and at the same time states <em>how this new feature should behave</em>. With this test Iâ€™m telling this</p>
<p><strong>Given</strong> a resource that increase 10 units per second </p>
<p>&#160;&#160;&#160;&#160; <strong>and</strong> after 60 seconds I change the increase level to 20 units per second </p>
<p><strong>when</strong> another 60 seconds passed</p>
<p><strong>then</strong> the quantity should be 1800</p>
<p>To implement this logic I can write the following method.</p>
<div style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);" id="codeSnippetWrapper">
<div style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);" id="codeSnippet">
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum1">   1:</span> <span style="color: rgb(0, 0, 255);">public</span> Int64 ChangeIncrementValue(<span style="color: rgb(0, 0, 255);">int</span> newIncrementValue)</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum2">   2:</span> {    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum3">   3:</span>     UpdateQuantity();    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum4">   4:</span>     IncrementQuantity = newIncrementValue;    </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum5">   5:</span>     <span style="color: rgb(0, 0, 255);">return</span> _quantity;</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum6">   6:</span> }</pre>
<p><!--CRLF--></div>
</div>
<p>This is really simple code, I update the quantity so I have the real value at the current time, then I change the increment value and return the current value. </p>
<p>Then we have another feature to implement, since energy can be gained from other actions in the game, I want to be able to add an arbitrary quantity to the resource value. Here is the test.</p>
<div style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);" id="codeSnippetWrapper">
<div style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);" id="codeSnippet">
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum1">   1:</span> [Test]</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum2">   2:</span> <span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span> Verify_adding_arbitrary_value_to_resource()</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum3">   3:</span> {</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum4">   4:</span>     DateTime dt = <span style="color: rgb(0, 0, 255);">new</span> DateTime(2010, 1, 1, 12, 00, 00);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum5">   5:</span>     DisposeAtTheEndOfTest(DateTimeService.OverrideTimeGenerator(() =&gt; dt));</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum6">   6:</span>     TimeGrowingResource sut = CreateBasicSut(10);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum7">   7:</span>     dt = dt.AddSeconds(60);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum8">   8:</span>     <span style="color: rgb(0, 128, 0);">//now the resource should have value 600, I add 200 </span></pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum9">   9:</span>     Int64 actual = sut.AddQuantity(200);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum10">  10:</span>     actual.Should().Be.EqualTo(800);</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum11">  11:</span> }</pre>
<p><!--CRLF--></div>
</div>
<p>Implementing this feature is really simple</p>
<div style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);" id="codeSnippetWrapper">
<div style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);" id="codeSnippet">
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum1">   1:</span> <span style="color: rgb(0, 0, 255);">public</span> Int64 AddQuantity(<span style="color: rgb(0, 0, 255);">int</span> quantityToAdd){ </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum2">   2:</span>     _quantity += quantityToAdd; </pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(96, 96, 96);" id="lnum3">   3:</span>     <span style="color: rgb(0, 0, 255);">return</span> Quantity;</pre>
<p><!--CRLF--></p>
<pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(96, 96, 96);" id="lnum4">   4:</span> }</pre>
<p><!--CRLF--></div>
</div>
<p>I can add directly to the snapshot field, then return the updated quantity.</p>
<p>Where is the advantage of <a target="_blank" title="OOP" href="http://en.wikipedia.org/wiki/Object-oriented_programming">OOP</a> against a typical <em><strong>database first</strong></em> approach? This logic is quite simple and there are no difficulties on implementing it at database level, but working with OOP first of all simplify your tests, because no database is needed&#160; to test the logic you write. Another advantage is that this object can be reused in all <strong><em>BOUNDED CONTEXT</em></strong> where the concept of <em>resources that grows with time</em> is valid and is well encapsulated, so the user cannot broke internal logic in any way.</p>
<p>Gian Maria.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/09/09/again-on-timegrowingresource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If you need Tfs Hosting you can consider Azure</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/06/11/if-you-need-tfs-hosting-you-can-consider-azure/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/06/11/if-you-need-tfs-hosting-you-can-consider-azure/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 09:37:16 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/06/11/if-you-need-tfs-hosting-you-can-consider-azure/</guid>
		<description><![CDATA[Yes, as Brian Harry announced some months ago, TFS on Azure will be a reality, actually there is a platform preview here, but it is actually closed, so you need to wait to have your TFS on Azure, but if you are planning to move on TFS and youâ€™d like to use an hosted version [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F06%2F11%2Fif-you-need-tfs-hosting-you-can-consider-azure%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F06%2F11%2Fif-you-need-tfs-hosting-you-can-consider-azure%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Yes, as Brian Harry announced some months ago, <a target="_blank" title="TFS" href="http://msdn.microsoft.com/en-us/vstudio/ff637362">TFS</a> on Azure will be a reality, actually there is a <a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/team-foundation-server-on-windows-azure-preview">platform preview</a> here, but it is actually closed, so you need to wait to have your <a target="_blank" title="TFS" href="http://msdn.microsoft.com/en-us/vstudio/ff637362">TFS</a> on Azure, but if you are planning to move on TFS and youâ€™d like to use an hosted version of TFS this could be really a good option. </p>
<p>If you could not wait to have your hosted TFS server, <a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/team-foundation-server/hosting">this is another useful link</a> that contains various offers made by different companies.</p>
<p>Alk.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/06/11/if-you-need-tfs-hosting-you-can-consider-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Witch version of browser is used by the WebBrowser control?</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/06/06/witch-version-of-browser-is-used-by-the-webbrowser-control/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/06/06/witch-version-of-browser-is-used-by-the-webbrowser-control/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 13:10:51 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/06/06/witch-version-of-browser-is-used-by-the-webbrowser-control/</guid>
		<description><![CDATA[This question seems to have a simple answer, the WebBrowser control uses the version of Internet Explorer currently installed on the system, but you could be surprised running a simple program with a WebBrowser control and navigating to a site like www.chisono.it This answer can surprise you, because I have IE9 installed, but the WebBrowser [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F06%2F06%2Fwitch-version-of-browser-is-used-by-the-webbrowser-control%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F06%2F06%2Fwitch-version-of-browser-is-used-by-the-webbrowser-control%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This question seems to have a simple answer, the <em><a target="_blank" title="WebBrowser" href="http://www.codewrecks.com/blog/index.php/tag/webbrowser/">WebBrowser</a> control </em>uses the version of Internet Explorer currently installed on the system, but you could be surprised running a simple program with a <a title="WebBrowser" href="http://www.codewrecks.com/blog/index.php/tag/webbrowser/">WebBrowser</a> control and navigating to a site like <a href="http://www.chisono.it">www.chisono.it</a></p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image6.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb6.png" width="654" height="250" /></a></p>
<p>This answer can surprise you, because I have IE9 installed, but the WebBrowser control seems to use the IE7 engine, and you can verify running an acid <a target="_blank" title="test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">test</a> (<a title="http://acid3.acidtests.org/" href="http://acid3.acidtests.org/">http://acid3.acidtests.org/</a>) that this is indeed not only a problem of UserAgent, but the rendering engine is not of IE9</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb1.png" width="551" height="388" /></a></p>
<p>Clearly the <a target="_blank" title="test" href="http://www.codewrecks.com/blog/index.php/2007/09/03/test/">test</a> failed to run, and this is a confirmation that the WebBrowser is actually running an IE7 engine. The real reason behind this is explained in <a href="http://msdn.microsoft.com/en-us/library/ee330730.aspx">this msdn article</a> that clearly states that the Registry Key </p>
<p><strong>HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)</strong>    <br /><strong>SOFTWARE</strong>    <br /><strong>Microsoft</strong>    <br /><strong>Internet Explorer</strong>    <br /><strong>Main</strong>    <br /><strong>FeatureControl</strong>    <br /><strong>FEATURE_BROWSER_EMULATION</strong></p>
<p>Is responsible to determine the level of emulation for applications. If have an application called WebBrowserWinform.exe and you want it to run the WebBrowser as IE9 you should add this key.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb2.png" width="506" height="89" /></a></p>
<p>And now you can run again the program to verify with acid test that rendering engine used by the WebBrowserControl is now the correct one. </p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb3.png" width="610" height="323" /></a></p>
<p>Ok, this is the standard result for IE9 and if you like you can also check <a target="_blank" href="http://www.chisono.it">www.chisono.it</a> to have a confirmation of UserAgent string</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb4.png" width="676" height="153" /></a></p>
<p>You can also use wildcard, as an example, I want every program that uses a WebBrowser control to use the IE9 version for current user, so I decided to add this key.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image5.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/image_thumb5.png" width="570" height="107" /></a></p>
<p>This gives me a good default to work with <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.codewrecks.com/blog/wp-content/uploads/2011/06/wlEmoticon-smile.png" />.</p>
<p>alk.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/06/06/witch-version-of-browser-is-used-by-the-webbrowser-control/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New Video card are only for gamers?&#8230; maybe</title>
		<link>http://www.codewrecks.com/blog/index.php/2011/05/21/new-video-card-are-only-for-gamers-maybe/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2011/05/21/new-video-card-are-only-for-gamers-maybe/#comments</comments>
		<pubDate>Sat, 21 May 2011 08:42:11 +0000</pubDate>
		<dc:creator>alkampfer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/index.php/2011/05/21/new-video-card-are-only-for-gamers-maybe/</guid>
		<description><![CDATA[Maybe Iâ€™m the only person that have this opinion, but frankly speaking I was impressed on how bad my new video card performs on my new system. In this system I have 2 ATI Radeon HD4600, while in the old system I have two old X1550 video card, so I did not expect that dramatic [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a target="_blank" href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F05%2F21%2Fnew-video-card-are-only-for-gamers-maybe%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.codewrecks.com%2Fblog%2Findex.php%2F2011%2F05%2F21%2Fnew-video-card-are-only-for-gamers-maybe%2F&amp;source=alkampfer&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Maybe Iâ€™m the only person that have this opinion, but frankly speaking I was impressed on how bad my new video card performs on <a href="http://www.codewrecks.com/blog/index.php/2011/05/09/my-new-workstation-is-arrived/">my new system</a>. In this system I have 2 ATI Radeon HD4600, while in the old system I have two old X1550 video card, so I did not expect that dramatic loss of desktop graphics experience.</p>
<p>I need to confess you that desktop experience was really better with older cards. I extensively use snagit to capture screen, and with my new system I could use it only with aero disabled, because if I try to capture screen with aero enabled, the cursor of snagit move at one frame each two seconds, making impossible to select the area to capture.</p>
<p><img src="http://www.mycomputertechonline.com/resized%20mct%20for%20web%20page.jpg" /></p>
<p>When I first open Youtube to watch a video Flash shows a green video, then it blocks. After a quick search on the internet many people suggest to disable video card <a title="hardware" href="http://www.codewrecks.com/blog/index.php/tag/hardware/">hardware</a> acceleration, and this indeed solved the problem. Watching video with media player is impossible because the reproduction is crappy. When I switch Zune player from minimized version to maximized version it needs 5 seconds to show me something.</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" border="0" src="http://willpenner.com/blog/wp-content/uploads/2009/02/crappyday.jpg" width="240" height="240" /></p>
<p>I tried to expose my problem in some forums, but people only told me that my cards are not so good for video gamingâ€¦ come onâ€¦ I do not care about video game <a title="performance" href="http://www.codewrecks.com/blog/index.php/tag/performance/">performance</a>, I want to be able to Work on my new system. watch a video of NDC, using snagit, etc, as I did on my old system.</p>
<p>My consideration is that video card manufacturer release TONS of new video card, but they care only about <a title="performance" href="http://www.codewrecks.com/blog/index.php/tag/performance/">performance</a> in gaming, so they do not care if card is Crappy on desktop experience. I have 2 video card because I use three monitor, and in a forum a user asked me â€œWhy you have two video card without crossfire enabled, it is uselessâ€, this happens because noone cares about performance of video cards outside FPS you got in some Shootâ€™em up game. </p>
<p><img src="http://www.slide-show.net/files/fragolino/foto/quake3_gameplay_ss.jpg" /></p>
<p>Now Iâ€™m working with Windows Aero disabled, I do not really care about this, because I do not need aero to work, but Iâ€™m very disappointed with ATI for these crappy video card Iâ€™ve bought <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
<p>Another horrible feature is the HyperMemory, I really warn you to buy these CRAPPY ATI CARD if you do not care about gaming, Ati Catalyst told me that video card actually has 8GB of Hyper Memory. Iâ€™ve looked in a lot of forum and some people complain about ATI Cards to use system memory. Everyone tells â€œVideo card use the memory only when it need toâ€ but looking at how bad it performs on desktop experience Iâ€™m not sure if it is actually sucking me 8 gb of ram. And â€¦ surprise, there is no way to disable hyper memory, or reduce the amount of ram used. It seems impossible to me that ATI did not think to gave the user the possibility to set this value, so if video card driver are buggy it is possible that video card sucks 8GB of ram in my systemâ€¦â€¦ </p>
<p><img src="http://home.swipnet.se/~w-12947/Gfx/AoD/armydk72.jpg" width="240" height="165" /></p>
<p>Seriously, Iâ€™ll never buy an ATI card in the future, and probably Iâ€™ll throw these my new card in the rubbish and go for a couple of Matrox cards <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Alk.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2011/05/21/new-video-card-are-only-for-gamers-maybe/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

