Saturday, March 01, 2014

What Facebook saw in WhatsApp and Liked it enough to buy them

Sizing up WhatsApp and Twitter
Sizing up WhatsApp and Twitter (Photo credit: Tsahi Levent-Levi)
A lot of people are scratching their heads about the Facebook deal with WhatsApp. Most of those heads are in the US. They just can't see why Facebook would pay so much money to a company that charges a dollar a year to use it, with the first year for free. In fact, it seems that WhatsApp seems to be looking for ways to give itself away for free. In the early days, all you had to do to get another year for free was to uninstall and reinstall the app. In some countries, using WhatsApp doesn't count against the data cap.
So what is Facebook really buying? It's very simple: Facebook is buying users. The popularity of WhatsApp in the rest of the world is so huge that it dwarfs so-called popular messaging platform. But what makes it most interesting is how loyal users are to it. Rather than bore you with numbers, here are the 5 reasons it is so popular and why Facebook splurged serious cash for it.
It's cross-platform where it matters.
To a lot of people, especially on IOS,  WhatsApp was the way they communicated with their non-iPhone friends. It was also the app Blackberry users told their friends to install if they wanted to send messages to them ala BBM. Using WhatsApp allowed you to join your friends on BB and iPhones.
While messaging platforms in the past were also cross-platform, the platforms they covered were traditionally computer-centric. WhatsApp is all about mobile platforms, from IOS and Android to all the way to the common Symbian phones. Which makes it accessible to more people than PCs. For the younger generation, especially in the rest of the world, a smartphone is their first computer. Which is partly why there are so many active WhatsApp users.
It ties in with your phone number. This is the secret sauce. WhatsApp identifies you by your phone number. At first glance this may not be a big thing. But by making your phone number your unique ID, it ties you, the WhatsApp user, with a verified ID. Your phone company verified you as a paying customer, their definition of a "person". Different phone companies have different regulations for who can have a phone number. Each country has their laws regarding phone number ownership. WhatsApp rides on these laws and regulations to ensure that the phone number being registered to WhatsApp actually belongs to a person. This, plus the fact that users can only message to people in their phone book or to groups that they can leave any time, raises the bar of entry to bots and spammers. 
Plus having a globally unique ID like the phone number is a programmer's dream. They now have a way to follow you from phone to phone and keep you connected to your friends. Switch your handphone, even switch to another platform. all you have to do is insert the sim card, install WhatsApp and you start getting your messages and continue discussions in your WhatsApp groups. For those of us who can't figure out how to transfer contacts, this is really useful because your friends' names appear next to their phone numbers in the discussions. You can then add them back into your contacts in the new phone.

Monday, February 24, 2014

Recover from a bad superblock

When things go really bad, you may not be able to recover a disk. In those times, think of salvaging the data, reformat and live to fight another day. Consider how valuable the data is versus the time spent on repairing something that is damaged and may not be salvagable. testdisk photorec ddrescue are the tools to think of when you come that decision
But I do enjoy a challenge and when a USB disk was brought to me with mounting problems, I just couldn't pass it up. It was an uncommon setup. The USB stick had two partitions, one with an ext3 filesystem and the other with FAT32. I decided to focus on the ext3 filesystem first.
FSCK
FSCK (Photo credit: SFview)
To cut a long story short, my efforts to mount the disk met with screens full of error messages and cryptic clues as to what went wrong. Running fsck seemed to clean it first but it still would not mount the partition. Running fsck again would yield more and a different set of errors. My previous boss love to used the expression "time to decide: Fish or cut bait". It was one of those times.
This is probably the last ditch effect before you make that fateful decision. This is the line in the sand and the one you have to cross before deciding to put your effort in getting the data out and start all over again.
The recovery process involves rewriting the information about the partition. Specifically, reinitializing the superblock and group descriptors. However, reinitializing does not touch the data part of the partition. It does not touch things like the inodes and the blocks themselves. So by starting out with a 'fresh' set of information that is used to mount the disk, there is a possibility that the data may still be readable. After that, the data part gets checked and hopefully what you end up with is a filesystem that can be mounted properly.
The process can only be done when the partition is not mounted. If you have tried other ways, it most probably isn't. Mine wasn't, obviously.
So here's the process.
1. First, figure out the block size of the USB drive (in this case /dev/sdf1). I need that information to re-build the partition information. Run the command
dumpe2fs /dev/sdaf1 | grep 'block size' -i
Block size:               4096

2. Then format the superblocks. The command below won't format the whole partition, only the superblocks. It is critical that you use the correct block size gathered from the previous step
mke2fs -S -b 4096 -v /dev/sdf1

3. Now that the partition information is 'fresh', I checked the inodes to figure out what else could be wrong with the filesystem. Remember ext3 = ext2+journalling. So, ext2 tools still work
e2fsck -y -f -v -C 0 /dev/sdf1

4. Now that I've done with one element of the ext3 equation, it time to fix the journalling system or more specifically the journal data .
tune2fs -j /dev/sdf1

5. Re-attempt to mount the partition. If everything went well, you should be able to mount the partition and read the data.

After that, for hard disks, you have to determine whether the disk has reached it's threshold limits. Things like SMART properties will help you get that information.

Interested to know more: http://ubuntuforums.org/showthread.php?t=1681972&page=5&p=10434656#post10434656

Enhanced by Zemanta

Recently Popular