Friday, June 24, 2005

Google @ JavaOne

You won't find me loitering around Cam's booth this year. Google rented one of its own! I think the mass of Java work going on at Google would surprise a few developers. Did you know that Java powers Gmail, AdWords, and Blogger (to name a few)? Google also belongs to the JCP Executive Commitee, not to mention a few JSR expert groups. Please stop by and meet some fellow engineers and me in person. P.S. Don't forget about the blogger meetup Monday night from 6-8 at Thirsty Bear hosted by Simon Phipps.

Monday, June 20, 2005

Tab Focus in Firefox on OS X

Even though I turned full keyboard access on in OS X, Firefox would not allow me to tab to form elements besides text fields (i.e. no buttons, drop downs, etc.). If you go to "about:config" in Firefox, you can set the accessibility.tabfocus property. According to the knowledge base, accessibility.tabfocus:
Determines which web page elements can gain focus when [Tab] key is pressed. 1: Text field form controls only 2: All form controls except text fields 3: All form controls 4: Hyperlinks and hyperlinked images 7 (default): All form controls and hyperlinks
I chose 7 as this is the Windows default. Update: In FireFox 1.5, I had to right click in the "about:config" window and manually create the accessibility.tabfocus entry.

Saturday, June 18, 2005

Ajax: IE IFrame Bug

Some of my IE users were seeing a, "mixed secure and insecure content," warning. After looking everywhere for a style sheet, web page, image or script loaded via HTTP instead of HTTPS, I tracked the problem down to an iframe missing the src attribute (the attribute was set dynamically later on by Javascript). The correct solution is not for the client to lower their security settings. Mixing insecure (HTTP) and secure (HTTPS) content can defeat the security of the secure content. A truly secure web site should use HTTPS from the first page to the last and not cut security corners for the sake of performance. You can work around the issue by setting the src attribute to a blank page instead (this results in one more request, but it's a lot less annoying than the warning).

Screwed at the Apple Store

A while back, my 17" PowerBook mysteriously lost 512 MB of RAM. Shortly thereafter, the extra battery spontaneously conked out. My girlfriend Krista and I were at the Stonestown Galleria today, so we swung by the Apple Store to see if they could help. My laptop is almost 2 years old, no longer covered by Apple's 1 year warranty. The genius bar tech narrowed the problem down to a bad memory chip. Considering I paid twice normal price for Apple's "certified" memory in the first place, it would have been nice if they could have simply swapped the chip out. Instead they offered me 10% off their already jacked up price. Yeah, right. Edge charges half the price and backs their memory with a lifetime warranty. Fool me once... In contrast, I bought the battery less than a year ago. Unfortunately, Apple requires a receipt, no exceptions. The tech used my credit card to look up my past purchases. He disappeared for a few minutes and then came back, "unfortunately we don't have a record of your battery purchase. We only have an Airport Express and a green iPod mini." If only he could have stopped after the first sentence. Krista didn't skip a beat. Knowing full well neither she, I, nor anyone in my family or close circle of friends has a green iPod mini, she asked, "who did you buy an iPod for?" Despite my innocence (she and I weren't together at the time), I didn't know whether to shit or go blind. Thanks, genius bar tech. Needless to say, I left with a broken, overpriced RAM chip, a dead battery, and a slightly pissed off girlfriend. I think I'll shop online from now on.

iPod Linux

I took iPod Linux for a spin yesterday. It's pretty nonintrusive. Everything works normally (my songs and Apple's OS stayed intact). If I hold down the rewind button while my iPod starts, Linux boots. If I want to get back to Apple's OS, I simply hold down the menu and play buttons to reboot. iPod Linux widens the game selection. It includes a pretty decent Tetris clone and chess. I remember back in high school when we'd hack our TI calculators and program games in assembly language. The ingenuity of the TI hacking community (both software and hardware) was and still is pretty amazing. For example, even though the screen was monochrome (like the iPod), TI game hackers simulated multiple shades of gray by turning pixels on and off at varying rates. It appears some of the iPod Linux graphic demos use the same trick (the spinning cube for one). The TI games are surprisingly rich and professional, a lot of fun. Hopefully the same will happen with iPod Linux games. iPod's Linux's scroll wheel driver is definitely a lot more bare bones than Apple's. Just from observation, it seems Apple accelerates the scroll speed the faster you spin the wheel. This makes scrolling large lists a lot easier. It also seems Apple's a little more forgiving of rolling fingers. Under iPod Linux I often find that I over or undershoot my selection by one. Using Apple's OS, I can navigate effortlessly. Apple's attention to detail at every level really makes the iPod great.