Saturday, August 28, 2010

Vanity for Privacy

Before the location services of Facebook was launched, there was a neat little option in your Facebook app that could lookup your Facebook account and download and set photos of your friends on your phone.

Before Facebook had location services, this is an outright privacy concern.
At first I thought, "Hey, thats pretty neat!" then surprisingly as you switch on that Synching tab it will prompt another message regarding privacy concerns.

Clicking I Agree would send your whole contact list to Facebook. Scary.
This kinda creeped my out. All my contacts details are going to be sent to Facebook!? This is insane! All that information just to get my contacts corresponding Facebook picture? No thanks. I backed out when I saw this message but perhaps, people would just skip through this message and hit 'I Agree' immediately.

Looking at another perspective, Facebook could have done it in a less privacy invasive way. Instead of sending out your contacts information to their servers, why not download your contacts to your phone temporarily and look up if the phone number is existing.

For example, if John Doe is my friend, and he has a mobile number +63917 123 4567 stored on his Facebook profile the only thing I need to download is his current profile picture and the number associated with him. Or, a 2-tier query would be lighter instead of downloading all of your friends pictures and numbers. First step is to download all the numbers and compare it with the numbers stored on your phone, second step is to remove all numbers not present on your phone and send back the trimmed list to Facebook to retrieve the corresponding profile picture and store it on the phone.

So why did Facebook opt to pull data from your phone rather than doing it the other way around? We cant say for sure, but given the track record of Facebook when it comes to privacy, they'd probably want to keep a whole lot of phone numbers through this approach.

Despite my selection to disagree with Facebook's contact syncing, I really couldn't say if one of my friends already sent out his/her entire phonebook content to Facebook along with my number.

Privacy as a trade off for vanity? No thank you.

Thursday, August 26, 2010

Google Voice in Gmail

After the acquisition of Gizmo5 by Google, everybody knew what was about to happen. Google will expand to the realms of VOIP which is currently dominated by Skype. Its not about a question of if, it was a question of when. Finally, after the long wait, Google launches Call from Gmail.

From the comfort of your own Gmail account, you could call the US and Canada or free.

Hello there little Call Phone button!
By default, if you're not a Google Voice subscriber, your number will display as a generic number. But Google will offer you to upgrade your account to a Google Voice account for free and you get to pick your own number. But theres a catch, you need to have a US number.

I tried ringing my Google Voice number from my other account.
You will be offered a Google Voice number if you want to be reached easily.
I circumvented this problem by using our Magic Jack number so I could reserve a number with POGZ in it. Also, there is that error that says Google Voice is not available in your country. I remember I activated my account when I was in America a year ago but you could always use those free US proxies just to enable your account and to call dibs on the number you want.

You could select the option Forward to Google chat all calls from your Google Voice number.
Now since Google Voice has been integrated to Gmail, your Gmail account will ring if someone tries to call your Google Voice number. Pretty neat huh? :)

This is what it looks like when you're being called on your Gmail account.
Feel free to try it out for yourself! Log in to your Gmail account and click on the Call Phone button on your Google Chat box. As per Engadget's review of the call quality, Calling FROM Gmail surpasses the quality held by Skype but apparently, as they reported, Google still has work to do in improving its noise cancellation technology. If you want to read more about Engadget's article, click here.

The call rates for other areas of the world could be found here. And as Google said, its "Insanely Low" rates is in fact, really low compared to SIP services, Skype and Yahoo Messenger.

Apparently, after that net neutrality ruckus with Verizon, I think they're still wearing the smug launching this service. It kinda feels like they kicked the teleco companies in the nuts.

Good job Google! You've made the world a smaller place once more!

100826 9:38pm Edit:

Apparently, Lifehacker has compiled a nice guide on how to maximize your new and shiny Gmail communication tool. Click here for details:

Tuesday, August 24, 2010

Looking at the Other Side of the Coin

Seriously, people are looking at things at a single perspective. I really cant blame if thats their opinion on things but come on. Not just because you saw it on your friends Twitter page, your classmates Facebook status updates, your neighbors Tumblr account doesn't neccessarilly mean that it is the truth.

I love the commercial of Inquirer and motivates people to keep 'inquiring' and not just settle with whats spoon fed in your mouth by some convenient source. It just irks me so much that everything is spreading like wildfire.

First point: Mendoza was the bad guy

Oh come on, cut the guy some slack. If you scavenged the web for more readings and asked yourself, "What made him tick?" You could have gotten a better answer. Take for example this article from Inquirer on how Mendoza was a good man, a decorated officer and probably just another policeman at the wrong place at the wrong time. Heck, he could even be someone who was 'crabbed' by other envious men in the force, you know how dirty things are.. When you're climbing up, people would pull you down.
“If he wanted to use his authority to earn easy money, he could have easily taken that money and leave the service for good. But he did not even think about it,” (in reference to the Marcos loot)
I believe that man is inherently good. Its how the world treats us that twists us into something ugly. Its how we get pounded over and over again until we break.
“My brother felt he was a victim of injustice. He was not given a fair chance to defend himself.” (accounts of Mendoza's brother)
Sadly, we'd have to deal with the ugly injustices we currently have. But that doesn't mean that we can't do anything about it. The movie "Law Abiding Citizen" kept swirling over my head. Good guy, pushed to his limits, crucified with the systems injustices, retaliates.. many people die.. You know, stuff like that. It happens, and as people would say: "Wag mong sagarin ang kabaitan ng isang taong mabait, dahil pag yan sumabog.. Magsisisi ka."

You cant blame the man for feeling agitated when he saw that his family is being mistreated by the people outside. If you were in his shoes and lets say, you're mother was being dragged around being shouted upon, what would you feel?

Second point: Irresponsible information dissemination

I just find it annoying how people keeps reposting information that is not even verified. Perhaps this is somewhat reminiscent of the 'chismis' culture which is inherently inside every one of us. "Uy, si ganito nag post ng ganito, na ganito daw.." .. Remember how information gets changed, some info gets lost, or some blatantly adds to the information as it gets passed around? That is exactly whats happening to our circle of social networks.

That letter, from the alleged survivor? Seriously, how hard is it for one to Google the name of the supposed writer, check the links, verify if it came from a credible such as foreign news websites or at the very least, local news websites. But then again, I come to my third point

Third point: Even the media makes mistakes

For one, they shouldn't be covering the whole thing. Its like they're vultures swarming over a dead carcass waiting for it to flinch. Lo and behold, the hostage taker was watching everything on the on board TV. (I know that Steph would react to this).. We all know the media is just doing their job, but sometimes, we bring more harm than good specially in delicate situations.

You wouldn't believe how many people retwitted this. Come to think of it, as the message got passed the speculation eventually borderlined truth. Or was everything just a misunderstanding?

Fourth point: Kulang sa training

Again, cut the force some slack. I hope that people would understand that policemen doesn't get paid that much.. Perhaps it more like a noble profession much like being a teacher. Not to mention that our arsenal is not that hi-tech compared to other countries.

Even the disputed Spratly Islands, the AFP admits, that we lack arms. I cant help but quote: "Wala naman tayong ipuputok" .. Its funny, but its the truth.

Fifth point: Dapat kasi (insert comment here)

Really? Throw flashbangs? Night vision goggles? Thermal goggles? Snipers? C4 explosives? Rappel down helicopters? Black ops mumbo jumbo?

I really cant believe how many people kept suggesting things that the SWAT should have done. This is not Counter Strike, Call of Duty, Medal of Honor, Half Life or even Mario.. Why couldn't people just sit back, let the experts do the rescuing and just STFU.

Quick reply: "Oo na sige na, KAYO NA ANG EXPERT"


I just hope that people consider looking at the other side of the coin. All that bickering, all that finger pointing is getting really annoying.

To those interested in further readings, check the links below:
From Decorated Police Officer to Hostage-Taker
Hong Kong angry, sad at handling of Manila siege
Survivors describe terrifying ordeal inside bus

Enough bickering. Lets just learn from our mistakes.

Monday, August 23, 2010

Social Networks Deliver Breaking News

Even if I dont have access to the TV, I could get a clear picture on whats happening. You could check out the trending topics that we again are talked about on the intarrrwebz.

Tuesday, August 17, 2010

If You Like Dropbox, You'd Love Pogoplug

Ive seen Pogoplug for quite some time now but what discouraged me is at 100+ USD, the price is pretty steep. With this I've resulted to just tediously setting up my home server and/or avail of the limited space of Dropbox.

Courtesy of
Good news though, Pogoplug dropped its prices (perhaps in anticipation of a newer version) and is on sale at 48 USD. Well, the drive you put is not included but come on, how much is a flash drive at CDRking.

Check this link if you're interested to buy Pogoplug:

And check this link if you want to know about Pogoplug:

Monday, August 16, 2010

Globe iPhone Pre-Registration

Thanks to Butch for telling me this:

So wheres the price? Well, its not yet disclosed. What is this for? Probably Globe's way to estimate how much they'd import to the Philippines.

Image courtesy of Globe
At least they say that they'll contact those who pre-registered when the pre-ordering happens.

Yeah, whatever.

Sunday, August 15, 2010

HSBC's Branch Locator Using Google Maps API

Since my car is broken, ive been a bit lazy to go to Alabang at the usual branch where I pay my HSBC bills. I told myself that within this week, I'd find time to pay both my Globe and my HSBC bills since both are due some time next weekend.
HSBCs ATM Branch Service Locator
Surprisingly, I liked HSBC's branch locator website which uses Google Maps API to map out different branches, the services offered, banking hours and even a picture of the branch itself.

Its pretty great how companies takes advantage of Google Maps API.

Try it out for a spin! Click here to go to the website.

If you want to know more about Google Maps API, you could visit the link below:

Another website containing tutorials and examples could be found here:

Developing applications using Google Maps API is much simpler and you only need a bit of HTML, JavaScript and XML knowledge. Well, feel free to go wild in expanding its capabilities with your web development language of choice.

Thursday, August 12, 2010

The Paradigm Shift of Nicholas Sparks

Last night as I finished watching The Last Song, I noticed that Nicholas Sparks had a paradigm shift into something to older generations. I rummaged through my stuff and made an inventory of my books. I noticed how many Nicholas Sparks novels I still havent read but already bought. If you're interested in checking out books I currently have, feel free to visit this link.

Going back.. See, Nicholas Sparks has been those romance authors who tends to focus on teen relationships. It gives readers (and viewers, for the movie) a heart tugging experience which, somehow, if you've read a number of his books would probably find some sense of monotony and probably uniformity on his stories.

It seems like, hes not an avid fan of unhappy endings too. Save for A Walk to Remember, but it would probably be left in the decision of the reader/viewer to qualify on how they would take the ending. Its not as point blank trample your heart endings like the movie Prime, nor the anime 5cm per Second but what the heck, its his book, his story and we're just the audience.

Prior to watching the Last Song, ive watched Dear John months ago. I was surprised to see that Sparks changed his focus from being centered in the romantic endeavors of two individuals to something probably, well, unexpected for his caliber. Sparks shifted into giving importance to family. Perhaps it was a good decision to take in my opinion because aside from love of God and love of self, love for family encompasses all that romantic shenanigans you normally would see in teen-targeted novels and movies *cough*Twilight*cough* ..

Its a bit refreshing as a reader or as a part of his audience to see this shift but I hope he really consider some diversity in his future novels.

Friday, August 6, 2010

Manually Setting Up a Static IP in Ubuntu

For some reason, Webmin doesnt work well with Ubuntu 10.04. Everytime I configure a static IP using Webmin, it throws an error at boot. Ive reinstalled several times hoping that it was just a glitch. Maybe for some reason, there was a misconfiguration in the network modules in the source code perhaps.

Anyway, getting around this, I decided to be a command line ninja once more. Logging in as root, edit the /etc/network/interfaces file an tweak as needed (I removed the last octet for security reasons, replaced with x and y).
# The primary network interface
auto eth0
iface eth0 inet static

address 192.168.1.x
gateway 192.168.1.y



You could actually just copy some of the values when you're on DHCP by entering ifconfig -a as a sample, heres the data I got (I removed some values and replaced the last octet of the IP with x).
eth0      Link encap:Ethernet  HWaddr -- removed -- 
          inet addr:192.168.1.x  Bcast:  Mask:
          inet6 addr: -- removed -- Scope:Link
          RX packets:5140320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1978783 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:946219572 (946.2 MB)  TX bytes:2233516408 (2.2 GB)

PHP Curl and You

I have 2 servers which I wanted to talk to each other, one is a web server running Ubuntu and the other a Windows Server 2008. My task was to be able to create Active Directory users using PHP and from what is available, I found a very neat library for PHP called adLDAP. It had all the necessary functions needed to manage your Active Directory save for the very troublesome fact that you need to use LDAP over SSL in order for the module to be able to create accounts and change passwords. Everything else works without LDAP over SSL.

At first I was trying my hand out in making it work without the LDAP over SSL. But after some research, I found out that it is required by Windows Server itself to accommodate account creation. Knowing a bit about certificates and on how modern browsers typically screws over displaying the page due to those 'certificates cannot be verified' errors, I had little choice in this matter.

At first I thought maybe that error prompt could be a minor nuisance but unfortunately, non technical people have certain difficulty in getting around that. I had to make a choice, usability or to create something not that elegant which works without any nuisance.

Being a code monkey, I decided to do the workaround.

At first I researched options on what other ways I could create an Active Directory account without using the Active Directory Users and Computers manager. Apparently, you could create users using the command prompt using the dsadd command. After some practice, I got the syntax I needed and the errors thrown if ever theres something wrong.

So I already have the command, how do I run it? Ive thought of just moving the user creation page to the Windows Server and opening it to the public, but as Ive told my friend, it would be like a sitting duck waiting to be shot down. I retained the approach to funnel all traffic to the web server and have the web server and the Active Directory server talk using the more secure local network.

But how the heck could I make an Ubuntu server and a Windows Server talk to each other? Well, Ive installed a web server in the Windows Server and made it run PHP. Now, the Ubuntu server, the Windows Server and myself could all talk and understand the same language: PHP.

It was something unelegant. Some problems are still there, like if my GUI is in the Ubuntu server, how can I invoke a POST to the Windows Server and get the output from that end. Upon researching POST and passing parameters, I discovered cURL. cURL is a client URL library, which in simple terms, is something that one could use to pass parameters to another URL and gets a return reply which could be used in the requesting machine. A simple diagram would be:

Ubuntu cURL -> Windows Server (regular form accepting POST values) -> Ubuntu cURL

Ive setup two pages, first the page in the Ubuntu web server which does the 'curling'. Second is the page that accepts and processes form submits, if you've coded dynamic web pages this would sound familiar. Its just a regular page where all your data goes to when you hit the submit button. Its normally in the action="thispage.php" parameter. Whatever the output of that page will be thrown back to the currently waiting page in the Ubuntu web server.

I had my fair share in minor troubles, one would be that my PHP installation is not compiled to support cURL.

I just invoked an install command using apt-get (logged in as root of course)
apt-get install php5-curl
after it got installed, I restarted my web server
service apache2 restart
After which, I fired up my code and see what result it throws me from the Windows end. After some minor tweaks, I got it correctly.

The important phases of using cURL in passing parameters to another page as I read through this helpful guide would be (4 steps):

1.  Prepare the data to be posted

$data = array();
$data['first_name'] = 'Jatinder';
$data['last_name'] = 'Thind';
$data['password'] = 'secret';
$data['email'] = '';
The upper part of this segment is plugging into an array the values you need to be passed. The lower half would be turning it into a single chunk of data which will be sent to the other end. In this example, the resulting $post_str would be “first_name=Jatinder&last_name=Thind&password=secret&” which is properly url encoded. 

$post_str = '';
foreach($data as $key=>$val) {
    $post_str .= $key.'='.urlencode($val).'&';
$post_str = substr($post_str, 0, -1);
2. Connect to the remote URL

This is the page where you will be sending in your data. In my case, instead of a public domain address, I used a local IP address. It would still be accessible since PHP is a server side language which executes the code on the server (which is also in the same local network)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '' );
3. Post (submit) the data 

curl_setopt($ch, CURLOPT_POST, TRUE);
The first half is telling cURL that a POST method will be invoked. cURL handles a multitude of methods including support for proxies, GET, POST, HTTPS and all that sugary stuff. The code below tells cURL to send the $post_str we made earlier to the URL in step 2.
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);

4. Fetch response and display it to the user

 The last part waits for the output from the other end and displays it, hence the echo $result. This will output whatever is displayed on the other end as if you are browsing through the page. In my case, I coded the output on the Windows end to be as simple as possible: throwing a text saying that the command issued was successful or there was an error. Upon getting the output from the Windows end, I display it to the Ubuntu side by processing the $result. Use your imagination, feel free to use string manipulation functions to make the output compliant with the look and feel of your page.
$result = curl_exec($ch);
echo $result;
For more information about cURL, visit the ever helpful PHP API 

Wednesday, August 4, 2010

Why The Kindle 3 Excites Me

For a week now, I've been going on and on about the Kindle 3. Amazon launched the new Kindle several days back which was available for pre-order. It wont be until next month 'til those who pre-ordered will get their hands on the new and shiny device.

The new Kindle 3. Image courtesy of
A 6" monochrome eBook reader? What about it?

People would say that the iPad would be a better option, but why do I want this piece of thin monochrome reader? Perhaps, the biggest selling point for me was Whispernet.

Whispernet is Amazon's free 3G internet spanning different countries which you could use (primarily) to download eBooks. But, Whispernet is not limited to just downloading eBooks. There is a small phrase somewhere in the product description of the Kindle which says:
New WebKit-Based Browser – Free 3G web browsing (experimental)
Coupled with something a bit on the upper part of the product page:
Includes free 3G wireless: No monthly payments, no annual contracts. Download books anywhere, anytime.
Free 3G. Browser. Do you get my drift? Even if its a half assed and ugly browser, it is a browser.. Running with the power of free 3G!

This leads me to my second point: Google Reader.

The desktop version of Google Reader. Hey, the Kindle version is not as sexy, but it does the job. Image courtesy of
In a day, on an average, I consume around 300 articles ranging from Engadget, Gizmodo, Hackaday, Kotaku, Lifehacker posts to local news courtesy of Google News and some daily spiritual readings (which admittedly, I often just skim through) .. I don't read every bit of article I come across, reading through Google Reader is like reading a newspaper. You don't read articles which proves to be of little interest to you. I fully read about 20 or 30 or so articles a day which happens to be shared through this blog or to my Facebook account. New blog posts from friends also shows up in Google Reader, its like newspaper++.

Whispernet + Google Reader makes me feel like I could jam every information I would want into my head, anytime, anywhere.

Which then leads me to my third point: Other sites.

The simple but functional website which I use to update my status messages. Image courtesy of
Ive ranted about how I don't trust those SMS to social networking services because of their lack of security? Perhaps some of my friends heard me rant about how 1,200 is too much for an unlimited data plan from our dear telcos. I really wish that there was some way I could Ping (using my way to updating my status free of charge.. Seems like the Kindle is a good solution. Ping is a simple enough website which provides a simple thing, a box where you put your status message in.. and  updates the social networks you've added to your profile. Simple. Seems like Kindle could handle this simple task.

My final point would be aesthetics.

I wouldnt mind carrying something this thin and light everyday. Image courtesy of

Ive had the chance to fondle an iPad, carry it, feel how much it weighs, how feature rich it is and all that. Yes its a magical and revolutionary device BUT.. if you're looking at using it most of the time to read.. Or to absorb text based content.. Then the iPad would be overkill for that specific use. For eBook reading, yes iBooks is a whole new level in reading technology but its way too much for conventional reading. Reading a plain book in an iPad feels like killing a mosquito with a cannon. The iPad, as I see it, is more for the media consumption. Watching TV series, surfing the web, listening to podcasts, playing touch based games, those kinds of stuff. But for plain 'ol reading, a months worth of juice makes the Amazon more appealing to those who would just want to quietly read a book.

Its thin, lightweight built proves to be a good companion when you go about long trips (which you would like to spend reading). And as a commuter, I think the Kindle would be less appealing to muggers than an iPad. I think I'd be more confident to pull out a Kindle than an iPad on a bus ride home.

The price is still a bit too steep compared to something tangible that you'd be able to keep, hold, touch, feel, eat if you may, hard cover books. Image from
The downside though, Amazon is still selling eBooks at crazy prices. I still hope that the prices would go down to fair levels. Perhaps I would need to emphasize on 'fair levels' in the pricing of eBooks in one of my next posts. But as a workaround, you could have your pdfs converted to Kindle readable format.

Overall, the Kindle proves to be a good reading companion along with its free data services which provides other value added services to the device. Amazon will be rolling out an app store for the Kindle soon, so perhaps its just realistic to hope for a better Facebook layout for this monochrome device? Haha. That would be something to laugh about.

To those interested, full product detail could be found here: and it comes in 3 flavors, 6" WiFi only for $139 a 6" WiFi and 3G (the Whispernet baby) for $189 and a 9.7" Kindle DX with WiFi and 3G (also a Whispernet baby) for $379

iPhone 4 Carrier Unlock Finally Here

The wonderful people of iPhone-dev Team (or I think they're called just DevTeam now) has realeased their iPhone 4 carrier unlock.

What this means is you can unlock the iPhone 4s you've purchased from any locked countries like the U.S.(with baseband 1.59). iPhone 3G and 3Gs also benefits from this release which unlocks phones with basebands 04.26.08, 05.11.07, 05.12.01 and 05.13.04

As an excerpt from their blog post:
Version 1.0-1 of ultrasn0w works for:
iPhone4 baseband 01.59
3G/3GS basebands 04.26.08, 05.11.07, 05.12.01 and 05.13.04
(If ultrasn0w doesn’t show when you search Cydia, add the repo:
Quickest solution to unlock your phones is to visit which uses an exploit to jailbreak your device, and once you get the Cydia app, download (or add the repository if you havent) ultrasn0w. Restart and enjoy carrier freedom.

Perhaps another implication of this with the iPhone 4 market now is that those people selling iPhone 4s at outrageous prices would be compelled to drop their insane charges. Since people could get any iPhone 4 and have it unlocked, the only special purpose of a factory unlocked iPhone 4 would be that owners would not need to wait for the Dev Team to release a newer version of the unlocked (which they'd probably release a day after a new firmware/baseband update).

Update 1:

I was just checking how much an iPhone 4 currently costs in the black market. Seriously. 70k! This is insane!

Monday, August 2, 2010

The Playstation Guy Copycat Incident Comes to a Close

Well, its good to hear that the incident regarding the imitation of Kevin Butlers (aka the vice president of everything) montage advertisment was settled through peaceful trash talking over the internet. At least Sony was a sport in responding to TV3 use of their montage concept advertisement without any bloodshed of cease-and-desist orders being issued.

They say imitation is the best form of flattery, Kevin Butler doesnt think so if they're not copying the thing correctly.

The original PS3 ad with Kevin Butler

The TV3 "Montage" copycat ad

Kevin Butler jokingly mocked the copycat advert in his blog though a series of 'constructive criticism' which pointed out the following:
1. No title for your guy? VP of Big Bigness? PS3 Commercial Tribute Manager? Details, folks.
2. The TV3 version was completely lacking in PS3 video game footage. Clips from Uncharted 2, MAG, God of War 3, or even clips of our upcoming releases Killzone3 and Twisted Metal would have really added some epicness to the spot.
3. The beard. I think it should have been longer.
4. I did like the slow motion effect at the end on the guitar solo. Way to plus it out.
5. Two-color mylar confetti > rainbow paper confetti. Just sayin.
And as payment for the offense of TV3, Butler demanded and said that "I’d like TV3’s support in making the PS3 the OFFICIAL GAME CONSOLE OF NEW ZEALAND." and "a box set of Flight of The Conchords sent to the fine creative team in our marketing organization."

In a post by Kotaku, apparently TV3 sent in some goodies to acknowledge Butlers demand. It came from the Twitter post by the man himself, Kevin Butler.

I didn't get why the heck would they send Milo packets
We could now happily move on along with this debacle without lawsuits flying around. You could find some hilarious videos with Kevin Butler in Playstations YouTube channel.

Wondering What to Eat?

A batchmate of mine has this awesome collection of food reviews in his tumblr account. He's been reviewing a whole lot of restaurants, though most of the time he gets his food from the delivery services around the vicinity of Taft. Hats off to Gelo Reyes for compiling a very good review for those people wondering what and where to eat.

Credits to Gelo Reyes and his tumblr blog
Come to think of it, its lunch and I haven't decided where to eat yet. If you have suggestions, drop him a line. He entertains your questions too, maybe you'd like to ask for a good date spot with good food.

Now I'm really hungry.

Unlocked iPhone 4 By Country

Heres a demographic on where you could get your factory unlocked iPhone 4 and at what price. HK seems to be the best option and the second placer is Singapore.

Waiting time to get a unit is around 3 weeks. And you need to have it shipped to someone who lives there.

Get it? Good.

Click for larger size