<?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 &#187; Uncategorized</title>
	<atom:link href="http://blog.evereq.com/blog/index.php/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.evereq.com/blog</link>
	<description>Everything reQuired</description>
	<lastBuildDate>Thu, 26 Jan 2012 16:00:11 +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>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>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>
		<item>
		<title>Simple Cloud API and maybe I should go to PHP</title>
		<link>http://blog.evereq.com/blog/index.php/2010/11/simple-cloud-api-and-maybe-i-should-go-to-php/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/11/simple-cloud-api-and-maybe-i-should-go-to-php/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 16:35:33 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SimpleCloud]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=713</guid>
		<description><![CDATA[Maybe I should go &#8230;.to PHP ? (&#8230; I mean just go, not &#8220;go down&#8221; or &#8220;go up&#8221; or &#8220;go away from .NET&#8221; &#8211; read next why, really!) Projects like Simple Cloud API (http://simplecloud.org) in PHP, together with Zend Framework and many other PHP related stuff  sometimes KILLS me, .NET developer / architect! Why, WHY [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe I should go &#8230;.to PHP <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ?<br />
(&#8230; I mean just go, not &#8220;go down&#8221; or &#8220;go up&#8221; or &#8220;go away from .NET&#8221; &#8211; read next why, really!)</p>
<p>Projects like Simple Cloud API (<a href="http://simplecloud.org">http://simplecloud.org</a>) in PHP, together with Zend Framework and many other PHP related stuff  sometimes KILLS me, .NET developer / architect!</p>
<p>Why, WHY we do not have something like Simple Cloud API in .NET??? Or at least it&#8217;s not well known! Is it so hard to build and promote it ?? NO! Why it takes whole a lot of time to introduce ASP.NET MVC, if we do it so many years in Java or PHP !? Great .NET framework, tons of projects, but so limited amount of &#8220;innovative&#8221; open source projects in .NET! <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Take a look, most of famous .NET open source projects go in same versions or even few versions behind if compare to corresponding projects from Java (see Lucene.NET for example), but do not introduce really &#8220;innovations&#8221; in the software programming! Some projects do not even exists in .NET space like Solr (i.e. you should use Java VM to run it)! Some projects like ASP.NET MVC comes much later other MVC frameworks in Ruby (RoR), Python (Django) or even PHP (Zend Framework)&#8230; And Microsoft last time spend whole a lot of effort to bring Java  / PHP into Azure&#8230; instead of increase sponsorship for example innovative OSS projects in .NET and by this push developers to go for .NET from other frameworks!</p>
<p>Should somebody build library like SimpleCloud in .NET ASAP!? YES! (please don&#8217;t tell me that I should build it <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) Why?</p>
<p>Too many companies really need same thing to be able to abstract away Windows Azure or any other Cloud specific solution using some open source  libraries (like SimpleCloud in PHP) and made solution portable across Clouds, before they spend $$$ and stuck with one Cloud supplier forever <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  See my post <a href="http://blog.evereq.com/blog/index.php/2010/10/cloud-migrate/">about this</a>!<br />
And too many developers really expect .NET platform to be more innovative !!!</p>
<p>P.S. sometimes innovations can waste your time / effort, if parent company stop support it &#8211; see my <a href="http://blog.evereq.com/blog/index.php/2010/10/silverlight-killed-or/">post about Silverlight</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2010/11/simple-cloud-api-and-maybe-i-should-go-to-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight Killed or?</title>
		<link>http://blog.evereq.com/blog/index.php/2010/10/silverlight-killed-or/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/10/silverlight-killed-or/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 12:36:54 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=711</guid>
		<description><![CDATA[Silverlight Killed or? I don&#8217;t think so&#8230; Unfortunately, in some sense http://mashable.com/2010/10/29/microsoft-silverlgiht-html made correct statement: &#8220;Microsoft Shifts From Silverlight to HTML5&#8243; and that&#8217;s a FACT now! Why this happens!?? Here is my thoughts: Silverlight, like many other interesting concepts from MSFT was implemented with many technology related issues in early versions! Performance and fonts issues [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Silverlight Killed or? </strong><strong>I don&#8217;t think so&#8230;</strong><br />
Unfortunately, in some sense <a href="http://mashable.com/2010/10/29/microsoft-silverlgiht-html">http://mashable.com/2010/10/29/microsoft-silverlgiht-html</a> made correct statement: &#8220;Microsoft Shifts From Silverlight to HTML5&#8243; and that&#8217;s a <strong>FACT</strong> now!</p>
<p>Why this happens!?? Here is my thoughts:</p>
<ol>
<li>Silverlight, like many other interesting concepts from MSFT was implemented with <strong>many technology related issues</strong> in early versions!<br />
<strong>Performance</strong> and <strong>fonts issues</strong> I can name as most important! I do NOT like how Silverlight apps looks at my TFT monitors (because of fonts issues), same like WPF applications! Sometimes, when I scroll something, it push me think that I should go to doctor to check my eyes again! (and same issues with fonts I see with IE9 beta, not sure MSFT will fix it someway or not before final release)</li>
<li>Silverlight supported on much<strong> less devices</strong> than HTML / CSS / JS / Flash and it seems like because it&#8217;s proprietary this can&#8217;t be changed in near future!</li>
<li>Development of Silverlight can be done right <strong>only using Microsoft tools</strong> like Visual Studio and Microsoft Expression Studio (some apps from it) <strong>that cost $$$</strong></li>
<li>If you know Java, Python Django, RoR, PHP, Grails or any other language / platform / framework for web development, it&#8217;s much more <strong>easy to use HTML5 because you already know HTML / CSS / JS stack</strong> (as well as many web frameworks) than to move to something new like XAML / C# etc! I.e. basically only developers in .NET can consider using Silverlight, not other wide audience of Web developers! And while I can&#8217;t sure thing compare power of Silverlight and HTML5, MOST of required things can be done easy with nice JavaScript frameworks (think jQuery), HTML5, CSS3 etc.</li>
<li>Silverlight apps are always have <strong>big size</strong>! Sometimes there are even so heavy that web users probably will not wait so much time! Compare it to current compressed Javascript code and HTML5 compressed using standard gzip compression and / or different other compressors! What to feel it? Go to <a href="http://www.microsoft.com/windowsphone/en-us/buy/7/phones.aspx">http://www.microsoft.com/windowsphone/en-us/buy/7/phones.aspx</a> and check how long it takes to really get it in your browser!</li>
</ol>
<p>I can give many other arguments around it, but generally when Silverlight out I made my choice &#8211; AVOID using it (as well as WPF, but that&#8217;s other story) for any live projects, until I will really feel the need of &#8220;all in one&#8221; web client application with really rich and heavy graphics / Video / Voice requirements!<br />
It&#8217;s real fact that MOST of flash based sites, where site COMPLETELY was made in Flash FAIL, unless they touch some very specific area! I.e. it so easy to see that web users want &#8220;light&#8221; pages (HTML / CSS / Javascript) and not heavy as Flash / Silverlight get produced!<br />
But again: I DO see big future anyway for Silverlight as really best framework to build RIAs out there in .NET space! More so, now it seems like Silverlight can take it place in WP7 development!</p>
<p>Just always you should ask yourself &#8211; are you sure you want to build (or customers ask you to build) RIA? Maybe you want to build super light, not heavy Web 2.0 (3.0) web site? Or may be you want to build something using only open / cross-platform technologies?<br />
Than don&#8217;t even think about Silverlight, at least for now!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2010/10/silverlight-killed-or/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life in the Clouds: how to migrate</title>
		<link>http://blog.evereq.com/blog/index.php/2010/10/cloud-migrate/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/10/cloud-migrate/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 16:48:55 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=703</guid>
		<description><![CDATA[Recently the term &#8220;Cloud–computing&#8221; (or more easy and quick &#8220;Cloud&#8221;) become not just a modern &#8220;buzz&#8221; word! Whole a lot of companies start moving they business into the cloud(s) or plan to do so. Many start ups initially build they solutions specially to run in the cloud. It seems like if you working in some [...]]]></description>
			<content:encoded><![CDATA[<p>Recently the term &#8220;<em>Cloud</em>–computing&#8221; (or more easy and quick &#8220;Cloud&#8221;) become not just a modern &#8220;buzz&#8221; word!<br />
Whole a lot of companies start moving they business into the cloud(s) or plan to do so.<br />
Many start ups initially build they solutions specially to run in the cloud.</p>
<p>It seems like if you working in some management position, and must predict technical future for you company (or your own) business, it&#8217;s very high probability that you already start thinking same way like companies / start ups I describe above or at least start doing huge research in that direction!</p>
<p>But as Mark Twain said <a href="http://blog.evereq.com/blog/index.php/about-me/principles-and-objectives">&#8220;Whenever you find yourself on the side of the majority, it is time to pause and reflect.&#8221;</a>, simply follow &#8220;everybody&#8221; movements can lead to significant issues in the future!</p>
<p>So let&#8217;s quickly discuss following questions:</p>
<p>(1) when and why it make sense to move into the cloud from technical / business point of view<br />
(2) how to do migration right and &#8220;safe&#8221; way</p>
<p>There are a lot of well known publications about (1), because every Cloud supplier (Google, Amazon or Microsoft for example) describe that in details to gather potential customers from regular hosting / collocation providers or to push customers that own already some server farm to migrate into the Cloud. Usually answer will be something like &#8220;you should do it as soon as possible, because it increase ROI, increase scalability, decrease maintain costs &#8230; bla .. bla.. bla..&#8221; Sure in some way they are right, i.e. for most of small / middle size businesses it&#8217;s DO make sense to migrate into clouds, unless they already invest a LOT into existed infrastructure (both hardware and software). But what is not acceptable is fact that some people (management, but not without pushing from low levels sometimes, i.e. from engineers) start really think / believe that (2) really does not make any big difference! I.e. just fact that you start migration and understand why to do it ASAP (ROI, bla bla bla) will lead your business to new levels, will save you a lot of money, will scale you to Google scale etc!<br />
<strong> WRONG! It make absolutely critical difference HOW you migrate (2)! </strong></p>
<p>Why its SO important HOW to do it? Lets give few reasons:</p>
<p>a) Most of cloud solutions require payments BY amount of requests (see Azure, Amazon RDS, Google storages etc), not just hourly rates!<br />
And this can KILL some kind of businesses, if not to say MOST of the businesses!<br />
It simply keep telling you something like: &#8220;you can&#8217;t scale PER customer actions because for each action from now on you should PAY&#8221;!<br />
You pay when your customer come to each page that require trip to the database! Its not, it&#8217;s ABSOLUTELY different to situation that you have with hosting / collocation! From now on, you should optimize you data access, message queues not just to be able to scale, but to save COSTS for requests! Yep, most of clouds give you very CHEAP storage space, but they get much more from you because of millions of requests you get from customers that do not pay you PER page view in most of the cases!<br />
Think for example situation that you have jobs board and your customers (companies usually) pay you when they add new vacancy! Does it make sense for you to pay for millions of search (browsing) users (you pay per each request to Cloud supplier), if you get money only from few people who post vacancies? And you should pay not only traffic (like it was with hosting providers), from now on in the cloud you should pay for search engine queries (requests to Solr / Lucene on multiple nodes for example), for MapReduce engine, for requests into database storage  (distributed hashtable or SQL database engine.. you still pay PER request) etc!</p>
<p>So? Before even consider moving into cloud you should think about all above and check is it will work for you! Even if you absolutely sure that it will, you anyway should care A LOT about code quality and additional features like distributed caching, replication effectiveness, traffic compressions etc! You should in most cases avoid many of such &#8220;hard&#8221; things in regular applications, but you simply can&#8217;t ignore them for most of real life application that should work in the Cloud!</p>
<p>b) You should migrate (or develop from begging) systems the way that they will be able to work OUTSIDE cloud! Why? Easy!</p>
<p>You do not have FULL control over your cloud supplier:</p>
<p>- It possible that supplier (Amazon, Google, MSFT or any other) will change prices or add additional fees<br />
- It&#8217;s possible that you will want to migrate to different supplier tomorrow because it&#8217;s cheaper, or buy your own servers farm or / and even want to run OWN cloud (see <a href="http://cloud.com">Cloud.com</a>).<br />
- It&#8217;s possible that you will figure out that you was wrong with (1) above, i.e. you was think that you CAN afford to pay PER request, but was wrong and your servers get so huge traffic that your bills to cloud supplier quickly become not acceptable!<br />
- etc</p>
<p>In all situations like above, it&#8217;s CRITICAL to be able to made a SWITCH! And that is what most of companies MISS! They simple couple technology into one Cloud supplier and did not have &#8220;back door&#8221; to quit!</p>
<p>From technical point of view (but sure it&#8217;s theme for different, dedicated post) you should design your architecture the way that your solution will work at least on dedicated servers farm in addition to selected Cloud. If you start using Azure Table Storage, Amazon SimpleDb or another other &#8220;cloud&#8221; specific data storage, make sure that you can execute your code on for example <a href="www.mongodb.org/">MongoDB</a>, <a href="http://ravendb.net">RavenDB</a> or <a href="http://cassandra.apache.org/">Cassandra</a> and only then add support for Cloud storage! In case if you already have system that work locally (i.e. on regular dedicated server), you should make sure that you do not &#8220;broke&#8221; this functionality when start migration! And so on&#8230;</p>
<p>Sure it&#8217;s not all, I have much more to say about it. But it&#8217;s just enough to start at least think right way about life in the Clouds <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/2010/10/cloud-migrate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hard problems in Computer Science</title>
		<link>http://blog.evereq.com/blog/index.php/2010/10/hard-problems-in-computer-science/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/10/hard-problems-in-computer-science/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 21:16:14 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[collisions]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[naming]]></category>
		<category><![CDATA[off-by-one errors]]></category>
		<category><![CDATA[Pigeonhole principle]]></category>
		<category><![CDATA[problems]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=701</guid>
		<description><![CDATA[&#8220;There are only two hard problems in Computer Science: cache invalidation and naming things.&#8221; &#8211; Phil Karlton There is also another, more extended version like: &#8220;There are only two hard problems in Computer Science: cache invalidation, naming things and off-by-one errors&#8221; (get more about off-by-one errors if you do not know WTF is it at [...]]]></description>
			<content:encoded><![CDATA[<p><strong>&#8220;There are only two hard problems in Computer Science: cache invalidation and naming things.&#8221;</strong><br />
&#8211; Phil Karlton</p>
<p>There is also another, more extended version like:<br />
<strong> &#8220;There are only two hard problems in Computer Science: cache invalidation, naming things and off-by-one errors&#8221; </strong><br />
(get more about off-by-one errors if you do not know WTF is it at <a href="http://en.wikipedia.org/wiki/Off-by-one_error">http://en.wikipedia.org/wiki/Off-by-one_error</a> &#8230; See? 100% you done it many times <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<p>Such problems are really hard or close to impossible to solve! Naming, caching invalidation, collisions in a hash tables (OK, you can&#8217;t solve it completely, but you should get know it anyway! See Pigeonhole principle <a href="http://en.wikipedia.org/wiki/Pigeonhole_principle">http://en.wikipedia.org/wiki/Pigeonhole_principle</a>), race conditions, etc&#8230;</p>
<p>Can you name few more that made you put your hand over the wall last time? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2010/10/hard-problems-in-computer-science/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital distribution platforms vs SaaS business models</title>
		<link>http://blog.evereq.com/blog/index.php/2010/10/digital-distribution-platforms-vs-saas-business-models/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/10/digital-distribution-platforms-vs-saas-business-models/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 08:51:16 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[digital distribution platform]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Web Applications]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=699</guid>
		<description><![CDATA[Mozilla enters App Stores battle with Open Web Applications architecture &#8211; https://apps.mozillalabs.com/ So now we have whole a lot of different app stores to publish our apps from all major players like Google (Android, Chrome coming etc), Microsoft (WP7 for example), Apple (iPhone / iPad etc), Mozilla (coming), etc&#8230; Interesting enough that most of them [...]]]></description>
			<content:encoded><![CDATA[<p>Mozilla enters App Stores battle with Open Web Applications architecture &#8211; https://apps.mozillalabs.com/</p>
<p>So now we have whole a lot of different app stores to publish our apps from all major players like Google (Android, Chrome coming etc), Microsoft (WP7 for example), Apple (iPhone / iPad etc), Mozilla (coming), etc&#8230;</p>
<p>Interesting enough that most of them are big enough to take our (developers) attention because of really wide audience of potential app users!<br />
It simply does not make sense anymore to ignore ANY of them <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And what is interesting that &#8220;App Store&#8221; (or better to say &#8220;<strong>digital distribution platforms</strong>&#8221; as &#8220;App Store&#8221; actually Apple trademark&#8230;) business model (i.e &#8220;software FROM web to your <em>device</em> or <em>specific</em> OS or <em>specific</em> browser&#8221;) actually looks orthogonal to <strong>SaaS</strong> (i.e. &#8220;software as a service&#8221; or &#8220;software IN the web&#8221;, i.e. software that works in almost ANY browser powered device) model! Or not!??</p>
<p>Should we go in both directions together? <strong>Yep</strong> <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
But&#8230; <strong>How hard to grow in both!!!???</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2010/10/digital-distribution-platforms-vs-saas-business-models/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Web N.0</title>
		<link>http://blog.evereq.com/blog/index.php/2010/10/the-web-n-0/</link>
		<comments>http://blog.evereq.com/blog/index.php/2010/10/the-web-n-0/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 10:34:32 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Big Bang]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Web N.0]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=642</guid>
		<description><![CDATA[What WWW represent now? Web is Linked Data! Simple! Web 3.0 promised to be &#8220;Semantic&#8221; Web&#8230; Let&#8217;s try to found some analogies in other areas to WWW&#8230;  One that come quickly to my mind because of same &#8220;network&#8221; characteristic is &#8220;biological neural network&#8221;&#8230; Billions of neurons (web sites pages or rest / soap services in WWW [...]]]></description>
			<content:encoded><![CDATA[<p>What WWW represent now? Web is Linked Data! Simple! <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Web 3.0 promised to be &#8220;Semantic&#8221; Web&#8230;</p>
<p>Let&#8217;s try to found some analogies in other areas to WWW&#8230;  One that come quickly to my mind because of same &#8220;network&#8221; characteristic is &#8220;biological neural network&#8221;&#8230;</p>
<p>Billions of neurons (web sites pages or rest / soap services in WWW with some very small peace of data if we compare to all data in WWW) connected to each other (using hyper-links / endpoints), now with video, voice, metadata and another kinds of &#8220;meta&#8221; information inside each node&#8230;</p>
<p>Same like biologic organism, when try to search for some data in the memory use neurons connections, search providers that work in WWW,<br />
like Google or Yahoo or Bing use connections between pages and metadata to found any sort of data in WWW <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
If some page not connected to another pages in the Web, Search Engines will not found it (unless owner of such page add link to search engines manually&#8230; but even doing so, search engines will show this link in last position in search results or do not show at all)</p>
<p>Semantic Web 3.0, will for sure increase power of such search capabilities&#8230;. But!</p>
<p>What will be really big change, say in Web N.0, is ability of some &#8220;systems&#8221; in the world to use WWW same way like our <strong>brain</strong> currently use network of neurons&#8230; I not speak about simple or not simple search algorithms used by companies above and others!  If we start thinking about WWW as some network that was already <strong>trained</strong> by billions of WWW users (by us, i.e. by humanity), that already store most, if not all, of humans knowledge, we will understand that some sort of IA  already there&#8230;.</p>
<p>So what WWW already have:</p>
<p>a) Knowledge: data and metadata, much more than any man can get into!</p>
<p>b) Some learning capabilities &#8211; WWW &#8220;learn&#8221; using us (humanity) as <span>sense organs! I.e we, people, all over the world submit information into www and &#8220;teach&#8221; it during decades! And it&#8217;s not far a way, when we will see more devices that collect and submit different data into WWW without people interactions!<br />
</span></p>
<p>c) Communication &#8211; WWW is all about it, you know <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>d) What you think about perception? Maybe yes, who know? We can&#8217;t prove it for now <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but we can&#8217;t tell that it does not exists! And sometimes we all get a feeling that it&#8217;s already there!</p>
<p>e) Ability to move and manipulate objects &#8211; remember &#8220;terminator&#8221; movie and SkyNet ? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  It&#8217;s there already! For sure now it&#8217;s possible to manipulate things in real life from WWW and everyday we see more and more of such things!</p>
<p>etc&#8230;</p>
<p>So some (if not all) of IA problems was solved in the same moment when WWW was born or in past few years!</p>
<p>The only questions are: how to made first <em><span lang="en"><strong>Big Bang</strong> </span></em>!!!????? And do we need to made it !!!???</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2010/10/the-web-n-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IntelliJ IDEA 9 released</title>
		<link>http://blog.evereq.com/blog/index.php/2009/12/intellij-idea-9-released/</link>
		<comments>http://blog.evereq.com/blog/index.php/2009/12/intellij-idea-9-released/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 08:28:51 +0000</pubDate>
		<dc:creator>evereq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[IntelliJ IDEA]]></category>
		<category><![CDATA[Jetbrains]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=622</guid>
		<description><![CDATA[Hi! It&#8217;s good news today for a lot of java, ruby and groovy developers &#8211; new version &#8220;Maia&#8221; (officially v9) was just released by JetBrains with a lot of new features (including faster environment, extensive Java 6 support, build-in Google App Engine and Grails projects support etc) &#8211; feel read full &#8220;What&#8217;s new&#8221; list. There [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! It&#8217;s good news today for a lot of java, ruby and groovy developers &#8211; <a href="http://www.jetbrains.com/idea/" target="_blank">new version &#8220;Maia&#8221; (officially v9)</a> was just released by <a href="http://www.jetbrains.com" target="_blank">JetBrains</a> with a lot of new features (including faster environment, extensive Java 6 support, build-in Google App Engine and Grails projects support etc) &#8211; feel read <a href="http://www.jetbrains.com/idea/whatsnew/index.html" target="_blank">full &#8220;What&#8217;s new&#8221; list</a>.</p>
<p>There exists also not so good news &#8211; this time for PHP developers &#8211; support of PHP was removed from release of free (&#8220;community&#8221;) version of IDEA, so developers can stick with other completely free IDEs this time <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  &#8211; for example <a href="http://netbeans.org/" target="_blank">NetBeans </a>comes to my mind this time&#8230; as alternative&#8230; but after Oracle buy Sun, I not sure it is right choice&#8230; but this is &#8220;idea&#8221; for another post&#8230;)</p>
<p>Actually personally I don&#8217;t understand why &#8220;Community&#8221; version does not support PHP, Javascript, Python or Ruby as this languages are used by a lot (if not most) of &#8220;open source&#8221; developers that for some reasons does not feet into JetBrains <a href="http://www.jetbrains.com/idea/buy/buy.jsp#openSource_" target="_blank">licensing of commercial version of IntelliJ IDEA for open source projects</a>. I think &#8220;<a title="Vice versa" href="http://en.wikipedia.org/wiki/Vice_versa">vice versa</a>&#8221; if compare to JetBrains &#8211; Commercial version must have extended support for Java development, while Community edition must support MORE other open source frameworks / languages, like Ruby, Python or PHP etc. Sure it&#8217;s only my &#8220;personal&#8221; opinion, but I think most of developers will agree with me &#8211; people that use IDEA for Java development (usually in enterprises) can (and will!) simply BUY commercial licenses, while a lot of potential IntelliJ users actually want to use it for small open source projects in non-Java languages stack and want to get IDE for FREE!</p>
<p>But totally &#8211; all new features show that JetBrains go in right direction &#8211; support for most &#8220;progressive&#8221; and &#8220;latest&#8221; technologies in IDEA (even if it is available only commercially <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>Keep it going, JetBrains! <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evereq.com/blog/index.php/2009/12/intellij-idea-9-released/feed/</wfw:commentRss>
		<slash:comments>2</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! -->
