In truth, I actually don't have a bad sense of direction. I have a bad sense of timing. I usually know exactly where I am going and how to get there, but I often don't realize where I am in time to make the right turns.
Fortunately, one thing I am not going to do in Beijing is drive. I'm not particularly worried about the drivers in Beijing, though. I spent many years driving in Boston on a daily basis, so the belligerence, recklessness, carelessness and stupidity of other drivers is something I've grown expect. Rather, I refuse to drive in Beijing because cars are rolling legal time-bombs. Almost every aspect of a normal automotive experience is intimately tangled with litigation, prosecution and/or the potentiality of litigation and prosecution. Automobiles are pretty much the only means by which a normal person can accidentally break the law. It's practically inevitable, in fact.
So, I'm sure as hell not going to risk driving a car in a country that doesn't have an independent judiciary. I don't care how careful or how reckless the drivers are. It's much more likely that you will make a mistake leading to an accident than for someone else to randomly hit you, especially over a short period of time. So, if I wind up in court, I'd prefer it weren't a kangaroo court.
Anyway, the GPS unit is a Garmin nüvi 660. Evidently Costco had a fantastic deal, because when he offered to buy me a GPS system, I suggested something much less extravagant.
The device is actually quite friendly for Linux users. When plugged into a USB port, the device simply shows up as a (rather large) mass storage device. The "interface" consists of a bunch of folders into which you may put stuff (e.g., MP3s, audio books, images, et cetera). If you wish to upgrade the firmware, you just plop the firmware file into the right directory and reboot the device. It also works as a standard Bluetooth hands-free unit, and has a very, very good speaker phone. So, if you have taken the trouble of making Bluetooth hands-free units work on Linux, then the nüvi 660 will work fine.
Garmin also helpfully placed the manuals on the device as searchable PDF files. It's a good idea; if you have the device, you have the manuals too. I think this is probably the future of technical documentation and bundled software. Why not just integrate a flash drive into the device? The cost of a 128 MB of flash and a USB interface could barely be more than the cost of printing and distributing manuals and CDROMS (never mind the extra cost of technical support for when those items are lost).
The only downside of the nüvi 660 is that there doesn't seem to be a way of pulling real-time GPS data off of it. When you connect by Bluetooth, it will always show up as an audio device. When you connect by USB, it always shows up as a mass storage device. There doesn't seem to be a way of telling it to be a serial GPS. I may be incorrect on this point, but I have not yet found an option that would make this possible. It is already a pretty sophisticated device,though. I don't see why Garmin couldn't add that functionality in a firmware release...