Friday, May 23, 2014

Lessons learnt - cheap Android devices

One of the best things about an Android device is that it comes in various form factors and various price ranges. Over the years I've bought close to 6 Android devices. My first device was expensive and had no GPU hardware. I could not play games on it, so I decided to move to another one. This time I got a Nexus 4 as a gift

Then I decided to buy a device from an Indian manufacturer with a quad-core CPU/1GB RAM/GPU and a decent display resolution with a 5" screen (Karbonn S5). The device was cheap and I could not help but compare the device and be delighted with my purchase. Over the year of usage of this device, I learnt my lesson


  1. There are absolutely no updates for the device - why do I care, what this meant is that I was left open to OpenSSL heartbleed.
  2. The phone's hardware, touch screen started failing, some areas stopped responding
  3. The firmware on the phone was signed using test-keys. A lot of useful software started detecting the phone as rooted :)
  4. The key bottleneck for most software is not number of CPU's, but the amount of RAM/Speed of the processor and the quality of the GPU


Lesson learnt - buy a phone with good reliable hardware and frequent updates, use the cheap ones for experimentation and development

The good news is that since the hardware was cheap, I could easily replace it and keep the phone to try a cyanogenmod upgrade on it. Can't do much about the bad hardware though except use it as a device to try experiments on :)

Ranking and Unranking permutations

I've been a big fan of Skiena's Algorithm Design Manual , I recently found my first edition of the book (although I own the third ed...