Shake it

Sitting in an airport lounge, nondescript, wood paneled walls and leather seats. With Foo Camp over, waiting for the redeye back to BOS from SFO. Glass of wine as I hack.

At the start: self-organization

As with last year, Foo Camp was invigorating, an insight into tomorrow's innovation. Lots of interesting people were among the ranks of the campers. I waxed with Jordan Hubbard about inotify and Darwin, had spirited debates with r0ml, chatted with Tim, was able to meet the awesome Steven Levy (who needs to update that picture) and a wonderful gentleman who worked on Corona and Jimmy Wales and others.

Eventually we had to leave, undoubtedly sooner than anyone wanted to, but with raised spirits. Talking is fun, but doing is better, anyhow.

Do this, don't do that, can't you read the sign?

On the plane ride up and now in this lounge, I have been working on a driver for the Hard Drive Active Protection System (hdaps) in recent IBM ThinkPads. They bill the hardware as an accelerometer, but its a glorified two-axis position sensor in my eyes, which is actually preferred: You can do a lot more with the first-order values, and you can always derive acceleration and whatever else if needed.

My driver exports both a device node and some sysfs files. I guess we could park the drive heads in an emergency. Or something. But the cool hack--really cute, I must say--is to use the hdaps as an input device, replacing your mouse with the laptop itself, which is now acting like a pinball machine, albeit with a second axis.

Nat and a Segway
When Segways Get Even

So here I am, dropping my laptop to test the acceleration-sensing user-space program I wrote, and tilting the laptop to and fro to select windows. Wait, one second, need to tilt this baby to the left, little more, there we go, to select this window. Okay.

Why does this kid keep dropping his laptop?

So, okay: Parking the disk heads in an emergency fall is perhaps more practical. But a mouse replacement is a lot more fun.

We have some fun ideas for Xgl plugins, next.

Anyhow, I will post the code soon as I land and recover from the overnight transcontinental flight.