<?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>EvereQ</title>
	<atom:link href="http://blog.evereq.com/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.evereq.com/blog</link>
	<description>Everything reQuired</description>
	<lastBuildDate>Tue, 27 Mar 2012 15:12:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Some Cool Things To Know About in Programming</title>
		<link>http://blog.evereq.com/blog/index.php/2012/03/some-cool-things-to-know-about-in-programming/</link>
		<comments>http://blog.evereq.com/blog/index.php/2012/03/some-cool-things-to-know-about-in-programming/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 15:12:26 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[evereq]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=772</guid>
		<description><![CDATA[Some Cool Things To Know About in Programming by me: https://github.com/evereq/programming it&#8217;s just started&#8230; the only &#8216;alpha ready&#8217; and &#8216;not waste&#8217; resource here is probably https://github.com/evereq/programming/wiki/JavaScript%20&#38;%20jQuerywith list of very useful or at least &#8220;required to know about&#8221; JavaScript frameworks, libs, jQuery plugins etc&#8230; Hope will have more time to add here the rest of things I am [...]]]></description>
			<content:encoded><![CDATA[<p>Some Cool Things To Know About in Programming by me: <strong><a href="https://github.com/evereq/programming">https://github.com/evereq/programming</a></strong></p>
<p>it&#8217;s just started&#8230; the only &#8216;alpha ready&#8217; and &#8216;not waste&#8217; resource here is probably <a href="https://github.com/evereq/programming/wiki/JavaScript%20&amp;%20jQuery">https://github.com/evereq/programming/wiki/JavaScript%20&amp;%20jQuery</a>with list of very useful or at least &#8220;required to know about&#8221; JavaScript frameworks, libs, jQuery plugins etc&#8230;</p>
<p>Hope will have more time to add here the rest of things I am aware about <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  (if it&#8217;s possible at all)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2012/03/some-cool-things-to-know-about-in-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC 4 DefaultBundleOrderer issues with Backbone.JS and Twitter Bootstrap</title>
		<link>http://blog.evereq.com/blog/index.php/2012/03/asp-net-mvc-4-defaultbundleorderer-issues-with-backbone-js-and-twitter-bootstrap/</link>
		<comments>http://blog.evereq.com/blog/index.php/2012/03/asp-net-mvc-4-defaultbundleorderer-issues-with-backbone-js-and-twitter-bootstrap/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 17:24:27 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ASP.NET MVC 4]]></category>
		<category><![CDATA[Backbone]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[DefaultBundleOrderer]]></category>
		<category><![CDATA[Minification]]></category>
		<category><![CDATA[Order]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Underscore]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=765</guid>
		<description><![CDATA[Let&#8217;s say you want to use following JS frameworks &#38; libs in your ASP.NET MVC 4 project with enabled minification / bundling support: jquery-1.7.1.min.js json2.min.js modernizr-2.5.3.js underscore.min.js backbone.min.js chosen.jquery.min.js bootstrap.min.js ... my.min.js I specially list names in particular order above, because IT IS important to load some libs in specific order in Web page, e.g.: [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Let&#8217;s say you want to use following JS frameworks &amp; libs in your ASP.NET MVC 4 project with enabled minification / bundling support</strong>:</p>
<p><code>jquery-1.7.1.min.js<br />
json2.min.js<br />
modernizr-2.5.3.js<br />
underscore.min.js<br />
backbone.min.js<br />
chosen.jquery.min.js<br />
bootstrap.min.js<br />
...<br />
my.min.js<br />
</code></p>
<p>I specially list names in particular order above, because IT IS important to load some libs in specific order in Web page, e.g.: <a href="http://harvesthq.github.com/chosen/">Chosen jQuery plugin</a> should be loaded AFTER jQuery framework, <a href="http://documentcloud.github.com/backbone">Backbone.JS</a> framework should be loaded AFTER <a href="http://documentcloud.github.com/underscore">Underscore.JS</a> (it have hard dependency on it) etc.</p>
<p>However, default order in ASP.NET MVC 4 for loading JS resources might be different from what you want: <strong>DefaultBundleOrderer </strong>by default load underscore.min.js AFTER backbone.min.js (just because of alphabet ordering) and so on. More so (and it&#8217;s a bit separate issue), in the <a href="http://twitter.github.com/bootstrap/download.html">current bootstrap builder</a> exists well know issue with  &#8220;final semicolons in JS files&#8221; (see for example <a href="https://github.com/twitter/bootstrap/issues/1758">https://github.com/twitter/bootstrap/issues/1758</a> and <a href="https://github.com/twitter/bootstrap/issues/1795">https://github.com/twitter/bootstrap/issues/1795</a> etc.) and so if you use it to get bootstrap.min.js and load something AFTER (in my list above it&#8217;s my.min.js file) you will get cool JS exception in browser: &#8220;<em>Uncaught TypeError: undefined is not a function</em>&#8221; <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  etc.</p>
<p>And so you may want to load files in following order before bootstrap team fix issue (or sure you can fix it easy yourself), i.e. with bootstrap.min.js going LAST in the sequence:</p>
<p><code>jquery-1.7.1.min.js<br />
json2.min.js<br />
modernizr-2.5.3.js<br />
underscore.min.js<br />
backbone.min.js<br />
chosen.jquery.min.js<br />
...<br />
my.min.js<br />
...<br />
bootstrap.min.js<br />
</code></p>
<p><strong>So how is it possible to change Bundler order? It turns out that it&#8217;s easy enough: just use own Orderer, which do basically nothing</strong>:</p>
<p><code>public class AsIsBundleOrderer : IBundleOrderer<br />
{<br />
public virtual IEnumerable&lt;FileInfo&gt; OrderFiles(BundleContext context, IEnumerable&lt;FileInfo&gt; files)<br />
{<br />
if (context == null)<br />
throw new ArgumentNullException("context");</code></p>
<p><code> </code></p>
<p><code> if (files == null)<br />
throw new ArgumentNullException("files");</code></p>
<p><code> </code></p>
<p>&nbsp;</p>
<p><code> return files;<br />
}<br />
}</code></p>
<p>and make sure your Bundle use it instead of DefaultBundleOrderer like this:</p>
<p><code>protected void Application_Start()<br />
{<br />
...<br />
var bundle = new Bundle("~/Scripts/js", new JsMinify());<br />
bundle.Orderer = new AsIsBundleOrderer();<br />
bundle.AddFile("~/Scripts/jquery-1.7.1.min.js");<br />
bundle.AddFile("~/Scripts/jquery.validate.min.js");<br />
bundle.AddFile("~/Scripts/json2.min.js");<br />
bundle.AddFile("~/Scripts/modernizr-2.5.3.js");<br />
bundle.AddFile("~/Scripts/underscore.min.js");<br />
bundle.AddFile("~/Scripts/backbone.min.js");<br />
bundle.AddFile("~/Scripts/chosen.jquery.min.js");<br />
bundle.AddFile("~/Scripts/my.min.js");<br />
bundle.AddFile("~/Scripts/bootstrap.min.js");<br />
BundleTable.Bundles.Add(bundle);<br />
...<br />
}</code></p>
<p>Happy end <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2012/03/asp-net-mvc-4-defaultbundleorderer-issues-with-backbone-js-and-twitter-bootstrap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Conditional Template Rendering with KnockoutJS</title>
		<link>http://blog.evereq.com/blog/index.php/2012/03/conditional-template-rendering-with-knockoutjs/</link>
		<comments>http://blog.evereq.com/blog/index.php/2012/03/conditional-template-rendering-with-knockoutjs/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 10:44:07 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Conditional]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[KnockoutJS]]></category>
		<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Templates]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=760</guid>
		<description><![CDATA[By default KnockoutJS renders templates content into the DOM after call of ko.applyBindings. But what if you want to render some templates based on specific condition? For example you have complex page which should provide customer with INSERT something, VIEW something or EDIT something features. Naturally you might want to create 3 different templates (let&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>By default KnockoutJS renders templates content into the DOM after call of ko.applyBindings. But what if you want to render some templates based on specific condition? </p>
<p>For example you have complex page which should provide customer with INSERT something, VIEW something or EDIT something features. Naturally you might want to create 3 different templates (let&#8217;s say for our example that functionality is completely different for insert, view or edit features and you can&#8217;t reuse same template because of that). <strong>You don&#8217;t want to render all templates when your page loads, do you? </strong>.</p>
<p>Unfortunately, currently KnockoutJS documentation don&#8217;t have such examples (while show good examples how use &#8220;if binding&#8221; at http://knockoutjs.com/documentation/if-binding.html, it does not show how to use it with templates).<br />
So I create such example for you (and me): <a href="http://jsfiddle.net/evereq/LsaHz"><strong>http://jsfiddle.net/evereq/LsaHz</strong></a></p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/evereq/LsaHz/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<p>Hope it helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2012/03/conditional-template-rendering-with-knockoutjs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Could not load type System.ServiceModel.Activation.HttpModule</title>
		<link>http://blog.evereq.com/blog/index.php/2012/01/could-not-load-type-system-servicemodel-activation-httpmodule/</link>
		<comments>http://blog.evereq.com/blog/index.php/2012/01/could-not-load-type-system-servicemodel-activation-httpmodule/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 16:00:11 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC 4]]></category>
		<category><![CDATA[Could not load type]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[System.ServiceModel.Activation.HttpModule]]></category>
		<category><![CDATA[Windows 2008 R2]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=756</guid>
		<description><![CDATA[Get following exception during first load of ASP.NET MVC 4 site in IIS7.5 under Window 2008 R2: Could not load type &#8216;System.ServiceModel.Activation.HttpModule&#8217; from assembly &#8216;System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#8242;. Easy to fix using following command (run as administrator): C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru Done P.S. if for some strange reason you still use 32 bit Windows, you should update [...]]]></description>
			<content:encoded><![CDATA[<p>Get following exception during first load of ASP.NET MVC 4 site in IIS7.5 under Window 2008 R2:</p>
<blockquote><p>Could not load type &#8216;System.ServiceModel.Activation.HttpModule&#8217; from assembly &#8216;System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#8242;.</p></blockquote>
<p>Easy to fix using following command (run as administrator):<br />
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru</p>
<p>Done <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. if for some strange reason you still use 32 bit Windows, you should update framework path in command above.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2012/01/could-not-load-type-system-servicemodel-activation-httpmodule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP Error 403.14 &#8211; Forbidden fix</title>
		<link>http://blog.evereq.com/blog/index.php/2012/01/http-error-403-14-forbidden-fix/</link>
		<comments>http://blog.evereq.com/blog/index.php/2012/01/http-error-403-14-forbidden-fix/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 14:20:31 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[403.14]]></category>
		<category><![CDATA[7.5]]></category>
		<category><![CDATA[Fix]]></category>
		<category><![CDATA[Forbidden]]></category>
		<category><![CDATA[HTTP Error]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=752</guid>
		<description><![CDATA[You just setup new Windows 2008 R2 Server, enable IIS role, install ASP.NET MVC 1/2/3 or 4, upload your site, configure IIS (i.e. IIS pool, rights, certificates etc) and get following error in browser: HTTP Error 403.14 &#8211; Forbidden The Web server is configured to not list the contents of this directory. Hm&#8230; EASY to [...]]]></description>
			<content:encoded><![CDATA[<p>You just setup new Windows 2008 R2 Server, enable IIS role, install ASP.NET MVC 1/2/3 or 4, upload your site, configure IIS (i.e. IIS pool, rights, certificates etc) and get following error in browser:</p>
<blockquote><p>HTTP Error 403.14 &#8211; Forbidden<br />
The Web server is configured to not list the contents of this directory.</p></blockquote>
<p>Hm&#8230; EASY to fix with following command (run command prompt as administrator!):<br />
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i</p>
<p>Done <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. if for some strange reason you still use 32 bit Windows, you should update framework path in command above.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2012/01/http-error-403-14-forbidden-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET Session state system everytime returns different values for SessionID</title>
		<link>http://blog.evereq.com/blog/index.php/2011/12/asp-net-session-state-system-everytime-returns-different-values-for-sessionid/</link>
		<comments>http://blog.evereq.com/blog/index.php/2011/12/asp-net-session-state-system-everytime-returns-different-values-for-sessionid/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 14:48:01 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[different]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[SessionID]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=749</guid>
		<description><![CDATA[Suppose you have ASP.NET (or ASP.NET MVC) site. You want to use Session.SessionID value somewhere (say as shopping cart id), which normally should be SAME value for each request from the same browser (sure unless session expire or user clean cookies, or you forget to store session in some distributed storage and use Web Farm [...]]]></description>
			<content:encoded><![CDATA[<p>Suppose you have ASP.NET (or ASP.NET MVC) site.<br />
You want to use Session.SessionID value somewhere (say as shopping cart id), which normally should be SAME value for each request from the same browser (sure unless session expire or user clean cookies, or you forget to store session in some distributed storage and use Web Farm with multiple front-end servers, or you forget to &#8230; actually many things might be here).<br />
However you may see every time DIFFERENT value for Session.SessionID for anonymous user!<br />
How? Reason: <strong>new SessionID is generated by ASP.NET, UNLESS YOU STORE SOMETHING IN THE SESSION!</strong><br />
For example do something like this: Session["Something"] = 1 after first user request and you will see that SessionID remains unchanged.<br />
Sounds crazy, right???</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2011/12/asp-net-session-state-system-everytime-returns-different-values-for-sessionid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What do you think about Amazon ElasticCache?</title>
		<link>http://blog.evereq.com/blog/index.php/2011/11/what-you-think-about-amazon-elasticcache/</link>
		<comments>http://blog.evereq.com/blog/index.php/2011/11/what-you-think-about-amazon-elasticcache/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 11:23:30 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[AMZ]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[ElasticCache]]></category>
		<category><![CDATA[price]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=744</guid>
		<description><![CDATA[What do you think about Amazon ElasticCache? (http://aws.amazon.com/elasticache) High-Memory Quadruple Extra Large Cache Node (cache.m2.4xlarge): 68 GB memory, 26 ECUs (8 virtual cores with 3.25 ECUs each), 64-bit platform, High I/O Capacity cost 2.24$ per hour or about 1600$ per month! For about 5000-6000$ you can purchase server with following hardware: 4x AMD Opteron 6128 [...]]]></description>
			<content:encoded><![CDATA[<p>What do you think about Amazon ElasticCache? (http://aws.amazon.com/elasticache)</p>
<p>High-Memory Quadruple Extra Large Cache Node (cache.m2.4xlarge): 68 GB memory, 26 ECUs (8 virtual cores with 3.25 ECUs each), 64-bit platform, High I/O Capacity cost 2.24$ per hour or about 1600$ per month!</p>
<p>For about 5000-6000$ you can purchase server with following hardware:<br />
4x AMD Opteron 6128 / 2,00GHz Eight-Core (i.e. 32 CORES)<br />
64GB ECC registered DDR3<br />
2 * 80GB 2,5 Intel SSD with Adaptec RAID<br />
1+1 1400W redundant (Hot-Swap) PSU<br />
etc.</p>
<p>Now install here your favorite free Linux and Memcached and you are ready to go <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Totally:</strong></p>
<p>Server with better hardware (32 real 2GHz cores instead of 26 ECUs i.e. 8 virtual cores in AMZ, very fast DDR3 memory, redundant power supply and brand MB (Supermicro) instead of &#8220;well know instance lifetime issues in AMZ&#8221; etc) will cost you something like 3-4 month of AMZ instance rent! Sure, you can say like: what about Collocation cost? Hm&#8230; 1U server probably MAX 100$ per month (including some big traffic) etc.</p>
<p><strong>Instead of Conclusion:</strong></p>
<p>So you still think same about Amazon ElasticCache ???</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2011/11/what-you-think-about-amazon-elasticcache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Hyper-V eats disk space</title>
		<link>http://blog.evereq.com/blog/index.php/2011/06/how-hyper-v-eats-disk-space/</link>
		<comments>http://blog.evereq.com/blog/index.php/2011/06/how-hyper-v-eats-disk-space/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 13:25:13 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Space]]></category>
		<category><![CDATA[System drive]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=738</guid>
		<description><![CDATA[Use Microsoft Hyper-V for virtualization? Most probably you already store your virtual disks not in the system drive (i.e. not in drive &#8216;C&#8217; for example), which is right approach (for performance and other considerations) However not everybody know that in the C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines folder, Hyper-V actually store huge files (*.bin) for each virtual machine that [...]]]></description>
			<content:encoded><![CDATA[<p>Use Microsoft Hyper-V for virtualization?</p>
<p>Most probably you already store your virtual disks not in the system drive (i.e. not in drive &#8216;C&#8217; for example), which is right approach (for performance and other considerations)</p>
<p>However not everybody know that in the <strong>C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines</strong> folder, Hyper-V actually store huge files (*.bin) for each virtual machine that you run on your Hyper-V host! That may be huge issue in case, if you have a lot of virtual machines in use and your system drive space limited. In addition, it also may introduce fragmentation problems, due to the fact that such files maybe created and removed each time you run your instance or when you create some snapshots etc.</p>
<p>So basically there are 2 main questions you may ask:<br />
a) Why such files (*.bin) are created? And why they are so big? You may notice that size of such files actually equal to amount of virtual memory which you allocate for the virtual instance. So answer is simple &#8211; it just a place (such file) to store memory dump for Virtual Machine (instance) and required by Hyper-V<br />
b) Can I get rid of such files? Answer &#8211; no <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  In current version of Hyper-V it is not possible. However it is completely possible to move such huge files to separate disk(s) out from system disk! That SHOULD be done I think in any Hyper-V host anyway, in case if you have additional disks here. It is very easy to do that: on the first step of Wizard to create Virtual Machine, do not forget to change location for virtual machine from default one to location, where you have enough space to store both virtual machine memory dump and possible snapshots (in case if you plan to use them sure thing).</p>
<p><img class="alignnone size-full wp-image-739" title="HyperVDi" src="http://blog.evereq.com/blog/wp-content/uploads/2011/06/HyperVDi.png" alt="HyperVDi" width="697" height="511" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2011/06/how-hyper-v-eats-disk-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET performance and your hardware</title>
		<link>http://blog.evereq.com/blog/index.php/2011/04/net-performance-and-your-hardware/</link>
		<comments>http://blog.evereq.com/blog/index.php/2011/04/net-performance-and-your-hardware/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 14:32:22 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=729</guid>
		<description><![CDATA[Was inspired by Ayende post (see http://ayende.com/Blog/archive/2011/04/14/performance-numbers-in-the-pub.aspx) and want to check how much objects my work PC may create Moreover, now seems best time to do that &#8211; my company order today new SUPER machines for our team, so it will be interesting to see difference with current PC using such &#8220;.NET&#8221; test. My current [...]]]></description>
			<content:encoded><![CDATA[<p>Was inspired by Ayende post (see http://ayende.com/Blog/archive/2011/04/14/performance-numbers-in-the-pub.aspx) and want to check how much objects my work PC may create <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Moreover, now seems best time to do that &#8211; my company order today new SUPER machines for our team, so it will be interesting to see difference with current PC using such &#8220;.NET&#8221; test.</p>
<p>My current PC is Intel Q8200 4 Cores / 8Gb memory / SSD Intel 80Gb etc &#8211; you get idea <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Main difference between my code and Ayende code (as well as many blog comments code) is that I create objects using multiple threads. What is interesting for me that most of people even today, just forget the fact that they have multiple cores in PC (or Server) and modern development should be done with that &#8220;stick&#8221; idea in your mind: &#8220;multitask / multithreading / async may be used if you want to utilize optimally your hardware&#8221;. Sure it&#8217;s not always make sense to go that &#8220;hard way&#8221; &#8211; some tasks just not scale too much with that approach. At the same time, in that specific tests I was able to get about 50% performance gain using very simple threading model compared to the single threaded. Not bad enough, right?</p>
<p>Sure it&#8217;s not really optimal strategy (more optimal for sure to just use C / C++) and I think memory speed restrict CPU power in that specific tests (i.e. no matter how many cores you use in CPU, if your memory / memory controller just can&#8217;t get / process all that in the parallel).  In addition I also initialize each created object integer field with some value to restrict some possible optimizations in CLI.  You can also found multiple small optimizations to avoid some overhead etc. Sure it&#8217;s not best code out there, but effective enough to demonstrate how TPL can improve results even in such a simple task. Maybe later will found time and write same using C++ with Parallel Patterns Library (PPL) to measure the difference <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>On my PC test create 4 new threads and each thread create multiple objects. Note that test works 10 seconds to give you more precise results <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Tests results: <strong>around 150M created and initialized objects per second</strong> (don&#8217;t forget to build in Release mode if you really want to run it)<br />
I promise to publish new results when new PC arrive to our office;-)</p>
<p>Btw, if you get your own results, will be glad to see and compare <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Stay tuned <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. Code is not finally optimized and is not &#8220;production ready&#8221;. Means that I just want to play a bit with what Ayende originally wrote&#8230;<br />
For example, you probably may note that test will take longer than 10 seconds to run if your PC already busy with some tasks (simply because I use too much threads for such environment) etc.</p>
<p>P.P.S. No warranties <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Please do not run that code on your production servers <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Update #1</strong>: My colleague have notebook with Intel i5 CPU (4 Cores) and he just get  215M result <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Update #2: Just get new PC with CPU Intel i7-2600K (at 3.5Ghz) / 8Gb DDR3 1600Mhz memory etc. I get just amazing result: 700M with same source code <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  WOW! </strong></p>
<pre style="font-family:Consolas;font-size:15;font-weight:bold;color:white;background:black;"><span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>;
<span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Collections</span>.<span style="color:#f2fbd9;">Generic</span>;
<span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Diagnostics</span>;
<span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Threading</span>;
<span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Threading</span>.<span style="color:#f2fbd9;">Tasks</span>;
<span style="color:#f2761a;">using</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Timers</span>;

<span style="color:#f2761a;">namespace</span> <span style="color:#f2fbd9;">Testing</span>
{
    <span style="color:#f2761a;">class</span> <span style="color:yellow;">Program</span>
    {
        <span style="color:#f2761a;">static</span> <span style="color:#f2761a;">volatile</span> <span style="color:#f2761a;">bool</span> <span style="color:#fff4ff;">_isContinue</span> = <span style="color:#f2761a;">true</span>;

        <span style="color:#f2761a;">static</span> <span style="color:#f2761a;">long</span> <span style="color:#fff4ff;">_total</span>;

        <span style="color:#f2761a;">const</span> <span style="color:#f2761a;">int</span> <span style="color:#ff6cff;">TestTimeSec</span> = <span style="color:#6897bb;">10000</span>;

        <span style="color:#f2761a;">static</span> <span style="color:yellow;">Stopwatch</span> <span style="color:#fff4ff;">_sp</span>;

        <span style="color:#f2761a;">static</span> <span style="color:#f2761a;">void</span> Main(<span style="color:#f2761a;">string</span>[] <span style="color:#dadacf;">args</span>)
        {

            <span style="color:#f2761a;">var</span> <span style="color:#fff4fe;">tasks</span> = <span style="color:#f2761a;">new</span> <span style="color:yellow;">List</span>&lt;<span style="color:yellow;">Task</span>&gt;();

            <span style="color:#f2761a;">int</span> <span style="color:#fff4fe;">processors</span> = <span style="color:#ffff59;">Environment</span>.<span style="color:#fff4ff;">ProcessorCount</span>;

            <span style="color:#ffff59;">Console</span>.WriteLine(<span style="color:#cf5252;">"Detected {0} cores"</span>, <span style="color:#fff4fe;">processors</span>);

            <span style="color:#f2761a;">var</span> <span style="color:#fff4fe;">timer</span> = <span style="color:#f2761a;">new</span> <span style="color:#f2fbd9;">System</span>.<span style="color:#f2fbd9;">Timers</span>.<span style="color:yellow;">Timer</span>(<span style="color:#ff6cff;">TestTimeSec</span>);
            <span style="color:#fff4fe;">timer</span>.<span style="color:magenta;">Elapsed</span> += TimerElapsed;
            <span style="color:#fff4fe;">timer</span>.<span style="color:#fff4ff;">AutoReset</span> = <span style="color:#f2761a;">false</span>;
            <span style="color:#fff4fe;">timer</span>.Start();

            <span style="color:#fff4ff;">_sp</span> = <span style="color:yellow;">Stopwatch</span>.StartNew();

            <span style="color:#f2761a;">for</span> (<span style="color:#f2761a;">int</span> <span style="color:#f4e3f4;">t</span> = <span style="color:#6897bb;">0</span>; <span style="color:#f4e3f4;">t</span> &lt; <span style="color:#fff4fe;">processors</span>; <span style="color:#f4e3f4;">t</span>++)
            {
                <span style="color:#fff4fe;">tasks</span>.Add(<span style="color:yellow;">Task</span>.<span style="color:#fff4ff;">Factory</span>.StartNew(
                    () =&gt;
                    {
                        <span style="color:#f2761a;">long</span> <span style="color:#f4e3f4;">i</span> = <span style="color:#6897bb;">0</span>;

                        <span style="color:#f2761a;">while</span> (<span style="color:#fff4ff;">_isContinue</span>)
                        {
                            <span style="color:#f2761a;">var</span> <span style="color:#fff4fe;">obj</span> = <span style="color:#f2761a;">new</span> <span style="color:yellow;">MyClass</span>();
                            <span style="color:#f4e3f4;">i</span>++;
                            <span style="color:#fff4fe;">obj</span>.<span style="color:#fff4ff;">B</span> = <span style="color:#f4e3f4;">i</span>;
                        }

                        <span style="color:#ffff59;">Interlocked</span>.Add(<span style="color:#f2761a;">ref</span> <span style="color:#fff4ff;">_total</span>, <span style="color:#f4e3f4;">i</span>);
                    }
                ));
            }

            <span style="color:gray;">// let's complete all the tasks to get results into _total</span>
            <span style="color:yellow;">Task</span>.WaitAll(<span style="color:#fff4fe;">tasks</span>.ToArray());

            <span style="color:#fff4ff;">_sp</span>.Stop();

            <span style="color:#ffff59;">Console</span>.WriteLine(<span style="color:#cf5252;">"Created {0} objects in {1}"</span>, <span style="color:#fff4ff;">_total</span> / <span style="color:#6897bb;">10</span>, <span style="color:#fff4ff;">_sp</span>.<span style="color:#fff4ff;">Elapsed</span>.<span style="color:#fff4ff;">TotalMilliseconds</span> / <span style="color:#6897bb;">10</span>);
            <span style="color:#ffff59;">Console</span>.ReadKey();

        }

        <span style="color:#f2761a;">static</span> <span style="color:#f2761a;">void</span> TimerElapsed(<span style="color:#f2761a;">object</span> sender, <span style="color:yellow;">ElapsedEventArgs</span> e)
        {
            <span style="color:#fff4ff;">_isContinue</span> = <span style="color:#f2761a;">false</span>;
            <span style="color:#ffff59;">Console</span>.WriteLine(<span style="color:#cf5252;">"Stopping..."</span>);
        }

        <span style="color:#f2761a;">public</span> <span style="color:#f2761a;">class</span> <span style="color:yellow;">MyClass</span>
        {
            <span style="color:#f2761a;">public</span> <span style="color:#f2761a;">string</span> <span style="color:#fff4ff;">A</span>;
            <span style="color:#f2761a;">public</span> <span style="color:#f2761a;">long</span> <span style="color:#fff4ff;">B</span>;
            <span style="color:#f2761a;">public</span> <span style="color:#fcdf14;">DateTime</span> <span style="color:#fff4ff;">C</span>;
        }

    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2011/04/net-performance-and-your-hardware/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bug fixing time estimation</title>
		<link>http://blog.evereq.com/blog/index.php/2011/03/bug-fixing-time-estimation/</link>
		<comments>http://blog.evereq.com/blog/index.php/2011/03/bug-fixing-time-estimation/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 09:20:54 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[ETA]]></category>
		<category><![CDATA[issues]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=726</guid>
		<description><![CDATA[Recently got question from my colleague how I think it make sense to estimate time you will spend on bug fixing. My colleague point 2 common ways how to do that: a) Rough ETA x 4 OR b) Periodical updates of ETA I found both make sense to use together, so I recommend something like this: Initially [...]]]></description>
			<content:encoded><![CDATA[<p>Recently got question from my colleague how I think it make sense to estimate time you will spend on bug fixing.<br />
My colleague point 2 common ways how to do that:</p>
<p>a) Rough ETA x 4</p>
<p>OR</p>
<p>b) Periodical updates of ETA</p>
<p>I found both make sense to use together, so I recommend something like this:</p>
<ol>
<li><strong>Initially Estimate Rough ETA x2 or x 4 (depends how you feel yourself confident with given issue), with precision to hour / day (round value up).<br />
</strong><strong>Forget minutes precision in all cases, forget hour precision in many cases. If you feel that issue takes 2 minutes to fix &#8211; put estimation 0. If you feel that it&#8217;s more like 15 minutes &#8211; put estimation 1 hour. If you feel it&#8217;s like 3-4 hours, put estimation 1 day. Don&#8217;t try to be precise. Instead it should be realistic.</strong><br />
For example you think it takes 20 minutes to fix issue but you don&#8217;t have previous experience with such issues, so you got 20&#215;4 = 80 minutes and round it up to 2 hours. Put value 2 hours into issues tracking software.  If your software support ranges, put here 20 &#8211; 80 minutes range.</li>
<li><strong>If you use estimation precision as hour, you should update your estimation at least every hour, if you see that now you can measure ETA better.  If you use precision day, update your estimation at least ones per day. As more frequently you update your estimation as better. Sure don&#8217;t be too paranoiac - update previous estimation only if it changes significantly. </strong><strong><br />
</strong>For example say you estimate issue initially to 2 hours, so after first hour you working on issue, compare your initial estimation (2 hours) with what you think you have now (don&#8217;t forget about ETA x 4), for example now you feel that you need another 35 minutes to fix, so you multiple 35 * 4 and got 140 minutes = 3 hours. So you adjust your initial estimation from 2 hours to 4 hours (1 hour you already spend plus 3 hours you think it will take more).</li>
</ol>
<p>Advantages:</p>
<ol>
<li>You update your estimations frequently so even if you made serious mistake in estimation before, you quickly resolve. Fail quickly <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Your colleges and boss know where you are, so excellent transparency and you agile <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>You don&#8217;t care if you need to go to made coffee, go to rest for a while etc. You made your estimation SAFE enough (x2 or x4!) and you know that in next hour (or day if bug is complex) you always may update estimation again with more precise value.</li>
</ol>
<p>In contrast to approach above, it can better in some cases (in most of cases in my experience)  to use &#8220;relative&#8221; measurement instead of time measurement.  Unfortunately in reality, seems it&#8217;s a bit more hard to begin with in some less agile teams. Another issue is that it&#8217;s just not every issues / bug tracking software support that.  In that alternative approach you think how much more complicated given issue is, compared to other issues you have / you done before and made your estimations relative.</p>
<div>In conclusion, as with other estimations and planning tasks it just make sense to remember Agile principles: transparency, fail quickly and resolve, frequent updates, short iterations, etc.</div>
<div></div>
<div>P.S. Many people don&#8217;t like x4. Sure it&#8217;s completely optional. I saw people (and I am one of them <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) that can do exact estimations in most of cases: in some cases because of luck, in other cases because of experience. In different cases because of both. Maybe it&#8217;s because usually they (and me) do that calculation x2-x4 in the mind and do not do it formally.<br />
Taking to attention fact that it&#8217;s impossible to work 9-12 hours per day with same focus (hope my boss don&#8217;t read that <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Joke), it&#8217;s best way to always remember that effectively you have about 4-5-6 hours &#8220;crazy&#8221; time per day when you really can do your job with high focus and with maximum performance, while other time is required to prepare yourself for that &#8220;fight / micro-sprint&#8221;. So at least x2 should be applied in most of cases to be safe and I recommend to do it in your mind so your colleges get only one final estimation value, not intermediate result. It&#8217;s not about transparency. It&#8217;s more about &#8216;useless information&#8217; for everyone, how exactly you calculate your estimations. Everybody may value you only by how your real time to fix issue was different to what you estimate.  And in most cases if that is not important! But what is true is that nobody care how you calculate ETA after you made your job done. People trust you because of results of your work, not because you do nice calculations, but it takes you 10x times more to fix issue than you think initially.</div>
<div>Just keep it simple, as always <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2011/03/bug-fixing-time-estimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
