Buying Games.. Finally!
I used to pirate games. A lot.
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’t remember. Sure, we traded games with friends, to get more 10,000-in-1 cassettes, blow air into their crevices, and play on!
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’ PCs - and I wanted them SO BAD ! But, they were prohibitively expensive. As much as I wanted them, my parents (rightfully) concluded it’s not worth buying two games that cost 1/4th of what the computer cost. I lived in an obscure Middle East country, and technology to them was like space-travel is to us today.
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’s subfolders, but there was no game. We checked. More than once.
Anyhow, my brother and I decided to pick up other cheaper games nevertheless. We bought Ultimate Race Pro and a weird top-down football game called Total Football or something. And as far as I remember, these were the last legitimate games we bought for a LONG time. Some early Windows/DOS games I remember “borrowing” from friends were Dave, Alladin, Prince of Persia, Road Rash - the classics. And no, I don’t thing borrowing is piracy.
Fast-forward some more, we bought a PSone. 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 ‘burned’ PSone games for 0.5 Rials a pop (~ 1 USD). This made perfect financial sense - we bought a bunch of games and played them.
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.
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’ve been doing something ?
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.
To be perfectly honest, I did not know that my activities constituted piracy. It’s strange - we knew the games cost money, we knew we weren’t paying for them, but it didn’t feel wrong. I guess that’s why kids are so dreadful eh?
2006- I left home to go to college, 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 & 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’t play any of these.
But now, I’m in the States. I’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.
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 OCD. Then, thanks to Humble Bundle, I picked up some fantastic indie-games on-the-cheap (I told you I’m broke).
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.
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).
The final nail in the I-won’t-pirate-again coffin was watching Indie Game: The Movie. 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’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.
I’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 http://games.hardikr.com
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.
Making simple REST calls in Objective-C
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 Restkit. But doing this effectively doubled the size of my executable .app file.
Turns out, Foundation provides an NSURLRequest class, which makes making REST calls really easy-peasy, and just a few lines of code.
First, I created an instance method.
Then, I call it.
Done!
But, so you’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.
I’m sure RestKit is a wonderful library, but for making a single RESTful URL request, it is overkill!
Chrome Extensions for Hackers
I Googled “Chrome Extensions for Hackers”, and I was disappointed by the failure of Google to understand what I meant when I said hackers. I then Googled “Chrome extensions for programmers”, and was flooded with Firebug (pfft) recommendations - bar one Stackexchange question, which had a single good recommendation - Development and Coding Search (I had a bet with myself in my head that this question would be “closed”, and I was not disappointed.)
So here’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 “Chrome Extensions for The League of People who care about their Privacy”. But aren’t hackers and privacy minded people? Surely! Are privacy minded people hackers? Maybe. (in the words of the great Prof. Michael Crowley)!
(Note: This extension is now called fPrivacy, but I used it before it was hip, you know?).
Every once in a while, I face the disgusting dilemma of allowing a Facebook application to access my account - I really don’t want to give hundreds of permissions to apps I’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 open source too, so it alleviates your privacy concerns! Any other excuses?
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’ve filed an issue, and waiting to hear back - the developer(s) seem to be replying to issues pretty quickly. Rad!
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!
This extension lets you opt-out of personalized advertising and data-tracking. It is written by Google. I’ve seen it all.
Want to read that enticing article on Washington Post Social Reader - but don’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 open source, so please submit an issue if you find that the extension doesn’t work for an app - the developers said “Pretty Please”.
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.
This is one of those genius but straightforward things that give me “why didn’t I think of this before” moments. Redirects you to HTTPS versions of “major websites” - works on most websites I visit. Hey!
Netflix Confirmation Email Fail
tl;dr - You can register for Netflix using ANY email address, without requiring you to verify ownership.
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’s email address.
B, on the other hand, remembers receiving emails from Netflix, but deleted them thinking they were spam that happened to get through GMail’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.
B was, in fact, looking to take advantage of Netflix’s free trial with the Spring Break coming up. He can’t anymore, to say the least.
This is a major fail on the part of Netflix and it is unacceptable that they don’t provide a way to verify email ownership (which I don’t imagine is too hard).
My File Sharing Setup (Linux)
Update: I have written a multi-purpose Ruby script to work with S3, Cloudapp and Imgur, and that’s what I use right now. Be sure to check it out.
There’s been a buzz around file-sharing sites for a while now- YCombinator’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 Cloudapp, but that’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.
So, without further ado, here is my file sharing setup based on the scenario:
1. For small files (under 25 MB)
I use Cloudapp (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 py-cloudapp. However, I spend most of my time in the command line, and I use my (forked) script cloudapp-rb. I’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’s web interface. So, to upload a file to cloudapp, and to send it to someone, I just have to press a few keystrokes:
ul file.txt [email protected]
2. For securely transferring files (P2P)
Sendoid is the clear winner here. It has pretty generous filesize limit (I’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’s machine to receiver’s.
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:

3. For transferring big files
On more than one occasion, when not on my laptop, I’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’m not mistaken). That’s where Ge.tt 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!
4. Pseudo-Permanent File Sharing
Of course, there’s Dropbox, 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’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.
5. Expiring URLs and Command Line uploads
How can you forget the big-daddy of cloud storage: Amazon S3. I fail to understand why S3 has intimidated non-technical people. It’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’t use the plethora of other cloud services provided.
I use mishare, a script I wrote, which makes it really easy to upload files from the command line to S3.
# Upload file to S3 and email it to [email protected] , and the link should expire after 30 minutes
mishare ul -f file.txt -e [email protected] -t 1800
