I've had my laptop (Sony Vaio FX-220) for about a year now, and have run it almost exclusively on AC power. This is mainly because Linux support for power management is sketchy, and so (until recently) I couldn't throttle the CPU back or dim the LCD (both vital for reducing power consumption). Windows does these automatically, of course, but I excised Windows from my life, remember?
Anyway, recent kernel upgrades mean I can now throttle performance to make the laptop's mediocre battery life slightly more useful. Faced with the prospect of actual mobile use, it occured to me to make some graphs of battery charge, so I can get a sense of how various features affect battery life.

One graph, which I thought would be very straightforward, turned out to be quite surprising. The graph on the right is one complete charge cycle: the battery starts out nearly empty, is charged to full, then is unplugged and discharges almost completely. (The vertical axis is fraction of full charge, and the horizontal axis is minutes. Yes, the battery life sucks.)
The first thing you might notice is the little upward and downward spikes. Those are measurement error, not sudden changes in charge. I don't know if the Linux driver has a bug, or if the Sony hardware that reports battery level is really that unstable. Either way, ignore those errors for now.
The real surprise, of course, is the kink in the graph that makes the graph look like Half Dome in Yosemite. Around 0.6, as it charges, the slope of the graph changes suddenly. As it discharges, there's a kink at 0.6 as well.
My first theory was that the battery might have multiple cells, and might switch from one to the other at some point.
Based on his experience with handheld devices, though, Noah thinks it's more likely that Sony is artificially fiddling the how-charged-is-the-battery function as reported in the BIOS. They might do this, he says, to make the function look more linear with respect to time. The irony is that the discharging function, which it seems would otherwise be perfectly linear, suffers significantly in the process.
I, for one, am much more interested in battery status when the laptop is discharging than when it's charging, so it seems strange that they'd screw with things in this way.
I'll run more tests if I get a chance, but does this behavior look familiar to anyone? Anybody know why you might want charge functions to be distorted like this?