Sunday, 2 January 2011

Reiplophobia

Since it's been mentioned in a couple of places, I feel I ought to explain myself on this one. What's reiplophobia, why do I have it, and where did the term come from?

I'll start with the easy one. Reiplophobia is the fear of rebooting a computer.

Why? What's so bad about a reboot? Several reasons. Firstly, rebooting is the mainstay of apathetic, careless, or incompetent tech support. "You have a problem? Reboot your computer." Since this frequently achieves the short-term goal, it's held up as the ultimate solution to all problems. This is a bad thing for the long-term health of the system, because the problem has only been dodged, not solved.

Secondly, restarting a computer destroys all transient data. This is more serious in some situations than in others, but if you have any unsaved data and you need to reboot, you have to either delay the reboot while you deal with it, or lose whatever hadn't been saved. If all you're doing is editing files, you might think that periodically pressing Ctrl-S will ensure that you lose nothing; but most editors maintain a lot of less obvious state, such as cursor position and undo stack, which can be extremely valuable in figuring out where you were up to in some major task. Being able to set something aside for a week and pick it up where you left off is a valuable thing, and most editors won't fully support this if they've been restarted.

But most importantly, a reboot means downtime. Yes, downtime! and you shuddered at the very word. Actually, you probably didn't, because you don't have the same pathological hatred of outages that a network admin does. (Unless you do, in which case, I applaud you sir.) To my mind, a service should always be available. That means that a server should always be up. Imagine if the internet was built on a 99% uptime rule - every little piece would just randomly be unavailable 1% of the time. You'd be forever frustrated; first your ISP drops you out for a few minutes, then you can't find the site you want, and then you find the site but it's decided to go out for a smoke (you DO know that computers run on smoke, right? Let any of it out and they stop working) and won't respond to you till it's back. Completely unacceptable. So the only option is to aim for 100% uptime. No downtime. Ever. And that means... never reboot. If a problem can be fixed without a reboot, then fix it without a reboot, and the server will keep running all through.

(Technical note: It would be more accurately described as an aversion, not a fear, but everyone understands what a phobia is.)

So what's with the name? Reiplophobia? Did it come up in your alphabet soup this morning?

Not quite; it came up in my CONFIG.SYS a few years ago. The term "REIPL" is from IBM; I first met it in a directive which has for years been my favorite example of IBM-speak:
REIPL=C

It's perfectly obvious what this does; it causes fatal errors to be logged to a file called C:\POPUPLOG.OS2 - why didn't you understand that right away?

IPL stands for Initial Program Load, and is IBM's term for, well, booting a computer. Yeah. IBM don't want to call it "boot", it has to be "IPL". So "reIPL" means "reboot" (and I've seen this term in a couple of places, but I'm pretty sure they all derive from IBM). If there's no REIPL= directive in CONFIG.SYS, then fatal errors will be dumped to the screen and the system halted; specifying a drive letter (that's what the C means) causes the system to log to a file on that drive, and then automatically reboot. It makes some (a little) sense that way, but it's still a fairly incomprehensible construct. You have to know what it does before you can understand it.

So there you have it. Reiplophobia: the fear of rebooting a computer.

No comments: