Settop Boxes: It’s Not Just Computer UIs that Suck

Monday, February 27th, 2006

I recently succeeded in switching back to Cablevision after a few years with DirecTV (and it only took three appointments!). Thus I find myself learning a new interface for something that is supposed to be a TV, and it’s clear that cable folks have no more clue about human interface design than most PC software companies do.

[error] Image Fetcher 0: Uncaught error fetching image:

Friday, February 24th, 2006

I’m doing a little hacking on jEdit in preparation for my next article, as well as an upcoming talk at Software Development 2006. After mutliple failed attempts, I finally figure out how to check out the main code base from CVS into Eclipse with assistance from Rick Stabile.

The next step is to run the main() method. The application starts but no window pops up, and this error message is printed on the console:

[error] Image Fetcher 0: Uncaught error fetching image:

Sun loses a sale

Wednesday, February 22nd, 2006


You almost had me sold since I’m shopping for a new server anyway, but

Google Maps Tip 1: Experimenting with Local Files

Sunday, February 19th, 2006

As you probably know using Google maps on a web site requires a custom API key that is locked to the web site. For example, my key is ABQIAAAANzhjmjn_aQro8IDfoVHCkxT-n61mIiazNPHwWTk3s75Ar5J1YhQDxyPhUR-O4Nfg_1iRn1pAUseY4g and every page that uses a Google map includes this script element:

<script src= "" type="text/javascript"></script>

I’m not giving away any secret by telling you that. You could figure out the same thing using View Source. However. the key is locked to the web site. If you try using that key on a different site, the map won’t load.

Improving Firefox Cookie Management

Tuesday, February 7th, 2006

Cookie management in Firefox is too much of an all or nothing thing: either block everything or block nothing or be annoyed by constant cookie popups:

Firefox cookie set dialog

Here are a few simple improvements Firefox could make to vastly improve user experience while maintaining privacy: