I like Ruby, but I don’t like its per­for­mance, so I’m really antic­i­pat­ing Ruby 2.0. Mean­while, I’ve been dab­bling in Python. Learn­ing a new lan­guage and com­par­ing and con­trast­ing them, really helps with deter­min­ing each language’s strengths and weak­nesses. For exam­ple, you can eas­ily update all your Ruby gems. Unfor­tu­nately, python doesn’t have a direct way of doing this using easy_install. Very odd. I tried using the shell script method, but for what­ever rea­son it just didn’t work as adver­tised. So I wrote a bash alias to take care of it.

Read the rest of this entry »

Jan­u­ary, last year, I had thought per­haps my switch to Apple would begin with the first rev iPhone. By the time the iPhone debuted it didn’t pro­vide a good enough value propo­si­tion for me then. Fast-forward to July 12th, and you would have found me stand­ing in line to buy an iPhone 3G.

Read the rest of this entry »

Are you really sav­ing any money? Not really.

2-year con­tract iPhone (8GB) iPhone 3G (8GB)
Phone $400 $200
Voice $960 $960
Data $480 $720
Total $1840 $1880

Read the rest of this entry »

MyGoogleCal2 no longer works 100% in Inter­net Explorer. A run­time error occurs when nav­i­gat­ing month-to-month or when switch­ing to Agenda mode. The workaround is to sim­ply hide the nav­i­ga­tion inter­face. Now, I don’t know if this bug was intro­duced when Google updated the code last month, or if it’s always been there and I just never noticed. In any case, the run­time error occurs when //"+a.host+"/calendar is replaced by //www.google.com/calendar. Given the poor debug­ging avail­able in IE, I didn’t get very far with fig­ur­ing out why IE breaks. I sus­pect that when IE makes an Xml­HttpRe­quest, it’s dou­ble check­ing that the request URL matches up with the server host, or some­thing to that effect. Since Google obfus­cates the Javascript code, it’s just way too hard to try and fix it. Instead, I’ve opted to cre­ate a new ver­sion of MyGoogle­Cal that uses the orig­i­nal tech­nique for IE but uses the tech­nique from MyGoogleCal2 for all other browsers.

Read the rest of this entry »