Category Archives: Uncategorized

My Google nexus 4 story

I had been thinking about buying a new mobile phone for some time and had looked at many options. I finally decided to go for a Google Nexus 4, mostly because it has much better specs despite having a modest price. The caveat – it’s not available in India (officially).

Generally, the easier way of getting something from USA, is to have somebody bring it with them when coming to India. However, at this time, I couldn’t find any suitable person who could do this for me. So, I started looking at other options and came across several articles/blog of people who have done it – like and There is a lot of discussion going on Nexus 4 Indian thread. Most of these method consists of 3-4 steps like :

  1. Getting a forwarding US address from a third party (like ppobox)
  2. Connect to google play using a VPN so that they will think you are in US
  3. Order and provide the US address from step 1
  4. Third party will send it to your India address for some charges (including custom etc)

First Attempt : My first attempt was through ppobox. However, Google canceled my order after two days saying – “Order not able to be delivered to a PPO. Please update address in Google Wallet and place a new order. Thank you.

Second Attempt : After doing some more research, I ordered again through iShopInternational. I selected ishop because their’s was the least complex process. Everything has to be paid in advance and they will handle custom/courier/whatever. Their quote was for ₹ 21,463 (all inclusive) for 8 GB model. I ordered on 13th March and got the phone delivered on 19th March. Pretty fast !!!

Meanwhile, I also ordered Ringke Fusion hard case from iBhejo.

I will write more about my experience with Nexus 4 as I start using it …

Learning filesystem

I have been asked this question many times – “What are the best books/resources to learn about unix filesystems?”. Unfortunately, there is no clear answer. There is no good/authoritative one or two books that can teach you the basics of filesystem design and development. (Yes, I know there are couple of books, but none of them really fits the bill !!!). So, what should a new person starting in filesystem development should do?

Assuming the person has basic knowledge of comp sci (OS theory, algorithms etc), I would recommend to go through the filesystem related chapters on these 3 books:

  1. Operating systems: design and Implementation – Andrew S Tanenbaum
  2. Design and Implementation of FreeBSD Operating system -By M K McKusick
  3. Unix Internals – The new frontiers – Uresh Vahalia

Step 2: Once you got the basics covered, you can read these books to broaden your knowledge:

Step 3: Here, there is no limit. You can try to understand specific of individual filesystems, learn about new trends and research in the filesystems, various complex design issues of filesystems and so on . The list given below is only a starting point.

  1. KHB: A Filesystems reading list
  2. The Google File System
  3. Filesystems which have been ported to multiple kernels – MVFS (AIX, Solaris, Linux, Windows), IBM GPFS (AIX, Linux), ZFS (Solaris, FreeBSD)
  4. Copy-on-write filesystems – WAFL, ZFS and BTRFS
  5. File system consistency issues – Soft update vs Journaling then Log structured file system and finally NVRAM
  6. Filesystems and SSD : bcache, Hybrid Aggregates, more to come here …
  7. Compare various “Distributed” filesystems – GPFS , GFS2 (page 253), OCFS2, GlusterFS and Ceph etc…etc..
  8. Networked filesystem protocols : Read about NFS v4.1 and CIFS
  9. Log structured file system
  10. Soft updates, hard problems
  11. Filesystem in USErspace
  12. Windows vs Unix file system semantics
  13. BTRFS : Atime and btrfs,
  14. Building the next generation file system for Windows – ReFS
  15. ZFS – Jeff Boncwick’s blog, Adam Leventhal’s blog, ZFS – Last word in the filesystem ,
  16. NFS – Mike Eisler’s blog,
  17. More to come …

Updating Samsung Galaxy 3 with cynogenmod

I finally decided to upgrade my Samsung Galaxy 3 phone to CM. I have been running Android 2.2 (Froyo) from the Samsung official update so far. Galaxy 3 is not supported by the official CM team, but as expected, many other people are making a custom build of CM 7.2 for Galaxy 3. The list of available ROMs can be found here.

Now, this was my first experiment with such an upgrade, so I was looking for a tutorial.I found that here – How to use odin for dummies. To follow these steps, I had to boot into Windows (I normally use Linux) because I couldn’t find the appropriate software that works on Linux. I decided to use the ROM provided by marcellusbe The process worked almost smoothly and I was able to get Android 2.3.7 running on my phone within 20 minutes or so.

Most of the basic features seem to be working fine. I had missed “wiping the cache partition” earlier, which I did after the second reboot.

Now, I am looking for a way to do minor upgrades using CWM. CWM gives the ability to flash the ROM without using a computer. Unfortunately, I am unable to install that from the ROM manager because my phone model is not listed in the supported configuration. Need to explore more on this …

More References:

  2. Complete Guide to i5801 –