Why I dislike ATX power supplies
Courtesy of a nice little thunderstorm, I lost power for a bit, which reminded me of why ATX power supplies are not my favorite thing. The problem is that they are too smart yet not smart enough.
In the old days of simple power supplies, when you turned a machine off it would stay off and if you turned a machine on it stayed on, and power failures didn't change this; after the power came back, the off machine stayed off and the on machine powered back up. In effect, the machines remembered their current power state and returned to it after a power failure.
For all its smarts, ATX is often too stupid to do this. Instead I
usually get a choice between the machine always powering up after 'power
failures' or never powering up after them. Neither choice is ideal,
although the former is acceptable for a server style machine, and
the whole thing seems a bit much to give up to get a
command, however nifty it is.
In theory you can mostly duplicate the old way by setting 'always power on after power failures' and then always flipping the manual power switch or yanking the cord if you want the machine to be off. The problem is that this invites errors, because it's hard to notice that a machine is powered down but not turned all the way off this way and so will spring back to life after a power failure.
(The other problem with ATX is that your computer is always drawing some power even when nominally turned off.)
Sidebar: so who is really to blame for the problem?
I got curious enough to skim through the ATX power supply and motherboard standards, and as far as I can tell the actual power supply doesn't implement any of the power control stuff. Presumably it is all done by a motherboard circuit that is powered by the +5 VSB standby power line, and different motherboard makers opt for more or less sophisticated versions. This would neatly explain why some motherboards have the 'restore previous power state' option in their BIOS and others don't.
So apparently I should really be blaming lazy (or cheap) motherboard implementors instead of ATX power supplies themselves; all the ATX power standard did is let the motherboard people be lazy.
(For the curious, the Wikipedia ATX page has a good set of links. The standards are actually pretty short and easy to find things in.)