Saturday, November 3, 2012

Why You Should Stay Away From SimpleMobile


I have switched to SimpleMobile, and wanted to share some thoughts, why I would have never done it, if I knew what I know now. I hope that this post will display to the community, what a bunch of stupid a-holes this SimpleMobile folks are, and hopefully prevent a few customers from making uninformed decision, that they would later on regret.

First, how I got sold on it. I used to be on PagePlus Talk n Text 1200 plan, which I consider is a great value for $30/month. The only problem I had with it was too little data. I often use my phone for all kinds of stuff, and I found it hard to stay within allocated 100 MB. One time I was attending an event, and there was no wifi. The fact that I had to save data was unsettling, and I decided it is time to shop for something else.

SimpleMobile with its $40 unlimited everything plan came in beautifully. Not only I could be doing all I was doing previously, but also listen to Pandora and even YouTube.

A month later I figured I should probably go even up a tier and for $10 more get a 4G plan.

What happened next

One day, at the end of billing month I started noticing that YouTube is lagging. At first, I discounted it to bad reception and/or being in a crowded space, where a lot of other handsets are competing for the bandwidth, but then I decided to measure the speed. To my great surprise, I saw download speeds matching exactly the times I have been on 3G:

Notice the graph in the lower left corner, it is flat. That's a pretty strong indication that bandwidth is throttled. In the natural situation you will never get such consistent bandwidth. Needless to say, I was unhappy. I called customer service and complained that my speed is throttled. A guy replied that no, it isn't, I am getting all I'm paying for, and 4G speeds are only available if I use blackberry anyway. He said, if you use phone as a wifi hotspot and "use Internet properly", they will not throttle. When I asked him to define what "properly" means, he couldn't tell, but indicated there is no warnings and such on my account, so I should be good.

I couldn't argue with such convincing arguments and decided to try measuring the speed later, and got the same 240 kbps speeds with same flat bandwidth graph, so I decided to write an email to support, hoping it would reach somebody who actually knows what he's talking about. Here's what I wrote:


My phone number is ***-***-****. I have switched to 4G plan 2 months ago, and was able to experience 4G speeds on my phone, which is: samsung galaxy S 4g.

I have a history of speed measurements in front of me and here are download speeds:

9/04/12: 2681 kbps
9/13/12: 1982 kbps
9/13/12: 1597 kbps
9/23/12: 2438 kbps
10/19/12: 3789 kbps

lately, I started getting EXACTLY 230-240 kbps, on every measurement. This is exactly the speed, that I was getting on 3G plan, before I switched to 4G.

Please, see the screenshot attached. Please see the graph for network speed. The top of it is completely flat. That tells me that the speed limit is not caused by a natural radio interference, which is always variable, but that it is rather limited artificially by you. Also, I do recognize the flat top pattern, which is consistent with the one I saw when I was on 3G plan.

I have contacted technical support. The support person made no sense to me. He stated that 4G speeds could only be achieved on blackberry. This is plain false. I could demonstrate you that I have been getting 4G speeds previously, and then they were turned off. Tech support person assured me that you have no policy of limiting speed to 3G after certain data transfer threshold was reached, which was a basis for my decision to switch to 4G plan. If you indeed have that policy behind the scenes, then it is fraudulent for you to advertise otherwise.

I am requesting thorough investigation, based on what my speed was limited, and I also request that you train support personnel to resolve such issues in meaningful manner, instead of providing obviously false information to customers, like we are stupid. If there are thresholds after which you are switching speeds to 3G, I request that you make that information public
I was surprised to get a call-back from a tech support a couple of hours later. He asked me what exactly is my phone, and what frequencies it supports. I googled "Samsung Galaxy 4G" for him and read all I could find. He was not happy with what I told him and said, that in order to get 4G speeds the phone must support "4G on 1700MHz", and that he is not convinced that my phone does support it. The fact that it is a T-Mobile 4G phone did not convince him either. So I played my joker. I said: "I have been able to get higher throughput on that phone on multiple occasions in the past, does that mean anything to you?". His answer was: "At first it was able to get 4G speeds because handsdet didn't KNOW it does not support 4G. But then SIM card recognized that phone is not 4G capable and slowed down to 3G speeds. We are having exactly same issues with iPhones". I felt like I am talking to deranged person, so I asked him to leave me a notice in email, so that I could do more research on it. Here's his note:
Thank you for your interest Simple Mobile. We are responding to your recent inquiry.
We were able to speak with you on October 28, 2012 (9:25 PM EST) at ***-***-****. You were informed that the reason that your data speed runs only with 3G is because your phone is not a supported handset for 4G speeds.
We understand that you were able to use the 4G speed these past few months. You were informed that this case is similar with our iPhone users. During activation, the network does not know the phone model the SIM card is inserted into. The network sends data throughput through multiple frequencies in order to determine the frequency the handset is running into. Once the network realizes that the handset does not work with 1700 MHz bands, it sends the appropriate data speed which is 2G.
It made no sense to me, but I asked for an advice anyway. In conjunction with this thread, it all started to make sense now. The plans were never unlimited. According to the data I got from Internet, both minutes and data are capped, and SimpleMobile would start throttling you once you reach data cap at 2 GB. What is even more preposterous, is that they will turn data off completely when you reach 2.5 GB. I could not find a reliable information on what the minute cap is. Looking at my usage, it is pretty plausible that the issues I started seeing happened right after I exceeded a 2000 threshold:

A few days later...

New billing cycle, and sure as hell, the 4G speeds came back:

I contacted support one more time, pointing out, that they lied to me, two times. After a few emails back and forth, they explained me, that apparently I have been told about the caps all along, because I accepted Terms and Conditions, which says:
It states in the Terms and Conditions, Section 25, Paragraph 2, “To provide a good experience for the majority of our customers and minimize capacity issues and degradation in network performance; we may take measures including temporarily reducing data throughput for a subset of customers who use a disproportionate amount of bandwidth.”
No admission on what the limits are. So, not only there is a cap, but they will not even tell you, how much is too much. So, you could be capped at any time, as they please. Very convenient for SimpleMobile, not so much for their customers.

Sue their ass?

That's the first thing that comes into my head. And I am not somebody who believes in judicial system at all. I'm just a pissed off person. Look at their web site front page:

No limits. I went through the whole web site and found not even a slight mentioning that limits apply. And it's not even about the limits. Indication is that they would actually disconnect data completely and you could get a surprise of being stuck without data when you need it most

And it's not all. Two calls with tech support. Both times I was given the most outrageous lies, that don't even make sense. I was treated like an idiot, that's what is most insulting in the whole story.

So, I look at the terms and conditions of service, and figure out that they came well prepared for pissed off customers. Here's what I am reading:

  • If a claim proceeds in court rather than through arbitration, WE EACH WAIVE ANY RIGHT TO A JURY TRIAL. 

That pretty much precludes any customer of their to sue them for damages, as well as doing what is absolutely appropriate in this situation: class action lawsuit. Again, I repeat myself: as a damaged party, I do not expect to get a material satisfaction from this, courts can not provide this. I would be, however, satisfied if SimpleMobile comes clean on their caps, stops making claims that the service they provide is "unlimited talk, text and 4g high speed web", and prohibits their support personnel from making outrageous false statements. The latter irritates the heck out of me.


So if you are not convinced that SimpleMobile should be avoided, consider this: 2 GB data cap is not a lot of data. $40 or $50 a month for 2 GB is not such a good deal, especially when insulting your intelligence is added as a free bonus

There may also be a cap on the minutes and text, we do not know how high, but the problem here that it will be a surprise disconnect, they don't tell you how much is too much. If you got the phone plan for your teenager kid, hoping that he would be able to always call you, no matter how many minutes does (s)he spend, (s)he might not.

As an alternative, you might want to look at the following plans:

* T-Mobile Unlimited Web & Text with 100 Minutes Talk. First 5GB at up to 4G speeds.
* PagePlus Cellular The 55 plan. 2 GB of data.
* VirginMobile offers Beyond Talk plans for $35 and $45.
* Ting offers plan with variable spending, where you only pay for what you use.
* Republic Wireless offers $20/month unlimited everything plan, however phone selection is limited and you must use wifi when you are at home, which sounds like as fair deal.

I do not personally endorse any above-mentioned plans, and always do your research before ordering. If you skip on research, you might get a case of buyers remorse.

Like I did.

Saturday, July 28, 2012

Know Where To Sell Thy Bitcoin

Those of you, who are looking to trade reasonably sized amount of bitcoins, most probably are familiar with this issue: the market ticker does not provide enough information to make decision what price should you be calling. For example, look at this market graph:

Market Depth Snapshot @BitFloor

The ticker shows bid at $8.62, but what if you need to sell 50BTC? You can't at this price. The bid size is only 2 bitcoins, so you will need to keep eating bids at lower price before you could actually sell. You will end up getting price down to $8.50 before you complete the trade.

This makes it important to know the market depth. Unfortunately, not all markets have depth data easily accessible. Many would only provide the raw order book data. In order to address this issue, I wrote a Bitcoin Market Info tool. It's not one of those complex android applications that take your breath away, but what do you want, it's free.

Bitcoin Market Info tool QR code

Download and enjoy real-time data on your market depth. Everybody's feedback is mostly appreciated.

Saturday, July 7, 2012

Upgrade CPU on Lenovo Y410, enable virtualization

My laptop has been working satisfactory for me so far, especially after SSD upgrade, however the fact that it was running a T5200 Core Duo CPU with no hardware virtualization was preventing me from taking advantage of some useful features, such as: building gitian packages.

Solution was easy and cost me $10: buy a used T7250 on e-bay and plug it in. Not only it supports virtualization, but it is also noticeably faster.

Replacement takes 5 minutes

It is really worth noting here, how inexpensive developer-grade hardware could be these days.

There were reports of more powerful upgrades possible for that laptop (T8000 and T9000 series). Nevertheless, the T7250 seems like an excellent value for money to me. You get faster laptop and virtualization support for ten bucks - that's unbeatable.

Tuesday, July 3, 2012

How I Fixed AMD Vision Engine Control Center

My AMD Vision Engine Control Center (formerly Catalyst Control Center) was not loading. I even wrote a lengthy rant about it on

I tried it all. I went through all the forums, and if I had a penny for every time I saw somebody swearing AMD for being unable to write working software, I would retire.

I even called AMD support desk and followed their instructions for an hour, going from one level to another. The advices they gave me were so beaten up and standard that it's not even funny: upgrade to the latest version. And if latest didn't fix, update to the latest beta. It seems like a mantra with AMD: we didn't fix anything, but upgrade to the latest anyway, who know, maybe God will see how much we trying here and help us.

I am uncertain what exactly did fix it, but since I was seriously contemplating some major time consuming crap, that nobody likes doing, here's what I did, that ended up fixing the problem. I did several things, then rebooted, so which one exactly did the trick, I don't know.

  1. Stop WMI service and remove C:\Windows\System32\wbem\repository
  2. Delete C:\Windows\Prefetch folder
  3. In registry, create following string value in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework:
  4. Remove ICSharpCode.SharpZipLib from assembly cache

    ... And the last step:
  5. Reboot.

That is what worked for me. Which exactly of the items did help, I don't know, but if someone will be able to fix the goddamn ATI control center, my time typing all of this stuff is not wasted.

Friday, June 1, 2012

Luna Blanca, Mexico location

DISCLAIMER: I am not affiliated with anyone mentioned in this blog post. I'm yet to go on my vacation, so my directions could easily be wrong. Use on your own risk, and make sure you do your own research

I am not certain why, but it seems that there is a problem locating our hotel in Puerto Penasco. Hotel name is Luna Blanca, and it took me hours to get an idea how to get there. It's not on Google maps, and there is no address mentioned on their website, neither it is on any other sites which are reselling and renting out. This is really weird, considering that the last thing you would want as a realtor, is for your client to get lost in Mexico.

They gave us following directions, but I sort of found them cumbersome. They give me no idea whatsoever where on the map is this resort located.

At the end, I even started becoming worried, if we would make it there. it would certainly suck to get stuck in foreign country, 250 miles from home.

I think, I finally got it. So, for those of you who are as lost as I am, here are some pointers:

GPS coordinates: 31.254212, -113.298880

How to get there

As you see, it's not on Sandy beach hotel/resort cluster. Hope we get there fine and have a great vacation!

UPDATE: Apparently, if I dug enough at their website and payed attention, I could have found this map, which also gives pretty good idea where to go.

Thursday, May 10, 2012

I Ain't Thanking Nobody

This goes ridiculous.

You run a piece of software, and it wants you to "help us improve", which is a euphemism for "we are going to track what you are doing". Free software and they want you to contribute in another way? Hell no! This thing in not only paid for, but also fairly expensive. Outrageous? Wait, it gets better!

"No, thank you"? Why would I thank someone for an attempt to invade my privacy? If you are trying to sneak your spyware onto my PC, then I caught you red-handed. So, in order to avoid being tracked I must now THANK you?

If you'd rather not participate, simply click "No, thank you" below.

I see privacy as my right. I don't need to thank anyone for leaving me alone. So, if you are looking to "offer" me your spyware, don't put this "No, thank you" buttons, it's like adding insult to injury. I'd much better prefer "No, F*CK you" button, it will at least honestly reflect what I feel about your programs

Sunday, April 22, 2012

Migrate Encrypted OS to Another SSD Drive using VirtualBox

Finally, I got resolution on my encrypted drive migration problem using VirtualBox, and the best part is: it's done using only free, open source applications. In a nutshell, the steps are:

  1. Import system to a virtual machine by cloning it
  2. Decrypt virtual drive
  3. Extend virtual drive
  4. Copy virtual drive to a new physical SSD

WARNING: this is what I did, it worked for me, it might not work for you. If you blow your drive, or ANYTHING else negative happens, including, but not limited to rain, hail, earthquakes, FBI, do not come blaming me, I have nothing to do with it, all is completely your own responsibility.

Now that we are done with indemnification, here is what I did:

Make a raw copy of encrypted disk

I have temporarily created NTFS file system on a new disk, so that I could copy a raw image of encrypted disk into it.

I used Live CD to boot into Ubuntu and make a raw image of encrypted system disk. You could use disk utility to see which disk is mounted on what device. My encrypted disk has loaded as sda and target SSD loaded as sdc. I mounted NTFS partition , and created a raw copy of encrypted disk, by going into the terminal and executing following command:

# mount /dev/sdc1 /mnt
# dd bs=8M if=/dev/sda of=/mnt/original-disk.img 

Time used: ~1 hour.

Import drive into VirtualBox

I already had VirtualBox installed. Now I need to import a drive. Use following command to convert raw disk into a virtualbox disk:

> vboxmanage convertfromraw m:\original-disk.raw D:\Files\VM\Migrate\original.vmdk 

IMPORTANT!!! I will later on decrypt OS on this virtual disk, so it's important that drive D: is encrypted. Alternatively, if you don't have a second encrypted disk, you can just shred this file instead of delete, and/or clear the empty space. Needless to say, do not use non-encrypted SSD for this purpose.

Once this is over, I created a virtual machine and attached a system disk to it. I gave it maximum amount of processors and plenty of RAM, since it will be using CPUs to decrypt the system. Here's how it looks like:

It took me a lot of effort to ensure, that when I boot this image, I do not see this:

STOP 0x0000007B happens because by running OS in virtual environment, we are using different disk controller, than originally was on the system. Windows will crap out when there are no drivers pre-configured for new disk controller. This is very annoying, especially since it is perfectly capable of locating the drivers or using generic one, but it is what it is. I tried quite a few combinations, until I finally booted using this:

Time used: ~1 hour for conversion, many hours to figure out controller snafu.

Boot and Decrypt Source Disk

Now that my virtual machine is bootable, I could log on and decrypt the system drive. This operation will not expose sensitive data, since virtual disk image is located on encrypted drive.

As you see, takes awhile to decrypt. Unfortunately, VirtualBox is not too speedy. Good thing, you could use your computer while doing it. Lower down priority of virtualbox process, that would make computer more snappy.

Prepare a Copy of Target Disk

Open up target drive properties in Device Manager, and note how many megabytes exactly is on your target disk (Capacity):

I went to VirtualBox and created target disk with exactly that size:

Move Installation to New Drive Image

I added the new drive, this time using SATA controller, just so that Windows installs drivers for it, and verified that computer starts. I also added CDROM, so that I could start Ubuntu to copy drive.

I started the OS to make sure the drivers get installed. While working on that task, it becomes very clear how much of a speed boost was system on SSD.

Now I boot Ubuntu and copy disk to the new drive image. I am not moving it to SSD yet, because the image still needs to be encrypted

Then I reboot, and use gparted to expand the target disk:

Time to complete: a little over an hour.

Encrypt Target Drive

I am back to putting drive on IDE controller, somehow I'm getting BSOD otherwise

After chkdsk cycle, the OS will start, and I am going to encrypt it, business as usual, except it takes quite a bit of time:


Convert VDI to raw bytes

Theoretically, it is possible to mount a physical disk directly on virtual machine, however I had problems writing to it after that. It is also (theoretically) possible to clone VDI to \\.\PhysicalDriveX using VBoxManage, but that also didn't work well for me.

So I took a longer, but safer route - make a raw image of a target drive, then copy it in Ubuntu. For that, I used a spare drive. Since the image is already encrypted, I don't need another layer of encryption on the drive.

> VBoxManage clonehd D:\Files\VM\Migrate\Migrate.vdi I:\target.raw --format RAW

Copy Drive Image to SSD

For this task, I physically connected the target drive and the one that has an image, and booted my physical box Ubuntu.

unmount SSD (Ubuntu mounted all volumes automatically), and dd image to a device:

# umount /dev/sda1
# dd bs=8M if=target.raw of=/dev/sda

Time to complete: less than 1 hour. That did it, and now my new SSD is bootable.

Some observations

There is probably an easier way to migrate the data. One way is to grab image of system drive using disk2vhd utility, which will allow to skip decryption step. Comment with experiences and happy migrations!

Thursday, April 19, 2012

Failed Migrations

In my attempts to migrate encrypted drive, I tried so far following methodologies, unsuccessfully:

Failed: Clone using Acronis

Pre-install OS on a target disk. Encrypt OS. Boot original disk, and mount target disk using truecrypt. Perform Acronis image migration.

Result: fail because Acronis does not see TrueCrypt-mapped target disk as a valid device, so won't migrate to it.

Failed: Try cloning via Ubuntu:

- Boot Ubuntu.
- Copy sector-by-sector source to target (really, all I care at this time is MBR and partition table).
- delete system partition on target and recreate it in order to resize. Truecrypt will still accept that partition.
- Install TrueCrypt. Mount both drives to /dev/mapper/truecrypt1 and 2.
- Use ntfsclone to clone from 1 to 2.
- Use ntfsresize to make ntfs partition fill the space

Result: NTFS looks fine, disk looks fine. chkdsk finds no problems. Boot prompts for all the right stuff. System won't boot.

I think the reason why I'm failing is that TrueCrypt pre-boot code still thinks, that the drive is smaller than it actually is. If this is the case, a hybrid approach of 1) and 2) might work:

- Partition target disk to match source disk scheme
- Install OS to target, encrypt it.
- Boot Ubuntu, mount both source and target partitions.
- Clone NTFS using ntfsclone, and then resize using ntfsresize.

Sunday, April 15, 2012

How To Migrate Encrypted Drive


I recently got a new 240Gb SSD to replace my older one. The old one was encrypted by a TrueCrypt, which makes it harder to make a clean migration.

The usual advice you will get when migrating to a new hard drive is to decrypt the data on the old one, migrate, then re-encrypt the new one. It could have been a good advice, except there is no way to guarantee that all the existing data was overwritten:
The security risk associated with SSDs is that sensitive data cannot be reliably erased due to the delayed erasure of deleted blocks and the operation of the SSD wear-leveling mechanism. The solution is to encrypt the SSD as soon as you take possession of it and before you write any sensitive data to it in plaintext. 
Thus, it's not a system encryption issue or a TrueCrypt issue. The issue is that you can't reliably sanitize an SSD. If you've already written sensitive data to an SSD as plaintext then it's too late for you to achieve 100% data privacy. 
Why is it important? The data, that could be left on the drive could contain, among other sensitive data, portions of swap file, which contains raw memory dump with all the keys and passwords in non-encrypted form. With SSD wear-leveling mechanism, you could pretty much guarantee, that sectors of swap file would be all over the place. Therefore, it is crucial, that the drive is encrypted before migration.


Here's what I'm planning to do here. In order to successfully boot with SSD, you must have a) properly set up mater boot record; b) correct copy of a drive.

Here is the process I will follow:
  1. Replace an existing disk with a new one
  2. Install operating system from scratch, ensure it has no page file.
  3. Convert system partition to TrueCrypt
  4. Put back an old drive, and boot from it. Have a new drive attached.
  5. Mount both drives. Using Acronis, make a sector-by-sector copy.
Stay tuned, I will make another post once I get a drive.