-
Why is currency programming so hard?
One of the most requested ReceiptWallet features was to be able to handle receipts in multiple currencies. OK, simple enough I thought as I could just treat all values as strings so that they have a currency symbol in them. The problem was that I had to verify that the currency symbol was valid and format the value so it is appropriate to that currency, for example, the Japanese Yen doesn't have decimals in the number. My first pass that this was pretty decent, handled dollars, Euros, Yen and a bunch of other currencies. Turns out this wasn't a complete implementation. In order to build my list of currencies, I used what are called locales on Mac OS X to get the currency associated with a locale. Problem is that some currencies aren't associated with a locale, such as Swiss Francs (I have no idea why). So I had to find a way to get a list of currencies and do some formatting magic. I think that I managed to do this, but I just don't understand why it was so hard. Is it inconceivable that people would want to use multiple currencies on one machine? If it was easy, everyone would have this type of code in their programs!
-
Support didn't treat me like an idiot
I noticed that my internet connection was slow, so I rebooted my cable modem and the modem didn't come back online, so I called Time Warner Cable Business Class (I have a business account). The guy I spoke with didn't have me do all the stupid stuff like reboot my computer, turn around 3 times, blame the computer, etc. He tested the cable modem and found (after it came back online) that there was high packet loss ( > 60%). While the problem hasn't been resolved, I'm confident that it will be soon. Time Warner has always been pretty responsive, especially on a business account; one time they wanted to come out a few hours after I called to replace the cable modem (I was actually out of town), but then called me back a few times to give me status and the problem ended up being something they could solve on the headend.
-
The joys of syncing
For over 4 years now, I've actively been doing development in the sync arena trying to get devices to talk together (I actually did some synchronization stuff in college so my history with sync goes back a bit). This is an area that is under appreciated and people seem to only say things when it doesn't work. Syncing is hard; there are no right ways to sync, just wrong ways. No 2 devices or machines match up there data exactly, so choices have to be made to get things to sync. We do our best, but don't always succeed. My recent experience with syncing has nothing to do with the software I write as I don't use it; I don't use it because I don't like it, I don't use it because I don't use the devices we sync. 2 weeks ago, I bought a Motorola RAZR to replace my Samsung A900 with the idea that I could sync it, or at least sync the contacts. Without much difficulty, I was able to sync the contacts. The calendar was another story, it seemed to die depending on what I was syncing; I suspect it had to do with detached events or some kind of repeating events. So I gave up on the calendars, but was still pleased with the contacts. That was until last week when I started noticing that I was missing email addresses for people. It appears that one of my syncs eat secondary email addresses for people. I think I've rebuilt most of my contacts and it doesn't appear to be happening more. While I was a little annoyed at the iSync team/Sync Services team initially, having worked on sync, I know how hard it is to prevent problems. Probably some minor bug that caused the first sync to nuke the entries. Oh well, at least it wasn't the stuff I wrote that ate my data.
-
Charging a Motorola RAZR over USB
The Motorola RAZR has a mini USB plug on it for charging and hooking to a computer which is great as I have lots of those cables lying around. Unfortunately it won't charge over USB from a Mac out of the box. Luckily, I know some tricks and someone told me the magic to get it to charge. I whipped up a little program that tells the RAZR (or any other Motorola cell phone) to charge over USB. My app is free to download. If you like it, please take a look at my ReceiptWallet program and consider purchasing it. The app is pretty simple; place it in your applications folder, launch it and set it as a login item. Whenever you plug in your phone, it should start charging. If your machine goes to sleep, it will stop charging. (For those curious, all the program does is open and close the USB interface on the phone.)