<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>A Day Without Chocolate</title>
    <link>http://blog.hardikr.com</link>
    <language>en</language>
    <webMaster>me@hardikr.com (Hardik Ruparel)</webMaster>
    <pubDate>2013-03-24T10:46:07-07:00</pubDate>
    <copyright>Copyright 2011</copyright>
    <ttl>60</ttl>
    <description>A Blog by Hardik Ruparel</description>
    
    <item>
      <title>Buying Games.. Finally!</title>
      <link>http://blog.hardikr.com/personal/buying-games</link>
      <pubDate>Fri Nov 02 00:00:00 -0700 2012</pubDate>
      <guid>http://blog.hardikr.com/personal/buying-games/</guid>
      <description>&lt;p&gt;I used to pirate games. A lot.&lt;/p&gt;

&lt;p&gt;But, before that, were the days of the NES - and the 10,000-in-1 cassettes that had around 100 unique games. I loved most of them- Donkey Kong Jr., Super Mario Bros., Zelda, Tennis, Duck Hunt (with that bloody stupid dog), Ice Climber, Bomberman, Contra - and so many more whose names I can&amp;#8217;t remember. Sure, we traded games with friends, to get more 10,000-in-1 cassettes, blow air into their crevices, and play on!&lt;/p&gt;

&lt;p&gt;Fast-forward a few years, my parents bought my first PC - a Pentium II Windows 98 machine. I had played FIFA and Need for Speed II on a couple of my friends&amp;#8217; PCs - and I wanted them SO BAD ! But, they were prohibitively expensive. As much as I wanted them, my parents (rightfully) concluded it&amp;#8217;s not worth buying two games that cost 1/4th of what the computer cost. I lived in an &lt;a href='https://en.wikipedia.org/wiki/Oman'&gt;obscure Middle East country&lt;/a&gt;, and technology to them was like space-travel is to us today.&lt;/p&gt;

&lt;p&gt;So, along with our computer, we had received a bunch of CDs with drivers and other things. Amonst them, there was this CD that had the Creative Sound-Blaster sound-card drivers on it, and for some reason there was a sports-card and/or bike pictured on the CD. My brother and I were SO EXCITED! We thought - FREE GAME! We loaded it up, went into every folder and it&amp;#8217;s subfolders, but there was no game. We checked. More than once.&lt;/p&gt;

&lt;p&gt;Anyhow, my brother and I decided to pick up other cheaper games nevertheless. We bought &lt;a href='https://en.wikipedia.org/wiki/Ultimate_Race_Pro'&gt;Ultimate Race Pro&lt;/a&gt; and a weird top-down football game called Total Football or something. And as far as I remember, these were the last &lt;strong&gt;legitimate&lt;/strong&gt; games we bought for a LONG time. Some early Windows/DOS games I remember &amp;#8220;borrowing&amp;#8221; from friends were Dave, Alladin, Prince of Persia, Road Rash - the classics. And no, I don&amp;#8217;t thing borrowing is piracy.&lt;/p&gt;

&lt;p&gt;Fast-forward some more, we bought a &lt;a href='https://en.wikipedia.org/wiki/PlayStation_(console)#PSone'&gt;PSone&lt;/a&gt;. A PSone game cost around 1/3rd of the price of the console itself. I mean who comes up with the economics of this. Fortunately, Muscat had a booming fake/copied/cracked/pirated game market, where street shops would sell &amp;#8216;burned&amp;#8217; PSone games for 0.5 &lt;a href='https://en.wikipedia.org/wiki/Omani_rial'&gt;Rials&lt;/a&gt; a pop (~ 1 USD). This made perfect financial sense - we bought a bunch of games and played them.&lt;/p&gt;

&lt;p&gt;At the same time, there were some great PC games emerging. Max Payne (1 and 2), GTA Vice City, Need For Speed Underground (1 and 2) - SO MANY AWESOME GAMES! But: They cost a shit ton of money. So we did what any early 2000s kids would do - turned to the rich kid who has broadband at home. He downloads the cracked game, writes it to a CD, brings it to class (by breaking the stupid no-bringing-CDs-to-class rule) and passes it around. Everybody has some good-old fun. The guy who completes the game on hard/expert-mode gets to be the hero for the game. No Steam achievements. No social bullshit. Just standing in the playground during gym class discussing the amazing bullet-time in Max Payne.&lt;/p&gt;

&lt;p&gt;Slightly off-topic, but I always wonder what girls my age did for fun. We guys first had NES, then the Playstations, and finally amazing PC games. What did they do all this time? Did they really spend that much time with their Barbies? They must&amp;#8217;ve been doing &lt;em&gt;something&lt;/em&gt; ?&lt;/p&gt;

&lt;p&gt;My parents had a weird rule of 1 hour of gaming a week (which they somehow managed to enforce right from the NES days to when I was in high-school), so my brother and I used to stay up late to play and try finishing the games. Because come on, 1 hour a week?? I would still be playing Vice City - now - in 2012. And 2012 is about to end.&lt;/p&gt;

&lt;p&gt;To be perfectly honest, I did not know that my activities constituted piracy. It&amp;#8217;s strange - we knew the games cost money, we knew we weren&amp;#8217;t paying for them, but it didn&amp;#8217;t feel wrong. I guess that&amp;#8217;s why kids are so dreadful eh?&lt;/p&gt;

&lt;p&gt;2006- I left home to go to &lt;a href='http://www.nitt.edu/home/'&gt;college&lt;/a&gt;, where I played Counter-Strike 1.6 and DotA on LAN with friends. Oh, of course these were cracked. They were passed down by our college seniors - and we did the same when we became seniors. This was my first taste of multiplayer gaming - and I was consumed. There were a few distractions in the form of popular like Prince of Persia (the newer ones), Command &amp;amp; Conquer II, Worms, World of Goo (which is quite possibly my favorite indie-game of all time), Governor of Poker, and of course the latest FIFA game - all cracked. Every PC on the hostel LAN used to have a 100 GB game folder - the latest Call-of-Duty, Battlefield - think cookie-cutter AAA games. I had an onboard Intel graphics card, and couldn&amp;#8217;t play any of these.&lt;/p&gt;

&lt;p&gt;But now, I&amp;#8217;m in the States. I&amp;#8217;m a poor broke grad student, but at least I have 2 things that have stopped me from buying games before - a credit card and a fast internet connection. However, my free time is minimal.&lt;/p&gt;

&lt;p&gt;The first thing I did was to buy a copy of World of Goo - for all the hours I spent on it, trying to complete all levels on &lt;a href='http://worldofgoo.wikia.com/wiki/OCD'&gt;OCD&lt;/a&gt;. Then, thanks to &lt;a href='https://www.humblebundle.com/'&gt;Humble Bundle&lt;/a&gt;, I picked up some fantastic indie-games on-the-cheap (I told you I&amp;#8217;m broke).&lt;/p&gt;

&lt;p&gt;Indie-games are SO MUCH FUN. Good indie games are everything you can ask for. No crappy tacked-on features that are dictated by the marketing department. AMAZING MUSIC. Also, they remind me of the good-old NES days. Those games were the best. My brother still plays Bomberman on an NES emulator.&lt;/p&gt;

&lt;p&gt;I must admit something here - my roommate and I did play cracked versions of Left4Dead and Left4Dead 2, but I did end up buying them on Steam as well (and made him buy it).&lt;/p&gt;

&lt;p&gt;The final nail in the I-won&amp;#8217;t-pirate-again coffin was watching &lt;a href='http://www.indiegamethemovie.com/'&gt;Indie Game: The Movie&lt;/a&gt;. Not only is it a really well made movie, but it portrays indie-game developers in just the right spirit to get pirates to buy games. We are shown that actual human beings are putting their lives on the line to put games out. Games don&amp;#8217;t just drop out of the sky. The creators of Braid, Fez and Super Meat Boy are featured in the movie, and it is really humbling to watch them crank out their games.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve started a tumblog where I keep a track of the games I like - I love sharing good games I find, because I found these recommendations through hardcore indie-gamers who already do a really good job at curation. So think of this as a super-curated list of really good (mostly indie) games. Find the tumblog at &lt;a href='http://games.hardikr.com'&gt;http://games.hardikr.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, to sum up: Play more Indie Games. Have fun. Support the Developers by buying their games! Do you want to be left with bullshit big-budget games like Medal of Honor? Oh, the horror.&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/games piracy">games piracy</category>
      
    </item>
    
    <item>
      <title>Making simple REST calls in Objective-C</title>
      <link>http://blog.hardikr.com/tech/rest-objc</link>
      <pubDate>Fri Jun 29 00:00:00 -0700 2012</pubDate>
      <guid>http://blog.hardikr.com/tech/rest-objc/</guid>
      <description>&lt;p&gt;I was looking to make REST calls to an API for a Mac application I was working on, and I kept looking for a way to do this, and ran into really useful (but huge) libraries like &lt;a href='https://github.com/RestKit/RestKit'&gt;Restkit&lt;/a&gt;. But doing this effectively doubled the size of my executable .app file.&lt;/p&gt;

&lt;p&gt;Turns out, &lt;a href='https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/ObjC_classic/_index.html'&gt;Foundation&lt;/a&gt; provides an NSURLRequest class, which makes making REST calls really easy-peasy, and just a few lines of code.&lt;/p&gt;

&lt;p&gt;First, I created an instance method.&lt;/p&gt;
&lt;script src='https://gist.github.com/3020706.js?file=makeRestCall.m'&gt;
&lt;/script&gt;
&lt;p&gt;Then, I call it.&lt;/p&gt;
&lt;script src='https://gist.github.com/3020706.js?file=callFunction.m'&gt;
&lt;/script&gt;
&lt;p&gt;Done!&lt;/p&gt;

&lt;p&gt;But, so you&amp;#8217;re not happy with a simple REST call and wish to add an HTTP header. Easy as pie! We need to use an object of NSMutableURLRequest and cast it back, if required.&lt;/p&gt;
&lt;script src='https://gist.github.com/3020706.js?file=headerRest.m'&gt;
&lt;/script&gt;
&lt;p&gt;I&amp;#8217;m sure RestKit is a wonderful library, but for making a single RESTful URL request, it is overkill!&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/tech cocoa objc">tech cocoa objc</category>
      
    </item>
    
    <item>
      <title>Chrome Extensions for Hackers</title>
      <link>http://blog.hardikr.com/tech/chrome-extensions</link>
      <pubDate>Sat Apr 28 00:00:00 -0700 2012</pubDate>
      <guid>http://blog.hardikr.com/tech/chrome-extensions/</guid>
      <description>&lt;p&gt;I Googled &amp;#8220;Chrome Extensions for Hackers&amp;#8221;, and I was disappointed by the failure of Google to understand what I meant when I said hackers. I then Googled &amp;#8220;Chrome extensions for programmers&amp;#8221;, and was flooded with Firebug (pfft) recommendations - bar one &lt;a href='http://programmers.stackexchange.com/questions/26769/chrome-extensions-every-programmer-should-know'&gt;Stackexchange question&lt;/a&gt;, which had a single good recommendation - &lt;a href='https://chrome.google.com/extensions/detail/ooehfcnceghcfhnilipfdmfoiaahmopc'&gt;Development and Coding Search&lt;/a&gt; (I had a bet with myself in my head that this question would be &amp;#8220;closed&amp;#8221;, and I was not disappointed.)&lt;/p&gt;

&lt;p&gt;So here&amp;#8217;s a list of extensions I currently use, which you should probably ignore, since you might already be using most of them. Many of them are security/privacy related; so I guess I should have titled the post &amp;#8220;Chrome Extensions for The League of People who care about their Privacy&amp;#8221;. But aren&amp;#8217;t hackers and privacy minded people? Surely! Are privacy minded people hackers? Maybe. (in the words of the great Prof. Michael Crowley)!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://chrome.google.com/webstore/detail/lkllliihmodekgjcioihaaodkbpeleph'&gt;Social Auth Disconnect&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(Note: This extension is now called fPrivacy, but I used it before it was hip, you know?).&lt;/p&gt;

&lt;p&gt;Every once in a while, I face the disgusting dilemma of allowing a Facebook application to access my account - I really don&amp;#8217;t want to give hundreds of permissions to apps I&amp;#8217;ll probably use just once in my life. This extension lets you opt out of giving specific permissions to FB apps - but this comes with a repercussion - you break poorly programmed FB apps - since they cannot handle the misery of you not providing a permission or two - Oh the misery! This extension is &lt;a href='https://github.com/chadselph/fprivacy'&gt;open source&lt;/a&gt; too, so it alleviates your privacy concerns! Any other excuses?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://github.com/RC1140/cr-gpg/'&gt;Cr-gpg&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is a wrapper for the GPG binary on your Unix-based system, and works perfectly for GMail. Unfortunately, the Decrypt button stopped showing up when I updated to the wonderful new look in GMail. I&amp;#8217;ve filed an &lt;a href='https://github.com/RC1140/cr-gpg/issues/21'&gt;issue&lt;/a&gt;, and waiting to hear back - the developer(s) seem to be replying to issues pretty quickly. Rad!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://www.ghostery.com/'&gt;Ghostery&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the best alternatives to the extremist NoScript extension - this has a pre-defined rule list (which you can edit), and blocks useless scripts from loading and slowing down your browsing experience. No more Facebook comments on other websites! Yay!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://chrome.google.com/webstore/detail/hhnjdplhmcnkiecampfdgfjilccfpfoe'&gt;Keep My Opt-Outs&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This extension lets you opt-out of personalized advertising and data-tracking. It is written by Google. I&amp;#8217;ve seen it all.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://chrome.google.com/webstore/detail/ajingfifiphifhhjfmfcpklnphcijocg'&gt;Frictionless&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Want to read that enticing article on Washington Post Social Reader - but don&amp;#8217;t want to install the spammy app? Fret not! You can bypass the app install and read the article / watch the video directly! This extension is &lt;a href='https://github.com/byoogle/frictionless'&gt;open source&lt;/a&gt;, so please submit an issue if you find that the extension doesn&amp;#8217;t work for an app - the developers said &amp;#8220;Pretty Please&amp;#8221;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://chrome.google.com/webstore/detail/hhedbplnihmkekhgmaoikgfbkjjaocnl'&gt;Hacker News Sidebar&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the best additions to your Hacker News browsing experience, this shows a nifty sliding drawer on any page that was submitted to Hacker News at any time. I cannot count how many times I have found priceless HN threads providing commentary on a webpage I was looking at.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href='https://www.eff.org/https-everywhere'&gt;HTTPS Everywhere&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is one of those genius but straightforward things that give me &amp;#8220;why didn&amp;#8217;t I think of this before&amp;#8221; moments. Redirects you to HTTPS versions of &amp;#8220;major websites&amp;#8221; - works on most websites I visit. Hey!&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/tech security chrome">tech security chrome</category>
      
    </item>
    
    <item>
      <title>Netflix Confirmation Email Fail</title>
      <link>http://blog.hardikr.com/tech/netflix-email-fail</link>
      <pubDate>Fri Mar 09 00:00:00 -0800 2012</pubDate>
      <guid>http://blog.hardikr.com/tech/netflix-email-fail/</guid>
      <description>&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt; - You can register for Netflix using ANY email address, without requiring you to verify ownership.&lt;/p&gt;

&lt;p&gt;I have a couple of roommates, let us call them A and B. A is parsimonious and he keeps signing up for Netflix using new email addresses every month, taking advantage of the one month free trial offered. Apparently he ran out of email addresses last month, and signed up for a new trial using B&amp;#8217;s email address.&lt;/p&gt;

&lt;p&gt;B, on the other hand, remembers receiving emails from Netflix, but deleted them thinking they were spam that happened to get through GMail&amp;#8217;s filters. When he found out about the whole situation, he felt violated, and I can totally understand why. This may only be a miniature form of identity theft, but it still feels like a personal boundary has been crossed.&lt;/p&gt;

&lt;p&gt;B was, in fact, looking to take advantage of Netflix&amp;#8217;s free trial with the Spring Break coming up. He can&amp;#8217;t anymore, to say the least.&lt;/p&gt;

&lt;p&gt;This is a major fail on the part of Netflix and it is unacceptable that they don&amp;#8217;t provide a way to verify email ownership (which I don&amp;#8217;t imagine is too hard).&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/tech security">tech security</category>
      
    </item>
    
    <item>
      <title>My File Sharing Setup (Linux)</title>
      <link>http://blog.hardikr.com/tech/file-sharing-setup</link>
      <pubDate>Sun Nov 06 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/tech/file-sharing-setup/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: I have written a multi-purpose Ruby script to work with S3, Cloudapp and Imgur, and that&amp;#8217;s what I use right now. Be sure to &lt;a href='http://code.hardikr.com/mishare'&gt;check it out&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There&amp;#8217;s been a buzz around file-sharing sites for a while now- YCombinator&amp;#8217;s KickSend receiving some funding, while Dropbox is growing as always. Somehow, I still feel the ideal file-sharing platform is missing. The closest app that has come to perfection is &lt;a href='http://getcloudapp.com'&gt;Cloudapp&lt;/a&gt;, but that&amp;#8217;s only for Mac. However, they have an API and there are a couple of scripts to get it to work on Linux as well.&lt;/p&gt;

&lt;p&gt;So, without further ado, here is my file sharing setup based on the scenario:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. For small files (under 25 MB)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I use &lt;a href='http://getcloudapp.com'&gt;Cloudapp&lt;/a&gt; (free account) for this. Its a no-nonsense application that makes it really easy to share files. The native Mac client has this cool drag-and-drop interface on the desktop, and that is replicated for Linux to an extent by &lt;a href='https://github.com/abhinandh/py-cloudapp'&gt;py-cloudapp&lt;/a&gt;. However, I spend most of my time in the command line, and I use my (forked) script &lt;a href='https://github.com/hardikr/cloudapp-rb'&gt;cloudapp-rb&lt;/a&gt;. I&amp;#8217;ve integrated a way to (g)mail the link of the uploaded file to someone, and it really takes the pain away from doing it in GMail&amp;#8217;s web interface. So, to upload a file to cloudapp, and to send it to someone, I just have to press a few keystrokes:&lt;/p&gt;
&lt;div class='highlight'&gt;&lt;pre&gt;&lt;code class='bash'&gt;ul file.txt classmate@domain.com
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;2. For securely transferring files (P2P)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href='http://sendoid.com/'&gt;Sendoid&lt;/a&gt; is the clear winner here. It has pretty generous filesize limit (I&amp;#8217;ve successfully tested files of ~1 GB), 128-bit AES encryption, and you can even password protect your end-point URL. Also, it is P2P and the file is never stored on ther servers : it goes directly the sender&amp;#8217;s machine to receiver&amp;#8217;s.&lt;/p&gt;

&lt;p&gt;The web interface is decent, but the AIR app is what makes this product awesome. The app is very clean, as you can see here:&lt;/p&gt;

&lt;p&gt;&lt;img src='http://i.imgur.com/GKuGg.png' alt='Sendoid Screenshot' /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. For transferring big files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On more than one occasion, when not on my laptop, I&amp;#8217;ve had to share source code with my classmates, which is usually an archive of size ~500MB. The Dropbox web-application fails here, as it has a 250 MB upload limit (if I&amp;#8217;m not mistaken). That&amp;#8217;s where &lt;a href='http://ge.tt'&gt;Ge.tt&lt;/a&gt; comes to the rescue. It has no file-size upload limits that I am aware of. A free account gets you 2 GB of upload space, (3 GB if you were with them before the introduction of the pricing tiers). Get this: you can share the file permalink even before the file has finished uploading, and this is a great way to temporarily share files. You can group files into collections/folders of sorts and I wholeheartedly recommend this app!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Pseudo-Permanent File Sharing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course, there&amp;#8217;s &lt;a href='https://dropbox.com'&gt;Dropbox&lt;/a&gt;, and I previously used it for sharing. But, I find it extremely inconvenient to copy the file in question to my Dropbox Public folder, and then copy the Public link. Hence, I shifted to cloudapp for sharing small files. However, there are some files that need to be shared for long time spans (and I need a backup of these files for personal use): That&amp;#8217;s where Dropbox comes in. After putting the file in my Public folder, I can distribute the link and be sure that everybody can access it even months after it has been uploaded. Also, I can be sure it is synced across all my devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Expiring URLs and Command Line uploads&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;How can you forget the big-daddy of cloud storage: &lt;a href='http://aws.amazon.com/s3/'&gt;Amazon S3&lt;/a&gt;. I fail to understand why S3 has intimidated non-technical people. It&amp;#8217;s web interface is super-easy to use, and the AWS free tier provides 5 GB of S3 storage - which is a steal even if you don&amp;#8217;t use the plethora of other cloud services provided.&lt;/p&gt;

&lt;p&gt;I use &lt;a href='http://code.hardikr.com/mishare'&gt;mishare&lt;/a&gt;, a script I wrote, which makes it really easy to upload files from the command line to S3.&lt;/p&gt;

&lt;p&gt;&lt;div class='highlight'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='c'&gt;# Upload file to S3 and email it to john@example.com , and the link should expire after 30 minutes&lt;/span&gt;
mishare ul -f file.txt -e john@example.com -t 1800
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/tech filesharing">tech filesharing</category>
      
    </item>
    
    <item>
      <title>Twitter Share Bookmarklets Secret Feature</title>
      <link>http://blog.hardikr.com/tech/twitter-share-secret</link>
      <pubDate>Sat Oct 08 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/tech/twitter-share-secret/</guid>
      <description>&lt;p&gt;I just discovered something really cool about &lt;a href='https://dev.twitter.com/docs/share-bookmarklet'&gt;Twitter&amp;#8217;s Share Bookmarklet&lt;/a&gt;, though I&amp;#8217;m quite sure somebody would&amp;#8217;ve noticed this before.&lt;/p&gt;

&lt;p&gt;Yesterday I was reading a piece on Steve Jobs, and I decided to share it on Twitter. Keep in mind that it was a paginated article (split into 2 pages). Only after sharing it did I realized I was on the 2nd page of the article when I shared it, and the URL of that page was was:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.nytimes.com/2011/10/07/opinion/the-man-who-inspired-jobs.html&lt;strong&gt;?pagewanted=2&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Notice the end of the URL clearly saying &lt;code&gt;pagewanted=2&lt;/code&gt;. However, when I checked &lt;a href='https://twitter.com/#!/hardikr/status/122555496396898304'&gt;my tweet&lt;/a&gt;, the URL that Twitter included had turned into:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.nytimes.com/2011/10/07/opinion/the-man-who-inspired-jobs.html&lt;strong&gt;?pagewanted=all&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I couldn&amp;#8217;t believe it. I tried the Share bookmarklet on the page again, and sure enough, it was changing &lt;code&gt;2&lt;/code&gt; to &lt;code&gt;all&lt;/code&gt;. I then decided to experiment a little bit more - and see if this feature on other websites as well.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s a list of pairs of URIs - the first URI is the actual page that was shared, and the 2nd URI is the &amp;#8216;converted&amp;#8217; version - by Twitter&amp;#8217;s apparently smart bookmarklet.&lt;/p&gt;

&lt;p&gt;First up: Wired and GQ - which have a URL strucuture similar to that of NYTimes - they use a query string to specify pagination:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.wired.com/wiredscience/2011/10/living-relics/&lt;strong&gt;?pid=2212&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;www.wired.com/wiredscience/2011/10/living-relics&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.gq.com/news-politics/big-issues/201109/dont-ask-dont-tell-gay-soldiers-military&lt;strong&gt;?currentPage=2&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.gq.com/news-politics/big-issues/201109/dont-ask-dont-tell-gay-soldiers-military&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Next, Vanity Fair uses a fragment identifier:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.vanityfair.com/business/features/2011/11/michael-lewis-201111&lt;strong&gt;#gotopage2&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;www.vanityfair.com/business/features/2011/11/michael-lewis-201111&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And finally, Playboy and The Atlantic - which actually pass the page number as the last parameter in their URL:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.playboy.com/magazine/playboy-interview-steve-jobs&lt;strong&gt;/2&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;www.playboy.com/magazine/playboy-interview-steve-jobs&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.theatlantic.com/magazine/archive/2011/07/the-brain-on-trial/8520&lt;strong&gt;/3/&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;www.theatlantic.com/magazine/archive/2011/07/the-brain-on-trial/8520&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This seems more and more like specific use-cases added by Twitter to make their bookmarklet &amp;#8216;smarter&amp;#8217;. I&amp;#8217;m not sure which CMSs the above sites run on, and it could be quite well be CMS-specific.&lt;/p&gt;

&lt;p&gt;However, it did fail to do the magic on some websites:&lt;/p&gt;

&lt;p&gt;Esquire passes the page number as a hyphenated value at the end of the URL-slug of the article.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.esquire.com/features/william-petit-case-0611&lt;strong&gt;-4&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;NY Books, meanwhile, has a query string style page number, but it didn&amp;#8217;t work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;www.nybooks.com/articles/archives/2011/aug/18/very-deep-america-friday-night-lights&lt;strong&gt;/?page=2&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sports Illustrated was an interesting case. The page number is the second-last parameter in the URL, with the last parameter being &lt;code&gt;index.htm&lt;/code&gt;. I expected the bookmarklet to fail to work on this, and it did. It even failed when I removed the &lt;code&gt;index.htm&lt;/code&gt; at the end.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;sportsillustrated.cnn.com/vault/article/web/COM1061362&lt;strong&gt;/3/index.htm&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;sportsillustrated.cnn.com/vault/article/web/COM1061362&lt;strong&gt;/3&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I wonder if some Javascript Ninja could help out here, the Twitter Share Bookmarklet points to a &lt;a href='https://platform.twitter.com/bookmarklets/share.js'&gt;share.js&lt;/a&gt;, that seems to do the magic.&lt;/p&gt;

&lt;p&gt;Any thoughts? Tweet me &lt;a href='https:/twitter.com/hardikr'&gt;@hardikr&lt;/a&gt; !&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/twitter tech javascript">twitter tech javascript</category>
      
    </item>
    
    <item>
      <title>On Spotify</title>
      <link>http://blog.hardikr.com/tech/on-spotify</link>
      <pubDate>Fri Sep 30 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/tech/on-spotify/</guid>
      <description>&lt;p&gt;Spotify is an unbelievable service - it&amp;#8217;s like having already purchased most songs in the world, and it looks great. It seems to be &lt;a href='http://torrentfreak.com/music-piracy-continues-to-decline-thanks-to-spotify-110928/'&gt;reducing piracy&lt;/a&gt;, and the premium plans look quite tempting. Everyone&amp;#8217;s been raving about it for quite a while now, and it shouldn&amp;#8217;t be long before it becomes the #1 music service used all over the world.&lt;/p&gt;

&lt;p&gt;Anyhow, here are a few things I have to say regarding Spotify, that would be far from laudatory.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The requirement to have a &lt;a href='http://getsatisfaction.com/spotify/topics/can_you_sign_up_for_spotify_without_facebook'&gt;Facebook login&lt;/a&gt; to create a new account is ridiculous. It&amp;#8217;s probably driving away potential customers. Sure, Spotify may have been &amp;#8216;forced&amp;#8217; to do it, but that really is no excuse.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Spotify should really cater to the Linux world too. Their Linux beta is only for paying customers, and non-paying customers have to rely on the Windows version to run on wine. A recent update to Spotify causes it to crash on startup. The fix for this issue ? When Spotify starts, you have to be fast enough to close the Facebook tab on the right, because that&amp;#8217;s causing the crash. No problem if you were a Counter Strike sharpshooter (like me :)), but otherwise, keep trying. Many people will say that free users shouldn&amp;#8217;t complain of a lack of functionality - but come on, this is broken. There should at least be a plain vanilla app that runs on Linux.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Spotify ads. This one&amp;#8217;s really been bugging the OCD-hell out of me. I&amp;#8217;m fine with ads, but Spotify often plays ads for the &lt;em&gt;exact&lt;/em&gt; playlist/artist I&amp;#8217;m listening to at that moment. Sure, they may not have those many ads, but playing ads just for the heck of it? I don&amp;#8217;t know. It&amp;#8217;s a waste of money for advertisers, because their target audience is already using their product. I realize that I may have found the playlist as a result of listening to the ad sometime in the past, but what use is that ad to me now apart from interrupting my listening the very same playlist that they&amp;#8217;re advertising about? It&amp;#8217;s like you&amp;#8217;ve bought a car, and then a salesman drags you out of your car every 5 minutes to pitch you about the exact same car you&amp;#8217;re driving. It&amp;#8217;s maddening. I&amp;#8217;m sure it&amp;#8217;s not that difficult to &amp;#8216;whitelist&amp;#8217; on a realtime basis, the listeners that shouldn&amp;#8217;t be served this advertisement. Why not play a different advertisement ? Or reward the listeners by not playing the advertisement once, because they&amp;#8217;ve presumably clicked through and are listening to the targeted playlist/artist.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/tech ads">tech ads</category>
      
    </item>
    
    <item>
      <title>Learn Kannada, Get Rich!</title>
      <link>http://blog.hardikr.com/india/learn-kannada</link>
      <pubDate>Thu Jun 09 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/india/learn-kannada/</guid>
      <description>&lt;p&gt;So, learning Kannada &lt;a href='http://www.bangaloremirror.com/index.aspx?page=article&amp;amp;sectid=10&amp;amp;contentid=201106072011060700050557789635d05' title='Bangalore Mirror News Article'&gt;has been made mandatory&lt;/a&gt; if you want to work in Bangalore. Within a year from now, every non-Kannadiga (aka expatriate, alien) living in Karnataka has to clear the Std. VII Kannada exam.&lt;/p&gt;

&lt;p&gt;The rationale provided behind this, by MLC &amp;#8216;Mukhyamantri&amp;#8217; Chandu, head of the Kannada Development Authority (KDA), is this:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“With several IT companies and MNCs coming to Karnataka, lakhs of non-Kannadigas have settled in the state. If they could live with the land, water, air and other resources of the land, they should also understand the culture, history and language of the land.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Wasn&amp;#8217;t that just cute? He buried &lt;em&gt;language&lt;/em&gt; between culture, history and land; making it seem like a patriotic issue. So, you&amp;#8217;re not Indian enough if you don&amp;#8217;t pass the Std. VII local language exam. Over 35% of the 52 million people (2001 census) living in Karnataka are not frikking Kannadiga enough for the KDA.&lt;/p&gt;

&lt;p&gt;This is not about culture, language or history. It was enough that we were made to memorise the innumerable volcanoes, rivers, mountain ranges and other spectacular geographical features of India, along with the mighty rulers who ruled different parts of India during different periods of time. Don&amp;#8217;t get me wrong, I&amp;#8217;m a sucker for history. But one thing I&amp;#8217;m not a fan of ? Forcing people to do things.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s unfair to make an adult drop everything he&amp;#8217;s doing and learn a language. And I think I speak for most North Indians when I say this: South Indian languages look, sound and feel the same ! They&amp;#8217;re just &lt;a href='http://www.ancientscripts.com/images/kannada.gif' title='Squigglies'&gt;squiggly ants going around in random paths&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Many people (mostly Kannadigas) have commented : &amp;#8220;Get a grip. It&amp;#8217;s just a Std. VII exam&amp;#8221;. But wait, it&amp;#8217;s not that simple. I believe children are some of the quickest learners around - especially at picking up languages. So, in one year, an adult (who&amp;#8217;s also working full-time), has to match the Kannada skills of a kid who&amp;#8217;s been learning it for over 12 years? You&amp;#8217;ve got to be kidding me.&lt;/p&gt;

&lt;p&gt;Also, can you imagine the excruciating pain of being &lt;em&gt;forced&lt;/em&gt; to learn a new language? Don&amp;#8217;t get me wrong but I&amp;#8217;m better off knowing just Hindi and English. Another form of commentary on this story that has been disturbing, &amp;#8220;Oooh you go and learn French and Spanish. But when we ask you to learn Kannada you&amp;#8217;re cribbing. You anti-Indian hypocrites. Go Die.&amp;#8221; Wait, first of all - I might &lt;em&gt;want&lt;/em&gt; to learn French. Second of all , you can&amp;#8217;t force me to learn something I don&amp;#8217;t want to - especially squigglies!&lt;/p&gt;

&lt;p&gt;Also, what about people with learning disabilities? Will they be forced to clear the examination within a year, or will they be given more time? What about SC/ST - do they have a quota ? What about foreigners who reside in Bangalore ? What about old people? Implementing a legislation like this brings so much fear, uncertainty and doubt (&lt;a href='http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt'&gt;FUD&lt;/a&gt;) along with it. Why are these people trying so hard to save Kannada, and trying to save it from what? Extinction? As someone noted on Twitter, &lt;a href='http://twitter.com/#!/satpalparmar/status/78362595161153536' title='Satpal Parmar Comment on Twitter'&gt;&amp;#8220;Let Kannada find its (own) saviors.&amp;#8221;&lt;/a&gt;. We had enough of moral and cultural policing. We&amp;#8217;re now entering a new phase - one with linguistic policing.&lt;/p&gt;

&lt;p&gt;To wrap it up, let&amp;#8217;s take a moment, sit back and think, what is this piece of legislation going to achieve? 10 years down the line we&amp;#8217;re going to have a bunch of people who know half-baked Kannada.&lt;/p&gt;

&lt;p&gt;Learn to think beyond the IITs, IIMs and IIPMs! Learn Kannada, go to Silicon Valley of India and Get Rich or Die Tryin&amp;#8217;!&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/india">india</category>
      
    </item>
    
    <item>
      <title>A Simple Twitter DM Enhancement</title>
      <link>http://blog.hardikr.com/tech/twitter-dm</link>
      <pubDate>Wed May 25 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/tech/twitter-dm/</guid>
      <description>&lt;p&gt;One of the most irritating things I find about Twitter is interacting privately with people who don&amp;#8217;t follow me. Twitter presumes that people who know each other follow each other - which is quite often the case. However, on many occasions, I receive DMs from people I follow, and who don&amp;#8217;t follow me back, and I need to relay private information to them.&lt;/p&gt;

&lt;p&gt;So, what do I do? Do I try finding out their e-mail address ? Do I scour the interwebs for their presence on other social networking websites? Do I ask them to follow me?&lt;/p&gt;

&lt;p&gt;Instead, what if I&amp;#8217;m allowed one DM as a reply to a DM I receive from that person? Surely I can&amp;#8217;t be spamming because it&amp;#8217;s a reply to a DM I received. This feature will increase the usability of Twitter DMs, while not contributing to the increasing spam on Twitter.&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/twitter">twitter</category>
      
      <category domain="http://blog.hardikr.com/tag/features">features</category>
      
    </item>
    
    <item>
      <title>When a News Publication Sells its Soul</title>
      <link>http://blog.hardikr.com/india/toi-soul</link>
      <pubDate>Mon May 23 00:00:00 -0700 2011</pubDate>
      <guid>http://blog.hardikr.com/india/toi-soul/</guid>
      <description>&lt;p&gt;The 22 May, 2011 edition of Bombay Times (a supplement of &lt;a href='http://timesofindia.indiatimes.com/' title='Times of India'&gt;Times of India&lt;/a&gt; (TOI) ) has a front-page article about Brett Lee (the cricketer) endorsing the &lt;a href='http://whatsapp.com' title='WhatsApp'&gt;WhatsApp&lt;/a&gt; application on the Nokia Ovi store, explaining how it made it really easy to help him keep in touch with family and friends. It’s not Brett Lee actually appreciating the application, in which case he would’ve described his experiences with the application, but a blatant advertisement, since he explicitly mentions his Nokia cellphone, and the Nokia Ovi store.&lt;/p&gt;

&lt;p&gt;It doesn’t take a genius to realize Nokia paid through their noses for this advertisement morphed into an article. Nokia is one of the major sponsors of the Kolkata Knight Riders IPL team, who employ Brett Lee. Obviously, this is just an allegation, and I have no sources; but as I said, it doesn’t take a genius to figure out this stuff. Also, this isn’t the first time Times of India has run such an ad-article.&lt;/p&gt;

&lt;p&gt;This is a classic case of a newspaper selling it’s soul. As a content provider, when advertisements start infiltrating the content section, it means you have absolutely nothing left to sell. I’m no expert in journalism, but I do have a sense of the ethics involved. It’s as simple as this: No money should be involved when crafting the content of your article.&lt;/p&gt;

&lt;p&gt;TOI’s quality of content has been declining for a long time now. When corporations start to prioritize money over ethics, we result with like something like TOI. If you notice their website, you would fail to find their logo on the front-page (or any page for that matter), but you wouldn’t fail to see a bunch of advertisements.&lt;/p&gt;

&lt;p&gt;I fail to understand this obsession with increasing income. TOI is the largest selling English daily in India, and a part of The Times Group - it&amp;#8217;s short of saying they are very, very rich. Surely they can do without ads on their website. For avid readers like me, TOI has become a useless piece of junk. After a week of TOI, when I pick up &lt;a href='http://economist.com' title='The Economist'&gt;The Economist&lt;/a&gt;, I wonder if they are both reporting about the same planet, because I wouldn’t really have heard of anything that The Economist is reporting about.&lt;/p&gt;

&lt;p&gt;This culture of increasing income at-all-costs is spread across Indian media. Sponsorships have become the de-facto standard of Indian media, and very few people seem to be concerned about the quality of the content they deliver. They focus mainly on &amp;#8220;branding opportunities&amp;#8221; and assign sponsorships to anything and everything - the Indian Premier League being one of the major culprits - but that deserves a piece of it’s own.&lt;/p&gt;

&lt;p&gt;But that&amp;#8217;s not all. There&amp;#8217;s another way in which TOI sells it’s soul - By having a full-page advertisement as the first page. I firmly believe that the first page of a publication is it’s identity - there’s a history, a tradition and sentiment attached to the logo and the name. But when I pick up the Times of India on some days, all I see is a huge color advertisement, and I throw it back down.&lt;/p&gt;

&lt;p&gt;TOI seems like an aggregation of news stories that some lazy reporters are handpicking from AP / Reuters, and rewriting/modifying, often with excessive grammatical mistakes and minimal coherence. There’s no real reporting. There are no ethics. There is nothing interesting to read. 90% of stories are mundane reports on Indian politics, crime and sex.&lt;/p&gt;

&lt;p&gt;Journalism is one of those places in India where mediocrity pays off by virtue of the entity’s history. TOI is surviving just because it started many years ago. If TOI were to launch today, nobody would spare a second glance. Another example of mediocrity flourishing is the &lt;em&gt;Bollywood&lt;/em&gt; “actors” of today. They are employed solely because their parents were actors. I am willing to wager on many of these “actors” failing a basic acting audition.&lt;/p&gt;

&lt;p&gt;However, things are looking brighter with the emergence of publications like LiveMint. Their weekly &lt;a href='http://livemint.com/lounge.aspx' title='Mint Lounge'&gt;Mint Lounge&lt;/a&gt; is a pleasure to read, and is somewhat comparable to superior publications like The Economist, New York Times, NY Times Magazine, Readers Digest, Vanity Fair, Slate, The New Yorker, Rolling Stone, The Atlantic, Esquire et al. who employ real reporters who have a passion for journalism and writing. Granted many of the aforementioned publications are magazines, but TOI can learn a thing or two about journalism, English, and writing nevertheless.&lt;/p&gt;

&lt;p&gt;Otherwise, I predict we’re going to have Nivea Editorials, DLF Sports News, Idea World News and Nokia Tech News in TOI very soon. And, the problem in India is, if one person does this, everyone will follow, blinded by the promise for greater profits. Someone really needs to teach TOI a lesson in journalism, and I hope that happens soon.&lt;/p&gt;</description>
      
      <category domain="http://blog.hardikr.com/tag/times of india">times of india</category>
      
      <category domain="http://blog.hardikr.com/tag/india">india</category>
      
      <category domain="http://blog.hardikr.com/tag/journalism">journalism</category>
      
    </item>
    
  </channel>
</rss>
