<?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>Praveen P.N</title> <atom:link href="http://praveenpn.com/blog/feed/" rel="self" type="application/rss+xml" /><link>http://praveenpn.com/blog</link> <description></description> <lastBuildDate>Tue, 13 Mar 2012 08:32:06 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3</generator> <item><title>Install Growl on OS X Lion</title><link>http://praveenpn.com/blog/2012/03/13/install-growl-on-os-x-lion/</link> <comments>http://praveenpn.com/blog/2012/03/13/install-growl-on-os-x-lion/#comments</comments> <pubDate>Tue, 13 Mar 2012 08:24:18 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Apple]]></category> <category><![CDATA[apple]]></category> <category><![CDATA[compile]]></category> <category><![CDATA[free]]></category> <category><![CDATA[growl]]></category> <category><![CDATA[lion]]></category> <category><![CDATA[osx]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=386</guid> <description><![CDATA[Here&#8217;s the easiest way to install Growl on OS X Lion &#8211; Go to the Mac Appstore and install it. or compile it. Steps I followed to compile it. $brew install mercurial &#160; $hg clone https://code.google.com/p/growl/ &#160; $cd growl &#160; &#8230; <a
href="http://praveenpn.com/blog/2012/03/13/install-growl-on-os-x-lion/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Here&#8217;s the easiest way to install Growl on OS X Lion &#8211; Go to the Mac Appstore and <a
title="Growl for OS X" href="http://itunes.apple.com/us/app/growl/id467939042?mt=12&amp;ign-mpt=uo%3D4" target="_blank">install it</a>.</p><p>or compile it.</p><p>Steps I followed to compile it.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$brew</span> <span style="color: #c20cb9; font-weight: bold;">install</span> mercurial 
&nbsp;
<span style="color: #007800;">$hg</span> clone https:<span style="color: #000000; font-weight: bold;">//</span>code.google.com<span style="color: #000000; font-weight: bold;">/</span>p<span style="color: #000000; font-weight: bold;">/</span>growl<span style="color: #000000; font-weight: bold;">/</span>
&nbsp;
<span style="color: #007800;">$cd</span> growl
&nbsp;
<span style="color: #007800;">$hg</span> tags <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #666666; font-style: italic;">#find the latest version</span>
&nbsp;
<span style="color: #007800;">$hg</span> update <span style="color: #ff0000;">&quot;Growl.app 1.3.3&quot;</span></pre></div></div><p>Create a new certificate.</p><p>Steps:<br
/> Open Keychain Access.app<br
/> KeyChain Access &gt; Certificate Assistant &gt; Create a Certificate<br
/> Name: 3rd Party Mac Developer Application: The Growl Project, LLC<br
/> Identity Type: Self Signed Root (default)<br
/> Type: Code Signing</p><p>Hit Create.</p><p>you&#8217;ll need Xcode for the next step.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$xcodebuild</span> <span style="color: #660033;">-project</span> Growl.xcodeproj <span style="color: #660033;">-target</span> Growl.app <span style="color: #660033;">-configuration</span> Release 
&nbsp;
<span style="color: #007800;">$cd</span> build<span style="color: #000000; font-weight: bold;">/</span>Release<span style="color: #000000; font-weight: bold;">/</span>
&nbsp;
<span style="color: #007800;">$cp</span> Growl.app <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span></pre></div></div><p>Done.</p><p><em> Note: I had to quit and restart the Twitter client to make it appear in the Growl Applications list.</em></p><p>References:<br
/> 1. <a
href="http://www.growl.info/documentation/developer/growl-source-install.php" target="_blank">http://growl.info/documentation/developer/growl-source-install.php</a><br
/> 2. <a
href="http://groups.google.com/group/growldiscuss/browse_thread/thread/b681473390f7b710" target="_blank">http://groups.google.com/group/growldiscuss/browse_thread/thread/b681473390f7b710</a></p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2012/03/13/install-growl-on-os-x-lion/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Metrics &#8211; the foundation of Web Page Optimization</title><link>http://praveenpn.com/blog/2012/01/13/metrics-the-foundation-of-web-page-optimization/</link> <comments>http://praveenpn.com/blog/2012/01/13/metrics-the-foundation-of-web-page-optimization/#comments</comments> <pubDate>Fri, 13 Jan 2012 18:01:22 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Performance]]></category> <category><![CDATA[measurement]]></category> <category><![CDATA[metrics]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[performance metrics]]></category> <category><![CDATA[web page optimization]]></category> <category><![CDATA[wpo]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=347</guid> <description><![CDATA[Metrics has to be that one component in Web Page Optimization(WPO) that you just can&#8217;t afford to get wrong, yet, most people get it wrong.  The problem with getting your metrics wrong is that, you think you have fixed a &#8230; <a
href="http://praveenpn.com/blog/2012/01/13/metrics-the-foundation-of-web-page-optimization/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Metrics has to be that one component in Web Page Optimization(WPO) that you just can&#8217;t afford to get wrong, yet, most people get it wrong.  The problem with getting your metrics wrong is that, you think you have fixed a problem, when you haven&#8217;t actually. I&#8217;ll give an example in each section below.<br
/> Before that, a quick summary on why we need measurements in WPO(experts can skip this para).<br
/> Assume you have a page (say A) which takes X seconds to load, you do some optimizations on that page A, at this point the only way to tell if your new page (say A1) is performing better than the older page(A) or No is by looking at the new page load time, say Y. Compare Y with X and see if performance has actually improved or degraded. This is the most basic method of looking at performance data and concluding if your optimizations have worked or no.</p><h2>Which</h2><div
id="attachment_367" class="wp-caption aligncenter" style="width: 610px"><a
href="http://www.flickr.com/photos/calliope/3009728175/" target="_blank"><img
class="size-full wp-image-367 " title="Which" src="http://praveenpn.com/blog/wp-content/uploads/2012/01/pick.jpg" alt="Which" width="600" height="180" /></a><p
class="wp-caption-text">pic by calliope</p></div><p><strong>Which</strong> pages should you measure?<br
/> Most of the time, the page that looks obvious is not the one you should be optimizing. e.g If you were to optimize a shopping site, then the Home page is not the one which should be optimizing first, it should be the product listing page or any page which is viewed most.<br
/> The key here is to find out <strong>which</strong> pages are the most visited pages in your site. I&#8217;ll give some examples here:</p><ul><li>News site &#8211; Article page should be the most viewed page.</li><li>Celebrity site &#8211; Photo slideshow/video page should be the most viewed page.</li><li>Listings site &#8211; Search results page or listing page should be the most viewed page.</li></ul><p><em>Don&#8217;t take my word on this, look at the data you have and find out for yourself.</em></p><p>I think you get the point. There&#8217;s no use in fine tuning that page which is viewed by only 2% of your users, pick the one <strong>which</strong> actually matters and fix it.<br
/> All this sounds like a no-brainier right? But guess what, this is <strong>the</strong> most common mistake most of us make.<br
/> Next time somebody tells you their site is slow, this is where you start.</p><h2>What</h2><div
id="attachment_368" class="wp-caption aligncenter" style="width: 610px"><a
href="http://www.flickr.com/photos/practicalowl/3379955428/"><img
class="size-full wp-image-368" title="What" src="http://praveenpn.com/blog/wp-content/uploads/2012/01/what.jpg" alt="What" width="600" height="180" /></a><p
class="wp-caption-text">pic by practicalowl</p></div><p>Now that you know which pages you have to fix, let&#8217;s look at <strong>what</strong> we need to measure. This part is quite vast and I&#8217;ll try to cover as much as I can.<br
/> The ideal scenario here would be to stand with a stopwatch behind a person using your site and see know long it took for him to navigate from page A to page B.<br
/> Some of us look at full page load time, some look at the onload event, base page load time, Above-the-fold time(AFT) and so on.</p><p><strong>What</strong> to measure depends on how your page is structured. <strong>What</strong> is the key selling point of your site, is it a stock quote on top of the page or is it an image in a slideshow or is it an article, or is it user comments.<br
/> The easiest way to look at this is &#8211; what is it that&#8217;s visible in a browser when I load your site. The content that appears above the fold is important, that&#8217;s why it&#8217;s there(above the fold &#8211; the user doesn&#8217;t have to scroll to get to real content).</p><p>Majority of the sites should be good with just measuring the <em>onload</em> time of a page, because it doesn&#8217;t matter what the browser is loading in the background. There are exceptions to this, and that is why I&#8217;m saying majority and not all sites(explained below).</p><p>This is a good time to look at your page and say, &#8220;<em>hey, am I loading things in my page that users really don&#8217;t care about or need right away?</em>&#8221; Just load what is needed the most first, add the cosmetic stuff later on. Some examples to make this clear.</p><ul><li>Small image carousel in an article page &#8211; users come to your site to read the article, so load that article first and load the JS for your carousel after page load.</li><li>Photo page &#8211; most of the time, users are not going to scroll down to read comments on each photo, they might just want to see photos. Load the comments on each photo only when a user scrolls to that section of the page.</li></ul><p>I can go on and on with this list, but let me get back to the topic we are discussing here.</p><h3>Exceptions</h3><p>There are some pages like, a Maps site or a page that does a lot of ajax calls back and forth. Measuring just the body <em>onload</em> time might not be enough in this case. You will have to measure the time it took for the most important content on the page to load. e.g map tile images for a maps site or email in an email application or user comments, etc.In these cases you&#8217;ll have to come up with your own set of rules and decide what you should measure.</p><p>There has been a lot of discussion on Above-the-fold time and how to measure it, but personally I feel <em>onload</em> time should be the metric to go by for most of us.<br
/> Then we have Perceived Performance, this one&#8217;s tricky and probably the only one that comes closest to what a human brain perceives as fast.</p><h2>How</h2><div
id="attachment_369" class="wp-caption aligncenter" style="width: 610px"><a
href="http://www.flickr.com/photos/cifor/5611782251/"><img
class="size-full wp-image-369" title="How" src="http://praveenpn.com/blog/wp-content/uploads/2012/01/howto.jpg" alt="How" width="600" height="180" /></a><p
class="wp-caption-text">pic by cifor</p></div><p>You know <strong>which</strong> pages to measure and <strong>what</strong> to look for in those pages. Let&#8217;s look at how we can measure our pages.</p><p><strong>How</strong> can be classified into a of categories, like, is it a command line script that will be polling a page to measure page load time or is it a browser emulator that is opening a page or is it a piece of JavaScript in a users browser. There are many ways to measure and each one has it&#8217;s own advantages and drawbacks.<br
/> The first thing we need to understand here is &#8211; The user is not going to open the page the way your tool does or have the same Internet connection as your tool does or follow a browsing pattern that you expect. Users are random, totally random.<br
/> That is why one should take <strong>lot</strong> of samples, this evens out the odd ones.</p><p>If you don&#8217;t have have the tools that simulate your users browser, Internet connection and other such variables, then the best option is to go for beacon based tracking using JavaScript. Use something like <a
title="Boomerang" href="http://yahoo.github.com/boomerang/doc/" target="_blank">Boomerang</a>. This will iron out most of the issues we discussed in the previous para.<br
/> <a
title="WebPagetest" href="http://www.webpagetest.org/" target="_blank">WebPagetest</a> is another useful tool that lets you control a lot of variables like browser version, locations, bandwidth, etc. and gives very detailed information.<br
/> There are paid alternatives like Gomez and Keynote who specialize in giving very detailed performance metrics.</p><h2>Where</h2><p>This section is not relevant for tests that use JS tracking, but it&#8217;s still important to keep the <strong>where</strong> part in mind when you set-up other tests(like WebPageTest).<br
/> If majority of your users come from US or any particular region, then make sure your tests are running from that region. There is no point in measuring a page from India when most of its users are from US.</p><p>That pretty much sums up what I had to say. There are more topics in metrics that I&#8217;d like to talk about, like average vs 90th percentile and more. I&#8217;ll save that for another day.</p><p>I thought of writing this post because measurement looks like a very small piece of the whole WPO stack, when in reality, it&#8217;s not. Flawed metrics not only means waste of time, in some cases it could also mean money.</p><p>Do drop a line and let me know what you think about the whole topic of getting metrics right.</p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2012/01/13/metrics-the-foundation-of-web-page-optimization/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Manfrotto 190XB and 496RC2 Ball Head &#8211; Review</title><link>http://praveenpn.com/blog/2012/01/03/manfrotto-190xb-and-496rc2-ball-head-review/</link> <comments>http://praveenpn.com/blog/2012/01/03/manfrotto-190xb-and-496rc2-ball-head-review/#comments</comments> <pubDate>Tue, 03 Jan 2012 10:04:25 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Photography]]></category> <category><![CDATA[496RC2 Ball Head]]></category> <category><![CDATA[ball head]]></category> <category><![CDATA[legs]]></category> <category><![CDATA[manfrotto]]></category> <category><![CDATA[Manfrotto 190XB Aluminum Tripod]]></category> <category><![CDATA[tripod]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=327</guid> <description><![CDATA[I&#8217;m late for the party, late by almost 1.5 years, that&#8217;s how long it has been since I got a DSLR, never really took time or put any effort into buying a tripod, part of it could be because I &#8230; <a
href="http://praveenpn.com/blog/2012/01/03/manfrotto-190xb-and-496rc2-ball-head-review/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m late for the party, late by almost 1.5 years, that&#8217;s how long it has been since I got a <a
title="Nikon D90" href="http://www.flickr.com/cameras/nikon/d90/" target="_blank">DSLR</a>, never really took time or put any effort into buying a tripod, part of it could be because I never felt the need for one, and some of it surely is laziness.</p><h3>Piece of advice</h3><p>The single biggest mistake most people do when it comes to buying a tripod is &#8220;<em>let&#8217;s buy something cheap for now and upgrade later</em>&#8220;. Please don&#8217;t. Pretty soon you&#8217;ll realize that the &#8216;cheap&#8217; tripod doesn&#8217;t quite cut it and you need a new one, this is when you either upgrade or don&#8217;t buy a new tripod at all. If you&#8217;re serious about photography and love your camera, then don&#8217;t buy a cheap tripod, wait till you have enough money(if that&#8217;s a problem) and buy a good tripod.<br
/> Part of this advice comes from interacting with people who are into photography and experiences shared by people(online) who have fallen for the &#8216;cheap tripod&#8217; trap.</p><h3>My research</h3><p>A typical start would have been with a web search for &#8216;best tripod for DSLR&#8217; etc., but I used a different technique this time,  I started watching videos made by some professional and semi-professional photographers on youtube and it didn&#8217;t take me long to narrow down on the brand I was going with &#8211; <a
href="http://www.manfrotto.com/" target="_blank">Manfrotto</a>. Key selling points for me were good build quality, reliable and a durable brand. Of course I did ask my friends about Manfrotto, and all of them only had good things to say about the brand.<br
/> Deciding which brand to go with was just 10% of the problem, the remaining was to finalize which model to buy, which ball head to buy. Few more days of reading and I made up mind to go with the <a
href="http://www.manfrotto.com/aluminium-tripod-black-without-head" target="_blank">Manfrotto 190XB Aluminum Tripod</a> and the <a
href="http://www.manfrotto.com/compact-ball-head-with-rc2" target="_blank">496RC2 Ball Head</a>.</p><p>Ok, I didn&#8217;t intend to go about telling you&#8217;ll all that, my main aim was to show you&#8217;ll how it looks like and answer some common questions people had.</p><h3>Photographs</h3><div
class="wp-caption aligncenter" style="width: 650px"><a
href="http://farm8.staticflickr.com/7150/6626772013_7a0e132941_b.jpg"><img
title="Top view" src="http://farm8.staticflickr.com/7150/6626772013_7a0e132941_z.jpg" alt="Top view" width="640" height="427" /></a><p
class="wp-caption-text">Top view (click image for large)</p></div><div
class="wp-caption aligncenter" style="width: 650px"><a
href="http://farm8.staticflickr.com/7170/6626778135_3980242fab_b.jpg"><img
title="Tripod legs" src="http://farm8.staticflickr.com/7170/6626778135_3980242fab_z.jpg" alt="Tripod legs" width="640" height="427" /></a><p
class="wp-caption-text">Tripod legs (click image for large)</p></div><div
class="wp-caption aligncenter" style="width: 437px"><a
href="http://farm8.staticflickr.com/7173/6626779563_3d28575f9d_b.jpg"><img
title="Center column" src="http://farm8.staticflickr.com/7173/6626779563_3d28575f9d_z.jpg" alt="Center column" width="427" height="640" /></a><p
class="wp-caption-text">Center column (click image for large)</p></div><div
class="wp-caption aligncenter" style="width: 650px"><a
href="http://farm8.staticflickr.com/7165/6626775999_15dc9ae516_b.jpg"><img
title="Ball Head front" src="http://farm8.staticflickr.com/7165/6626775999_15dc9ae516_z.jpg" alt="Ball Head front" width="640" height="427" /></a><p
class="wp-caption-text">Ball Head front (click image for large)</p></div><div
class="wp-caption aligncenter" style="width: 650px"><a
href="http://farm8.staticflickr.com/7168/6626773685_2837f004e5_b.jpg"><img
title="Ball Head back " src="http://farm8.staticflickr.com/7168/6626773685_2837f004e5_z.jpg" alt="Ball Head back " width="640" height="427" /></a><p
class="wp-caption-text">Ball Head back (click image for large)</p></div><h3>Pros</h3><ul><li>Stability &#8211; makes my D90 w/ 18-105mm look like a small baby</li><li>Adjustable center column length &#8211; helps you go really low (two piece column)</li><li>Build quality &#8211; very good</li><li>Leg warmers <img
src='http://praveenpn.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></li><li>One button locks the whole ball head, I prefer this over 2-3 different locks</li><li>Once you lock the ball head, it wont wobble at all</li><li>Love the friction nob</li><li>Easy to shuffle between portrait and landscape mode</li></ul><h3>Cons</h3><ul><li>Doesn&#8217;t fit anywhere in/on my camera bag &#8211; Kata DR 467</li><li>No spirit level &#8211; they could have easily added one</li><li>Some <strong>might</strong> find it heavy &#8211; I don&#8217;t.</li></ul><p>Another question which was going on in my mind after I ordered the tripod was &#8211; is it tall enough for a person of my height &#8211; I&#8217;m 5ft 7in. Yes, it&#8217;s tall enough. Look at this pic below.<br
/> I mounted my camera and raised the viewfinder to my eye level. Even with that there&#8217;s more of that center column left to pull up, little less than half the length of the center column &#8211; 3 or 4 inches maybe.</p><div
id="attachment_339" class="wp-caption aligncenter" style="width: 473px"><a
href="http://praveenpn.com/blog/wp-content/uploads/2012/01/full_view_edited.jpg"><img
class="size-large wp-image-339" title="Full view" src="http://praveenpn.com/blog/wp-content/uploads/2012/01/full_view_edited-463x1024.jpg" alt="Full view" width="463" height="1024" /></a><p
class="wp-caption-text">Full view at 5ft 7in</p></div><p>Overall, I would highly recommend this tripod, it&#8217;s worth every penny. If you are willing to take it one step further then buy the carbon-fibre version of this model. It should be twice as light compared to this one and expensive as well.</p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2012/01/03/manfrotto-190xb-and-496rc2-ball-head-review/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Solve the itunes unknown error(3002) while upgrading to iOS 5</title><link>http://praveenpn.com/blog/2011/10/13/solve-the-itunes-unknown-3002-error-for-ios5/</link> <comments>http://praveenpn.com/blog/2011/10/13/solve-the-itunes-unknown-3002-error-for-ios5/#comments</comments> <pubDate>Wed, 12 Oct 2011 20:00:55 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Apple]]></category> <category><![CDATA[3002]]></category> <category><![CDATA[error]]></category> <category><![CDATA[ios5]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[itunes]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=318</guid> <description><![CDATA[I downloaded the iOS 5 .ipsw file from a direct link. You can find the one that matches your device type from here. After the download completed, I followed standard instructions like hold &#8216;Option&#8217; while I click the &#8216;Update&#8217; button &#8230; <a
href="http://praveenpn.com/blog/2011/10/13/solve-the-itunes-unknown-3002-error-for-ios5/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I downloaded the iOS 5 .ipsw file from a direct link. You can find the one that matches your device type from <a
href="http://osxdaily.com/2011/10/12/ios-5-download-available/" target="_blank">here</a>.</p><p>After the download completed, I followed standard instructions like hold &#8216;Option&#8217; while I click the &#8216;Update&#8217; button in iTunes. Did that and selected the .ipsw,  iTunes says, contacting itunes store and throws this error.</p><p
style="text-align: left;"><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/10/iphone_error_3002.png"><img
class="size-full wp-image-319 aligncenter" title="iphone_error_3002" src="http://praveenpn.com/blog/wp-content/uploads/2011/10/iphone_error_3002.png" alt="iphone 3002 itunes error" width="509" height="166" /></a><br
/> How I fixed this error on my Mac(Snow leopard).</p><ol><li>Move the iPhone3xxxxx_Restore.ipsw file to <em>/Users/&lt;yourusername&gt;/Library/iTunes/iPhone Software Updates/</em></li><li>Quit and reopen iTunes</li><li>Click on your device and click &#8216;Update&#8217;</li><li>Done.</li></ol><p>This did the trick.</p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/10/13/solve-the-itunes-unknown-3002-error-for-ios5/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Cool Drive Services Bangalore and their Service</title><link>http://praveenpn.com/blog/2011/05/20/cool-drive-services-bangalore-and-their-service/</link> <comments>http://praveenpn.com/blog/2011/05/20/cool-drive-services-bangalore-and-their-service/#comments</comments> <pubDate>Fri, 20 May 2011 12:18:59 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Cars]]></category> <category><![CDATA[bangalore]]></category> <category><![CDATA[car]]></category> <category><![CDATA[car wash]]></category> <category><![CDATA[cool drive]]></category> <category><![CDATA[groupon]]></category> <category><![CDATA[sosasta]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=290</guid> <description><![CDATA[I got introduced to sosasta.com(an initiative by Groupon in India) two weeks ago &#38; in no time I bought this deal that looked amazing. This deal is by Cool Drive &#8211; a service that gives you car wash at your door &#8230; <a
href="http://praveenpn.com/blog/2011/05/20/cool-drive-services-bangalore-and-their-service/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I got introduced to <a
title="SoSasta" href="http://www.sosasta.com/" target="_blank">sosasta.com</a>(an initiative by Groupon in India) two weeks ago &amp; in no time I bought this deal that looked amazing.<br
/> This deal is by <a
href="http://www.cooldriveservices.com/" target="_blank">Cool Drive</a> &#8211; a service that gives you car wash at your door step. (<a
title="snapshot of Cool drive" href="https://skitch.com/holydevil/fyxdh/cool-drive-deal" target="_blank">Snapshot of full deal</a>).<span
id="more-290"></span></p><p>Deal details:<br
/> MRP &#8211; Rs. 250/-<br
/> Offer price &#8211; Rs. 99/- (discount of 60%)</p><p><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/05/nothing_so_cool.jpg"><img
class="alignnone size-full wp-image-293" style="border: 1px solid black;" title="Cool Drive" src="http://praveenpn.com/blog/wp-content/uploads/2011/05/nothing_so_cool.jpg" alt="" width="488" height="300" /></a></p><p><em>Thanks to the goof-up by CCAvenue, I ended up buying two such deals from Sosasta.</em></p><h3>Their Service &#8211; <span
style="text-decoration: line-through;">Sucks!</span> Good.</h3><p>As per the information shared on the deal &#8211; I have to just call them up to fix an appointment.</p><p><strong>Attempt number 1:</strong><br
/> The very first time I call up, the guy at the other end makes it sounds like they are free on weekends. I call him up again on a friday and he says, we cannot come tomorrow, we are fully booked.<br
/> Ok fine. May be I should try again next week.</p><p><strong>Attempt number 2:</strong><br
/> This time I know the drill, so I call them up on May 18th(wed) and ask him specifically &#8220;if they are free on Saturday morning and if  they can come to wash the Car&#8221;.<br
/> He says &#8220;YES, just  send me an SMS with you address and I&#8217;ll confirm&#8221;. Ok fine. I send an SMS soon after I keep the phone and wait.<br
/> No response or any sort of confirmation from him. I wait for one more day and try to call him up. He doesn&#8217;t pick up my call this time.<br
/> I try calling the alternate number and one guy picks up.<br
/> When I ask him if they will come tomorrow &#8211; he sounds clueless and says &#8230; we are still finalizing the list and will call you up and confirm.<br
/> No calls for the next 5 hours. I&#8217;m still waiting with some hope of getting a confirmation from these guys.</p><p>They have given two mobile numbers to call up and make the booking. No 1: 9900330330, No 2: 8892069228.</p><p>Since number No 2 has been avoiding my call throughout the day, I try calling him up from my landline. Bang! he picks up the phone in 1 ring.<br
/> I ask him if they are coming to my place tomorrow and he says: &#8220;we are fully booked for tomorrow, we can&#8217;t come&#8221;<br
/> I tell him that I have made a booking 3 days in advance and they promised to come.<br
/> He says &#8211; &#8220;The deal is valid for 3 months and we can&#8217;t promise you when we are going to come and clean the Car&#8221;.<br
/> He&#8217;s trying to say that I should wait for a confirmation from them for, which can come anytime in the timespan of 3 months. Ridiculous.</p><p>He settles for a easier solution and says he can come today evening and do it. Great! I ask him if he knows my address and he promptly says Yes!<br
/> When I name my area and ask him what time he will reach &#8230; that is when he realizes that he can&#8217;t make it today either. WTF!</p><p>All he has to say is. We will call up and confirm. When I ask about when I can expect a call &#8211; he says he can&#8217;t tell me that.</p><blockquote><p>If you are a new company who wants to retain/get new customers, then please learn to keep your word and respect your customers time.</p></blockquote><p>I will update this post with details on how good their service is, I hope I can make them come to my place first.</p><p><strong>Current Status: </strong><span
style="text-decoration: line-through;">Still trying to get an appointment for something I PAID in ADVANCE.</span>. They did come and wash the car after a week. Thanks to whoever who made it possible without me making a single phone call for this.</p><p><strong>Update #1</strong> (26th May 2011): Somebody by the name Bharath from Groupon contacts me and wants to talk to me. I share my email address with him. See comments below.</p><p><strong>Update #2</strong> (27th May 2011): Bharath from Groupon mails me and asks for my contact number. I share my contact number with him.</p><p><strong>Update #3</strong> (28th May 2011): I get a call from Cool Drive Services and the person on the other side says they are coming today to wash the car(phew! finally). He asks me if 12.30 p.m would be fine, for which I say Yes, and he said the driver will call me up.<br
/> As expected, they called up, I met them and they <strong>did wash the Car</strong>.</p><blockquote><p>They did a good job in the end. Thank you Cool Drive and Sosasta.</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/05/20/cool-drive-services-bangalore-and-their-service/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Protected: A trip to the Land of Smiles &#8211; Thailand</title><link>http://praveenpn.com/blog/2011/05/18/a-trip-to-the-land-of-smiles-thailand/</link> <comments>http://praveenpn.com/blog/2011/05/18/a-trip-to-the-land-of-smiles-thailand/#comments</comments> <pubDate>Wed, 18 May 2011 07:05:42 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Travel]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=242</guid> <description><![CDATA[There is no excerpt because this is a protected post.]]></description> <content:encoded><![CDATA[<form
action="http://praveenpn.com/blog/wp-pass.php" method="post"><p>This post is password protected. To view it please enter your password below:</p><p><label
for="pwbox-242">Password:<br
/> <input
name="post_password" id="pwbox-242" type="password" size="20" /></label><br
/> <input
type="submit" name="Submit" value="Submit" /></p></form> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/05/18/a-trip-to-the-land-of-smiles-thailand/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>iPhone carrier settings update from Airtel</title><link>http://praveenpn.com/blog/2011/05/09/iphone-carrier-settings-update-from-airtel/</link> <comments>http://praveenpn.com/blog/2011/05/09/iphone-carrier-settings-update-from-airtel/#comments</comments> <pubDate>Mon, 09 May 2011 11:13:55 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Apple]]></category> <category><![CDATA[airtel]]></category> <category><![CDATA[apple]]></category> <category><![CDATA[carrier]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[update]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=270</guid> <description><![CDATA[I got this dialogue box when I connected my iPhone to iTunes. Clicking on &#8220;Learn More&#8221; tells me this is an update from my carrier(Airtel). But what does this update contain? &#8230; I don&#8217;t know(yet!). The apple support page tells &#8230; <a
href="http://praveenpn.com/blog/2011/05/09/iphone-carrier-settings-update-from-airtel/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I got this dialogue box when I connected my iPhone to iTunes.</p><p><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/05/settings.jpg"><img
class="alignnone size-full wp-image-271" title="iphone carrier settings update" src="http://praveenpn.com/blog/wp-content/uploads/2011/05/settings.jpg" alt="" width="460" height="197" /></a></p><p>Clicking on &#8220;Learn More&#8221; tells me this is an update from my carrier(Airtel). But what does this update contain? &#8230; I don&#8217;t know(yet!).<br
/> The apple support page tells me it will be saved here:</p><p>/Users/[Username]/Library/iTunes/iPhone Carrier Support/</p><p>Fair enough. Let&#8217;s see what the update actually is.<br
/> I looked up twitter and saw that I am not the only one who got this and people have updated their setting without any issues. I clicked on Download and update.</p><p>The update file is named <em><strong>BhartiAirtel_in_iPhone.ipcc </strong></em> and is placed in the directory mentioned above.</p><p>Little bit of digging tells me .ipcc is a .zip renamed to .ipcc, great.<br
/> Renamed that file to .zip and extracted the contents. I&#8217;m left with a folder named <strong>Payload</strong>. Inside Payload is <strong>BhartiAirtel_in.bundle</strong>. Right click the .bundle file and select show Package contents.<br
/> This is what I have:</p><p><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/05/airtel_bundle.jpg"><img
class="alignnone size-full wp-image-272" title="airtel_bundle" src="http://praveenpn.com/blog/wp-content/uploads/2011/05/airtel_bundle.jpg" alt="" width="572" height="205" /></a></p><p><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/05/airtel_bundle.jpg"></a>Both .png images are blank(I&#8217;m unable to see anything).<br
/> <strong>version.plist</strong> has the new version number(10.0 was the old one), it&#8217;s 10.1 now.<br
/> Double click the carrier.plist file and it will open up in plist editor. It&#8217;s a simple XML file(just like any other plist file).<br
/> My gut feeling is that they probably have updated the list of SupportedSIMs section and nothing great.</p><div
class="wp_syntax"><div
class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #00bbdd;">&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;plist</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40410<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40492<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40440<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40431<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40490<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40498<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40449<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40445<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40494<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40495<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40402<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40496<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40497<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40554<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40470<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40493<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40551<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40403<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40552<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40553<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40556<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40416<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>40555<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/plist<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div><blockquote><p>I&#8217;ll vote this as a safe update, don&#8217;t worry, go ahead and get the update. Everything should work as it was before.</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/05/09/iphone-carrier-settings-update-from-airtel/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>Import contacts from Moto Rokr E6 to iPhone 4</title><link>http://praveenpn.com/blog/2011/04/12/import-contacts-from-moto-rokr-e6-to-iphone-4/</link> <comments>http://praveenpn.com/blog/2011/04/12/import-contacts-from-moto-rokr-e6-to-iphone-4/#comments</comments> <pubDate>Mon, 11 Apr 2011 18:40:25 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=222</guid> <description><![CDATA[What I am writing might not be useful for anyone, because I don&#8217;t think anyone out there will be having the phone I had(Moto Rokr E6) for so long &#38; manage to keep it working. I had a couple of &#8230; <a
href="http://praveenpn.com/blog/2011/04/12/import-contacts-from-moto-rokr-e6-to-iphone-4/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>What I am writing might not be useful for anyone, because I don&#8217;t think anyone out there will be having the phone I had(Moto Rokr E6) for so long &amp; manage to keep it working.</p><p>I had a couple of options to transfer my contacts to the iPhone 4.<br
/> <strong>Option 1:</strong> The simpler option suggested by everyone &#8211; copy contacts to SIM card and then copy them over to the iPhone &#8211; Done.<br
/> It was doable, but I wanted it more systematic and some contacts had important information like city, email address and even postal addresses.</p><p>I looked up online for information on how to backup data from a Moto Rokr E6, and all I found were solutions using the Motorola Phone Tools software(This software comes with the phone in a CD).</p><p><strong>Option 2:</strong> I tried searching for the Motorola Phone Tools(MPT) software online, found one link, but it said it will take me 4 days to download 80MB of data. I gave up on that. That&#8217;s when I remembered that I had the CD that came along with my phone somewhere at home.<br
/> Reached home, knew where to look for the CD and found it in no time. Next, find a Win Computer(That installer works only with Windows).<br
/> Went to my friends place with the CD and tried installing it on Windows 7. That software was written in 2006 and I had very less hope of it even installing, but guess what, it installed without any problems and ran also.</p><p><strong>Problem 1:</strong> My phone wont get detected.<br
/> Tried connecting it using USB, and some other tricks. None of them worked. Then it came to my mind that this piece of software(MPT) was written back in the days of XP.<br
/> Right click -&gt; Properties -&gt;  Changed compatibility to &#8220;XP Service Pack 2&#8243; and ran it. Voila! It worked, my phone got detected.</p><p>Without wasting a minute, I hit the back-up/restore option in that tool. Connecting &#8230;. DONE. Backing up &#8230;. DONE.<br
/> At this point I was somewhat sure that my contacts are backed up and lying somewhere in the computer.</p><p><strong>Problem 2:</strong> I didn&#8217;t know where the file was saved and in what format.<br
/> I had a tuff time finding this one(I haven&#8217;t used windows for 3-4 years now). Looked in Program files &amp; every other place. Didn&#8217;t find anything related. Hidden files &#8211; yes, that option was enabled by default.<br
/> Changed those settings and I had a &#8220;Programs data&#8221; directory that appeared, digged a bit into it and found the MPT folder, it had two .mdb files, contacts.mdb and events.mdb. Microsoft Access? WTF! That&#8217;s what I said first, and since Microsoft Access was already installed on the computer I thought this would be a cake walk. But wait &#8230; the moment I opened it, it said &#8211; The software is expired and I can&#8217;t open the file.</p><p>I&#8217;ll summarize what happened here. I downloaded a free viewer from the internet and opened the file. Those files didn&#8217;t contain the data I was looking for &#8211; my contacts.</p><p>The search continues.</p><p>After looking around for a while, I fond another interesting folder &#8211; SyncML. Opened a bunch of random folders in it and there goes two text files &#8211; contacts.txt and events.txt, both files with file size &gt; 0 KB. Phew!<br
/> This is how the <em>contacts.txt</em> file looked like:</p><pre>BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;xxxx
TEL;VOICE;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:+012345678
X-MOT-CAT;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Phone
UID:00001
END:VCARD
BEGIN:VCARD
.
.
.
.
.</pre><p>Ok. Now I have some data to play around with.</p><p>Emailed this file to my mail account and came back home.<br
/> 1. Opened Gmail &amp; created a new group in the contacts section.<br
/> 2. Tried the import option and selected the contacts.txt file<br
/> 3. It worked! All contacts were imported.<br
/> 4.  Export contacts in .vcf format.</p><p>Downloaded  that file and imported it in Address Book. Done.</p><blockquote><p>Never ever throw away the CD that came with your mobile Phone</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/04/12/import-contacts-from-moto-rokr-e6-to-iphone-4/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Velocity online conference &#8211; March 2011</title><link>http://praveenpn.com/blog/2011/03/16/velocity-online-conference-march-2011/</link> <comments>http://praveenpn.com/blog/2011/03/16/velocity-online-conference-march-2011/#comments</comments> <pubDate>Wed, 16 Mar 2011 11:14:08 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Performance]]></category> <category><![CDATA[AFT]]></category> <category><![CDATA[blaze]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[jdrop]]></category> <category><![CDATA[microsoft]]></category> <category><![CDATA[mobile]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[w3c]]></category> <category><![CDATA[wpt]]></category> <category><![CDATA[Yahoo!]]></category> <category><![CDATA[yslow]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=197</guid> <description><![CDATA[I&#8217;ll try to summarize all the links and information shared in the conference last night. 1. Web Standards to Measure Real-world Performance [slides] - by Tony Gentilcore (Google) &#38; Anderson Quach (Microsoft) They explained a bit about the Web Performance Working &#8230; <a
href="http://praveenpn.com/blog/2011/03/16/velocity-online-conference-march-2011/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ll try to summarize all the links and information shared in the conference last night.</p><p><strong>1. Web Standards to Measure Real-world Performance</strong> [<a
title="Download slides" href="http://assets.en.oreilly.com/1/event/62/Web%20Standards%20to%20Measure%20Real-world%20Performance%20Presentation.pptx" target="_blank">slides</a>]<br
/> <em>- by Tony Gentilcore (Google) &amp; Anderson Quach (Microsoft)</em></p><p>They explained a bit about the Web Performance Working Group and jumped straight into the implementation of it in Chrome and IE9.<br
/> The three key things that will be available as per the spec are:</p><ol><li>HTML document : Navigation Timing</li><li>HTML resources: Resource timing. e.g Images, audio, video, etc.</li><li>Interactive scenarios: clicking on links</li></ol><p>Navigation timing[<a
title="Spec" href="http://w3c-test.org/webperf/specs/NavigationTiming/" target="_blank">spec</a>]:<br
/> The events that will be available as part of this spec are summarized in this image below:</p><div
class="wp-caption alignnone" style="width: 629px"><a
href="http://w3c-test.org/webperf/specs/NavigationTiming/timing-overview.png"><img
title="Navigation timing" src="http://w3c-test.org/webperf/specs/NavigationTiming/timing-overview.png" alt="Navigation timing" width="619" height="369" /></a><p
class="wp-caption-text">Navigation timing overview</p></div><p><a
href="http://webtimingdemo.appspot.com/" target="_blank">Demo</a><br
/> Security, performance constraints, determining apps in the background and change polling behavior are some other things they spoke about.</p><p><strong>2. Above the Fold Time: Measuring Web Page Performance Visually</strong>[<a
title="Above the Fold" href="http://assets.en.oreilly.com/1/event/62/Above%20the%20Fold%20Time_%20Measuring%20Web%20Page%20Performance%20Visually%20Presentation.pdf" target="_blank">slides</a>]<br
/> <em>- by Jake Brutlag (Google)</em></p><p>This is a completely new area in performance for me and something very interesting. As Jake defines in his slide, ATF(Above the Fold Time) is <em>&#8220;Time when content that stops changing and is above-the-fold reaches its final state.&#8221;<br
/> </em></p><p>AFT brings a new set of metrics to look at and can take web page optimization to a whole new level. Imagine a site optimized for better AFT v/s a site optimized for better Page load time.<br
/> I wont go into the details of how the AFT is calculated, why 5 sec is taken as a cutoff time, etc. All those details and more are mentioned in his slides.<br
/> What I am excited about is that this feature is already available in WPT(<a
title="webpagetest" href="http://www.webpagetest.org/" target="_blank">http://www.webpagetest.org/</a>). Go to the video tab and enable AFT.</p><p><a
href="http://praveenpn.com/blog/wp-content/uploads/2011/03/aft.jpg"><img
class="aligncenter size-full wp-image-206" title="AFT time option in WPT" src="http://praveenpn.com/blog/wp-content/uploads/2011/03/aft.jpg" alt="AFT time option in WPT" width="697" height="237" /></a></p><p>Once the test is complete(it will take a min of 4 mins, so be patient), the AFT stats and images are available in the  summary view. I ran a test on Y! search &amp; here are the <a
title="Y! search WPT" href="http://www.webpagetest.org/result/110316_V7_8ef8be7cfa38d8361959f99fc63a5666/" target="_blank">results</a>. Go to the screen shot link on the top nav and see the AFT details image.<br
/> All of the AFT technology and implementation are part of webpagetest and is available to download at <a
title="WPT google code" href="http://code.google.com/p/webpagetest/" target="_blank">http://code.google.com/p/webpagetest/</a>.</p><p><strong>3. Introducing Next-gen YSlow</strong> [<a
title="Next-gen YSlow" href="http://assets.en.oreilly.com/1/event/62/Introducing%20Next-gen%20YSlow%20Presentation.ppt" target="_blank">slides</a>]<br
/> <em>- by Betty Tso (Yahoo!) &amp; Marcel Duran (Yahoo!)</em></p><p>Note: YSlow for Chrome is now <a
title="yslow for chrome" href="http://developer.yahoo.com/blogs/ydn/posts/2011/03/yslow-for-chrome/" target="_blank">available</a> for <a
title="download yslow for chrome" href="https://chrome.google.com/extensions/detail/ninejjcohidippngpapiilnmkgllmakh" target="_blank">download</a>.<br
/> Marcel spent a few minutes on how the current YSlow is designed, and the MVC pieces of it. He also mentioned the limitations of the Chrome plugin sandbox architecture and how YSlow for chrome uses cross domain ajax.</p><p>The BIG announcement for the day was <strong>YSlow for all browsers</strong>(IE, Opera, Safari, etc.), including <strong>mobile</strong> and <strong>tablet browsers</strong>. It&#8217;s not an Add-in, it&#8217;s a Javascript bookmarklet.<br
/> This version of YSlow is powered by HTML, CSS &amp; <strong>YUI</strong> for building the view. JS, HTTP headers and <strong>YQL</strong> is used for the controller. The bookmarklet opens an iframe and injects the HTML contents of the Doc into it. YQL is used to process component headers  &amp; generate results.</p><p>Note: This version of YSlow will be <strong>available in early April</strong>. (The attendees of the conf. had a sneak peek at this). As per Marcel, it works &amp; works just like YSlow for Chrome.</p><ul><li>The data generated  by YSlow will be available in a YQL open table</li><li>A new Mobile friendly interface will be launched  - powered by YUI</li><li>Jdrop integration (more about that later)</li><li>Will be Open sourced soon &#8211; on Git</li><li>Multi lingual support</li></ul><p>If you have any question, ask them here at the <a
title="group" href="http://tech.groups.yahoo.com/group/exceptional-performance" target="_blank">exceptional-performance group</a>.</p><blockquote><p>In my opinion, stick to the Firefox version of YSlow, it gives the most accurate &amp; correct value compared to other options.</p></blockquote><p><strong>4. Visibility into Mobile Performance</strong> [slides]<br
/> <em>- by Steve Souders (Google)</em></p><p>Steve&#8217;s talk was more interesting as it contained demos, demos and demos.<br
/> <strong>1.</strong> Blaze.io (<a
title="Blaze" href="http://www.blaze.io/mobile/" target="_blank">http://www.blaze.io/mobile/</a>)<br
/> Blaze.io is for mobile browsers what webpagetest.org is for desktop browsers. Blaze.io has taken the webpagetest source code and modified it to run with iOS and Android  browsers.<br
/> It let&#8217;s you view the HAR file of the transaction.  Here&#8217;s a sample of <a
title="sample" href="http://www.blaze.io/mobile/result/?testid=110315_141W&amp;vidid=110315_141W.1.0" target="_blank">Blaze.io run on Yahoo! mobile</a><br
/> Other than that, it even records a video of how the page renders &amp; loads in the selected mobile browser. Now that is awesome.</p><p>Problems with this approach: It considers data: URIs as separate HTTP requests (as shown by Steve in his Demo)</p><p><strong>II.</strong> pcapperf (<a
href="http://pcapperf.appspot.com/">http://pcapperf.appspot.com/</a>)<br
/> Let&#8217;s you convert .pcap files to HAR files. He explained how we can get the waterfall chart for a mobile browser.<br
/> a. Set-up internet sharing on your mac (Ethernet to Wifi)<br
/> b. connect your  mobile device to the computers Wifi hotspot<br
/> c. start network sniffing tool (wireshark or tcpdump) and capture traffic sent to the wireless interface.<br
/> d. save .pcap file and upload to URL mentioned above. That will give you a HAR file.</p><p>This procedure is explained  in detail over <a
title="mobile traffic" href="http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics" target="_blank">here</a>.</p><p>Limitations of this approach: This method wont consider the actual bandwidth of the mobile user, e.g 3G or edge(Since we are running a test using ethernet -&gt; Wifi).<br
/> Also, it wont take into account changes done by providers to images and other elements of a page.</p><p><strong>III.</strong> Jdrop (<a
title="Jdrop" href="http://jdrop.org/" target="_blank">http://jdrop.org/</a>)<br
/> Jdrop allows users to store JSON on the cloud. It was mainly built to store performance data gathered from mobile devices.<br
/> You need to sign in to Jdrop, get the  bookmarket and visit any mobile page and run &#8216;DOM monster&#8217;(other applications will support Jdrop soon), DOM Monster will then let you export the data it generates to Jdrop, which can be viewed on a desktop. Steve has made some data <a
title="jdrop public" href="http://jdrop.org/public" target="_blank">public</a> on Jdrop for others to view it. The data is organized with information like Browser type, Application that exported data &amp; website. Jdrop also let&#8217;s you view and export the HAR file.</p><p>Get the mobile bookmarklet demoed by Steve from <a
title="bookmarklet" href="http://stevesouders.com/mobileperf/mobileperfbkm.php" target="_blank">here</a>.</p><p>Overall this was a great improvement compared to last years Velocity Online Conference. Kudos to the organizers for keeping it short and interesting.</p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/03/16/velocity-online-conference-march-2011/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Bangalore to Goa by Car</title><link>http://praveenpn.com/blog/2011/01/05/bangalore-to-goa-by-car/</link> <comments>http://praveenpn.com/blog/2011/01/05/bangalore-to-goa-by-car/#comments</comments> <pubDate>Tue, 04 Jan 2011 20:34:20 +0000</pubDate> <dc:creator>Praveen</dc:creator> <category><![CDATA[Travel]]></category> <category><![CDATA[bangalore]]></category> <category><![CDATA[car]]></category> <category><![CDATA[directions]]></category> <category><![CDATA[driving]]></category> <category><![CDATA[goa]]></category> <category><![CDATA[new]]></category> <category><![CDATA[new year]]></category> <category><![CDATA[vacation]]></category><guid
isPermaLink="false">http://praveenpn.com/blog/?p=171</guid> <description><![CDATA[This new year was different because I had no plans of going to Goa by Bus or Air, instead, I decided to join my friends on a road trip to Goa. The first thing that came up during early discussion &#8230; <a
href="http://praveenpn.com/blog/2011/01/05/bangalore-to-goa-by-car/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>This new year was different because I had no plans of going to Goa by Bus or Air, instead, I decided to join my friends on a road trip to Goa. The first thing that came up during early discussion was &#8220;which is the best &amp; shortest route to go to Goa by Car&#8221;. Since I haven&#8217;t gone by a car on this route, the first thing I did was look-up <a
href="http://www.team-bhp.com/">Team-BHP</a>. There&#8217;s one thread that comes up when you search for Goa to Bangalore driving directions, but that thread had way too much of information &amp; every person had a different opinion, basically too much of information can be tricky at times.</p><p>After a lot of so called research, we finalized the following:</p><p><strong>Bangalore to Goa:</strong><br
/> <em> NH 4 -&gt; NH 206 -&gt; NH 17</em> route, that&#8217;s <em>Bangalore -&gt; Tumkur -&gt; Shimoga -&gt; Talaguppa -&gt; Sirsi -&gt; Karwar -&gt; Panjim</em></p><p
style="text-align: center;"><a
href="http://www.google.com/maps?f=d&amp;source=s_d&amp;saddr=bangalore&amp;daddr=13.85138,75.7051+to:sirsi+to:goa&amp;hl=en&amp;geocode=FU_uxQAdw_-fBCltTrTJcBauOzHgT35R6MPf-A%3BFfRa0wAdDCuDBCnp5PogBQC7OzHSknwzXimKOQ%3BFTvz3gAd7st1BCmb89D816i-OzECFSsf64rygw%3BFWNf6wAdG-RoBClBtzZjELq_OzGSQPNi_4f46g&amp;mra=dpe&amp;mrcr=0&amp;mrsp=1&amp;sz=8&amp;via=1&amp;sll=14.200488,75.778198&amp;sspn=3.519471,5.795288&amp;ie=UTF8&amp;ll=14.562318,75.481567&amp;spn=3.513779,5.795288&amp;z=8"><img
class="aligncenter size-full wp-image-178" title="Bangalore to Goa" src="http://praveenpn.com/blog/wp-content/uploads/2011/01/bangalore-to-goa1.jpg" alt="Bangalore to Goa Map" width="684" height="464" /></a></p><p
style="text-align: center;"><a
href="http://www.google.com/maps?f=d&amp;source=s_d&amp;saddr=bangalore&amp;daddr=13.85138,75.7051+to:sirsi+to:goa&amp;hl=en&amp;geocode=FU_uxQAdw_-fBCltTrTJcBauOzHgT35R6MPf-A%3BFfRa0wAdDCuDBCnp5PogBQC7OzHSknwzXimKOQ%3BFTvz3gAd7st1BCmb89D816i-OzECFSsf64rygw%3BFWNf6wAdG-RoBClBtzZjELq_OzGSQPNi_4f46g&amp;mra=dpe&amp;mrcr=0&amp;mrsp=1&amp;sz=8&amp;via=1&amp;sll=14.200488,75.778198&amp;sspn=3.519471,5.795288&amp;ie=UTF8&amp;ll=14.562318,75.481567&amp;spn=3.513779,5.795288&amp;z=8">link</a></p><p>What we thought was a good road was not so great to start with and took us about <strong>15 hrs</strong> to reach Goa. I would not recommend  this route to go to Goa, especially after what we discovered on our way back.</p><p><strong>Goa to Bangalore:<br
/> </strong>This time one of our friends called up their driver who had gone from Goa to Bangalore few days before the new year. We inquired about the best route from Goa to Bangalore and I was a bit surprised when he told the route.</p><p>It was like, hit <em>NH 17 -&gt; NH 63 -&gt; NH4</em>, that&#8217;s <em>Panjim -&gt; Karwar -&gt; Dharwad Bangalore By Pass -&gt; Tumkur -&gt; Bangalore</em>.<br
/> At first it sounded like a round about, but we took his word and started our journey at 7am in the morning from Panjim.<br
/> Panjim to Karwar &#8211; There&#8217;s nothing much to write about the roads in Goa.<br
/> Karwar to Dharwad By Pass &#8211; Roads are good, but a a few small Ghats here and there. Overall I&#8217;ll rate it as a good road.<br
/> Dharwad By Pass to Tumkur &#8211; The best part of the trip. Awesome roads throughout.</p><p>We completed our return trip in just <strong>11hrs </strong>including a <strong>1hr</strong> break for lunch, fuel &amp; tea. That&#8217;s just <strong>10hrs</strong> of driving.</p><p
style="text-align: center;"><a
href="http://www.google.com/maps?f=d&amp;source=s_d&amp;saddr=goa&amp;daddr=karwar+to:Hubli-Karwar+Rd+to:bangalore&amp;hl=en&amp;geocode=FWNf6wAdG-RoBClBtzZjELq_OzGSQPNi_4f46g%3BFVgG4gAdByZrBCnXQAEazmC-OzFqWOtR6LHqPA%3BFQy56QAdJPl5BA%3BFU_uxQAdw_-fBCltTrTJcBauOzHgT35R6MPf-A&amp;mra=dme&amp;mrcr=1,2&amp;mrsp=2&amp;sz=9&amp;sll=15.061515,75.445862&amp;sspn=1.75305,2.897644&amp;ie=UTF8&amp;ll=14.189838,76.124268&amp;spn=3.519637,5.795288&amp;z=8"><img
class="size-full wp-image-175 aligncenter" title="Goa to Bangalore" src="http://praveenpn.com/blog/wp-content/uploads/2011/01/goa-to-bangalore.jpg" alt="Goa to Bangalore Map" width="660" height="403" /></a></p><p
style="text-align: center;"><a
href="http://www.google.com/maps?f=d&amp;source=s_d&amp;saddr=goa&amp;daddr=karwar+to:Hubli-Karwar+Rd+to:bangalore&amp;hl=en&amp;geocode=FWNf6wAdG-RoBClBtzZjELq_OzGSQPNi_4f46g%3BFVgG4gAdByZrBCnXQAEazmC-OzFqWOtR6LHqPA%3BFQy56QAdJPl5BA%3BFU_uxQAdw_-fBCltTrTJcBauOzHgT35R6MPf-A&amp;mra=dme&amp;mrcr=1,2&amp;mrsp=2&amp;sz=9&amp;sll=15.061515,75.445862&amp;sspn=1.75305,2.897644&amp;ie=UTF8&amp;ll=14.189838,76.124268&amp;spn=3.519637,5.795288&amp;z=8">link</a></p><p><strong><br
/> Conclusion:<br
/> <span
style="font-weight: normal;">Even though the NH 17 -&gt; NH 63 -&gt; NH 4 looks like a longer route, it can be covered much faster than the NH 206, simply because of the awesome roads. Don&#8217;t take the NH 206 to go or come back from Goa, try the NH 4 once and you&#8217;ll fall in love with that highway.</span></strong></p><p><strong>Vehicle details:<br
/> <span
style="font-weight: normal;">Number of vehicles &#8211; 3 (Swift &#8211; Petrol, i10 &#8211; Petrol, Punto &#8211; Diesel)</span></strong></p><blockquote><p>Happy New Year</p></blockquote><p><span
style="color: #800000;"><strong><span
style="color: #800000;">Update from Arun(via comments): </span></strong><br
/> <span
style="color: #000000;"> Just returned from a road trip to Goa. Great roads until Hubli and then to South Goa via Karwar (again great roads). Thanks for your tip about NH 17 -&gt; NH 63 -&gt; NH 4 &#8211; absolutely the right thing to do. Watch out for some bad patches on the road from Hubli to Karwar. On the road to Hubli, and alhough the road is brilliant &#8211; do watch out for the speed breakers at junctions (no marking on these). 9 hours both ways with an 1.5 hour stop.</span></span></p> ]]></content:encoded> <wfw:commentRss>http://praveenpn.com/blog/2011/01/05/bangalore-to-goa-by-car/feed/</wfw:commentRss> <slash:comments>55</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: praveenpn.com @ 2012-05-20 07:31:23 -->
