<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6135131245629253654</id><updated>2014-10-14T08:02:14.917-07:00</updated><category term=".Net Compact Framework 3.5"/><category term="Android"/><category term="Apple"/><category term="Browser"/><category term="C#"/><category term="Chrome"/><category term="Cloud"/><category term="Firefox"/><category term="Flash"/><category term="HTML5"/><category term="Mobile"/><category term="Mobile Development"/><category term="Performance Tuning"/><category term="Resharper"/><category term="Safari"/><category term="Visual Studio"/><category term="iOS"/><category term="ie"/><title type='text'>Conduit ++</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.rrajan.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-4407779964535735200</id><published>2011-11-24T10:45:00.001-08:00</published><updated>2011-11-24T14:19:49.028-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net Compact Framework 3.5"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Performance Tuning"/><title type='text'>Tuning the Dot Net Compact Framework 3.5 Application- Part I</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;I&lt;/span&gt;n the era of smarter smart phones and&amp;nbsp;sophisticated mobile hardware specs like dual core processor , 800 MB of RAM and operating systems like iOS or Android or may be WP 7 depending on the maker and device limitations, yet majority of mobile devices in the enterprise world like distribution, retail and logistics are using a Pocket PC (PPC) or a Windows Mobile (WM) based devices some even use devices running on Windows CE, mostly because of the special&amp;nbsp;auxiliaries&amp;nbsp;such as inbuilt laser scanner ,camera and phone, resulting which we have the heavy duty smart devices like the &lt;a href=&quot;http://www.motorola.com/Business/IN-EN/Business+Product+and+Services/Mobile+Computers/Handheld+Computers&quot; target=&quot;_blank&quot;&gt;Motorola MC 70 or the MC 17&lt;/a&gt; ,Such devices generally come with minimal resources or computing capacity available, the specifications like generally like&amp;nbsp;&lt;b&gt;CPU&lt;/b&gt; - Intel PXA270; 32 bit; 520 MHz &amp;nbsp;or a ARM ,&lt;b&gt;Memory&lt;/b&gt; - 64 MB RAM; 64 MB Flash ROM&lt;br /&gt;&lt;b&gt;OS&lt;/b&gt; -&amp;nbsp;Microsoft Windows CE 5.0 Professional Version,&amp;nbsp;hence the application performance plays a pivotal role operationally, for the developers it&#39;s a real challenge to code efficiently on the .Net Compact framework which is a compact version of the full .net framework, resulting in limited support for&amp;nbsp;features like&amp;nbsp;the garbage collection and the UI dispositions, some respite for developers is that with&amp;nbsp;CF 3.5&amp;nbsp;we get to use&amp;nbsp;WCF&amp;nbsp;and some C# 3 language support like the LINQ ,&amp;nbsp;auto-property&amp;nbsp;and so on. &lt;br /&gt;&lt;br /&gt;Even with the best of&amp;nbsp;practices&amp;nbsp;and&amp;nbsp;architectural design put in place whilst development or before the&amp;nbsp;development there would certainly be lots to learn by the time we have the first piece of code running on the device, implies that design is a evolving process in mobile development&amp;nbsp;at least&amp;nbsp;in this case, we would have to continually monitor performance based on certain classification so that we are focused in our approach, the&amp;nbsp;performance&amp;nbsp;of the device could be classified as follows&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-UmZxnielOIg/Ts6jLu69T_I/AAAAAAAAIfY/5RVicNVkXVI/s1600/perf1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;291&quot; src=&quot;http://1.bp.blogspot.com/-UmZxnielOIg/Ts6jLu69T_I/AAAAAAAAIfY/5RVicNVkXVI/s400/perf1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;AM&lt;/b&gt;&amp;nbsp;- Often relates to &lt;b&gt;OOM&lt;/b&gt; [Out Of Memory] exceptions, mostly due a weak GC and no support for bitmap compression in compact framework. hence it the bitmaps and controls has to be cautiously used and disposed off when the job is done.&lt;br /&gt;&lt;b&gt;CU&lt;/b&gt;&amp;nbsp;- Relates to the battery life as per laws of performance CPU usage is directly&amp;nbsp;proportional&amp;nbsp;to the the battery life and hence this counter&amp;nbsp;becomes&amp;nbsp;even more critical after memory.&lt;br /&gt;&lt;b&gt;BL&amp;nbsp;&lt;/b&gt;- again theory of relativity the battery life is directly&amp;nbsp;proportional to the read write and CPU usage.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PT&lt;/b&gt;- Time taken in screen&amp;nbsp;transitions in case of a complex forms application, this metrics is very specific to the way we&amp;nbsp;instantiate and load objects throughout our application.In addition to the process time the read write on the log files must be optimized so that we don&#39;t use&amp;nbsp;unnecessary read/write cycles which is a expensive operation , instead of doing a instant write on the log file have it in buffer up to certain limit and than write it on the log file by doing this we can optimize read/write.&lt;br /&gt;The best way to monitor performance is by having resource specific counters on the device , compact framework ships with tools like RPM , lets have a look at how we get these counters ticking.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Monitoring Counters&lt;/b&gt;&lt;br /&gt;How would you find out that&amp;nbsp;whether there is a leak in memory or pinned object count ,&amp;nbsp;monitor&amp;nbsp;CG counters when the application in running on the device ?&lt;br /&gt;The best way to monitor these counters is to use the &lt;b&gt;R&lt;/b&gt;emote &lt;b&gt;P&lt;/b&gt;rocess &lt;b&gt;M&lt;/b&gt;onitor&amp;nbsp;&lt;b&gt;RPM &lt;/b&gt;and hook it up with the process monitor (&lt;b&gt;Processmon&lt;/b&gt;) , follow the below steps to configure the RPM and counters to hook it to your device.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 0 :&lt;/b&gt; Connect the device to your dev box, through active sync or TCP.&lt;br /&gt;&lt;b&gt;Step 1 :&lt;/b&gt;&amp;nbsp;Make sure the executable is available in the following location &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&quot;C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin\NetCFRPM.exe&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&quot;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;I personally prefer &amp;nbsp;the earlier version of RPM which does not crash like the later &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\bin\&lt;/b&gt;&lt;b&gt;NetCFRPM.exe&lt;/b&gt;&lt;/span&gt;&quot; and hence would continue the show using v2.0 , the option are pretty much the same , feel that 2.0 is more stable than 3.5 RPM. &lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; &lt;b&gt;C:\&lt;/b&gt;&amp;nbsp;=&amp;gt; Change the drive letter to the one you have installed it on.&lt;br /&gt;&lt;b&gt;Step 2 : &lt;/b&gt;Copy the files &lt;b&gt;netcflaunch.exe &lt;/b&gt;&amp;amp;&lt;b&gt;&amp;nbsp;netcfrtl.dll&lt;/b&gt; from location &quot;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce500\armv4i&lt;/span&gt;&lt;/b&gt;&quot; on to the &lt;b&gt;Windows&lt;/b&gt; directory of the device (my case it is a ARM, take the files from mipsiv if its a MIP based as all types are&amp;nbsp;available)&lt;br /&gt;&lt;b&gt;Step 3 : &lt;/b&gt;Run the exe and add live counter by clicking on Live counters as shown below&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-OZFMoc6N1Bs/Ts6qc4Zq5GI/AAAAAAAAIfg/DgcFfCIJDuc/s1600/2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;470&quot; src=&quot;http://3.bp.blogspot.com/-OZFMoc6N1Bs/Ts6qc4Zq5GI/AAAAAAAAIfg/DgcFfCIJDuc/s640/2.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 4 : &lt;/b&gt;Connect to the device and specify the location and name of the exe and connect , make sure the application is currently not running on the device as the RPM will automatically invoke the exe specified (as by default launch on connect option will be enabled).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-ZC9B0-PMuw4/Ts6rqD2iCTI/AAAAAAAAIfo/JoMfPDfRc1o/s1600/3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;470&quot; src=&quot;http://4.bp.blogspot.com/-ZC9B0-PMuw4/Ts6rqD2iCTI/AAAAAAAAIfo/JoMfPDfRc1o/s640/3.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 5 : &lt;/b&gt;Make sure the below shown option are selected for the RPM to publish the metrics to the process monitor&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-z-KcPcUU-WM/Ts6tYjazGiI/AAAAAAAAIfw/1xmn_BwaJOg/s1600/4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;368&quot; src=&quot;http://4.bp.blogspot.com/-z-KcPcUU-WM/Ts6tYjazGiI/AAAAAAAAIfw/1xmn_BwaJOg/s640/4.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 6 : &lt;/b&gt;To save a stat of log file make sure the options are selected from the device menu , so that &lt;br /&gt;the artifacts can be used to compare the counters after making any performance tuning.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ZwH_0rJ1D4o/Ts6uhm7CyQI/AAAAAAAAIf4/LCjZAuTFSqc/s1600/5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;494&quot; src=&quot;http://1.bp.blogspot.com/-ZwH_0rJ1D4o/Ts6uhm7CyQI/AAAAAAAAIf4/LCjZAuTFSqc/s640/5.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 7 : &lt;/b&gt;Now open the performance monitor (Win Key + R -&amp;gt; type -&amp;gt; perfmon - &amp;gt; enter) and add the&amp;nbsp;necessary&amp;nbsp;counters as shown below&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-tW0OgmKmRfs/Ts6v41aPoiI/AAAAAAAAIgA/BDWXC4z1zkY/s1600/6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;http://2.bp.blogspot.com/-tW0OgmKmRfs/Ts6v41aPoiI/AAAAAAAAIgA/BDWXC4z1zkY/s640/6.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Once you have done all the above settings , now you are ready will all required&amp;nbsp;ammunition to have a crack at the performance of your application in the device, as a result of this&amp;nbsp;exercise&amp;nbsp;you will have the performance graphs as well as the&amp;nbsp;&amp;nbsp;RPM counters which looks like this&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-pGpcoEkxxXI/Ts6yo2li8hI/AAAAAAAAIgI/oneO1aq1GAU/s1600/7.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;302&quot; src=&quot;http://3.bp.blogspot.com/-pGpcoEkxxXI/Ts6yo2li8hI/AAAAAAAAIgI/oneO1aq1GAU/s640/7.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-Az0csalye0I/Ts6y5V3YrXI/AAAAAAAAIgQ/igw1GiTHEgs/s1600/8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;314&quot; src=&quot;http://3.bp.blogspot.com/-Az0csalye0I/Ts6y5V3YrXI/AAAAAAAAIgQ/igw1GiTHEgs/s640/8.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The reports should give you a clear idea about memory , windows forms and GC details in depth&amp;nbsp;which&amp;nbsp;would help in identifying any&amp;nbsp;bottleneck in the application , running many runs with different set of data and analyzing the data would give a clearer picture on the performance. hope this post helps you in setting up RPM and set the performance monitoring rolling. more on the counters and performance tuning best practices will follow in the future posts on the same topic. until then happy profiling. &lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/4407779964535735200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/tuning-dot-net-compact-framework-35.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4407779964535735200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4407779964535735200'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/tuning-dot-net-compact-framework-35.html' title='Tuning the Dot Net Compact Framework 3.5 Application- Part I'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-UmZxnielOIg/Ts6jLu69T_I/AAAAAAAAIfY/5RVicNVkXVI/s72-c/perf1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-8694205995162061824</id><published>2011-11-15T10:44:00.001-08:00</published><updated>2011-11-15T18:36:37.690-08:00</updated><title type='text'>What is an ideal agile development environment ?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-fH8Np8RsNKU/TsK0Kxe0mcI/AAAAAAAAIeQ/y4ChhvSS4nY/s1600/agile-1pg.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://1.bp.blogspot.com/-fH8Np8RsNKU/TsK0Kxe0mcI/AAAAAAAAIeQ/y4ChhvSS4nY/s320/agile-1pg.jpg&quot; width=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;H&lt;/span&gt;ave been working on agile projects almost for 4 years now more often then not i have&amp;nbsp;realized&amp;nbsp;that environments&amp;nbsp;for&amp;nbsp;&lt;b&gt;D&lt;/b&gt;evelopment&amp;nbsp;,&amp;nbsp;&lt;b&gt;B&lt;/b&gt;uild and&amp;nbsp;&lt;b&gt;T&lt;/b&gt;est in short&amp;nbsp;&lt;b&gt;DBT&lt;/b&gt;&amp;nbsp;plays a huge role in achieving the sprint goals [stretch goals more often if your estimates goes hay wire ].&lt;br /&gt;&lt;br /&gt;By now you must be thinking what is this guy up to ?? when agile manifesto says&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;i style=&quot;font-weight: bold;&quot;&gt;&quot;Individuals and interactions over processes and tools&quot;&amp;nbsp;&lt;/i&gt;which to me or may be to the manifesto in itself would relate the tools for tracking and logging and not the DBT&amp;nbsp;environments, hence every developers / testers prefers having a definitive process for the story transition from one state to another state remembering not going away from the manifesto.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Now whats a smooth transition of a story ? lets assume we have picked 5&amp;nbsp;&lt;/span&gt;functionality&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;which sums up to 50 stories in our current sprint &amp;nbsp;, i should be able to achieve this in 5 days , considering my working hours is 5 and my capacity is 2 developers/testers. an ideal state assuming so !! now lets get to the&amp;nbsp;&lt;/span&gt;transitions.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-u1OX2idWG5s/TsMe53dVTYI/AAAAAAAAIe8/EU4r-3jzL6w/s1600/agile.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;http://4.bp.blogspot.com/-u1OX2idWG5s/TsMe53dVTYI/AAAAAAAAIe8/EU4r-3jzL6w/s640/agile.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Environments plays a vital role on every state , how do we make sure that at every state we keep doing the right thing and make sure we&amp;nbsp;&lt;i style=&quot;font-weight: bold;&quot;&gt;&quot;release early and release often&quot;&lt;/i&gt;&amp;nbsp;to the test , to get continual feedback and make sure at the end of sprint we have a tested working piece.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-kL4V1r4erxQ/TsMfEdfgIoI/AAAAAAAAIfE/-voi22qqWBw/s1600/agile2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;303&quot; src=&quot;http://1.bp.blogspot.com/-kL4V1r4erxQ/TsMfEdfgIoI/AAAAAAAAIfE/-voi22qqWBw/s400/agile2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;b style=&quot;text-align: left;&quot;&gt;Continuous Integration (CI)&lt;/b&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;Continuous integration involves integrating your code early and often (ideally after completion of a story , may be a defect fix or a code refactoring and not otherwise), so as to avoid the pitfalls of &quot;integration hell&quot;. This practice aims to reduce rework and thus reduce cost and time, most importantly&amp;nbsp;immediate&amp;nbsp;feedback on your&amp;nbsp;check-in.to achieve the best of CI , one has to follow the best practices of CI the first and most important being&amp;nbsp;&lt;b style=&quot;text-align: left;&quot;&gt;&lt;i&gt;&quot;Before any code commit , make sure you get the latest code from the source control , build the solution on local and make sure&amp;nbsp;there&amp;nbsp;aren&#39;t&amp;nbsp;any build errors.&quot;&lt;/i&gt;&lt;/b&gt;&amp;nbsp;as the source control could have been updated by any others code commit.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-uYHjJs3HZpI/TsMfTCMhA3I/AAAAAAAAIfM/cdiqEIkkgL8/s1600/agile3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;362&quot; src=&quot;http://2.bp.blogspot.com/-uYHjJs3HZpI/TsMfTCMhA3I/AAAAAAAAIfM/cdiqEIkkgL8/s640/agile3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;setting up the CI and auto deploy could be another topic worth covering , may be in the future posts.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;now getting deep in to asking ourselves more questions on why should my CI be in place for a typical agile environment .firstly it helps developers detect and fix integration problems continuously - avoiding last-minute chaos at release dates.more advantages like&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;early warning of broken/incompatible code&lt;/li&gt;&lt;li&gt;early warning of conflicting changes&lt;/li&gt;&lt;li&gt;immediate unit testing of all changes&lt;/li&gt;&lt;li&gt;constant availability of a &quot;current&quot; build for testing, demo, or release purposes&lt;/li&gt;&lt;li&gt;immediate feedback to developers on the quality, functionality, or system-wide impact of code they are writing&lt;/li&gt;&lt;li&gt;frequent code check-in pushes developers to create modular, less complex code&lt;/li&gt;&lt;li&gt;metrics generated from automated testing and CI (such as metrics for code coverage, code complexity, and features complete) focus developers on developing functional, quality code, also we have a host of plugins available for CI.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;when there&#39;s so many advantages there should be some disadvantage as well as consolation for those who&amp;nbsp;doesn&#39;t&amp;nbsp;want to use CI , but in my view we should call them as investment than a disadvantage, the investments would be like&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;initial build box setup time required and getting developers up to speed with training on CI tools.&lt;/li&gt;&lt;li&gt;well-developed test-suite required to achieve automated testing advantages&lt;/li&gt;&lt;li&gt;Dedicated&amp;nbsp;build machines.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tools Available&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Most widely used would be Hudson and Cruise Control .net, teams using TFS2010 are getting used to the build in CI tool you can find the&amp;nbsp;comparison&amp;nbsp;chart of different tools&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&amp;nbsp; , my personal pick is CC.Net probably because we have been using it longer than any other.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;well to sum it up , the right kind of CI would certainly reduce deployment and release overhead on the dev and test teams , also an easy way to maintain clean code and running solution any time !!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Release early release often !! go CI way.. &amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/8694205995162061824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/what-is-perfect-agile-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/8694205995162061824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/8694205995162061824'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/what-is-perfect-agile-development.html' title='What is an ideal agile development environment ?'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-fH8Np8RsNKU/TsK0Kxe0mcI/AAAAAAAAIeQ/y4ChhvSS4nY/s72-c/agile-1pg.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-7694273368528274044</id><published>2011-11-09T12:44:00.000-08:00</published><updated>2011-11-09T20:59:24.422-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Resharper"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Leveraging Resharper &amp; plugins.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-NpKDcrjZ8Nk/TrrSgBAF0tI/AAAAAAAAIdg/M4j-R8craw4/s1600/imagesCAB6TOFQ.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;163&quot; src=&quot;http://4.bp.blogspot.com/-NpKDcrjZ8Nk/TrrSgBAF0tI/AAAAAAAAIdg/M4j-R8craw4/s200/imagesCAB6TOFQ.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;I&lt;/b&gt;&lt;/span&gt; have been using&amp;nbsp;resharper for more than 3 years now, and i must admit that with out that i am tad uncomfortable on the visual studio IDE, so very addicted to resharper, to me it is more than just a productivity and refactoring plugin for visual studio , I have learnt clean coding through resharper and its on the fly suggestions to avoid any code smell have worked wonders for me over the years , we call it the &lt;b&gt;ALT + ENTER&lt;/b&gt; programming.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Its not only the alt+enter the &lt;a href=&quot;http://www.jetbrains.com/resharper/docs/ReSharper40DefaultKeymap.pdf&quot; target=&quot;_blank&quot;&gt;shortcuts&lt;/a&gt;&amp;nbsp;[shortcut sheet permanent part of my desk&amp;nbsp;soft-board] and navigational support makes you feel&amp;nbsp;like the king of the town , you just do a&amp;nbsp;&lt;b&gt;Ctrl&amp;nbsp;+ n&lt;/b&gt; and you get the search window which supports cool search options like say your class name is MyClass you just type MC in the search window there you go all class having name with M and a C in the drop list for you to choose what you want. there are so many navigational options once you have&amp;nbsp;mastered you can just speed in whilst&amp;nbsp;coding&amp;nbsp;&amp;nbsp;or while navigating through a solution or even when doing a code review,&amp;nbsp;what more write a complex for loop or a&amp;nbsp;for-each loop on the code resharper will convert it to a complete or part LINQ&amp;nbsp;&amp;nbsp; for you to learn LINQ on job :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Code Inspector&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Best is yet to come, should tell you about the code inspector an amazing feature in resharper, you just right &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-MDl-LU6Jhbc/TrrV73AZVGI/AAAAAAAAIdo/ujOo_SNc1Vs/s1600/resharper.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;http://2.bp.blogspot.com/-MDl-LU6Jhbc/TrrV73AZVGI/AAAAAAAAIdo/ujOo_SNc1Vs/s320/resharper.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;click on the file or project or even at a solution and select &lt;b&gt;Find Code Issues &lt;/b&gt;&amp;nbsp;will run through the code and point you all the code smells and&amp;nbsp;recommendations&amp;nbsp;which either you ignored in the first place or a piece of code developed by some one who is not using a resharper and hence any these recommendations were not available. now that you have run the code inspector you have the&amp;nbsp;honors to clean up the smells.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The inspector analyzes the solution or which ever level you have selected to inspect and gives out the results in a punctiliously categorized manner as shown below.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-6IdZJPmpbBg/TrrZcvt85EI/AAAAAAAAIdw/JjhPvwBCw9Q/s1600/rs1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;http://1.bp.blogspot.com/-6IdZJPmpbBg/TrrZcvt85EI/AAAAAAAAIdw/JjhPvwBCw9Q/s400/rs1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;which gives you the liberty to prioritize which category you would want correct first , I would&amp;nbsp;certainly&amp;nbsp;go for the &lt;b&gt;Potential code quality Issues, will make sure that i have minimal or no code quality issues.&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;and the rest can be cleared as we go along . on expanding shows you the exact line number of the class , double clicking will take you to the problem area [a known issue on version 5.2 what i have observed is that double clicking&amp;nbsp;doesn&#39;t work as it should be , must be fixed in version 6 i&amp;nbsp;don&#39;t&amp;nbsp;have a license for 6 &amp;nbsp;:-(&amp;nbsp;] once you are in the pointed issue area all that you have to do is ALT + Enter , apart from the minor issue of double clicking, the&amp;nbsp;inspection&amp;nbsp;process works like a charm.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/--C0GxIqQj2w/Trre4ER2NmI/AAAAAAAAId4/0wlVrKgSFOE/s1600/rs3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;325&quot; src=&quot;http://1.bp.blogspot.com/--C0GxIqQj2w/Trre4ER2NmI/AAAAAAAAId4/0wlVrKgSFOE/s400/rs3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Refactor&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This&amp;nbsp;functionality is the best pal when you are going through &lt;a href=&quot;http://martinfowler.com/books.html&quot; target=&quot;_blank&quot;&gt;Martin Fowler&#39;s books on refactoring&lt;/a&gt;&lt;/div&gt;&lt;div&gt;just makes the process so easy that you would feel like taking up a contract just to clean up all the code, as you can see on the image it gives you all the options which are only applicable for any selected item avoiding any&amp;nbsp;unnecessary refactoring.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Extract method and extract Interface have been my best friends :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The Var debate&lt;/b&gt;&lt;/div&gt;&lt;div&gt;One of the longstanding debates since the C# 3 support for implicit type declaration is the usage of &lt;b&gt;Var&lt;/b&gt;&amp;nbsp;type instead of a explicit declaration and here&#39;s my view of using a var.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Use&lt;/strong&gt; Var here :&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-f5dZA2b5KWY/TrrhMfEjloI/AAAAAAAAIeA/vjlfderhLK4/s1600/var1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;81&quot; src=&quot;http://4.bp.blogspot.com/-f5dZA2b5KWY/TrrhMfEjloI/AAAAAAAAIeA/vjlfderhLK4/s400/var1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;In this case from the RHS we clearly know that scope is a TransactionScope type.and hence take the resharper recommendation of using the implicit type and change it. another area where this can be used is when you have to assign any&amp;nbsp;anonymous&amp;nbsp;type&amp;nbsp;returned&amp;nbsp;by any LINQ statements.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Dont use&lt;/strong&gt; Var here :&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-SdzN1r1whQw/TrriE6bipfI/AAAAAAAAIeI/9VQZeF3xbO8/s1600/var2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://3.bp.blogspot.com/-SdzN1r1whQw/TrriE6bipfI/AAAAAAAAIeI/9VQZeF3xbO8/s400/var2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;In this case, if you use var any one apart for you wold know what&amp;nbsp;&lt;/div&gt;&lt;div&gt;is the type for&amp;nbsp;Order ID, this holds good for any&amp;nbsp;primitive&amp;nbsp;data types.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the above is purely&amp;nbsp;for the readability and&amp;nbsp;maintainability&amp;nbsp;perspective and would not have ant performance or memory&amp;nbsp;impact.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp&quot; target=&quot;_blank&quot;&gt;Resharper Plugins&lt;/a&gt;&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Resharper has a&amp;nbsp;fairly&amp;nbsp;long list of plugins available among which the&amp;nbsp;power tool&amp;nbsp;being my&amp;nbsp;favorite lets take a look at what in store, firstly you will meet the agents belonging to the code practices and improvements category&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;li&gt;&lt;a class=&quot;on_page&quot; href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp#Agent_Johnson&quot;&gt;Agent Johnson&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class=&quot;new-small&quot; href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp#Agent_Ralph&quot;&gt;Agent Ralph&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class=&quot;on_page&quot; href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp#Agent_Smith&quot;&gt;Agent Smith&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;div&gt;then would be the explosion of &amp;nbsp;&lt;a class=&quot;on_page&quot; href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp#ReSharper_PowerToys&quot;&gt;ReSharper PowerToys&lt;/a&gt;&amp;nbsp;unzip to know the list of &amp;nbsp;toys one to &amp;nbsp;look out for is the tool for&amp;nbsp;Analyzing cyclomatic complexity of method bodies.[VS2010 code metrics covers this anyways]&lt;/div&gt;&lt;div&gt;to name a few more Style cop and TDD helper and so on... more &lt;a href=&quot;http://www.jetbrains.com/resharper/plugins/index.jsp&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;with support for&amp;nbsp;C#, VB.NET, XAML, ASP.NET, ASP.NET MVC, JavaScript, CSS, XML and unit testing, that&#39;s almost all support,&amp;nbsp;definitively&amp;nbsp;a must have for all developers. &lt;br /&gt;&lt;div&gt;&lt;br /&gt;Start sharping your code if you are not yet &amp;nbsp;!! &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/7694273368528274044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/leveraging-rer-r-plugins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/7694273368528274044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/7694273368528274044'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/leveraging-rer-r-plugins.html' title='Leveraging Resharper &amp; plugins.'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-NpKDcrjZ8Nk/TrrSgBAF0tI/AAAAAAAAIdg/M4j-R8craw4/s72-c/imagesCAB6TOFQ.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-7982651078259754662</id><published>2011-11-07T12:05:00.000-08:00</published><updated>2011-11-07T12:53:51.721-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="ie"/><category scheme="http://www.blogger.com/atom/ns#" term="Safari"/><title type='text'>Whose share is it anyway ?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-gmaMNJUdqFM/TrgwGMChnmI/AAAAAAAAIb4/IqhOzzB1AiU/s1600/chromevsfirefox.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;http://2.bp.blogspot.com/-gmaMNJUdqFM/TrgwGMChnmI/AAAAAAAAIb4/IqhOzzB1AiU/s200/chromevsfirefox.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;I&lt;/span&gt;t seems like&amp;nbsp;Microsoft&amp;nbsp;is loosing a lot of ground in the browser battle ,with chrome speeding away. &lt;a href=&quot;http://cartoonmela.blogspot.com/&quot; target=&quot;_blank&quot;&gt;cartoonmela&lt;/a&gt;&amp;nbsp;had this pretty cartoon which sums it up on the current state of affairs, as&amp;nbsp;internet explorer drops below 50% of web usage, there is more on&amp;nbsp;Microsoft&#39;s&amp;nbsp;plate to think about than just Internet Explorer 10 preview. whilst&amp;nbsp;Firefox&amp;nbsp;and safari joining hands loosing no ground, humble opera being as&amp;nbsp;niche as ever not worried about capturing the world, chrome is eating away&amp;nbsp;internet&amp;nbsp;explorer&#39;s share. However&amp;nbsp;Internet Explorer still retains a majority of the desktop browser market  share, at 52.63 % ,1.76 % drop from September.desktop browsing makes up 94 percent of Web traffic, and the rest from phones and tablets, both waters in which Internet Explorer is toddling. As a share of the whole browser market, Internet Explorer has  only 49.58 percent of users.&lt;br /&gt;&lt;br /&gt;Just pondering around came across an interesting&amp;nbsp;statistics about&amp;nbsp;who&#39;s what in the browser market. this is what it says.&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-gpgBXhJ-X8E/TrgzuzpzAuI/AAAAAAAAIcA/jp6WMpOvnSY/s1600/desktop-trends.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-gpgBXhJ-X8E/TrgzuzpzAuI/AAAAAAAAIcA/jp6WMpOvnSY/s1600/desktop-trends.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-mM6wllVgFs4/Trgz_9rQnaI/AAAAAAAAIcI/c6ig25NmQ5A/s1600/mobile-trends.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-mM6wllVgFs4/Trgz_9rQnaI/AAAAAAAAIcI/c6ig25NmQ5A/s1600/mobile-trends.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-2dKuIkOqPuw/Trg-2CPqkdI/AAAAAAAAIdA/Qxd_RycXddw/s1600/desktop-share.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-2dKuIkOqPuw/Trg-2CPqkdI/AAAAAAAAIdA/Qxd_RycXddw/s1600/desktop-share.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-2dKuIkOqPuw/Trg-2CPqkdI/AAAAAAAAIdA/Qxd_RycXddw/s1600/desktop-share.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-2dKuIkOqPuw/Trg-2CPqkdI/AAAAAAAAIdA/Qxd_RycXddw/s1600/desktop-share.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-nIx7hGY6J9c/Trg_A9_5xtI/AAAAAAAAIdI/ttuKWOqqDXA/s1600/mobile-share.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-nIx7hGY6J9c/Trg_A9_5xtI/AAAAAAAAIdI/ttuKWOqqDXA/s1600/mobile-share.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-B7I-Y7Iep-c/Trg_VwTk1LI/AAAAAAAAIdQ/CvJ3bO1g-qU/s1600/combined-share-thumb-640xauto-27267.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-B7I-Y7Iep-c/Trg_VwTk1LI/AAAAAAAAIdQ/CvJ3bO1g-qU/s1600/combined-share-thumb-640xauto-27267.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;the most interesting part of the statistics was the user adoption of the&amp;nbsp;browser&#39;s,&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-A6xXJ_udWMc/Trg2LghRIuI/AAAAAAAAIco/_pcjfDp75lM/s1600/chrome-adoption.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-A6xXJ_udWMc/Trg2LghRIuI/AAAAAAAAIco/_pcjfDp75lM/s1600/chrome-adoption.png&quot; /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-SJeo_iSrV98/Trg2MBqqthI/AAAAAAAAIcs/4Xiv_5CIKO4/s1600/firefox-transition.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-SJeo_iSrV98/Trg2MBqqthI/AAAAAAAAIcs/4Xiv_5CIKO4/s1600/firefox-transition.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-8SE39Vn8_DI/Trg2MzHBohI/AAAAAAAAIc0/kJtj06VXK74/s1600/internet-explorer-transition.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-8SE39Vn8_DI/Trg2MzHBohI/AAAAAAAAIc0/kJtj06VXK74/s1600/internet-explorer-transition.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;more of this statistics &lt;a href=&quot;http://arstechnica.com/microsoft/news/2011/11/the-end-of-an-era-internet-explorer-drops-below-50-percent-of-web-usage.ars&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&amp;nbsp;, to summarize looks like its chrome all the way in desktop and safari in mobile, in the future posts&amp;nbsp;lets explore the idea and&amp;nbsp;technology&amp;nbsp;behind&amp;nbsp;chrome and safari&amp;nbsp;what makes them so special and Internet explorer not so very !&lt;/div&gt; &lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/7982651078259754662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/whose-share-is-it-anyway.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/7982651078259754662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/7982651078259754662'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/whose-share-is-it-anyway.html' title='Whose share is it anyway ?'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-gmaMNJUdqFM/TrgwGMChnmI/AAAAAAAAIb4/IqhOzzB1AiU/s72-c/chromevsfirefox.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-4329910402441267447</id><published>2011-11-05T10:03:00.000-07:00</published><updated>2011-11-07T12:53:37.304-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Flash"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><title type='text'>Whats cooking with HTML 5 ?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-vfz6LsXS828/TrT5XinfHtI/AAAAAAAAIbo/Em6t9CzMIx4/s1600/120px-HTML5-logo_svg.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-vfz6LsXS828/TrT5XinfHtI/AAAAAAAAIbo/Em6t9CzMIx4/s1600/120px-HTML5-logo_svg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;W&lt;/span&gt;&lt;/b&gt;e have been hearing&amp;nbsp;too many things about &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;[Open]&lt;/span&gt; HTML5 and &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;[Adobe]&lt;/span&gt; Flash ,on how HTML 5 could end flash&amp;nbsp;dominance in web world both in PC and mobile , of&amp;nbsp;course nothing would change in Mac or&amp;nbsp;Linux&amp;nbsp;world as there is very less support for flash even as today ,&amp;nbsp;sighting &amp;nbsp;performance and battery (in case of mobile devices) overhead due to flash&#39;s excessive&amp;nbsp;CPU&amp;nbsp;utilization, adobe&#39;s header boards read that they are working on the the performance glitch and claims to have achieved some improvement on their flash 10.1 version on windows through hardware acceleration &amp;nbsp;, on the mac world adobe says , apple isn&#39;t &lt;em&gt;allowing&lt;/em&gt; Flash to become more efficient on their Mac OS  X/Safari platform (or their iPod/iPhone/iPad one, either) by not providing the  access to the hardware it needs to reduce its CPU load. Adobe is waiting and  watching to see if they do get the API access.&lt;br /&gt;&lt;br /&gt;There is lot of development work in progress on HTML5 headed by&amp;nbsp;&lt;a href=&quot;http://www.whatwg.org/&quot; target=&quot;_blank&quot;&gt;Web Hypertext Application Technology Working Group&lt;/a&gt; (WHATWG) backed by heavy players like Apple and Google, eager to know&amp;nbsp;&lt;b&gt;whats new on HTML5 ?&lt;/b&gt; &amp;nbsp;categorically&amp;nbsp;the ares to look for are&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;New tags and types&lt;/b&gt; - The &quot;Semantic web&quot; &amp;lt;header&amp;gt; and &amp;lt;footer&amp;gt; , &amp;lt;section&amp;gt; and &amp;lt;article&amp;gt;&amp;nbsp;new input types like email ,&amp;nbsp;URL&amp;nbsp;, number,date. ...form validation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;!DOCTYPE  HTML&amp;gt;&lt;div class=&quot;example_code notranslate&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;&amp;lt;video&lt;/b&gt; width=&quot;320&quot;  height=&quot;240&quot; controls=&quot;controls&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;source src=&quot;movie.mp4&quot;  type=&quot;video/mp4&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Your browser  does not support the video  tag.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;lt;/video&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt; &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Canvas&lt;/b&gt; - Allows you to&amp;nbsp;draw&amp;nbsp;complex graphics , could potentially match up flash , liked by the many in Apple and&amp;nbsp;Google&amp;nbsp;world.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Media&lt;/b&gt; -&amp;nbsp;Audio and&amp;nbsp;Video tags allows you to create AV controls and gives you freedom to control with HTML tags and attributes.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Geo location&lt;/b&gt; -&amp;nbsp;Tells a web app where you are , supports&amp;nbsp;JS API you just have to say &quot;navigation.geolocation.getcurrentposition&quot;&quot;and you get the location.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Drag and drop&lt;/b&gt; - Support for drag and drop files from desktop to browser.and other controls drag and drop on the&amp;nbsp;browser.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Offline and local storage&lt;/b&gt; - Allows you to cache the website locally on the client&amp;nbsp;machine&amp;nbsp;and offline browsing of a site would just make no difference unless&amp;nbsp;there&#39;s&amp;nbsp;any&amp;nbsp;real time&amp;nbsp;data dependency updates.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Learn More on the tags and&amp;nbsp;semantics here :&amp;nbsp;&lt;a href=&quot;http://www.w3schools.com/html5/default.asp&quot; target=&quot;_blank&quot;&gt;W3schools&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)&quot; target=&quot;_blank&quot;&gt;Comparison chart on HTML 4 &amp;amp; 5&lt;/a&gt;&amp;nbsp; ,&amp;nbsp;&lt;a href=&quot;http://html5demos.com/&quot; target=&quot;_blank&quot;&gt;Demos&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Flash V/s HTML 5 what the experts say ?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;According to a report released recently, 34% of the world&#39;s top 100 Web sites were using HTML5 - the adaptation led by search engines and social networks.&amp;nbsp;Facebook announced the launch of the HTML Resource Center, giving developers tools to build, test and deploy Facebook applications&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;Even as innovation continues, advancing HTML5 to Recommendation provides the entire Web ecosystem with a stable, tested, interoperable standard. The decision to schedule the HTML5 Last Call for May 2011 was an important step in setting industry expectations. Today we take the next step, announcing 2014 as the target for Recommendation.&amp;nbsp;&lt;/i&gt;— &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Jeff Jaffe, Chief Executive Officer, W3C&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;According to Adobe,&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;div style=&quot;display: inline !important;&quot;&gt;85% of the most-visited web sites use Flash,&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;75% of web video is viewed using the Flash Player,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;98% of enterprises rely on the Flash Player,&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;70% of web games are made in Flash&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;a href=&quot;http://www.streaminglearningcenter.com/users/jan-ozer-1.html&quot; target=&quot;_blank&quot;&gt;Jan Ozer &lt;/a&gt;an expert in video encoding technologies, &amp;nbsp;recently put HTML5 up against Flash in a series of tests that pitted the two technologies against each other on both the Mac and PC and in different web browsers including Internet Explorer 8, Google Chrome, Apple Safari and Mozilla Firefox. summary of his tests below&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Mac Tests&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;133&quot; src=&quot;http://2.bp.blogspot.com/-rfnO1cK4shI/TrVf-Pxy7xI/AAAAAAAAIbw/vhMxvMYpCyk/s200/apple-windows-logo.jpg&quot; width=&quot;200&quot; /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;With Safari, HTML5 was the most efficient and consumed less CPU than Flash&amp;nbsp;using only 12.39% CPU. With Flash 10.0, CPU utilization was at 37.41%.With Flash 10.1, it dropped to 32.07%.&lt;/li&gt;&lt;li&gt;With Google Chrome, Flash and HTML5 were both equally inefficient (both are&amp;nbsp;around 50%).&lt;/li&gt;&lt;li&gt;With Firefox, Flash was only slightly less efficient than in Safari, but better&amp;nbsp;than in Chrome.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Windows Tests&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Safari wouldn&#39;t play HTML5 videos, so there was no way to test that. However,&amp;nbsp;Flash 10.0 used 23.22% CPU but Flash 10.1 only used 7.43% CPU.&lt;/li&gt;&lt;li&gt;Google Chrome was more efficient on Windows than Mac. Playback with Flash&amp;nbsp;Player 10.0 was about 24% more efficient than HTML5, while Flash Player 10.1&amp;nbsp;was 58% more efficient than HTML5&lt;/li&gt;&lt;li&gt;On Firefox, Flash 10.1 dropped CPU utilization to 6% from 22% in Flash 10.0.&lt;/li&gt;&lt;li&gt;In Internet Explorer 8, Flash 10.0 used 22.41% CPU and Flash 10.1 used 14.62%&amp;nbsp;CPU&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;With the build version of HTML 5 &amp;amp; flash&amp;nbsp;currently we have ......&amp;nbsp;&lt;/div&gt;&lt;b&gt;Circumstances in which it would be appropriate to use HTML5&lt;/b&gt;&lt;br /&gt;&lt;div&gt;If you want a vendor-neutral format, to best respect viewers&#39; freedom of&amp;nbsp;software/hardware choice.&lt;/div&gt;&lt;div&gt;&lt;div&gt;If you are running your video on low-end systems.&lt;/div&gt;&lt;div&gt;If you are looking to save costs (and not have to purchase Flash licenses).&lt;/div&gt;&lt;div&gt;If you want your video/application to be supported on the iPhone, iPad or other&amp;nbsp;mobile Apple platforms.&lt;/div&gt;&lt;div&gt;If it is important that you work with an open development environment.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Circumstances in which it would be appropriate to use Flash&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;If your product needs to support a wide variety of browsers, including older&amp;nbsp;models like Internet Explorer 6.&lt;/div&gt;&lt;div&gt;If you offer video streaming in several bitrates, and want clients to&amp;nbsp;dynamically select between these based on network bandwidth.&lt;/div&gt;&lt;div&gt;If you do not want people to copy your content.&lt;/div&gt;&lt;div&gt;If you want to be able to splice in commercials dynamically throughout the&amp;nbsp;video.&lt;/div&gt;&lt;div&gt;If you need integration with webcams and microphones for interactivity, like&amp;nbsp;two-way.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Its too early to say that&amp;nbsp;HTML 5&amp;nbsp;&amp;nbsp;will eat in to flash&#39;s dominance , but&amp;nbsp;there&#39;s&amp;nbsp;something certainly cooking out there in WHATWG camp with strong backing of Apple and Google, to me less flash means no weekly flash updates. looks like GAME ON !!!. &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/4329910402441267447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/whats-cooking-with-html-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4329910402441267447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4329910402441267447'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/whats-cooking-with-html-5.html' title='Whats cooking with HTML 5 ?'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-vfz6LsXS828/TrT5XinfHtI/AAAAAAAAIbo/Em6t9CzMIx4/s72-c/120px-HTML5-logo_svg.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-6603040204544588523</id><published>2011-11-03T13:24:00.000-07:00</published><updated>2011-11-07T12:54:49.384-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><title type='text'>Console.WriteLine(&quot;Hello Cloud&quot;) ;</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;It might be an late blight&amp;nbsp;to have a post on introduction to cloud when the cloud space is getting denser and started raining&amp;nbsp;innovative&amp;nbsp;ideas, tools , frameworks on and on..... for the&amp;nbsp;benefit&amp;nbsp;of late&amp;nbsp;starters will take a late flight and catch up with the&amp;nbsp;elephantine &lt;a href=&quot;http://hadoop.apache.org/&quot; target=&quot;_blank&quot;&gt;hadoop&lt;/a&gt;&amp;nbsp;for distributed processing of large data sets across clusters to a healthy&amp;nbsp;&lt;a href=&quot;http://www.eucalyptus.com/&quot; target=&quot;_blank&quot;&gt;eucalyptus&lt;/a&gt;&amp;nbsp;software services for your secure private cloud and not to forget some physics with elasticity &amp;nbsp;certainly no Young&#39;s modulus for the &lt;a href=&quot;http://aws.amazon.com/ec2/&quot; target=&quot;_blank&quot;&gt;EC2&lt;/a&gt;&amp;nbsp;the&amp;nbsp;stretchable computing capacity in the cloud.looks like there is big family out there to provide stability,&amp;nbsp;scalability&amp;nbsp;and most importantly security.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Before going deep dive in to the tools and frameworks on cloud , lets&amp;nbsp;unabashedly get in to the basics of cloud and see whats&amp;nbsp;seeding-in&amp;nbsp;there.&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;What is a Cloud ?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;The Wiki says&amp;nbsp;&lt;b&gt;Cloud computing&lt;/b&gt; is the delivery of computing as a service rather than a product, whereby  shared resources, software, and information are provided to computers and other  devices as a utility (like the electricity grid) over a network (typically  the Internet). should be no&amp;nbsp;brainier.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Whats on offer ?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-cKU_0Sm5Qzs/TrL3D265ysI/AAAAAAAAIbg/wwYgmgq0pvY/s1600/cloud.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;196&quot; src=&quot;http://2.bp.blogspot.com/-cKU_0Sm5Qzs/TrL3D265ysI/AAAAAAAAIbg/wwYgmgq0pvY/s640/cloud.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Cloud Modes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Deployment modes of the cloud infrastructure depends on domain and info security. you get to choose the right fit for your organization. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Public cloud&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;Public cloud or external cloud describes cloud computing in the traditional main stream sense, whereby resources are dynamically provisioned on &amp;nbsp;self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who bills on a utility computing basis.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Community cloud&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;A community cloud may be established where several organizations have similar requirements and seek to share infrastructure so as to realize some of the benefits of cloud computing. With the costs spread over fewer users than a public cloud (but more than a single tenant) this option is more expensive but may offer a higher level of privacy, security and/or policy compliance. Examples of community cloud include Google&#39;s &quot;Gov Cloud.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Hybrid cloud&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;The term &quot;Hybrid Cloud&quot; has been used to mean either two separate clouds joined together (public, private, internal or external), or a combination of virtualized cloud server instances used together with real physical hardware. The most correct definition of the term &quot;Hybrid Cloud&quot; is probably the use of physical hardware and virtualized cloud server instances together to provide a single common service A combined cloud environment consisting of multiple internal and/or external providers &quot;will be typical for most enterprises&quot;. By integrating multiple cloud services users may be able to ease the transition to public cloud services while avoiding issues such as PCI compliance.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Private cloud&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;Private cloud and internal cloud have been described as neologisms, vendors use the terms to describe offerings that emulate cloud computing on private networks. These&amp;nbsp;products offer the ability to host applications or virtual machines in a company&#39;s own set of hosts. These provide the benefits of utility computing -shared hardware costs, the ability to recover from failure, and the ability to scale up or down depending upon demand.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;b&gt;What tools are available ?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-H2VhI3Ot7rY/TrL2nzRtI2I/AAAAAAAAIbY/ZNqnhMw-BsI/s1600/cloud2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;507&quot; src=&quot;http://3.bp.blogspot.com/-H2VhI3Ot7rY/TrL2nzRtI2I/AAAAAAAAIbY/ZNqnhMw-BsI/s640/cloud2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-H2VhI3Ot7rY/TrL2nzRtI2I/AAAAAAAAIbY/ZNqnhMw-BsI/s1600/cloud2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;idea of this post was to&amp;nbsp;familiarize&amp;nbsp;with cloud terminologies and a enabler for more technicalities on cloud and time for Billy Joe &quot;Rain drops falling on my head......&quot;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;hope its&amp;nbsp;fulfilled !!&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/6603040204544588523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/consolewritelinehello-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/6603040204544588523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/6603040204544588523'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/consolewritelinehello-cloud.html' title='Console.WriteLine(&quot;Hello Cloud&quot;) ;'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-cKU_0Sm5Qzs/TrL3D265ysI/AAAAAAAAIbg/wwYgmgq0pvY/s72-c/cloud.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6135131245629253654.post-4771559593004333594</id><published>2011-11-02T19:40:00.000-07:00</published><updated>2011-11-07T12:55:10.292-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Apple"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>On the GO !!!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Since the world is glued to mobile Internet, lets sneak a preview on how it looks like and whats in store for future , looks very promising and no more arcane !!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-Coqellgy_gQ/TrIFbh5Nd0I/AAAAAAAAIaI/6QZYSu5IxgY/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-Coqellgy_gQ/TrIFbh5Nd0I/AAAAAAAAIaI/6QZYSu5IxgY/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-hhvXQv3LbLQ/TrIFeFAJNEI/AAAAAAAAIaQ/J3ydmjdcy7A/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-hhvXQv3LbLQ/TrIFeFAJNEI/AAAAAAAAIaQ/J3ydmjdcy7A/s1600/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-IxhQI0atqtY/TrIFhF1ZA1I/AAAAAAAAIaY/qvMwoXGTYcs/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-IxhQI0atqtY/TrIFhF1ZA1I/AAAAAAAAIaY/qvMwoXGTYcs/s1600/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-F72VBeQv16A/TrIFjPMlURI/AAAAAAAAIag/6Z0HkIcF94A/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-F72VBeQv16A/TrIFjPMlURI/AAAAAAAAIag/6Z0HkIcF94A/s1600/4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-jmRjUCPP3w8/TrIFkna_S0I/AAAAAAAAIao/eef3FWbS-5Q/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-jmRjUCPP3w8/TrIFkna_S0I/AAAAAAAAIao/eef3FWbS-5Q/s1600/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-em8vZSav8bQ/TrIFnQ5A9YI/AAAAAAAAIaw/pKCXaaESk9I/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-em8vZSav8bQ/TrIFnQ5A9YI/AAAAAAAAIaw/pKCXaaESk9I/s1600/6.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-ud9ddsQrFjs/TrIFpVEug-I/AAAAAAAAIa4/Tbk4XZWTUO0/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-ud9ddsQrFjs/TrIFpVEug-I/AAAAAAAAIa4/Tbk4XZWTUO0/s1600/7.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;ca-pub-0873429181735217&quot;; /* My Ads */ google_ad_slot = &quot;8251910745&quot;; google_ad_width = 700; google_ad_height = 90; //--&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.rrajan.in/feeds/4771559593004333594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.rrajan.in/2011/11/on-go.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4771559593004333594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6135131245629253654/posts/default/4771559593004333594'/><link rel='alternate' type='text/html' href='http://www.rrajan.in/2011/11/on-go.html' title='On the GO !!!'/><author><name>Ranjith S Rajan</name><uri>http://www.blogger.com/profile/08145377942120854851</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-LIN3ZgjyP-0/TxOSJRuXGbI/AAAAAAAAIio/zKaEuUsCrKQ/s220/Picture%2B014.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-Coqellgy_gQ/TrIFbh5Nd0I/AAAAAAAAIaI/6QZYSu5IxgY/s72-c/1.png" height="72" width="72"/><thr:total>1</thr:total></entry></feed>