eGifter and Coinbase - My First Experience

I've sent and received bitcoins before.  I know it takes several confirmations before funds appear in someone's wallet after being sent.  In fact, this is why both Coinbase and eGifter worried me for the next 15 hours after starting down the path. 

Let me start from the beginning, around 7 pm after I got home from work.  It took me about an hour to research, read reviews, etc. on the products I wanted.  When I finally ready to purchase, it was already 8 pm.

 The items I wanted cost around $325 (around $345 after taxes) at Amazon.  Yes, Amazon now charge taxes, but was still cheaper than a brick and mortar store.  While there are now businesses that accept bitcoins (I can't wait until my next computer build so I can buy from Newegg), Amazon doesn't accept bitcoins at all.

 So, how to get around this?  Well, I remember reading somewhere (or heard on a podcast) there are services that let you purchase gift cards with bitcoins.  This way, you can use your bitcoins with merchants that doesn't accept bitcoins at all!  Brilliant!

 I read reviews on two such places - eGifter and Gyft.  At a Reddit thread, someone highlighted that eGifter allows for more granular gift card values than Gyft.  Other than that, most gave equal amounts of pros and cons for both.  Even so, the overall consensus was both companies were on the up and up.

 With that in mind, I decided to with with eGifter.  I found that I needed to pick up a $250 and $100 gift card for a total of $350 to cover my eventual purchase.  When I checked out, I was presented with several options for payment, including PayPal and Bitcoins.  Clicking on Bitcoins, I was dismayed when eGifter informed me that it only takes Bitcoin payments through Coinbase.  I normally just send out bitcoins using my own bitcoin wallet.  That's very straight forward.  Not only did I went through a process to create an account with eGifter, they are forcing me to create an account with Coinbase!

 No one likes to fill out forms and open yet another account (another login credential to remember).  I came this far, so I did a quick research to see if Coinbase was legit.  After all, well established Exchanges have crumbled before.  It was mostly good things.  Also, from what I've read, it should take anywhere between 3 to 6 confirmations for your funds to appear in the Coinbase wallet.

 After getting my Coinbase account set up, I transferred the bitcoins to my Coinbase wallet and waited.  And waited.  And waited.  It takes about 10 minutes per confirmation, so it was hell just sitting there for so long.  After all, it's been about an hour after I had everything put into the shopping cart.  Between the account set up with eGifter and Coinbase, and the waiting for the funds to appear in my Coinbase wallet, it's enough time to give anyone second thoughts about their purchase.  Do I really need a pressure washer right now?

 After constantly refreshing the blockchain page, Coinbase's page, and even my own wallet, I finally hit 3 confirmations.  Coinbase still says the funds are pending.  Okay... 6 confirmations passed.  Still says pending.  10 confirmations passed.  Pending.

 I finally sent a help ticket with Coinbase to find out what's going on.  I received an automated email, but no other help.  After 13 confirmations (about 2 hours after the initial transfer, might I add), Coinbase finally felt it was good enough to make my funds available to use!

 Ok, great.  Now back to eGifter...let’s get my gift cards!  It's about 10:30 pm now.  After the payment, I was given an order number and a message that said an email confirmation was sent.  I did not get any email.  At 11 pm, I actually found a customer support number and gave them a call.  I was expecting to hear a recording that said they were closed, but instead I hear hold music.  Five minutes later, an actual live person came on the line!  And no accent.  In fact, we got a chatting and I found out he was from Portland, OR.  Nice guy too.  He did say it can take up to 24 hours for me to get the gift cards, but I should have received an email confirmation immediately.  Unfortunately he couldn't help me further and asked me to put in a help ticket with the bitcoin transaction details.  And so I did.

 After opening up a ticket with eGifter, I kept refreshing the "My Wallet" page where the gift cards were supposed to appear.  I also kept refreshing my mailbox to see if I received any confirmations.  I perked up when I saw the confirmation for opening up my ticket, but it was an automated reply to confirm they received my ticket, but no confirmation of the order itself.  At 11 pm, I retired to bed.

 At 9 am in the morning, I woke up to find a response from eGifter about my ticket.  It was the same line their live customer service person gave me - give it 24 hours.  I responded back with something along the lines of "I was told this by your customer support over the phone, but he also said it was weird I did not get an email confirmation for the order immediately".

 As I was waiting for their response to my reply, at 11 am I finally received the order confirmation email!  I quickly went to my computer (I was checking emails on my phone), logged into my eGifter account, and YES!  There they were!

 From there, it only took minutes to redeem the gift cards and finish up the purchase on Amazon.  In that ordeal, I've also noticed that Amazon loves to adjust their prices by pennies every couple hours or so.  I ended up paying 20 cents more than when I originally placed the items in the cart (15 hours ago).

 When I pulled the trigger on the gift cards, a single Bitcoin was worth around $1280.  The morning I pulled the trigger on the Amazon purchase, the same Bitcoin was worth around $1245.  Not a huge difference (especially when dealing with about 0.275 BTC), but it was a minor and temporary fist pump moment.  Who knows how much more a bitcoin would go for later in the day or even week!

 So the lesson I learned: If you want to buy with bitcoins with a merchant who does not take bitcoins directly, prepare yourself for the wait.  You don't get instant gratification.


And for your reference, the links to eGifter, Gyft, and Coinbase:


Android N Dev Preview May Soft Brick Your Device

When I first heard Android N Dev Preview was available as an OTA, I was ecstatic.  No need to lose your user data like you would with a full factory image.  No more dealing with ADB and FASTBOOT.  I enrolled my Nexus 9 into the Android Beta Program (which is new for Google), and a minute later I got a System Update notification for the upgrade.

The process is the same as with any other updates, except it took a while to download since it was about 1 GB in size.  Then it happened: ERROR!  That's all it said underneath an Android logo that's lying on it's back with a red triangle with an exclamation point.

Misery loves company, so I started posting anywhere that's relevant:

XDA Developers (I chimed in at post #14)

XDA Developers Warning Post

Nexus Help Forum


I also posted on a few Google+ groups, but I have no idea how to link those cleanly.



So the problem isn't just a failed OTA.  The problem is when the OTA failed, it already written to the system partition so now the darn thing won't boot into the OS anymore.  And because you can't boot into the OS, you can't enable Developer options to also enable OEM unlocking (which allows you to unlock the bootloader).  What fascinates me is the Full Factory Images aren't signed, which means you must unlock the bootloader before you can even flash your device with a factory image.  You are basically treating the factory image like a custom image.

So that’s the brick wall - a catch 22, if you will.  You can't flash the factory image without booting into the OS and enabling OEM unlocking.  This feature is new to Android/Nexus.  This will prevent stolen devices to be reused again if someone just does a factory reset.  It also prevents a thief from side-stepping this security measure by flashing a factory image or custom ROM.  But it can also lock out legitimate owners if an OTA update fails.  Basically you have a soft bricked device.



Normally OTA updates check the system partition for a specific version of Android before being applied.  This is done so you don't accidentally install the wrong patch for the wrong OS version since these OTA updates are usually deltas and not the full OS image.  This keeps the size of OTA updates small.

The solution, of course, is for Google to make it public link to download the OTA for Android N Dev Preview.  This file is a full-block OTA which is basically a complete OS image that replaces everything in the system partition, so no check is needed.  And that's exactly what they did.  Google provided links to download the signed OTA update files for people to side load into their devices without the requirement of unlocking their bootloaders.

Side loading OTAs isn't anything new.  The Android community have extracted the links to download these OTAs from logs and provide them to the rest of the community since almost the begining.  However, this is the first time Google publically provided a link to OTA files.



I hope Google will continue to provide full-image OTAs for major version releases in the future to resolve instances like this.  With the requirement of enabling OEM unlocking in the new Nexus devices, full-image OTAs like these would be required to recover from failed standard OTA updates.  I imagine this can happen with the monthly OTA security updates.  Who knew we were dodging bullets all those times?

For those concerned that stolen devices can be re-purposed this way, fear not.  Even with a factory reset (no more user data), after flashing this OTA to get my Nexus 9 working again, it asked me to authenticate with the last owner's credentials before letting me in.  So this should still deter thieves if they get a hold of a full-image-OTA thinking they can just flash a factory image with a locked bootloader.  Much safer than leaving the bootloader unlocked or keeping OEM Unlocking enabled.

Another reason why it's a good idea compared to the old Full Factory Image method: OTAs do not delete user data.

I seriously hope the Google Android team consider releasing full-image OTAs in the future as standard practice - at least for major Android releases (no need to do this for all the minor updates - kind of like reinstalling Windows and getting all the security updates).

Creating a full-image OTA shouldn't add much to their workflow.  The OTA for Lollipop to Marshmallow, for example, would have to be a full-image OTA anyways.  The only thing the Android team needs to do is to disable version checking so it can be side loaded no matter what state the system partition is in.

Also, if a user wants to keep their data partition intact, a full-image OTA for the major release is important.  If Google only released a single full-image OTA for the original OS the device released with (example: Lollipop), if someone needs to recover from a bad OTA update when they're already in Marshmallow, the original Lollipop build may not work with the new data partition schema.

Of course you'd be thinking "I'll just be happy the device is not bricked", but if you can also solve the "I'm glad I didn't lose any data" dilemma without much effort, why wouldn't you?


Android vs iOS in 2015

So much as happened in the past year!  Marshmallow is out, but doesn't offer much difference with Lollipop.  However, battery life is improved by a lot!  When Project Volta was told it will help with battery life, I didn't see the effects.  But Doze in Marshmallow made a HUGE difference on the same phone!  I was seeing an extra 10-20 percent more battery life at the end of the day!

So yeah...I guess that probably clued you in that I did not switch to an iPhone after all.  In my last piece, I said I might, but I'm glad I stayed.  I am now on a Nexus 6P, and my biggest gripes with Android are wiped.

First, Android Pay with Nexus Imprint (fingerprint scanner) is so much easier than the old Google Wallet.  No longer do you need several steps to pay.  It's as quick as Apple Pay now.  In fact, faster!  The Nexus 6P NFC antenna is on the top, like the iPhone's so it's a more natural way to pay vs using the entire back of the phone.

Steps for Android Pay (with Nexus Imprint):

1. I put my finger on the sensor, the phone turns on and unlocks.
2. With my finger still there, touch the sensor, and you're done!

With the iPhone, you still need a small step (while I admit is not a big deal), which is to push the home button to turn on the phone.

Then there's the camera.  The Nexus 6P and 5X comes with excellent cameras, and the software algorithims are now producing great results!  Videos look great as well, and can now capture in 4K.  However, without OIS (no software OIS either, as far as I know), videos tend to look shakier than the iPhone.

Google Hangouts/Google Voice is still problematic sometimes.  Inconsistencies such as sending a SMS with your cell number instead of the Google Voice number when sending from the Contacts app, but sending a SMS from Hangouts itself uses the Google Voice number.  This is happening even after making sure the setting is correct (I told Hangouts to use only my Google Voice number for all new SMS messages).

Also group texting didn't work until now.  Well, partially.  You still can't create new group texts, but if someone sends you one, you're good.  Before when someone sends you a group text, on your end, it looks like a standard 1-on-1 text.  Until someone else responds in the group (then it looks like a 1-on-1 with THAT person!).

I use my Google Voice and Hangouts for the convience of being able to access texting and phone calls from almost any devices.  For the most part it works great!  Until someone calls me on my actual cell number and I hear my phone in the other room while I'm on my computer.  I then start cursing while I try to make my way to the phone when I could have just answered it on my computer!  I could've even answer on my iPad!

So not all is perfect in Android-land, but the gap is so much smaller than it was a year ago.  Apple still hasn't overhauled their home screen, and the ability to share between apps still isn't as good as Android.  And I still can't stand the way Apple handles notifications like Android does.

Taking everything into consideration, I think I made a good choice for myself.

Did anyone struggle with this?  And what did you end up choosing?  And why?


Android vs iOS in 2014 (Lollipop vs iOS 8.1)

Circumstances have made me consider choosing a side.  After been in both camps for a while, I still had a hard time doing it.  I guess I should give you a rundown of devices that got me here. 


My first Apple product was an iPod Touch.  That started me down the road to the iPhone 3GS/4, iPad 2/3/4/Air, and MacBook (as a curiosity - I still rarely touch the damn thing).

It was around the time where the iPhone 4S took it's sweet time being announced that I got bored of iOS.  Remember this was the time when the white version was delayed and then Verizon finally got the iPhone.  These two events extended the iPhone 4's life so the 4S was pushed 6 months out of the normal yearly refresh.  This stagnant period made me look at the other side.  Android.


I played with the EVO 4G, but I didn't like it.  At the time, the phone was just way too big (actually too wide).  It was also on Sprint, and I dislike CDMA networks for the lack of easily swappable SIM cards.  It wasn't until I tried out T-Mobile's Samsung Galaxy S variant (Vibrant) that I saw the Android way.  Maybe it was iOS-inspired TouchWiz interface.

The Vibrant started me down the road to the Galaxy S II (unlocked international version), Galaxy Nexus, Galaxy S3/S4/Tab, and Nexus 5/7 (both 2012 and 2013 versions).  I still had an iPad (today I have the Air) along the way to keep a foot in the Apple camp, as well as a MacBook Pro.  But my main go-to devices were Android and Windows (Lenovo Yoga 2 Pro as we speak).

At the time, I choose Android because I could do more with it.  You have full access to the file system.  You can share data easily between apps.  You can even root to do more crazy things.  And finally, the community seems to have your back whenever there's an update or upgrade.  Unlike the Apple camp where most of these things were locked down.  You're always a couple versions behind because you're waiting on a jailbreak.


The landscape has changed.  I don't jailbreak or root anymore.  I decided I want stability and timely updates.  More importantly I need access to my company's email which now enforced a no jailbroken or rooted device policy.

Access to the file system is not as important anymore thanks to Apple iDrive.  This is Apple's solution to a shared and structured storage.  On Google's part, you have Google Drive.  Now that iOS has extensibility, both iOS and Android can use 3rd party cloud storage as well.

I did a pros and cons for both, and the differences between Android and iOS is closing.

There are a few things that swings in Apple's favor though.

Pros and Cons Talk-Through:
Backup and Restore

One of the biggest pain points of Android is not having the ability to do a complete backup without root.  This is probably due to the diverse nature of Android (some call it fragmented).  Still, I'm surprise Google doesn't have something for their AOSP or even Nexus build of Android at least. 

With iOS, you get a complete backup (sans photos, videos, and music) every time you sync with iTunes.  You also can do it with iCloud, but you will need a lot of space (the free 5 GB may not cut it).  If you replace your lost phone, or upgrade to a new one, the replacement will look and act like your old phone once everything is synced and restored.

Android has the option to back up to the cloud when you first set up your device.  However, not everything comes back when you try to restore to a replacement phone.  If you have a phone with a different launcher (ex: Nexus vs Samsung vs LG), your icons won't come back to your home screen the way it was (if at all).  Some apps doesn't allow to be backed up.  And lastly, not all accounts are restored (usually just the Google ones).  You will have to open every app that uses their own credentials.

With Android Lollipop, the process is now better.  When you first set up your new phone, you can "Tap & Go" with NFC.  Almost everything on your old phone will transfer over Bluetooth with the same gotchas stated above.  The home screen issue isn't a problem if you use the Google Experience Launcher.  Some widgets even come back (though not all for me).

If you lost your phone or just did a factory reset, you now get a list of devices that were backed up to restore from.  Again, same caveats as stated above.

Apple still wins this round.


No contest.  iPhone cameras after the iPhone 4 have been consistently good.  None of the Nexus phones were all that great.  And while there are Android phones with great shooters, it's the consistency where Apple wins at.


Being able to take phone calls and text using your tablet or computer is a great proposition.  Apple wins another?  Not so fast!  Believe it or not, I've already been doing that before Handoff was available.  I didn't realize it at the time, but I've been doing this with Hangouts!  If you use Google Voice as your main phone number and texting platform, you have the ability to enjoy this feature for a while now.  Also, the recent addition of MMS with all but Verizon subscribers makes it closer to perfection.

However, Apple still wins due to the fact that it allows for your carrier-based phone calls and texts to come through.  Add MMS from ALL carrier subscribers, and it's a slam dunk.

So close, Google.  Get crackin'!

Apple Pay

Apple made sure to partner up with others to make this happen.  Because of this, it will have a greater chance of mainstream acceptance compared to Google Wallet.  Even without the politics and technical security aspect (Apple doesn't actually have your credit card info, but Google does), Apple Pay is just simpler to use.

I've used Google Wallet several times whenever it's accepted.  But some of the stores that used to accept Google Wallet stopped supporting them!  And it's not a fast and easy process.  We were told we could tap the phone without unlocking it, as long as it is on.  So that's what I did.  Here are the steps as I remembered them:

1. Turn on screen.
2. Tap.
3. I was asked to unlock phone.
4. I was asked to put in Google Wallet PIN.
5. I was asked to tap the phone again to the payment terminal (again?).

Even if I turned on the phone and unlocked it before hand, that's still 5 steps!

1. Turn on phone.
2. Unlock phone.
3. Tap.
4. I was asked to put in Google Wallet PIN.
5. I was asked to tap the phone again to the payment terminal (again?).

And why the need to tap it to the terminal twice?

With Apple Pay (at least shown in the video), you don't even need to turn the phone on.  When you're ready to pay, you just put the top part of the phone to the terminal and put your thumb to the home button.  Or was it the other way around (thumb, then tap?).  Either way, that's just 2 steps!

Apple may well win this one until Google refines their process.


iOS does have its annoyances.  The biggest one is the home screen.  I find it annoying that iOS does not let me put icons exactly where I want them.  Instead, they all must flow left to right, top to bottom.  You can start a new home screen without completely filling the first one, though.

With Android, the home screen depends on the launcher, but comparing apples with apples (so to speak), we'll use the "stock-ish" Google Experience Launcher which you can finally get with all Android phones (finally available in the Google Play Store).  Even so, almost all of the various launcher home screens allow you to place icons wherever you want, much like the icons on your computer's desktop (Mac and Windows alike).  This lets you arrange them in the way that makes sense to you or not to obscure the wallpaper if you're so vain.

It may be me, but I find it hard to pin point a particular setting or feature inside of that massive Settings app in iOS.  Android's settings seem more logically arranged.  Having notification settings within the app you're interested in changing makes more sense to me than having to scroll through a list of apps inside the OS's Settings area.

Notifications seem to be better in iOS 8.  Before, you can only clear all notifications of a particular app instead of a single notification.  And being able to interact with some of the notifications finally caught up with Android.

iOS scroll responsiveness is still much better than Android, but with Jelly Bean (then Kit Kat, and now Lollipop), that gap is closing.  Even Project Butter in Jelly Bean didn't make it as responsive as iOS.  It's still too early to make a call with Lollipop since it isn't released to the public yet.  I am judging this on the current final developer preview.

Scroll physics, on the other hand, Android has iOS beat.  This is more of a preference thing, but I like the way I can flick a long list and it goes flying to the bottom.  With iOS, it feels like flicking heavy cardboard, and it takes much longer to get to the bottom.

I like tapping the status bar to go straight back to the top, but not all apps support this (or sometimes that feature mysteriously breaks).  I used to miss this with Android, but since scrolling is super fast, this feature isn't as important to me anymore.  However, it is sorely needed for iOS.  And honestly, Apple needs to find a way to get through long lists or pages faster.

Android wins this one.


Because Android seem to make major changes every couple years (fast pace development), it's a more exciting platform to be on.  Apple changes slowly, and even with iOS 7, it was more a coat of paint than anything else.

I moved away from my iPhone 4 because I was getting bored.  After using an iPhone 5S with the newest iOS 8.1 (to get a feel for iOS again), I feel the same way.  It's really boring!

Android wins it here.

In the End...

...I'm more conflicted than ever!  It's nit picking at this point.  But looking at practical use, Apple is where I may be at.  The better camera, Apple Pay, and Handoff may be what will tip me over to the Apple camp.  And I can access almost all of Google's services on iOS (Hangouts and Google Voice is important to me).  I didn't mention battery life because I haven't experienced Lollipop's Project Volta on my Nexus 5 yet.  It needs to be stable since it's my daily driver.  I only have it on my Nexus 7 - and again, it's the final developers preview.  With Kit Kat, battery life with my Nexus 5 was good, but recently it took a turn for the worse.  I just did a factory reset, which is why the backup and restore pain point is a recent memory.

Now, what am I going to do with my Moto 360?


How to Install the Windows 10 Technical Preview on VirtualBox

Microsoft is allowing the public to preview and provide feedback on their next OS release, Windows 10.  Dubbed a Technical Preview, it is available to download right now at  To download the ISO fles, you the link is located here.

Now, it's not wise to install this Technical Preview on a machine that you rely on daily.  There are already a few people on Microsoft's forum who are angry there's no way to "uninstall" Windows 10 like a normal application.  Unfortunately, Windows 10 is an OS, not an application.  As such, there is no "uninstall".  You will have to backup your data and reinstall your version of Windows to get it back.  If you MUST install it on your physical machine, you should at least make a disk image using a utility such as Norton Ghost or Acronis TrueImage.  They aren't free, but there are free alternative disk image utilties out there you can use instead.

There's also partitioning your disk and dual boot, but if you already thought Windows 10 could be tried out like an application then uninstalled, this is also a complicated avenue.

Rather than going through all that trouble, you can use a virtual machine instead.  This way, you won't have to mess up your current installation of Windows.  The virtual machine is an application you can uninstall, and the Windows 10 Technical Preview just runs inside it.  This is the easiest way for non-technical people to try out the Technical Preview or any other OS for that matter.  Hey, why don't you try Ubuntu while you're at it?

Download and install Oracle's VirtualBox here:

I created a video of myself installing the Windows 10 Technical Preview on VirtualBox.


Google is Aware of "Package File is Invalid" Errors in Google Play Store

If you are getting "Package file is invalid" messages when installing or updating apps from, the Google Play Store, you're not alone. Its been happening lately and so far there is no rhyme, reason, or even a pattern. But take solace as Google is aware of the issue and responded.

[#10230007] “Package File Invalid” error when downloading or updating apps

We’ve received reports that some users are getting "Package File Invalid" while trying to download or update apps.

We’re currently investigating a permanent solution, and there are no workarounds at this time.

We’ll continue to update this page with developments, so check back soon.

Issue first reported on: August 7, 2013

Last updated on: August 9, 2013


Google Support


Free PDF Tools

At my work place, there are some people who ask for the full Adobe Acrobat product to edit PDF files.  Of course, none of them realize how much it costs (if they even knew it wasn't a free product in the first place).

Fortunately, we don't need Adobe Acrobat, or even the free Adobe Reader to do most of what we need to do with PDF files.

I found three software that I've recommended to these people with much success.
Foxit PDF Reader

Foxit PDF Reader is one of the best free PDF reader.  It replaces the official bloated and insecure Adobe Reader.  You can even do some light editing with Foxit PDF Reader!

The free version is ad-supported.  You have access to the Typewriter tool, sign PDFs, and add comments.  You can also rotate the view, but it rotates for all pages.  It also includes a virtual PDF printer so you can create PDF files simply by printing from an applications such as Internet Explorer or Microsoft Word.
As well rounded as Foxit PDF Reader sounds, it is missing the ability to delete and add pages.  Rotating select multiple or single page is also notably missing.

Other than that, Foxit PDF Reader is probably the first PDF tool you'll want to install if you want to get away from Adobe.
PDF Rider

PDF Rider picks up where Foxit PDF Reader left off.  It acts like a browser and uses your default PDF viewer (in this case, Foxit PDF Reader if that's all you have) to open up PDF files.  However, it adds the ability to manage the pages.

You can merge PDF documents, insert pages from another PDF file, extract pages from a PDF to a new PDF document, delete pages, rotate pages (select multiple and single), encrypt and decrypt PDF files, and "burst" a multi-page PDF document into individual single pages (separate PDF file for each page).
Simple, elegant, and free.

Foxit PDF Reader already have this covered, but if you prefer using the official Adobe Reader and still need to create PDF files by printing to a virtual printer, CutePDF has you covered.

CutePDF simply creates a virtual printer for you to print documents on.  When you do so, it asks you to save your print job as a PDF file.  That's it.  Simple.  It's free and there's no watermark that says "trial".


Those are my recommendations to people who ask.  Do you have a favorite free PDF tool?  Does it add more features or do the same job but better as my suggestions?  Let me know in the comments!


Small Rant, New Stores, and Funny Photos

Sorry for not updating my blog in so long. Been busy in my day job, but I have been following up with tech news.  I don't have that much time to read, but thanks to podcasts, I can keep up in my commute.  XBOX One, Playstation 4, Intel 4th Gen Core CPUs (Haswell), Galaxy S4/HTC One Google Editions, Glass, etc.  My YouTube channel has suffered as well.  Sorry.

I do have something to say about these rash of Google Edition phones:  It's about time!  There are lots of people who don't get it: "why do I give up all those features on Sense/Touchwiz?"  To those people: "they are not for you".  I personally love AOSP.  I specifically love CyanogenMod which takes Google's stock AOSP build and add features that does not mess with Google's original design and feel for Android (yay, Holo!).  Ever since the orignal Nexus (HTC Nexus One), there wasn't a Nexus that had high end hardware.  The Nexus 4 came close, but within 6 months, the Snapdragon Pro was replaced by the Snapdragon 600/800 series.  What's worse is that you only get a max 16 GB of storage without any way to expand it (Google is getting away from the micro SD).

For those who want a Nexus with the latest hardware, Samsung and HTC is now doing it with their flagship devices.  I bet Google had something to do it.  However it came to be, I am happy they exist.  Still, I have a few nit picks.  Of course I do.  I'm a blogger.

First, there's only one storage option (HTC One - 32 GB, Samsung Galaxy S4 - 16 GB).  If both came with 64 GB, I would go for the HTC One since it has better materials.  But now I'm leaning towards the S4 due to the micro SD.  I could also buy a carrier S4 or One and eventually flash it with the same ROM as the Google Edition's once it's leaked, but that doesn't go with the mantra "vote with your wallet".  The companies will think there's no interest in the Google Edition phones when in reality it's the hardware (and some say the price) is holding them back.

My suggestion?  Do what Sony is doing.  Sony is releasing the stock AOSP Google Android ROM and source code for their phones.  The phones still come with their custom flavor of Android out of the box, but they let you install the stock Android ROM if you choose.  This means I could buy the version of the phone I want (carrier, storage, etc) and turn it into a Google Edition myself.

End rant.

On another note, while I was very busy, I did get to leave work and my house long enough to see a few things I'd like to share.  First, there is a new Microsoft Store coming in to the Shaumburg, IL Woodfield Mall.



And then there's a new Samsung Experience section coming to most Best Buy stores.  I took this photo at a Best Buy also at Shaumburg.


And lastly for this post, some funny phots.

The first is what I'd consider the free bumper case Apple is sending to iPhone 4 customers.


And here's an interesting way to keep the floor and table clear of those annoying power bricks on an otherwise clean and wireless all-in-one desktop PC.  I like to call this The Nutsack.



The Finer Points of Backslash


The insistence of using backslash to indicate the domain in logins is the bane of our IT existence.  There are many users who put in help desk tickets for login issues simply because of the requirement of the company's domain.  Why can't the domain be forced?  Why can't the user just type their username like any other entity that requires a login?
The web-facing Microsoft products we use (Outlook Web Access and Remote Destop Web Access) even insists on "Domain\user name:".  As techies, we are used to this.  Of course, "username@domain" is also a valid login credential.  So why doesn't Microsoft use @domain as the standard login prompt for all things domain?  Instead of asking for "Domain\user name", they could simply say "username@domain:" by default, and give techs an easier way to change it to "Company Email Address:".
Of course, real domains would have something like "".  People are used to the @ sign.  They do not know much about the backslash (or \).  Here are some reasons why the backslash shouldn't be used for the general public:
  • People are used to using forward slashes, especially since they enter in URLs.
  • Most people do not even know where the backslash is on the keyboard.
Mobile devices hide the backslash key several layers deep because it isn't used often in "real life".
As techies, we're used to the backslash because we need to use it to enter login credentials with domains as well as using it for disk paths (\\server\folder\filename.txt or C:\Windows\notepad.exe).  This seems trivial to us.  However, if you have to deploy Outlook Web Access or Remote Desktop Web Access for the "normals", be prepared for a flood of help desk tickets and phone calls.
Case Study
The pain that started this rant was actually Windows Server 2008 R2's RD Web Desktop.  After many users flooded our gates with login issues (not reading the email we issued), my boss decided to fix the issue on our side.

It was actually a maddening experience for both users and IT.  RD Web Access allows you to log into the web portal with just your username (sans domain).  However, when you click on any resources (RemoteApp, Remote Desktop, etc), you get an error.  This is because RD Web Access is simply passing the username (sans domain) to RD Gateway as if you were logging in as a local user as opposed to a domain user).  I'd be happier if it gave a "username invalid" error at the very begining!

I found this Microsoft Technet thread very helpful.  However, not being a code monkey myself, it took a lot of concentration to figure out what to really do.  I eventually asked one of our web development people to hold my hands, but it worked out in the end.

Reading through, I initially edited the login.aspx file (Lionel Chen's suggestion in the thread).  This is the login screen that shows up right after you punch the URL into Internet Explorer.  And yes, it has to be Internet Explorer because it requires Active X (why, I don't know, since it justs invokes the Remote Desktop Client via a custom RDP file).  There was a way to insert the domain into the username text box.  However, the cursor defaults to the beginning of the line so if a user starts typing their username right away (from habit), it would become "usernamedomain\" all mashed up.

That won't work.  Now what?

Well, further into the thread, Ross CP's idea was to modify the javascript to add the "domain\" before the username.  This worked, but if a seasoned user already typed in their domain, you're essentially sending "domain\domain\username" or "domain\".

Further down the thread, Markus E improved the code to check for any backslashes or @ symbols in the input.  If it detects any, it would skip the code that adds "domain\" to the username.
The Bright Side
In the end, it was a painful ordeal for a simple request: force a default domain.  Why doesn't Microsoft allow us to do this without stupid hacks?

On the bright side, I learned a little Javascript.  Also, the payoff was worth it.  The result was more elegant than training all 1000 users or messing with Microsoft's insistance on "domain\" continuity.

I hope this helps someone out there.

T-Mo and Metro, Together At Last

Just as I was playing around with my T-Mobile SIM in my AT&T Galaxy S3, I received a text from none other than T-Mobile.  I thought they caught me using an unauthorized phone (scary), but in fact, they just wanted to let their customers know they have aquired MetroPCS.

Screenshot and link here:


T-Mobile 1900 MHz 3G Refarmed in Chicago!

I was testing a T-Mobile SIM on my unlocked AT&T Samsung Galaxy S3 (SGH-I747) when I noticed an H+

near the signal bars!  I did a speed test, and everything looks like true.  HSPA+ on 1900 MHz, people!  This mean iPhone users on T-Mobile will automatically see 3G speeds here!

Of course, this also means that unlocked AT&T and world phones that doesn't have HSPA+ on 1700 MHz AWS radios will now get HSPA+ speeds on T-Mobile!

Check it out!











Backing Up SMS and MMS in Android (Also Dec 31, 1969 Messages Issue SOLVED!)

I actually found out how to back up SMS and MMS (along with the multimedia attachments) by accident when trying to troubleshoot another issue.  The issue I was having was deleted MMS message threads would come back blank with a date of December 31, 1969.  Without going into details, the only way to solve this was to delete the database that housed the SMS and MMS data because it was corrupted.

Using the app History Eraser did not help, nor did clearing the app data/cache, nor cache paration and Dalvik Cache helped with the issue.  History Eraser gives you the ability to remove ALL messages (gives you a clean slate), but the problem comes back when I receive an MMS and decide to delete it.  It comes back as a blank message with the 1969 date.

Time travel jokes aside, threads from different Android forums came to a dead end.  All were dancing around the actual fix, so after reading them all, I got a better understanding of how Android stores it's SMS and MMS data.  Know this helped fixed the problem, but also gave me a better way to backup and restore my messages along with the attachments.  It's a boon to anyone who is ROM flashing addict.


Without further ado, here's where the magic goes:




In the databases folder, the file "mmssms.db" holds your SMS and MMS text messages, while the app_parts folder contain all of the MMS's attached files (photos, videos, audio, etc).

If you have the Dec 31, 1969 issue like I did, and you don't care to back up your messages, you can delete the "mmssms.db" file, as well as clear the contents out of the app_parts folder.  You can then clear your Messenger app's data and cache and reboot your phone.  You will have a clean slate.  This is because the database file was corrupted and utilities that delete messages just deletes the contents inside of the bad databse file instead of deleting the actual file itself.

After all of this, your Messenger app will recreate the missing "mmssms.db" file from scratch.


Now that you know how to fix the issue, as you can imagine, backing up the same file along with the app_parts folder will allow you to restore your message contents if you ever need to flash a new ROM or move to a different phone.


All of this requires root, of course.  You have many options to access these files, but the easiest for me is to use a root file manager such as Root Explorer to navigate to the path and copy & paste the files and folders to my external SD card.  When restoring, you may want to take note of the permissions of the original files and folders so you can set them back on the restored copies.


The funny thing is I believe the corrupted database file was caused by using an SMS backup app.  It saves your SMS and MMS in an XML file and restores the contents back into the database.  The issue may be that MMS backups are not well supported, (they contain attachments and treated like email, unlike SMS).  Unfortunately, it's still the best way to back up and restore individual messages with a surgeon's precision.  Just make sure not to backup any MMS messages!


How to Create an OS X Mountain Lion Bootable DVD


How to Disable LTE on AT&T Android Devices to Increase Battery Life

For those who have Android devices on AT&T's LTE network, you may be able to get more battery life by switching back to AT&T's HSPA+ network.  It may be a slower network, but it's fast enough.  After all, AT&T's LTE isn't much faster than HSPA+ in some areas.  What you lose in speed, you gain in battery life (another couple hours).
In my case, I was getting around 13 hours in my normal use of my Samsung Galaxy S III on LTE.  Switching to HSPA+ gave me a more reasonable 16 hours.
Of course, your mileage may vary.
You can always switch between HSPA+ and LTE on the fly.  It does take between 10 to 30 seconds to reconnect every time you switch, so it's not horrible.
Here are the steps to take:
 1) Go to Settings.
 2) Under "Wireless and Network", go to More Settings.
 3) Go to Mobile Networks.
 4) Go to Access Point Names.
 5) Hit the Menu button, then the "New APN" button.
 6) From here, enter the information below:
 Name: AT&T HSPA+
 APN: wap.cingular
 Proxy: leave blank
 Port: leave blank
 Password: CINGULAR1 (must be all CAPS)
 Server: leave blank
 MMS Proxy:
 MMS Port: 80
 MCC: 310
 MNC: 410
 APN Type: leave blank
 APN protocol: IPv4
 Bearer: leave blank
 7) Hit the menu button and then Save.
 8) Select the newly created APN (AT&T HSPA+) to switch to the new APN.
Your network indicator will show that your data is unavailable for about 10 to 30 seconds.  You will notice when the indicator comes back, it will now say 4G and not 4G LTE.
Again, you can always come back to the Access Point Names and switch back to LTE by selecting the previous APN setting (on mine, the old APN setting was called "AT&T PTA").
The name is not important.  It's the settings.  In fact, if you ever lose your LTE APN settings, add a new APN and enter these settings and save:
 Name: AT&T PTA
 APN: pta
 Proxy: leave blank
 Port: leave blank
 Username: leave blank
 Password: leave blank
 Server: leave blank
 MMS Proxy:
 MMS Port: 80
 APN Type: default,mms,supl
 APN protocol: IPv4
 Bearer: leave blank
So what's the actual speed difference?  Just like with battery life, there's too many variables.  In the same spot on my desk, I tested HSPA+ (4G) and LTE (4G LTE), and here's my results.
Of course, I've seen AT&T HSPA+ go as high as 6 Mbps down and 2 Mbps up.  On AT&T LTE, I've seen it go as high as 26 Mbps down and 8 Mbps up.  The above speed test is what I typically get at my house and at my work place.
Trust me, you don't need 26 Mbps on a mobile phone.  It's nice to have but it's nicer to have that extra battery life instead.
Of course, I've seen AT&T HSPA+ go as high as 6 Mbps down and 2 Mbps up.  On AT&T LTE, I've seen it go as high as 26 Mbps down and 8 Mbps up.  The above speed test is what I typically get at my house and at my work place.
Trust me, you don't need 26 Mbps on a mobile phone.  It's nice to have but it's nicer to have that extra battery life instead.

A Suggestion for Android Phone Makers

Listen up, Motorola, HTC, Samsung, LG, or whoever is making the next big Android smartphone.  You want to be an instant hit with both mainstream users and enthusiasts?  Become both a big hit and a cult classic?  Here's a suggestion for you: make a stock Android experience ROM available for download for your phones that you fully support.

This will work better with HTC or Samsung, who already have a huge mainstream market share.  It'll work because there are many users who are actually in love with the customized skin.  I'm talking about the HTC Sense and Samsung TouchWiz.  Come to think of it, I think HTC may benefit more since there are more fans of Sense than TouchWiz.  If that's the case, HTC should also think about going back to removable batteries and expandable storage.

I know every manufacturer of Android phones want to differentiate from every other manufacturer, which is why they make these custom skins.  I don't think it's a bad thing necesarily.  A lot of non-technical people find them a lot easier to live with.  Some even add real features missing from the stock Android experience.  However, there are those "minority" who still want a stock Android experience.

Those people will flock towards Nexus phones.  However, after the Nexus One, the other Nexus phones didn't really push the boundaries when it came to hardware.  The Nexus S came out with a single-core CPU and a 5 MP camera when phones were coming out with dual-cores and 8 MP cameras.  The Galaxy Nexus seem more like what the Nexus S should have been, but they still stuck with a 5 MP camera.  Neither of the two had expandable storage.  But, they were the only phones available with stock Android and (supposedly) frequent Google-sanctioned updates.

While the Nexus line of phones were behind, HTC and Samsung were producing excellent phones with drool-worthy specs.  Of course, you do have to give up the stock Android experience for whatever HTC or Samsung decides to put on the phone.

So my suggestion?  Why not also produce a fully-functional non-warranty breaking stock Android ROM that's downloadable for those people who want it?  It can be updated quicker, and you'll appease both the mainstream and the cult users.  It'll be an instant hit!  And the kicker?  Since you're the only company doing this, you will garner a lot of attention as well as customers.  And guess what?  If everyone else follows, you'll be a legend since you will be known as the company that started it!

To sweeten the pot, the stock Android experience ROM can be fully open source.  This means that the community can improve the OS for your hardware, making it more desirable to have.  You may have to make a deal with some hardware vendors (camera, GPS, etc) for making their closed-source drivers available to users, though.

As for proprietary technology such as Beats Audio and S Voice?  Well, you can leave those out of the stock Android experience.  After all, those who are looking for the stock Android experience don't care for such things anyways.  Since it's open source, if they want these extra features, someone in the community can create something like it to fill in those gaps.  And those who want it can support those programmers.

So who will be first?  Any takers?


If I Was in Charge of T-Mobile USA

I'm sure we all of us has fantasized being in charge of an established company.  Maybe you have an idea that could turn them around, or make them better.  My ideas seem to keep me up at night, so I decided to write them down.  Maybe someone who matters (or their competitors) will pick it up.  If so, don't forget to write me a check.

T-Mobile has always been looked at as the underdog, but they are also looked at as the favorite carrier of smartphone enthusiasts.  They are more flexible than any of the carriers here in the US, and they are the only other carrier that uses GSM.  GSM allows us to swap phones easily due to the use of the standard SIM card.  However, their use of the AWS (1700 MHz) band for UTMS and HSPA+ (3G/4G) limits their phone choice.  However, they are already changing for the better.


The Ship is Already Turning Around

I am happy to hear they are starting to refarm their 1900 MHz band that's currently being used for GSM for HSPA+.  This will allow more unlocked phones on T-Mobile's network, and will also allow the use of Apple's iPhones and iPads at full speeds.  My international model of the Samsung Galaxy S II will also work on T-Mobile, as do other global unlocked phones.  I can't wait!  If you can't make them come to you, why not come to them?

Another benefit to this move?  Areas where T-Mobile does not have 3G/4G coverage (1700/2100 MHz HSPA+), but already have EDGE (2G) and voice will now have coverage!  That's because the area is already being blanketed with service in the 1900 MHz band for EDGE.

Their primary reason to refarm their 1900 MHz band isn't to make more phones available to them (though I wished it was - they could have done this sooner!).  Instead, their motivation is to reclaim their current AWS (1700 MHz) band for a new LTE network.  That's good news!

However, I wonder if the rest of the world will deploy LTE using the same band.  LTE is a good reason to start with a clean slate - lets collaborate and make everything work!  But alas, it doesn't work that way.  Every country and region has their own way of assigning or licensing bands.  Here in the US, we have the FCC.

Still, T-Mobile USA is heading in the right direction.  Of course, I still have some ideas that I would implement if I were in charge of T-Mobile.


Be the Most Open Carrier

As stated before, T-Mobile is the choice of smartphone enthusiasts.  This is because T-Mobile as a whole is more accepting of unlocked phones.  However, almost every T-Mobile store I go to, their employees are ignorant of cell phone world that's beyond T-Mobile's sandbox.

Unofficial iPhones on T-Mobile may be the only exception, but I've seen many confused looks when I brought in the Samsung Galaxy Nexus (GSM international model) which supports the AWS band.  Also, the enthusiast customer-base is more interested in contract-free plans because they are the ones who bring in their own phones. 

T-Mobile should start training their retail stores to be more accepting and open.  If you are number 4 carrier, you should start thinking differently.  You should also start marketing yourself as such.  There's no shame in being a "dumb pipe".  In fact, it's a great selling point.

In advertising, push your contract-free plans more than your contract plans.  Make sure to let people know they can bring in any unlocked GSM phones.  Educate people on how to unlock popular locked phones.  Point them to Newegg, Expansys-USA, and Apple to purchase new unlocked phones that T-Mobile doesn't carry natively.  And of course, sell unlocked phones in retail stores.  Market them as "unlocked global phones".  Hell, make sure to point out it also works on AT&T.  If you can't get them on your service, get them with a one-time sale of a phone!

In the spirit of being open, start selling contract-free SIM cards with service at retail stores!  Those nice "online exclusive" plans such as the 100 minute voice, unlimited text, unlimited data (5GB high speed) for $30/mo - make them available in stores, too!  There's something about instant gratification.  It can be a deal maker.

T-Mobile should mirror the experience found overseas.  When I was visiting Hong Kong, I was able to walk into any 3HK store (their local carrier) and purchase a plan that made sense for my short visit and just their SIM card.  The kicker?  They even knew the APN settings for MMS and data.  Very few employees in T-Mobile and AT&T know what APN is, nor do they know how to deal with a customer who just wants a SIM card and a short-term plan.  Cater to the visitors from abroad, and cater to your US customers who think differently.


Plans that Makes Sense

Play to your strengths.  So you say your number of contract customers is down?  Why not play up your no-contract plans?  With the economy the way it is, people see value in a low-cost monthly bill that's possible due to unsubsidized phones.

They should also use Ting as an inspiration.  Ting is a Sprint MNVO that lets you choose to have voice, text, and/or data.  They let you mix and match.  Also, any unused minutes, text, or data in your chosen tier gets refunded or applied to next month's bill.

There are some people who simply do not talk on the phone much.  Heck, I don't even text all that much.  I'm a data man who occasionally uses minutes and texts.  I was doing fine with 500 minutes, 1000 text, and unlimited data - which is what I used to have with AT&T (and it still cost $85/mo - damn AT&T).

Right now, T-Mobile's offer of 100 minutes, unlimited text, and unlimited data (5GB full speed) for $30/mo works for me.  Add the $10 for unlimited mobile-to-mobile and the plan is sweetened.  But I'd still like to see the uncoupling of these services.  It allows the customer to feel like they have control over their plan and their bill.


The Upshot

While I know this was a long read, I do believe they make sense for both the consumers and the company.  It's a good way to bump up to number 3 at least.  Their competitor who can steal these ideas and bury T-Mobile would be AT&T.  AT&T is the only other GSM carrier in the US.  If they become more flexible, push out discounted no-contract plans, and offer unlocked unsubsidized phones.  Because they already have 3G/4G (HSPA+) on the "right" bands, unlocked phones from all over the world can already benefit on AT&T's network.  However, AT&T has their heads deeper in the sand than T-Mobile and won't acknowledge this.  Heck, I've had the Samsung Galaxy S II (international GSM model) on AT&T when the iPhone 5 didn't come out as people hoped for (July 2011).

So if I was in charge of AT&T, I'd do all of this.  But since I like the underdog, I'd like to see T-Mobile take the ideas instead.


T-Mobile is Faster on EDGE When Throttled on 3G/4G

Yes, I got throttled on T-Mobile, too.  I have a 5GB full speed plan, and I was pushing it the first month just to test them out.  I hit the limit only one day before the next billing cycle.  Unfortuneately, the full speed data came back around mid afternoon and not at midnight of the new billing cycle.

During that time, i found out that if you turn off 3G/4G (HSPA+) on your phone to drop down to EDGE, you actually get faster speeds!  Here's my demonstratin of EDGE actually being faster than 3G/4G (HSPA+) when throttled.



Why T-Mobile $30 - Monthly 4G 100 Minutes, Unlimited Data & Text Makes Sense

I recently changed carriers due to AT&T throttling me at 2 GB ($30 unlimited plan), even though the same price can get me 3 GB of data. That didn't make sense to me, and seems like this is how AT&T is trying to snuff out their remaining grandfathered customers.

Instead of going with a limited data plan, I jumped ship and gone T-Mobile. They have prepaid plans called Monthly 4G. There is one plan that is very interesting for people who don't talk all that much but instead rely on data and text. I'm talking about the $30 plan that only have 100 minutes but gives you unlimited data (5 GB high speed) and text.

If you rely on nights and weekends, this isn't for you. However if you make calls mostly in the day, the math makes sense. You get charged $0.10 a minute beyond the allotted 100 minutes. So if you add the usual $40 for voice (what AT&T and T-Mobile charges for 500 minutes usually) into the bucket, you get an additional 400 minutes. With the 100 minutes you already get, you're Even Steven with the other plans - same price, same minutes (again, with the disadvantage of no free nights and weekends).

And like with AT&T, your unused minutes "roll over". Well, actually, because it's prepaid, what you didn't use for the month stays in the bucket in dollar amounts.

Because of this, even if you talk more than the 100 minutes, you might still end up saving more than the T-Mobile $70 plan that has 500 minutes.

The only time this $30 plan will cost more than the $70 plan is if you talk more than 500 minutes a month. And remember, this plan doesn't have free nights and weekends.

For me it works. Even including day, nights, and weekend minutes, I don't ever go over 500 minutes. I'm usually just under 400 minutes. If I cut it down by using VoIP (such as Google Voice via GrooVe IP), I save even more. Now that I have more data, VoIP is a choice I can easily make.

Just a word of warning though: VoIP (at least with Google Voice via GrooVe IP) doesn't work consistently on the 3G network. Even when both up and down throughput is fast, some people say I am coming through crackling. Sometimes I am clear but a few seconds delayed, making conversations awkward. Sometimes I can hear them, but they can't hear me. An vice versa. Of course sometimes it works great.

Even on WIFI, it can get bad, but the experience is better and more consistent than 3G. Strangely, it can work as well as 3G when you're throttled (tested it on my throttled AT&T SIM card) which is to say hit or miss.

So this plan is essentially a data and text plan for $30. It is a very compelling plan for a niche demographics, but I'm glad it exists.

Thank you, T-Mobile. Good bye, AT&T.



AT&T Throttles at 2.2 GB for $30, Less than 3 GB $30 Plan

So earlier this week (Janurary 21, 2012), I was warned about aproaching the top 5% of data users when I was only at the 1.5 GB mark.  And today (Janurary 25, 2012), I recieved another text informing me that I am now in the top 5% of users, which means I am throttled to EDGE speeds.

I checked the usage on their myAT&T app and online and confirmed that I have only used 2.26 GB this month.

Remember that I am grandfathered into the Unlimited Data plan for $30/month.  I am paying more than the current $25/month which only gives you 2 GB of data.  So that extra $5/month only gives me 200 MB extra?

Consider this: AT&T just recently changed their data plans again.  This time, it's $30/month for 3 GB of data.  So I'm paying the same price but getting screwed out of 800 MB?  How does this even make sense?

This "top 5%" is BS, and is a cop out.  In practice, it lets AT&T throttle at any point they choose.  Even if they go by the book, the chilling effect will cause the throttle point to lower using this method of throttling.  Customers will be more afraid to use data, and thus the "top 5% of data users" will lower the throttle point further.  It's an evil plan that works in AT&T's favor.

1) People will relent and get rid of their Unlimited Plan for a tiered plan, which fulfill AT&T's wish to get rid of this plan.  This is much like Sprint and $30 SERO when they didn't allow newer smartphones into the plan.  Most customers dropped SERO for other carriers (I left for AT&T and the iPhone).  However, they changed their tune when they realized people weren't dropping SERO for another Sprint plan, they were simply leaving (at the time, Sprint didn't have any compelling phones - Palm Pre was their only baby, and the EVO was barely a blip on the map).  Sprint decided to give the option to pay an extra $10 for newer 3G smartphones, or an extra $20 for a WIMAX (4G) smartphone.  Even though you had to pay, they made sure it was a comparable deal, which it was - $50/month for 500 minutes, unlimited text and data.

2) People will just leave, but will be dinged for early termination fees.  I tried to cite breach of terms and conditions, but they said we had ample warning since it was announced on August 2011.  However, they said "top 5%", so who knew it was going to be this low?  Even so, they said it wouldn't be considered a breach because the fine print even says that AT&T can change the terms without prior consent (or something like that).

So AT&T wins either way.  They get your money if you leave or stay.  It's BS all around, but in the end, even if you pay the termination fee to ditch AT&T, they ultimately lose out.  They will not get a reoccuring payment.  They have no incentive to let you leave without a termination fee if you're still under contract.

To AT&T, I say good-bye.  It's been fun (and frustrating at times) while it lasted.


Update: I found a few threads on the internet with people who also have the same experience.



Galaxy Nexus "Slow" Proximity Sensor

There are some people who complain of the Galaxy Nexus's slow responding proximity sensor.  I've experienced the same thing.  It doesn't matter if you have the CDMA or the GSM model.

The problem is when you hold it up to your ear, the screen is still on for about a second.  This causes your face or ear to dial a few numbers before the screen finally turns off.  This causes confusion for people on the other line, or cause havoc on automated systems.

However, I found out this wasn't a hardware issue.  In fact, it's by design, and it can be remedied in software.  I found this out when I used a 3rd party app called GrooVe IP, which is a dialer for Google Voice.  It lets you make calls using your Goolge Voice number via the internet (WIFI or 3G).  As a dialer, it also turns off the screen when you hold the phone up to your ear.

I noticed I didn't have any of the ear-dialing problems.  So to test, I placed the phone on a flat surface, dialed, and put my hand over the proximity sensor.  To my surprise, when using the stock dialer, the screen did not turn off.  I knew it did, because when I pulled away from my ear, I saw a black screen turning back on.  As a hunch, I placed the phone in a vertical position and covered the proximity sensory again.  This time, the screen turned off!

What I found out was the stock dialer needed two requirements before it shuts off the screen.  First, the phone needs to be in a vertical position (using your acelerometer sensor), then proximity sensor needs to sense your ear or face.  The order is important because if you place your hand over the proximity sensor first (the screen does not turn off), then put it in a verticial position, the screen will not turn off.

To prove this is a software and not a hardware issue, I used GrooVe IP and dialed a number.  Even on a flat surface, as soon as my had goes near the proximity sensor, the screen turns off right away.

So it isn't an issue of a slow responding proximity sensor (a hardware issue).  It's an overly complicated design that resulted in this behavior.  I guess it was designed this way so that the screen stays on if you accidentally covered the sensor with your hand while holding it, but that rarely happens.  Even the iPhone does not do this.

I hope Google fixes this in the next update.  We haven't recieved the Android 4.0.3 update yet.  I hope the fix is in the works.  However, there aren't a large number of complaints, so it may affect a small amount of people.  This might mean that word hasn't reached the Googleplex yet.

Hopefully this changes it.  Of course, who reads this dinky little blog?