<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Anjanesh</title><description>Assignment Statements, Comparisons &amp; Observations</description><managingEditor>noreply@blogger.com (Anjanesh)</managingEditor><pubDate>Wed, 9 Jul 2025 18:36:04 +0530</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">87</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://anjanesh.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Assignment Statements, Comparisons &amp; Observations</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>Dukaan</title><link>http://anjanesh.blogspot.com/2021/09/dukaan.html</link><category>Business</category><category>India</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Wed, 8 Sep 2021 17:16:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-8356681824650494743</guid><description>&lt;p&gt;I can't explain what a game changer this site is : &lt;a href="https://mydukaan.io"&gt;Dukaan&lt;/a&gt; - imagine Shopify. (Dukaan in Hindi means shop)&lt;/p&gt;
&lt;p&gt;If one signs up via the mobile app then its free (no branding though) and the paid plan which includes custom domain and desktop admin is less than $100 per year.&lt;/p&gt;
&lt;p&gt;I am not sure if this would interest non Indian users as this product as this is mainly aimed at the Indian small business - even the tiniest business - I mean, a person having a shop handling it by himself single-handedly only and no employees can sell online via mydukaan with $0 investment online. Indian small business owners will be reluctant to pay even 1 cent to invest online. That's the reason why I mentioned if you would understand this site's business model or not. And most small business owners use mobile and don't have email, laptop etc. They may not have a desktop / laptop and email but they'll defintely buy a smartphone. That's the penetration of smartphones in India.&lt;/p&gt;
&lt;p&gt;And Dukaan seems to take 0 commission from sales - I tried this out - my friend &lt;a href="https://mydukaan.io/punked" target="_blank"&gt;Viraj&lt;/a&gt; got entire amount from a Rs 500 t-shirt sale.&lt;/p&gt;
&lt;p&gt;This company is 1.5 yrs old and &lt;a href="https://techcrunch.com/2021/09/05/dukaan-raises-11-million-to-help-merchants-in-india-set-up-online-stores/"&gt;recently got $11M in funding&lt;/a&gt; and are probably geared up for more.&lt;/p&gt;
&lt;p&gt;PS: In a recent interview the founder said that he wants to expand to other countries. &lt;a href="https://www.youtube.com/watch?v=MDtQ4VdGZqg"&gt;https://www.youtube.com/watch?v=MDtQ4VdGZqg&lt;/a&gt;&lt;/p&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Navi Mumbai, Maharashtra, India</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">19.0330488 73.0296625</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">-9.2771850361788459 37.8734125 47.343282636178841 108.1859125</georss:box></item><item><title>Audi Q6 car to launch in India in January 2050 @ 55.00 Lakh</title><link>http://anjanesh.blogspot.com/2021/06/audi-q6-car-to-launch-in-india-in.html</link><category>Google</category><category>search</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Thu, 10 Jun 2021 09:22:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-825930133963151201</guid><description>Google has comea long way in &lt;b&gt;answering&lt;/b&gt; questions in search instead of just returning some text search results from a webpage. But from where does Google query answers ? They must have some sort of complex algorithms detecting answers based on the search query, right ? I really would be interested in knowing how they analyse text to predict answers. Because a search query on audi q6 shows that the car will launch 30 years from now.

&lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Mc3DoNGLmvKEaVBrY5nSgU5Lgs3O8fzZ8qTggwZrabpoo8sZovXCWH0Qg5u3wDXoKm6C9FbOsG_CiHz83Foec0-Sr13v4jOIxukBrtwbvPzG6KpICU2H7H-1remBWfMw0t8qlw/s1722/audi-q6.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img alt="" border="0" width="600" data-original-height="1280" data-original-width="1722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Mc3DoNGLmvKEaVBrY5nSgU5Lgs3O8fzZ8qTggwZrabpoo8sZovXCWH0Qg5u3wDXoKm6C9FbOsG_CiHz83Foec0-Sr13v4jOIxukBrtwbvPzG6KpICU2H7H-1remBWfMw0t8qlw/s600/audi-q6.png"/&gt;&lt;/a&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Mc3DoNGLmvKEaVBrY5nSgU5Lgs3O8fzZ8qTggwZrabpoo8sZovXCWH0Qg5u3wDXoKm6C9FbOsG_CiHz83Foec0-Sr13v4jOIxukBrtwbvPzG6KpICU2H7H-1remBWfMw0t8qlw/s72-c/audi-q6.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Why do most tutorials tell you to install some package or tool globally via npm ?</title><link>http://anjanesh.blogspot.com/2020/11/why-do-most-tutorials-tell-you-to.html</link><category>JavaScript</category><category>software</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Tue, 24 Nov 2020 12:49:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-315959046385913797</guid><description>&lt;p&gt;I was told to install &lt;a href="https://ngrok.com" target="_blank"&gt;ngrok&lt;/a&gt; via npm globally :&lt;/p&gt;
&lt;pre class="code"&gt;npm install -g ngrok&lt;/pre&gt;
&lt;p&gt;I was doing this on my macOS Mojave&lt;/p&gt;
&lt;p&gt;It failed because of permissions error. Then I did :&lt;/p&gt;
&lt;pre class="code"&gt;sudo npm install -g ngrok&lt;/pre&gt;
&lt;p&gt;I got errors apparently not related to npm. So it still failed.&lt;/p&gt;
&lt;pre class="code"&gt;
npm ERR! Failed at the ngrok@3.3.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
&lt;/pre&gt;
&lt;p&gt;I didn't know what to do. Searched everywhere on Google (StackOverflow) etc but still couldn't solve it. So many posts about chown etc.&lt;/p&gt;
&lt;p&gt;I then finally did what the &lt;a href="https://ngrok.com/download" target="_blank"&gt;documentation&lt;/a&gt; said. Download the zip file which just contained a single ngrok executable file.&lt;/p&gt;
&lt;p&gt;Ran &lt;strong&gt;./ngrok http 3000&lt;/strong&gt; in terminal and all is okay now !&lt;/p&gt;
&lt;p&gt;... I mean, wasn't downloading the zip and running the executable the was easiest way ? All this trouble to do &lt;i&gt;only&lt;/i&gt; via npm.&lt;/p&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>DropBox's equivalent of git's .gitignore</title><link>http://anjanesh.blogspot.com/2020/08/dropboxs-equivalent-of-gits-gitignore.html</link><category>Dropbox</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sat, 15 Aug 2020 13:05:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-6658249538857626743</guid><description>&lt;p&gt;We all know how node_modules is the &lt;a href="https://dev.to/leoat12/the-nodemodules-problem-29dc" target="_blank"&gt;heaviest object in the universe&lt;/a&gt; !&lt;br/&gt;
So we have by default a .gitignore file which has an entry &lt;strong&gt;/node_modules&lt;/strong&gt; to prevent it from being uploaded to github or gitlab.&lt;br/&gt;
But now I was looking for the similar thing in DropBox to upload my entire &lt;strong&gt;workspace&lt;/strong&gt; folder to my DropBox account without the enourmous node_modules folders.&lt;br/&gt;
It seems there &lt;i&gt;is&lt;/i&gt; a way to get DropBox to ignore files / folders to be uplaoded.&lt;br/&gt;&lt;/p&gt;
&lt;pre class="code"&gt;$ xattr -w com.dropbox.ignored 1 /Users/username/Dropbox/workspace/project-name/node_modules&lt;/pre&gt;
&lt;p&gt;Set a file or folder to be ignored using the command line : &lt;a href="https://help.dropbox.com/files-folders/restore-delete/ignored-files"&gt;DropBox Help Link&lt;/a&gt;.&lt;/p&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Content Marketplace = Revenue Sharing ?</title><link>http://anjanesh.blogspot.com/2020/07/content-marketplace-revenue-sharing.html</link><category>India</category><category>trend</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sat, 18 Jul 2020 23:55:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-2956948079786687775</guid><description>&lt;p&gt;&lt;img border="0" src="https://anjanesh.s3.amazonaws.com/blogs/images/scrollstack.png" style="width:200px;height:200px;float:right"/&gt;&lt;/p&gt;
&lt;p&gt;There was a trend in earning money for bloggers / freelance writers a decade ago - advertising (like the infamous adsense code) on famous blog portals like Blogger's blogspot. These are pull page article writers as opposed to micro-blogging like on Twtitter.&lt;/p&gt;
&lt;p&gt;Fast-forward to 2020, now there's a different trend. Revenue sharing from online readership by paid readers (as a subscription model) between the platform and the writer. The famous platform right now is Medium which has a ton of useful articles / content. Medium charges $5 / month or $50 / year for readers to view full articles.&lt;/p&gt;
&lt;p&gt;Bengaluru's Hashnode offers a free blogging platform for creators, esp tech creators to showcase their code snippets and views on a variety of topics. But they are yet to monetize.&lt;/p&gt;
&lt;p&gt;Now, I've come across another Mumbai / Pune based platform called Scrollstack which seems similar to medium but is currently in invite-only / beta mode. Most people aren't ready to pay for viewing original content articles and hence the ads came into existence. So we just have to wait and see how people consume content in the near future.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>PHP vs Python vs JavaScript</title><link>http://anjanesh.blogspot.com/2020/04/php-vs-python-vs-javascript.html</link><category>JavaScript</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Fri, 3 Apr 2020 22:29:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-6760042629012601095</guid><description>I was writing code to solve a particular problem on &lt;a href="https://leetcode.com"&gt;leetcode.com&lt;/a&gt; in PHP 7.4 and found that it was taking a lot of time to execute. 10 seconds. Then ported the same code in Python3 thinking it'll be much faster. Nope. 20 seconds. Then I tried JavaScript running not in the browser but in node. Quarter of a second !&lt;br /&gt;
&lt;br /&gt;
Same code in three different languages - three nested loops.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="code"&gt;$ time php contiguous-subarray.php
1378

real    0m10.180s
user    0m10.152s
sys 0m0.018s

$ time python3 contiguous-subarray.py
1378

real    0m20.704s
user    0m20.676s
sys 0m0.017s

time node contiguous-subarray.js 
1378

real    0m0.225s
user    0m0.213s
sys 0m0.010s
&lt;/pre&gt;&lt;br /&gt;
JavaScript wins.&lt;br /&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>China Trip</title><link>http://anjanesh.blogspot.com/2019/05/china-trip.html</link><category>travel</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Tue, 28 May 2019 07:30:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-7758521464643976954</guid><description>&lt;p&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG2OKhkWxY5UnPJfGcd2Zfp22j6uB12Uhhpn2LYv0Yd1rpoDEcNEHLyKB3E_bWRyVtT39oxD-3_6UffFHD6BwMsO2MoCKrBNKfDyN7v26xo2sxgd0K7srWG8rlrUS4drV_krJeAw/s1600/IMG_20190516_105810.jpg" data-original-width="300" data-original-height="400" style="float:right"/&gt;I recently went on a trip to China (Shanghai and Beijing) and Hong Kong for about 9 days in May 2019.&lt;/p&gt;&lt;p&gt;The trip was splendid. We were a group of 75 people led by our spiritual leader Swamiji Udit Chaitanya. Most of the devotees are senior citizens from Kerala. The weather was very pleasant. It drizzled for a few minutes one day only.&lt;/p&gt;&lt;p&gt;Language is a major barrier as most people there don't understand English properly - even at airports and train stations. I installed an app on my Android phone called Dear Translate that does translation (text and speech) from English to Chinese but couldn't do the other way around (for the Chinese people to use) as I could not locate an option to type in Chinese language on my phone which ironically is a Chinese make (Xiaomi, but bought in India).&lt;/p&gt;&lt;p&gt;Because most of us were vegetarians, we ended up at large (capacity for 75 people to be seated) Indian restaurants which had excellent North Indian food and one non-veg curry. Only for one particular day we went to a Chinese restaurant for vegetarian lunch that served Chinese cuisine which a lot liked but there were a few persons who still preferred Indian food.&lt;/p&gt;&lt;p&gt;As of now (2019), China's Internet has blocked Google's websites, Facebook, Instagram, Twitter, YouTube and WhatsApp. We need to use a VPN like Express VPN and install it on our phones before entering China. Google Play is also blocked so can't install it after entering into China. These restrictions are not there in Hong Kong though.&lt;/p&gt;&lt;p&gt;Even though China is more populous than India, it's not crowded in China like the way it is in India. The roads are all wide and all neat and clean 4-6 lanes like in the Western countries. Since the country is itself so vast, the cities are spacious.&lt;/p&gt;&lt;strong&gt;Shanghai :&lt;/strong&gt;&lt;br /&gt;
&lt;p&gt;Mostly a financial city, we first went on an hour long cruise overlooking the city night life in the financial district which has skyscrapers.&lt;/p&gt;&lt;p&gt;Went on a ride on the Maglev train to and fro. It takes 7 minutes to cover 33 kilometers. It's top speed is 431 km/hour. This was really fantastic.&lt;/p&gt;&lt;p&gt;Traveled to Beijing via bullet train which covered the distance from Mumbai to Delhi in about 5 hours.&lt;/p&gt;&lt;strong&gt;Beijing :&lt;/strong&gt;&lt;br /&gt;
&lt;p&gt;Unlike Shanghai, Beijing is a much much larger city which would take 6 hours to travel from one end to the other of the city.&lt;/p&gt;&lt;p&gt;We went for a Kung fu show by Chinese monks which was just amazing, though I can't tell if the performers were Shaolin monks or not.&lt;/p&gt;&lt;p&gt;We walked along the Great Wall of China. The steps are high so many elders couldn't climb. Apparently it would take 200 days to walk / climb the entire length of the Wall. Swamiji, myself and a few others (say about 10 of us) climbed up a few kilometers and returned the same way after sometime.&lt;p&gt;&lt;strong&gt;Hong Kong :&lt;/strong&gt;&lt;br /&gt;
&lt;p&gt;One half of the day (evening) we went sightseeing the night life.&lt;/p&gt;&lt;p&gt;Most spent the next and final whole day at Ocean's park which is like Singapore's Sentosa. But some 12 of us including myself cut short the Ocean Park after lunch and went shopping for the rest of the day.&lt;/p&gt;&lt;u&gt;Things you should buy in Beijing :&lt;/u&gt;&lt;br /&gt;
&lt;p&gt;Buy as many headphones from Beijing as possible - you'll get wired headphones for 10 Yuan (Rs 50) and wireless bluetooth airpods (not Apple's) for about 100 - 150 Yuan (Rs 1500 or less). The smaller stores may not accept credit cards but I didn't check thoroughly.&lt;/p&gt;&lt;u&gt;Things you should buy in Hong Kong :&lt;/u&gt;&lt;br /&gt;
&lt;p&gt;Shops in malls close at 6PM.&lt;/p&gt;&lt;p&gt;There is a street called Li Yuen street where there are numerous small shops where you can buy a variety of items. Mongkok has ladies market we were told where you can bargain like anything but we didn't have the time to go there since we were in Hong Kong for about one and a half days only.&lt;/p&gt;&lt;p&gt;Hong Kong has a famous electronic store in central called Fortress. Things are cheaper than in India, but I find that Indian credit cards have some cash back offer when using certain cards. This is not possible in Hong Kong. I saw an iPad Air 1TB version for $15,000 HKD which is about Rs 1.33 lakhs.&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG2OKhkWxY5UnPJfGcd2Zfp22j6uB12Uhhpn2LYv0Yd1rpoDEcNEHLyKB3E_bWRyVtT39oxD-3_6UffFHD6BwMsO2MoCKrBNKfDyN7v26xo2sxgd0K7srWG8rlrUS4drV_krJeAw/s72-c/IMG_20190516_105810.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Web Hosting Solutions for Web Developers</title><link>http://anjanesh.blogspot.com/2013/06/web-hosting-solutions-for-web-developers.html</link><category>hosting</category><category>webhosts</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sat, 29 Jun 2013 22:39:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-3073705101433772821</guid><description>&lt;p&gt;There are &lt;i&gt;tons&lt;/i&gt; of hosting companies for web developers.&lt;br /&gt;
There are &lt;i&gt;many&lt;/i&gt; that provide VPS-like solutions.&lt;br /&gt;
But there are a &lt;i&gt;few&lt;/i&gt; good ones for developers wanting more than the standard LAMP setup and a Fantastico script.&lt;br /&gt;
Here we'll look at a &lt;i&gt;handful&lt;/i&gt; of the ones that have proven to be good enough.&lt;/p&gt;&lt;h3&gt;&lt;a href="https://www.webfaction.com/" target="_blank"&gt;Webfaction&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.webfaction.com/" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/logo.png" style="float:right"/&gt;&lt;/a&gt;This is a semi-VPS where you can install your own tools / software as long as it resides in your home directory. Supports Python, Ruby, PHP out-of-the-box.&lt;br /&gt;
Plan starts at $9.50 a month for 100GB disk space.&lt;/p&gt;&lt;h3&gt;&lt;a href="https://www.linode.com/" target="_blank"&gt;Linode&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.linode.com/" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/linode_logo_gray.png" style="float:right"/&gt;&lt;/a&gt;A fully-fledged unmanaged VPS that has been in the hosting space for quite some time now. Developers normally compared Linode with &lt;a href="http://slicehost.com" target="_blank"&gt;Slicehost&lt;/a&gt;, another great unmanaged VPS before it got acquired by &amp;amp; merged with Rackspace.&lt;br /&gt;
Plan starts at $20 a month for 24GB disk space.&lt;/p&gt;&lt;h3&gt;&lt;a href="https://www.digitalocean.com/" target="_blank"&gt;DigitalOcean&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.digitalocean.com/" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/digital-ocean-logo.png" style="float:right"/&gt;&lt;/a&gt;This is one of the best places to start out for newbies who want to full root-access at a low cost. Its an unmanaged VPS where you can setup your own Linux distro with whatever software you want. Oh - and it may offer the choice of a datacenter in &lt;a href="http://techcrunch.com/2013/06/27/digitalocean-wants-to-challenge-amazon-linode-and-co-with-better-prices-marketing-and-focus-on-simplicity/" target="_blank"&gt;India&lt;/a&gt;.&lt;br /&gt;
Plan starts at $5 a month for a 20GB &lt;i&gt;SSD&lt;/i&gt; disk space.&lt;/p&gt;&lt;h3&gt;&lt;a href="https://aws.amazon.com" target="_blank"&gt;Amazon AWS&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/aws.jpg" style="float:right"/&gt;&lt;/a&gt;A proven product, if you want scalability &amp;amp; reliability. Some of the major websites / services like Reddit, DropBox, FourSquare, Netflix, Zynga use Amazon AWS. Amazon AWS EC2 is the virtual dedicated hosting service.&lt;br /&gt;
Amazon AWS provides a plethora of other services like &lt;a href="https://aws.amazon.com/s3" target="_blank"&gt;S3&lt;/a&gt;, etc.&lt;br /&gt;
You still need to maintain the server on your own - Amazon won't do it for you. Moreover you've got to have sys-admin skills to handle an EC2 instance.&lt;/p&gt;&lt;h3&gt;&lt;a href="https://appengine.google.com" target="_blank"&gt;Google App Engine&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://appengine.google.com" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/gae.png" style="float:right"/&gt;&lt;/a&gt;Google's servers ! That's the best part. Scalability. No worrying of backups, server maintanence, server going down etc etc.&lt;br /&gt;
What's the worst part ? It's not the standard setup you get with other providers which provide (S)FTP, SSH etc.&lt;br /&gt;
Configuration is done using a file named app.yaml. Everything else is almost custom based.&lt;br /&gt;
This is PaaS - &lt;b&gt;P&lt;/b&gt;latform &lt;b&gt;a&lt;/b&gt;s &lt;b&gt;a&lt;/b&gt; &lt;b&gt;S&lt;/b&gt;ervice hosting solution and hence you can't go about installing your own software. Instead it provides a wide range of options and custom solutions. Currently Python, Java, Go and PHP are the languages supported.&lt;/p&gt;&lt;h3&gt;Others :&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.heroku.com/" target="_blank"&gt;Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.engineyard.com/" target="_blank"&gt;EngineYard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Uploading gzipped content to Google Storage via gsutil</title><link>http://anjanesh.blogspot.com/2013/01/uploading-gzipped-content-to-google.html</link><author>noreply@blogger.com (Anjanesh)</author><pubDate>Thu, 17 Jan 2013 17:41:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-1929958652896220554</guid><description>&lt;p&gt;Blogging this, since it doesn't fit on twitter.&lt;/p&gt;&lt;p&gt;It took me sometime to figure out the proper usage of gsutil when uploading files to google storage with the -z option to stream gzipped content. Just make sure to send in the &lt;b&gt;content-type&lt;/b&gt; header too.&lt;/p&gt;&lt;pre class="code"&gt;gsutil -h "Vary:Accept-Encoding" -h "Cache-Control:public,max-age=31536000" -h "Content-Type: text/javascript" cp -z js -a public-read script.min.js gs://[bucket]/script.js&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How to upload a web-font to Google Cloud Storage and use it in your CSS</title><link>http://anjanesh.blogspot.com/2012/12/how-to-upload-web-font-to-google-cloud.html</link><category>Google</category><category>storage</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Wed, 26 Dec 2012 19:17:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-1596801286354253615</guid><description>&lt;p&gt;Replace &lt;i&gt;[bucket]&lt;/i&gt; with your bucket name.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Use &lt;a href="http://www.fontsquirrel.com/fontface/generator"&gt;fontsquirrel's @font-face Generator&lt;/a&gt; to download all the font formats required for various browsers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Upload the fonts to Google Storage : &lt;/strong&gt;&lt;br /&gt;
&lt;pre class="code"&gt;gsutil -h "Vary:Accept-Encoding" -h "Cache-Control:public,max-age=31536000" cp -a public-read font-webfont.eot gs://[bucket]/fonts/font-webfont.eot
gsutil -h "Vary:Accept-Encoding" -h "Cache-Control:public,max-age=31536000" cp -a public-read font-webfont.woff gs://[bucket]/fonts/font-webfont.woff
gsutil -h "Vary:Accept-Encoding" -h "Cache-Control:public,max-age=31536000" cp -a public-read font-webfont.ttf gs://[bucket]/fonts/font-webfont.ttf
gsutil -h "Vary:Accept-Encoding" -h "Cache-Control:public,max-age=31536000" cp -a public-read font-webfont.svg gs://[bucket]/fonts/font-webfont.svg&lt;/pre&gt;&lt;p&gt;Now your font is accessible at http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.eot or http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.ttf etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apply the code to your CSS.&lt;/p&gt;&lt;pre class="code"&gt;@font-face {
    font-family: 'fontFamilyName';
    src: url('http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.eot');
    src: url('http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.eot?#iefix') format('embedded-opentype'),
         url('http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.woff') format('woff'),
         url('http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.ttf') format('truetype'),
         url('http://[bucket].commondatastorage.googleapis.com/fonts/font-webfont.svg#aller_displayregular') format('svg');    
    font-weight: normal;
    font-style: normal;
}&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unfortunately the last step is not enough to display the web-font on your website since the fonts need to be on the same domain as the website.&lt;/p&gt;&lt;p&gt;In order to allow web-fonts to be hosted elsewhere, the location of the web-fonts must have a &lt;b&gt;Access-Control-Allow-Origin&lt;/b&gt; header sent.&lt;/p&gt;&lt;p&gt;For Google Storage, we do &lt;a href="https://developers.google.com/storage/docs/cross-origin#Configuring-CORS-on-a-Bucket" target="_blank"&gt;this&lt;/a&gt; : &lt;p&gt;&lt;pre class="code"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;CorsConfig&amp;gt;
  &amp;lt;Cors&amp;gt;
    &amp;lt;Origins&amp;gt;
      &amp;lt;Origin&amp;gt;http://mydomain.com&amp;lt;/Origin&amp;gt;
    &amp;lt;/Origins&amp;gt;
    &amp;lt;Methods&amp;gt;
      &amp;lt;Method&amp;gt;GET&amp;lt;/Method&amp;gt;
      &amp;lt;Method&amp;gt;HEAD&amp;lt;/Method&amp;gt;      
    &amp;lt;/Methods&amp;gt;
    &amp;lt;ResponseHeaders&amp;gt;
      &amp;lt;ResponseHeader&amp;gt;x-goog-meta-foo1&amp;lt;/ResponseHeader&amp;gt;
    &amp;lt;/ResponseHeaders&amp;gt;
    &amp;lt;MaxAgeSec&amp;gt;1800&amp;lt;/MaxAgeSec&amp;gt;
  &amp;lt;/Cors&amp;gt;
&amp;lt;/CorsConfig&amp;gt;&lt;/pre&gt;&lt;p&gt;Save this as font.xml.&lt;br/&gt;Hmmm ... &lt;a href="https://developers.google.com/storage/docs/gsutil_reference_guide#setorgetcors" target="_blank"&gt;Google says&lt;/a&gt; : &lt;/p&gt;&lt;pre class="code"&gt;gsutil setcors &amp;lt;cors-xml-file&amp;gt; uri&lt;/pre&gt;&lt;p&gt;But using &lt;a href="https://developers.google.com/storage/docs/gsutil" target="_blank"&gt;gsutil&lt;/a&gt;, we can set CORS to an entire bucket only and not to an object.&lt;/p&gt;&lt;pre class="code"&gt;gsutil setcors font.xml gs://[bucket]&lt;/pre&gt;&lt;p&gt;not &lt;i&gt;uri&lt;/i&gt; as mentioned&lt;/p&gt;&lt;p&gt;Similarily, for getcors :&lt;pre class="code"&gt;gsutil getcors gs://[bucket]&lt;/pre&gt;and not &lt;pre class="code"&gt;gsutil getcors gs://cats/mycats.png&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Solving all my permission issues on Ubuntu</title><link>http://anjanesh.blogspot.com/2012/11/solving-all-my-permission-issues-on.html</link><category>Ubuntu</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 25 Nov 2012 17:52:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-3044363951358360876</guid><description>&lt;p&gt;So many permission issues when copying files / folders from an outside source like a remove drive or Dropbox to my hard-disk that I have this mini-snippet to solve them all.&lt;/p&gt;&lt;pre class="code"&gt;chmod -R 755 directory/
cd directory/
find -type f -exec chmod 644 {} \;
cd ..&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Why I bought a Dropbox Pro account ?</title><link>http://anjanesh.blogspot.com/2012/08/why-i-bought-dropbox-pro-account.html</link><category>storage</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 12 Aug 2012 22:25:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-1986056974703614338</guid><description>&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/dropbox_logo_home.png" alt="" style="float:right;margin-left:10px"/&gt;Last weekend was bad. My MacBook Pro's hard-drive crashed and my Ubuntu machine's hard-drive was semi-crashing, booting once in a while and once it booted with the entire file-system as read-only !&lt;/p&gt;&lt;p&gt;While my Ubuntu machine was up and running, I managed to backup all my data to Dropbox. But this time I backed it up in such a way that I don't have to 're-arrange' the folders all over again when my computer crashes.&lt;/p&gt;&lt;p&gt;Here's an example of what I did for my localhost (http://localhost/anjanesh) which, on the physical file system points to /home/anjanesh/www (~/www).&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I copied all my data from ~/www to ~/Dropbox/www&lt;/li&gt;
&lt;li&gt;Dropbox synced all the data in ~/Dropbox/www to the server&lt;/li&gt;
&lt;li&gt;I deleted ~/www and symlinked www to ~/Dropbox/www (ln -s ~/Dropbox/www www)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;So now ~/www points to ~/Dropbox/www&lt;br /&gt;
Whatever changes I make to ~/www gets stored, indexed and synced to Dropbox's server.&lt;/p&gt;&lt;p&gt;And now on my MacBook, I installed Dropbox and did the same thing with &lt;b&gt;www&lt;/b&gt; - except point ~/www to /Users/anjanesh/Dropbox/www&lt;br /&gt;
This way, http://localhost/~anjanesh/ physically points to my Dropbox folder.&lt;/p&gt;&lt;p&gt;You can do this with all data folders, like Documents, Pictures and even Desktop. Even /var/lib/mysql to point all the mysql-data to a Dropbox sub-folder itself.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Open-Source Slideshare alternative</title><link>http://anjanesh.blogspot.com/2012/02/open-source-slideshare-alternative.html</link><category>slideshare</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 5 Feb 2012 13:16:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-3163871494710370107</guid><description>&lt;p&gt;There were 2 reasons for me to create an alternative to slidehsare's slide-show plugin :&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;My uncle had a 170MB PPT file which is over-the-limit of Slideshare's &lt;a href="http://getsatisfaction.com/slideshare/topics/ftp_upload-11df5" target="_blank"&gt;100MB size limit&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;My previous company's CEO wanted to display 6 slideshows on the company's homepage and 6 slideshare plugins was being extremely heavy esp on the flash part.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;So I created a simple slide-show using jQuery as a jQuery plugin. There are some advantages as well as disadvantages.&lt;/p&gt;&lt;h3&gt;Advantages&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;This is completely customizable using CSS.&lt;/li&gt;&lt;li&gt;Flexible slide size&lt;/li&gt;&lt;li&gt;Unlimited slides&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Disadvantages&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The slides are all images though, not HTML on the inside. Images would consume more space than HTML sildes.&lt;/li&gt;&lt;li&gt;You need to export the slides to images, which you can do using Open Office.&lt;/li&gt;&lt;li&gt;Require basic programming knowledge in HTML, CSS &amp; JavaScript to embed this.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;An example of this :&lt;/p&gt;&lt;iframe src="http://javascript.co.in/slide/starch.html" width="541" height="440" marginheight="0" marginwidth="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;h4&gt;Usage :&lt;/h4&gt;
&lt;pre class="code"&gt;$(document).ready(function()
{
    $('#div-element').jscoin_slide({effect:'slideUp'});
});&lt;/pre&gt;&lt;p&gt;The other options for effect are fade, flip and slide&lt;/p&gt;&lt;p&gt;This project is on github : &lt;a href="https://github.com/anjanesh/Slide" target="_blank"&gt;https://github.com/anjanesh/Slide&lt;/a&gt;.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Linkedin's April Fool Hoaxes</title><link>http://anjanesh.blogspot.com/2011/04/linkedins-april-fool-hoaxes.html</link><category>April Fool</category><category>LinkedIn</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Fri, 1 Apr 2011 22:50:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-2688661232004373261</guid><description>&lt;p&gt;Every year we want to know Google's april fools' hoaxes. &lt;a href="http://googlesystem.blogspot.com/2011/04/google-april-fools-day-2011.html" target="_blank"&gt;This year&lt;/a&gt; was no different. But has anyone noticed linkedin ? This is what I found on linkedin from my &lt;strong&gt;People You May Know&lt;/strong&gt; section.&lt;br /&gt;
&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/people-you-may-know.png" alt="Linkedin People You May Know" style="width:300px;height:208px;margin-top:5px"/&gt;&lt;br /&gt;
(Click on the image to view the full "resume")&lt;/p&gt;&lt;a href="https://s3.amazonaws.com/anjanesh/blogs/images/John-Watsonlinkedin.png" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/John-Watsonlinkedinthumb.png" alt="Linkedin People You May Know" style="width:560px;height:364px;"/&gt;&lt;/a&gt;  &lt;a href="https://s3.amazonaws.com/anjanesh/blogs/images/Albert-Einsteinlinkedin.png" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/Albert-Einsteinlinkedinthumb.png" alt="Linkedin People You May Know" style="width:560px;height:291px;"/&gt;&lt;/a&gt;  &lt;a href="https://s3.amazonaws.com/anjanesh/blogs/images/Werner-Heisenberglinkedin.png" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/Werner-Heisenberglinkedinthumb.png" alt="Linkedin People You May Know" style="width:560px;height:247px;"/&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Google Agarbatti (Incense)</title><link>http://anjanesh.blogspot.com/2010/10/google-agarbatti-incense.html</link><category>Google</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Mon, 25 Oct 2010 10:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-2543321948783696213</guid><description>&lt;p&gt;My friend Sudhir bought this from the local store.&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/google-agarbatti.jpg" alt="google agarbatti" style="width:500px;height:174px;"/&gt;&lt;/p&gt;&lt;p&gt;Read : Google Agarbatti. (Agarbatti = &lt;a href="http://en.wikipedia.org/wiki/Incense" target="_blank"&gt;Incense&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update : &lt;/b&gt; Thanks to &lt;a href="http://www.nlam.in" target="_blank"&gt;Sumit Ashok Kesarkar&lt;/a&gt; for the clarification. &lt;span style="font-style:italic;color:maroon"&gt;its Gugal which means Guggul == made from the sap of the plant "Commiphora mukul"&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Email Newsletter Subscription via GFC &amp; GAE</title><link>http://anjanesh.blogspot.com/2010/07/email-newsletter-subscription-via-gfc.html</link><category>email</category><category>Google</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Wed, 28 Jul 2010 06:34:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-7299123602184157907</guid><description>&lt;p&gt;There is one major limitation when sending out legit mass emails via SMTP ("compose") - a daily cap on the number of emails allowed to be sent from a mailbox. This applies to most e-mail service providers.&lt;br /&gt;
Google Apps Standard, the free edition, allows a maximum of 500 outgoing mails per day for each user id.&lt;br /&gt;
Even the Primier edition which costs $50 per user a year limits outgoing mails at 2000 per day for every email id.&lt;/p&gt;&lt;p&gt;There are two cost-effective ways to send out newsletter emails via Google's services - Google Friend Connect (GFC) and Google App Engine (GAE).&lt;/p&gt;&lt;h3 style="text-decoration:underline"&gt;Google Friend Connect&lt;/h3&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/gfc-subscribe.png" alt="subscribe" style="width:93px;height:21px;float:right;padding-left:15px"/&gt;A lot of people are not unaware of the fact that you can actually send out newsletters for free to your subscribers via &lt;a href="http://www.google.com/friendconnect/" target="_blank"&gt;Google Friend Connect&lt;/a&gt; (GFC).&lt;br /&gt;
The catch is that the users have to be susbcribed exclusively via Google's Subscribe button without which there is no way for the newsletter to reach the user.&lt;br /&gt;
This is really a tough catch as you got to have it's subscribe button right from launch date.&lt;br /&gt;
Its a major turnoff, especially when a website collects registration infomation via a form and sends the data to a database, after which emails are sent separately.&lt;br /&gt;
Most email marketing systems like &lt;a href="http://www.aweber.com" target="_blank"&gt;aweber&lt;/a&gt;, &lt;a href="http://www.mailchimp.com" target="_blank"&gt;mailchimp&lt;/a&gt;, &lt;a href="http://www.emailbrain.com" target="_blank"&gt;emailbrain&lt;/a&gt;, &lt;a href="http://www.constantcontact.com" target="_blank"&gt;constantcontact&lt;/a&gt;, &lt;a href="http://www.madmimi.com" target="_blank"&gt;madmimi&lt;/a&gt; etc have the option to add subscribers manually externally.&lt;br /&gt;
And with GFC, you would not be able to retrieve the subscribed users' email ids via the control panel - export gives only names, ids, open id urls and thumbnail images.&lt;br /&gt;
So, at a later point in time, if you decide to switch to another email marketing system, you would need to send one last email asking them to re-subscribe to a new system.&lt;br /&gt;
Another bad news is that the subscriber's email address must be an open id ! (google a/c, yahoo a/c, twitter, AIM, netlog or any other openid)&lt;br /&gt;
Looks like all bad news, but if you think from the users' perspective, this is a good deal.&lt;br /&gt;
Its secure since there is no way for emails to be leaked accidentally.&lt;br /&gt;
Its safe because there is no room for errors in accidentally sending out mails to users who have unsubscribed.&lt;br /&gt;
Regarding the sender / from email address - It would be the same as the google account username. So if you don't want it sent from myusername@gmail.com, then create a google account under your app id. (This dual account chaos would be resolved soon : &lt;a href="http://anjane.sh/bv33Qe" target="_blank"&gt;Google Apps Accounts Will Also Be Personal Google Accounts&lt;/a&gt;)&lt;br /&gt;
GFC is straigtforward, only bit of major work required is getting the audience to hit the google subscribe button.&lt;/p&gt;&lt;h3 style="text-decoration:underline"&gt;Google App Engine&lt;/h3&gt;&lt;p&gt;If you are not convinced with GFC then check out GAE - &lt;a href="http://code.google.com/appengine/" target="_blank"&gt;Google App Engine&lt;/a&gt;.&lt;br /&gt;
It has a daily free quota of sending emails to 2000 recipients. &lt;a href="http://code.google.com/appengine/docs/quotas.html#Mail" target="_blank"&gt;Link&lt;/a&gt;&lt;br /&gt;
After that, its billed at $0.0001 per recipient - thats just $1 for sending to an additional 10,000 recipients which can execute in about 2 minutes ! &lt;a href="http://code.google.com/appengine/docs/billing.html#Billable_Quota_Unit_Cost" target="_blank"&gt;Link&lt;/a&gt;&lt;br /&gt;
But you've got to &lt;a href="http://code.google.com/appengine/docs/python/mail/sendingmail.html" target="_blank"&gt;code&lt;/a&gt; to take advantage of GAE and your website should most probably be powered by GAE as well.&lt;br /&gt;
&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/gae-billing.png" alt="subscribe" style="width:787px;height:196px;"/&gt;&lt;/p&gt;&lt;h3 style="text-decoration:underline"&gt;Google Groups&lt;/h3&gt;&lt;p&gt;Then there is always google's mailing list at google groups.&lt;br /&gt;
&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/groups.png" alt="subscribe" style="width:345x;height:47px;"/&gt;&lt;br /&gt;
But this cannot really be act a newsletter system.&lt;/p&gt;&lt;p&gt;If you want to submit ideas / suggestions to the Google team for its products, you can submit or vote at &lt;a href="http://productideas.appspot.com" target="_blank"&gt;Google Product Ideas&lt;/a&gt; which is open to the public.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>To WWW or not to</title><link>http://anjanesh.blogspot.com/2010/07/to-www-or-not-to.html</link><category>domain</category><category>performance</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Mon, 26 Jul 2010 15:27:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-7789668291692239798</guid><description>&lt;p&gt;I've always been fond of naked domains. (FYI, http://mydomain.com is a naked domain, since it doesn't have www in front of it).&lt;br /&gt;
Lesser characters to type, see, spell out, hear and read. Much lesser overall energy.&lt;br /&gt;
I've always wondered why google.com always redirected to www.google.com and why Google App Engine stopped supporting &lt;a href="http://code.google.com/appengine/kb/general.html#naked_domain" target="_blank"&gt;mapping of an app to a naked URL&lt;/a&gt;. May not be the reason as mentioned here, but it does have its advantages.&lt;br /&gt;
So I joined the party a bit too late, but I am glad that I was not any later.&lt;br /&gt;
One of the advantages of using a subdomain (www is also a subdomain, it just so happens to be the default typing scheme for a website when the &lt;b&gt;W&lt;/b&gt;orld &lt;b&gt;W&lt;/b&gt;ide &lt;b&gt;W&lt;/b&gt;eb was born) is that cookies, if any, are transported to and forth - in the request and response headers - for that subdomain only.&lt;br /&gt;
If you have &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/60/" target="_blank"&gt;Web Developer&lt;/a&gt;, a FireFox addon, you can view all the cookies associated with a URL in the address bar.&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/web-developer-cookie.png" alt="Web Developer Toolbar" style="width:395px;height:271px"/&gt;&lt;/p&gt;&lt;p&gt;Here is a one liner php script to demonstrate this :&lt;/p&gt;&lt;pre class="code"&gt;&amp;lt;?php setcookie("UserID", "23", time() + 3600, "/", "anjanesh.net") ?&amp;gt;&lt;/pre&gt;&lt;p class="cmd-line"&gt;http://www.anjanesh.net/cookie.php&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/cookie-1.png" alt="Cookies on www" style="width:395px;height:246px"/&gt;&lt;/p&gt;&lt;p class="cmd-line"&gt;http://test.anjanesh.net/cookie.jpg&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/cookie-2.png" alt="Cookies on test" style="width:395px;height:75px"/&gt;&lt;/p&gt;&lt;p&gt;Lets re-iterate the above, this time without typing in www for the first URL. CTRL + SHIFT + DEL and clear all cookies.&lt;/p&gt;&lt;p class="cmd-line"&gt;http://anjanesh.net/cookie.php&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/cookie-3.png" alt="Cookies on naked domain" style="width:395px;height:246px"/&gt;&lt;/p&gt;&lt;p class="cmd-line"&gt;http://test.anjanesh.net/cookie.jpg&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/cookie-4.png" alt="Cookies on test again" style="width:395px;height:246px"/&gt;&lt;/p&gt;&lt;p&gt;Now, when requesting for a pure jpg image, the cookie information is sent across to the server which is 17 bytes (&lt;b&gt;Cookie: UserID=23&lt;/b&gt;) of useless data.&lt;br /&gt;
You can use &lt;a href="http://livehttpheaders.mozdev.org/" target="_blank"&gt;Live HTTP Headers&lt;/a&gt; FireFox addon to view real-time browser-request and server-response headers.&lt;/p&gt;&lt;pre class="code"&gt;http://anjanesh.net/cookie.php

GET /cookie.php HTTP/1.1
Host: anjanesh.net
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8pre) Gecko/20100710 Ubuntu/9.10 (karmic) Namoroka/3.6.8pre
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Jul 2010 01:14:18 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.11
Set-Cookie: UserID=23; expires=Fri, 25-Jul-2010 02:14:18 GMT; path=/; domain=anjanesh.net
Content-Encoding: gzip
----------------------------------------------------------
http://test.anjanesh.net/cookie.jpg

GET /cookie.jpg HTTP/1.1
Host: test.anjanesh.net
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8pre) Gecko/20100710 Ubuntu/9.10 (karmic) Namoroka/3.6.8pre
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
&lt;div style="border:2px solid red; padding:5px;"&gt;Cookie: UserID=23&lt;/div&gt;HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Jul 2010 01:14:21 GMT
Content-Type: image/jpeg
Connection: keep-alive
Last-Modified: Thu, 29 Nov 2007 03:54:05 GMT
Etag: "27284bc-8291-4400943e7f140"
Accept-Ranges: bytes
Content-Length: 33425
----------------------------------------------------------&lt;/pre&gt;&lt;p&gt;From Y!'s &lt;a href="http://developer.yahoo.com/performance/rules.html#cookie_free" target="_blank"&gt;Best Practices for Speeding Up Your Web Site&lt;/a&gt; : &lt;blockquote&gt;&lt;p&gt;If your domain is www.example.org, you can host your static components on static.example.org. However, if you've already set cookies on the top-level domain example.org as opposed to www.example.org, then all the requests to static.example.org will include those cookies.&lt;/p&gt;&lt;/blockquote&gt;&lt;/p&gt;&lt;p&gt;But its not always possible to safe-guard this if your users don't type the www and you forget to force redirection to http://www&lt;br /&gt;
The best solution would be use a completely different domain name as a cookieless domain for static content.&lt;/p&gt;&lt;div class="note"&gt;&lt;p&gt;Initially, I did not set the path &amp;amp; domain parameters in setcookie()&lt;/p&gt;&lt;pre class="code"&gt;&amp;lt;?php setcookie("UserID", "23", time() + 3600) ?&amp;gt;&lt;/pre&gt;&lt;p&gt;This does not send cookies across to the subdomain requests even when the cookie was set to the naked URL.&lt;br /&gt;
This does not even send cookies across to different paths.&lt;br /&gt;
But some browsers, or old browsers may behave differently, automatically adding cookies to *.example.org as Y! pointed out.&lt;/p&gt;&lt;/div&gt;&lt;h5&gt;Related :&lt;/h5&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ravelrumba.com/blog/static-cookieless-domain/" target="_blank"&gt;Static Cookieless Domain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/HTTP_cookie#Setting_a_cookie" target="_blank"&gt;HTTP Cookie on WikiPedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Dual-Monitors on Ubuntu</title><link>http://anjanesh.blogspot.com/2010/06/dual-monitors-on-ubuntu.html</link><category>Monitors</category><category>Ubuntu</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sat, 5 Jun 2010 20:34:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-4885548312861958455</guid><description>&lt;p&gt;I recently got a second LCD monitor for my Ubuntu 10.04 64-bit machine and now I am using dual monitors which is pretty cool.&lt;br /&gt;
The first one is a 22" LG Flatron L222WS (1680 x 1050) and the recent one, which is now the primary one, is a 23" Dell SP2309W (2048 x 1152).&lt;br /&gt;
I had these connected to a 1GB nVidia GeForce 8600 GT graphics card. The LG via VGA (blue cable) and Dell via DVI (white cable).&lt;br /&gt;
Dual monitors don't seem to be enabled automatically. It has to specified in the graphics card's control panel. The following is for NVidia.&lt;/p&gt;&lt;p&gt;Sytem &amp;gt; Administration &amp;gt; NVIDIA X Server Settings&lt;/p&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/ubuntu-nvidia.PNG" alt="NVIDIA Settings" style="width:698px;height:651px"/&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enable your disabled monitor !&lt;/li&gt;
&lt;li&gt;Enable &lt;a href="http://en.wikipedia.org/wiki/Xinerama" target="_blank"&gt;Xinerama&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Save to Configuration File. (Click the button &lt;b&gt;Save to Configuration File&lt;/b&gt;)&lt;/li&gt;
&lt;li&gt;Logout &amp;amp; Re-Login to restart X - (&lt;a href="http://chrisjohnston.org/2009/re-enable-ctrl-alt-backspace-904" target="_blank"&gt;CTRL + ALT + BACKSPACE&lt;/a&gt; may or may not work)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Now, to get the panel onto the second monitor so that everything doesn't show as tabs on one monitor, you need to actually set a new (separate) panel for that monitor.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Right click on the current panel &amp;gt; New Panel. The new panel would probably be located on the right of the current monitor.&lt;/li&gt;
&lt;li&gt;Right click on the new panel &amp;gt; Properties &amp;gt; Uncheck Expand, so that you can move the bar around to the next monitor&lt;/li&gt;
&lt;li&gt;New panel &amp;gt; Properties &amp;gt; Orientation : Bottom&lt;/li&gt;
&lt;li&gt;New panel &amp;gt; Add to Panel &amp;gt; Window List and &lt;i&gt;Add&lt;/i&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/add-to-panel.PNG" alt="NVIDIA Settings" style="width:566px;height:516px"/&gt;&lt;/p&gt;&lt;p&gt;You should now be able to minimize your second monitor tabs to the secnd monitor's panel.&lt;/p&gt;&lt;h5&gt;Related :&lt;/h5&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/vibe.aspx" target="_blank"&gt;Two Screens Are Better Than One&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.directi.com/display/CAR/Penchant+for+Productivity+at+Directi" target="_blank"&gt;Penchant for Productivity at Directi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codinghorror.com/blog/2004/06/multiple-monitors-and-productivity.html" target="_blank"&gt;Multiple Monitors and Productivity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>Faster &amp; Now Even Faster</title><link>http://anjanesh.blogspot.com/2010/04/faster-now-even-faster.html</link><category>internet</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sat, 24 Apr 2010 19:14:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-6875196649568877038</guid><description>&lt;p&gt;Navi Mumbai is really a happening place.&lt;br /&gt;
Now that I am in office all day long, I decided to downgrade my internet from 1Mbps unlimited to a 6GB per month limit. And the latter is at 4Mbps ! And for Rs 500 (~$10) a month. Last time I checked with almost every ISP in Navi Mumbai, a 1Mbps was like Rs 5,000 (~$100) a month ! I tried to get this at office, but the ISP is providing this only within Navi Mumbai.&lt;/p&gt;&lt;div style="text-align:center;padding-top:10px;padding-bottom:10px"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/ssv.JPG" style="width:442px;height:696px;border:0" alt="SSV"/&gt;&lt;/div&gt;&lt;p&gt;10Mbps at Rs 1,400 (~$30) ! &lt;i&gt;Now&lt;/i&gt; we are getting somewhere to afford what once was a luxury.&lt;br /&gt;
&lt;b&gt;Update :&lt;/b&gt; 10Mbps at Rs 1000 (~$20)&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>HDD Media Cable Burnt !</title><link>http://anjanesh.blogspot.com/2010/04/hdd-media-cable-burnt.html</link><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 11 Apr 2010 12:58:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-1545266940628713157</guid><description>&lt;p&gt;I came back from office yesterday night, left my Ubuntu 10.04b1 PC switched on the whole night for an OS update and even though the update as like 30 mins tops, I was so sleepy that I didn't bother to wait that long.&lt;br /&gt;
When I got up in the morning, I had to reboot after the update, but I had to cold-reboot for some reason (GNOME &lt;i&gt;was&lt;/i&gt; working with wierd characters).&lt;br /&gt;
But my machine never booted - and this was not at even the OS level as I was getting this message.&lt;/p&gt;&lt;pre class="code"&gt;PXE-E61: Media test failure, check cable
PXE-M0F: Exiting Intel Boot Agent.

No bootable device - insert boot disk and press any key&lt;/pre&gt;&lt;p&gt;So no grub or bootloader missing fix etc.&lt;/p&gt;&lt;p&gt;I went to BIOS &amp;gt; Boot&lt;/p&gt;&lt;pre class="code"&gt;Boot Menu Type : Normal
Boot Device Priority : &amp;lt;CD/DVD-ROM Drive&amp;gt;
                       &amp;lt;Hard Disk Drive&amp;gt;
                       &amp;lt;Floppy Drive&amp;gt;
                       &amp;lt;Ethernet&amp;gt;
Hard Driver Order    : No Hard Disk Drive
CD/DVD ROM Drive Order : &amp;lt;PT-TSSTcorp CDDV&amp;gt;
Removable Drive Order : No Removable Drive&lt;/pre&gt;&lt;p&gt;I opened the chasis (which I should've right in the beginning saving all that time searching for a boot fix), and found that the power cable to the hard-disk was badly burnt !&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/hdd-cable-burnt-1.jpg" target="" alt="Burnt" style="border:0"/&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>E-Commerce Setup Costs based on Magento</title><link>http://anjanesh.blogspot.com/2010/02/e-commerce-setup-costs-based-on-magento.html</link><category>Magento</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Thu, 25 Feb 2010 09:22:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-4044164253721985683</guid><description>&lt;p&gt;Money Suckers ! Thats the idea most clients seem to get when proposing a rough cost estimate range (&amp;#177;25%) for an e-commerce website based on &lt;a href="http://www.magentocommerce.com" target="_blank"&gt;Magento Commerce&lt;/a&gt;.&lt;br/&gt;If you are dead serious about selling online, you should also be ready to invest a fair amount on a system that is run by an organization which is dedicated in making the best possible open-source e-commerce platform available. Open-Source does not necessarily mean free, though most are.&lt;/p&gt;

&lt;p&gt;Magento comes in two flavours : Community and Enterprise.&lt;br/&gt;The Enterprise has some additional features which are lacking in the Community edition, but because both are open-source, ideally you could make an Enterprise edition from the Community edition if you got that much time and energy.&lt;/p&gt;

&lt;p&gt;Here is a rough &lt;b&gt;annual&lt;/b&gt; cost for just setting up an online store based out of Magento Commerce. (raw material)&lt;/p&gt;

&lt;p&gt;Note : Magento has the ability to run multiple websites (e-shops) running on a single Magento installation. An SSL Certificate and a unique IP address are required for each domain separately.&lt;/p&gt;

&lt;table id="table-post-magento"&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&amp;nbsp;&lt;/th&gt;&lt;th&gt;&lt;div class="one"&gt;Magento Community Edition&lt;/div&gt;&lt;/th&gt;&lt;th&gt;&lt;div class="two"&gt;Magento Enterprise Edition&lt;/div&gt;&lt;/th&gt;&lt;th&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Magento Cost&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE odd"&gt;&lt;a href="http://www.magentocommerce.com/product/community-edition" target="_blank"&gt;$0&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN odd"&gt;&lt;a href="http://www.magentocommerce.com/product/enterprise-edition" target="_blank"&gt;$11,125&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;&lt;a href="http://www.magentocommerce.com/product/compare" target="_blank"&gt;See whats the difference between the two&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Web Hosting&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE even"&gt;&lt;a href="http://www.webfaction.com/services/hosting?affiliate=anjanesh" target="_blank"&gt;$102&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN even"&gt;&lt;a href="http://www.webfaction.com/services/dedicated?affiliate=anjanesh" target="_blank"&gt;$4,200&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;Guys at WebFaction are really helpful in maintaining a robust platform - they really go out of their way answering issues posted on forums too&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;SSL Certificate Per Domain&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE odd"&gt;&lt;a href="http://answerable.com/digital_certificate.php" target="_blank"&gt;$29&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN odd"&gt;&lt;a href="http://answerable.com/digital_certificate.php" target="_blank"&gt;$84&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;You get Thawte's SSL Certificates from DirectI&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Dedicated IP Address per Domain&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE even"&gt;$60&lt;/td&gt;&lt;td class="value EN even"&gt;$60&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;Multiply this with the number of magento websites you want&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Email Newsletter Campaign&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE odd"&gt;&lt;a href="http://madmimi.com/service_agreements/choose_plan" target="_blank"&gt;$96 - $8,388&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN odd"&gt;&lt;a href="http://madmimi.com/service_agreements/choose_plan" target="_blank"&gt;$96 - $8,388&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;With MadMimi's you can get achieve almost 100% branding&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;OneStepCheckOut Magento Module&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE even"&gt;&lt;a href="http://www.onestepcheckout.com/product" target="_blank"&gt;&amp;#128;190&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN even"&gt;&lt;a href="http://www.onestepcheckout.com/product" target="_blank"&gt;&amp;#128;590&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;The CheckOut experience is the most important part in a sale. Magento's default one-page checkout is 6 steps  - which is 6 clicks&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Amazon S3 for Static File Storage&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE odd"&gt;&lt;a href="http://aws.amazon.com/s3/#pricing" target="_blank"&gt;~$50&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN odd"&gt;&lt;a href="http://aws.amazon.com/s3/#pricing" target="_blank"&gt;~$100&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;This is really varies based on your bandwidth usage. It can be from $1 a month for a low-traffic site to $100 a month for a high-traffic site&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Amazon CloudFront for &lt;a href="http://en.wikipedia.org/wiki/Content_delivery_network" title="Content Delivery Network" target="_blank" style="cursor:help;text-decoration:none;border-bottom:1px dashed black"&gt;CDN&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE even"&gt;&lt;a href="http://aws.amazon.com/cloudfront/#pricing" target="_blank"&gt;~$50&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN even"&gt;&lt;a href="http://aws.amazon.com/cloudfront/#pricing" target="_blank"&gt;~$100&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;This is really varies based on the geographic location&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="item"&gt;Google Apps&lt;/div&gt;&lt;/td&gt;&lt;td class="value CE odd"&gt;&lt;a href="http://www.google.com/apps/intl/en/group/index.html" target="_blank"&gt;$0&lt;/a&gt;&lt;/td&gt;&lt;td class="value EN odd"&gt;&lt;a href="http://www.google.com/apps/intl/en/business/features.html" target="_blank"&gt;$50 per user id (email id)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="comment"&gt;I &lt;span style="text-decoration:line-through"&gt;prefer&lt;/span&gt; insist on using ASchroder's &lt;a href="http://www.aschroder.com/2009/05/using-gmail-or-google-apps-email-with-magento/" target="_blank"&gt;SMTP module&lt;/a&gt; to native mail so that &lt;b&gt;all&lt;/b&gt; sent mails are reflected in Google Apps Email, so that you or the client can actually validate what mail contents are going through. (Many Email providers don't store sent mails sent via SMTP remotely, on their servers)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tfoot&gt;&lt;tr&gt;&lt;td style="border:0"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="one"&gt;&lt;div&gt;~ $700&lt;/div&gt;&lt;/td&gt;&lt;td class="two"&gt;&lt;div&gt;~ $17,000&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;
&lt;/table&gt;

&lt;p&gt;The most popular free &amp;amp; open-source e-commerce system is &lt;a href="http://www.oscommerce.com/" target="_blank"&gt;OsCommerce&lt;/a&gt; which has dominated the e-commerce industry in the last decade.
If selling products is not your primary business, Magento Community Edition or OsCommerce will just suffice. After all, even Google uses OsCommerce at &lt;a href="http://google-store.com" target="_blank"&gt;google-store.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Related Links :
&lt;ul&gt;&lt;li&gt;&lt;a href="http://activecodeline.com/giving-cost-estimates-on-custom-magento-development" target="_blank"&gt;Giving cost estimates on custom Magento development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://inchoo.net/ecommerce/magento/is-magento-right-for-me/" target="_blank"&gt;Is Magento right for me?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>SMS Gateways and Services for Indian Businesses</title><link>http://anjanesh.blogspot.com/2010/02/sms-gateways-and-services-for-indian.html</link><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 7 Feb 2010 23:04:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-5914487766461396247</guid><description>&lt;p&gt;If there one thing that is really booming in India right now, recession or no recession, its SMS - Short Messaging Service. The boom is evident straight from Twitter - Twitter users have grown phenomenally in India in 2009 especially after Twitter &lt;a href="http://mashable.com/2009/10/14/twitter-india-sms/" target="_blank"&gt;securing an SMS deal&lt;/a&gt; with India's largest mobile-service provider, AirTel at 110+ million userbase.&lt;/p&gt;&lt;p&gt;With the Twitter model, its easy to subscribe to updates. Google recently joined the race in SMS at &lt;a href="http://labs.google.co.in" target="_blank"&gt;Google India Labs&lt;/a&gt; : &lt;a href="http://labs.google.co.in/smschannels/" target="_blank"&gt;SMS Channels&lt;/a&gt;. Both these services require users to subscribe before any updates can be sent.&lt;/p&gt;&lt;p&gt;With SMS solutions becoming a major player in India, various SMS service providers have sprouted quickly.&lt;/p&gt;&lt;p&gt;General facts on SMS solutions : &lt;ol&gt;&lt;li&gt;Most of these SMS Solutions have a 160 or 320 character limit and cost 1 SMS credit for every 160 characters.&lt;/li&gt;
&lt;li&gt;Most of them support all networks : All India GSM + CDMA Coverage including BSNL and Reliance IndiaMobile &amp;amp; TataIndicom.&lt;/li&gt;
&lt;li&gt;Some support international networks as well, but for USA, delivery to some mobile networks is not a guarantee. It instead ended up in my brother's inbox when I tried to send to his Chicago number. This varies from operator to operator and unlike in India, operators may charge for incoming messages ! If international SMS delivery is important, either send a support ticket asking which mobile networks are supported or you can directly opt for an international gateway provider like &lt;a href="http://www.clickatell.com" target="_blank"&gt;Clickatell&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Short Codes for 2 way SMS are normally at an additional cost. The additional cost is not for the Short Code itself, but for a keyword that is used in the message when replying to the short code to identify your account / campaign. Most of these providers provide an unlimited number or a large number of short code keywords.&lt;/li&gt;
&lt;li&gt;In order to avoid being responsible for SPAM, an SMS API is not something that providers are eager to give away so easily. Most providers will either charge an amount or require documents, application for API usage which are screened thoroughly for an approval process. Some may further require an official letter to prove your brand trademark or a latter claiming responsibility for unfair API usage, incase of any.&lt;/li&gt;
&lt;li&gt;Official Telecom Regulatory Authority of India's website is &lt;a href="http://www.trai.gov.in/Default.asp" target="_blank"&gt;trai.gov.in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://ndncregistry.gov.in/" target="_blank"&gt;National Do-Not-Call Registry&lt;/a&gt; has a database of mobile numbers which have been registered for Don-Not-Disturb. Legally you'll need to cross-check the recipient's number at the &lt;a href="http://ndncregistry.gov.in/ndncregistry/search.misc" target="_blank"&gt;DND Check&lt;/a&gt;. So far there is no official API for bulks checks, so this is something you'll have to process manually once a while. Do-Not-Call = Do-Not-Disturb = No SMS please.&lt;/li&gt;
&lt;li&gt;List of mobile service providers : &lt;a href="http://www.trai.gov.in/serviceproviderslist.asp" target="_blank"&gt;http://www.trai.gov.in/serviceproviderslist.asp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Since February 2009, TRAI has made it mandatory to prepend 2 letters and a hyphen with the SenderID thus reducing it from 11 letters to 8 letters for a name. The first letter stands for the mobile service operator's name and the second letter for the location of the SMS being sent from. You can find this list &lt;a href="http://www.trai.gov.in/WriteReadData/trai/upload/Directives/131/direction10dec08.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Direct tie-up with a mobile operator requires a minimum monthly commitment that runs in lakhs of rupees, approx Rs 60 lakhs a month from one source. So some of these SMS providers may be resellers of bigger SMS providers.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;p&gt;Here are some useful SMS solutions for your business to market and promote your brand.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.indyarocks.com" target="_blank"&gt;IndyaRocks / SMS Gold&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/indyarocks.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.25 per SMS down to Rs 0.08 per SMS. Price exclusive of 10.3% service tax.&lt;/li&gt;
&lt;li&gt;Validity : Unlimited&lt;/li&gt;
&lt;li&gt;Payment Options : Net Banking, Wire-Transfer, Demand Draft&lt;/li&gt;
&lt;li&gt;API : Not available for all. Free, only on request for their Rs 8,000 package customers after strict screening and approval on official documentation on API usage.&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Free for now. Requires documentary proof and will be activated only after the authentication process which may take upto 7 working days.&lt;/li&gt;
&lt;li&gt;Free SMS : Yes. Unlimited SMS. 140 character limit appended by &lt;b&gt;-Indayrocks&lt;/b&gt; at end of message.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.smscountry.com" target="_blank"&gt;SMS Country&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/smscountry.gif" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;SMS Country is more for the more business minded. They charge for SenderID, API and deliver to 200+ countries (international rates vary).&lt;/li&gt;
&lt;/li&gt;
Price : Starts at Rs 0.15 per SMS till Rs 0.06 per SMS for delivery in India. Price inclusive of tax.&lt;/li&gt;
&lt;li&gt;International Coverage : 200+ countries at different rates. Does not cover most USA mobile networks.&lt;/li&gt;
&lt;li&gt;Validity : 6 months from the last date of purchase&lt;/li&gt;
&lt;li&gt;Payment Options : PayPal, Credit Card, NetBanking, Wire-Transfer, Cheque, Demand Draft, Money Order, Cash Deposit, ItzCash&lt;/li&gt;
&lt;li&gt;API : HTTP (GET / POST), XML, SMTP, COM. Requires a fixed IP address of server using API. $145 for setup and $131 annually with 2 sendernames and $78 annually for no sendernames.&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Rs 1500 or $40. Validity of Sender ID is for 1 year.&lt;/li&gt;
&lt;li&gt;Free SMS : 10 SMS Credits.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://160by2.com" target="_blank"&gt;160 by 2&lt;/a&gt; is a new initiative by SMS Country with currently 6+ million users. It provides FREE SMS service even to selected International networks. Right now its mainly to Middle Eastern countries and South East Asia. The catch is that its supported by 80 characters-limit ads which are appended to your 80 characters-limit message.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.mysmsmantra.com" target="_blank"&gt;My SMS Mantra&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/mysmsmantra.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.30 per SMS down to Rs 0.04 per SMS. Price exclusive of 10.3% tax.&lt;/li&gt;
&lt;li&gt;Validity : 3 Years&lt;/li&gt;
&lt;li&gt;Payment Options : PayPal, Cheque, Demand Draft.&lt;/li&gt;
&lt;li&gt;API : HTTP (GET / POST)&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Free. Approval from mobile service provider in a few hours.&lt;/li&gt;
&lt;li&gt;Its 2 way SMS has a "Toll Free SMS" feature, where website visitors can send SMS to your mobile number at no cost. The Website owner pays for incoming messages from these visitors.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.foosms.com" target="_blank"&gt;FOO SMS&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/foosms.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.25 per SMS down to Rs 0.05 per SMS. Price inclusive of tax.&lt;/li&gt;
&lt;li&gt;International Coverage : Yes.&lt;/li&gt;
&lt;li&gt;Validity : Unlimited&lt;/li&gt;
&lt;li&gt;Payment Options : Wire-Transfer, Cheque, PayPal.&lt;/li&gt;
&lt;li&gt;API : HTTP GET, SMPP, XML&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Free. Approval from mobile service provider in a few hours.&lt;/li&gt;
&lt;li&gt;Free SMS : 10 credits on request.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://gateway4sms.com" target="_blank"&gt;Gateway4SMS&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/Gateway4SMS.jpg" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.15 per SMS down to Rs 0.06 per SMS. Price exclusive of 12.36% service tax.&lt;/li&gt;
&lt;li&gt;Validity : 30 / 60 / 120 days&lt;/li&gt;
&lt;li&gt;Payment Options : Wire-Transfer, PayPal&lt;/li&gt;
&lt;li&gt;API : HTTP GET, SMPP, XML&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Costs additional Rs 500. Takes upto 24 hours on receipt of documents.&lt;/li&gt;
&lt;li&gt;2 Way SMS : Yes. Starts at Rs 3500 per month.&lt;/li&gt;
&lt;li&gt;Free SMS : 5 credits&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.snowebs.co.in" target="_blank"&gt;Snowebs&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/snowebs.gif" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Snowebs, originally a desktop application that connects your mobile to your PC to send messages, now has a web interface as well.&lt;/li&gt;
&lt;li&gt;Price : Starts at Rs 0.60 per SMS till Rs 0.30 per SMS. Price inclusive of tax.&lt;/li&gt;
&lt;li&gt;International Coverage : Yes - USA, UK, Australia, South Africa, UAE and Germany&lt;/li&gt;
&lt;li&gt;Validity : 30 / 60 / 90 / 180 / 365 days&lt;/li&gt;
&lt;li&gt;Payment Options : Wire-Transfer, Cheque, Cash, DD, PayPal.&lt;/li&gt;
&lt;li&gt;API : HTTP GET.&lt;/li&gt;
&lt;li&gt;SenderID : Yes. 5 Free. Additional SenderIDs at Rs 75 each.&lt;/li&gt;
&lt;li&gt;Free SMS : 2 credits.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.goforsms.com" target="_blank"&gt;Go For SMS&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/goforsms.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.60 per SMS down to Rs 0.28 per SMS. Price inclusive of tax.&lt;/li&gt;
&lt;li&gt;Validity : 7 / 15 / 30 / 45 / 60 / 180 / 270 days&lt;/li&gt;
&lt;li&gt;Payment Options : Wire-Transfer, PayPal, Eazy2Pay.&lt;/li&gt;
&lt;li&gt;API : HTTP GET&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Free. Requires documentation for approval process. Default SenderID is GoForSMS&lt;/li&gt;
&lt;li&gt;Free SMS : Yes (delivery is not guaranteed)&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.znisms.com" target="_blank"&gt;ZNI SMS&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/znisms.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.90 per SMS down to Rs 0.15 per SMS. Price inclusive of tax.&lt;/li&gt;
&lt;li&gt;Validity : 60 days&lt;/li&gt;
&lt;li&gt;Payment Options : Online, Wire-Transfer&lt;/li&gt;
&lt;li&gt;API : HTTP GET, XML&lt;/li&gt;
&lt;li&gt;Free SMS : No&lt;/li&gt;
&lt;li&gt;SenderID : Yes. Free. Requires documentation for approval process. Default SenderID is SMSALERT&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.smsjunction.com" target="_blank"&gt;SMS Junction&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/smsjunction.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Price : Starts at Rs 0.25 per SMS down to Rs 0.08 per SMS. Price exclusive of service tax.&lt;/li&gt;
&lt;li&gt;Validity : Monthly SMS Usage/Consumption&lt;/li&gt;
&lt;li&gt;Payment Options :&lt;/li&gt;
&lt;li&gt;API : HTTP (GET / POST), SMPP, E-Mail&lt;/li&gt;
&lt;li&gt;SenderID : Yes&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.full2sms.com" target="_blank"&gt;Full2SMS&lt;/a&gt; &lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/full2sms.png" style="float:right"/&gt; &lt;ul&gt;&lt;li&gt;Full2sms is a desktop application that sends messages from your PC via the Internet&lt;/li&gt;
&lt;li&gt;Price : Starts at Rs 0.12 per SMS down to Rs 0.06 per SMS.&lt;/li&gt;
&lt;li&gt;Validity : 45 days to 3 years&lt;/li&gt;
&lt;li&gt;Payment Options : Wire-Transfer, DD, Cheque, Cash, PayPal.&lt;/li&gt;
&lt;li&gt;API : HTTP (GET / POST)&lt;/li&gt;
&lt;li&gt;SenderID : Yes.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></item><item><title>Pipex &amp; AirTel Logos</title><link>http://anjanesh.blogspot.com/2010/01/pipex-airtel-logos.html</link><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 24 Jan 2010 01:26:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-6530827096894171401</guid><description>&lt;p&gt;I just couldn't help noticing - two of the biggest broadband companies in the world have their logo themes in inverse.&lt;br/&gt;&lt;a href="http://www.pipex.co.uk/business/" target="_blank"&gt;&lt;img src="http://i81.photobucket.com/albums/j212/anjanesh/Blog/pipex-business-logo.gif" style="width:135px; height:79px;margin-top:10px;border:0" alt="Pipex"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href="http://airtel.in" target="_blank"&gt;&lt;img src="http://i81.photobucket.com/albums/j212/anjanesh/Blog/Airtel_Logo.jpg" style="width:105px; height:38px;margin-left:17px;margin-top:10px;border:0" alt="AirTel"/&gt;&lt;/a&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://i81.photobucket.com/albums/j212/anjanesh/Blog/th_pipex-business-logo.gif" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Dog Catcher</title><link>http://anjanesh.blogspot.com/2009/12/dog-catcher.html</link><category>travel</category><author>noreply@blogger.com (Anjanesh)</author><pubDate>Mon, 14 Dec 2009 09:00:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-5006882599311213285</guid><description>&lt;p&gt;I was on my way back from &lt;a href="http://moorthy.co.in/accti/carbo-xxiv" target="_blank"&gt;CARBO XXIV&lt;/a&gt; recently and I got a shot of a dog-catcher (animal control) putting away stray dogs at Ahmedabad station. This video I got a shot of was at the reservation counter.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IXdqO8Dd6kU&amp;hl=en_US&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IXdqO8Dd6kU&amp;hl=en_US&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>Webfaction</title><link>http://anjanesh.blogspot.com/2009/08/webfaction.html</link><author>noreply@blogger.com (Anjanesh)</author><pubDate>Sun, 23 Aug 2009 12:36:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-31023962.post-5430777263170556928</guid><description>&lt;a href="http://www.webfaction.com/?affiliate=anjanesh" target="_blank"&gt;&lt;img src="https://s3.amazonaws.com/anjanesh/blogs/images/webfaction-logo.png" style="width:260px; height:60px; float:right" alt="WebFaction"/&gt;&lt;/a&gt;  &lt;p&gt;I am not going to get into another general shared-hosting review. Infact this is something in between shared-hosting and a VPS.&lt;/p&gt;&lt;p&gt;I signed up for 2 webfaction accounts - I was primarily looking for a VPS switch, for which I already decided on SliceHost.&lt;br /&gt;
But there are 2 challenges to SliceHost - one, it costs $20/month for 10GB/100GB space/bandwidth which is still pretty expensive for Indian standards.&lt;br /&gt;
Two, since its unmanged, a fair amount of linux sys admin skills is required to keep it up and running without downtimes.&lt;/p&gt;&lt;p&gt;WebFaction is mainly known for its Python hosting (previously python-hosting.com), but the best part is that you can run it like a VPS. The base install managed by the hosting company itself and the custom installs mananged by the customers themselves. For example, you can install another version of MySQL in your HOME directory and run it at a custom port (each user account gets a predefined range of ports for use in custom setups). And yes, you can install anything else not natively available in WebFaction. This is awesome, since you don't get the overhead of managing the entire server - instead you just manage what you install.&lt;/p&gt;&lt;p&gt;The other interesting fact about WebFaction is setting ACLs without the need of root.&lt;br /&gt;
Normally we would want a couple of directories (like user photos) writable by the web-server so that the web-interface can save to that directory.&lt;br /&gt;
In most shared-hosts, the only solution would be setting 0777 or 0755 permissions on a directory.&lt;/p&gt;&lt;p&gt;On my Ubuntu PC, I would do : (&lt;b&gt;www-data&lt;/b&gt; is &lt;b&gt;apache2&lt;/b&gt;)  &lt;pre class="code"&gt;sudo chgrp -R www-data &amp;lt;directory&amp;gt;
chmod -R g+w &amp;lt;directory&amp;gt;&lt;/pre&gt;In WebFaction they have &lt;a href="https://help.webfaction.com/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=111&amp;nav=0,19" taget="_blank"&gt;a command-line script&lt;/a&gt; that does this for users.  &lt;pre class="code"&gt;setfacl -R -m u:apache:rwx &amp;lt;directory&amp;gt;
setfacl -R -m default:u:$USER:rwx &amp;lt;directory&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Con&lt;/b&gt; - no sendmail path defined - hence PHP's native mail() will not work. This was done inorder to avoid mail abuse. The general method of substitution in PHP would be to use a mail library like &lt;a href="http://swiftmailer.org/" target="_blank"&gt;SwiftMailer&lt;/a&gt; to use SMTP to send out the mails.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item></channel></rss>