David L. Craig’s Frequently Asked Questions (with answers)

But first, perhaps IT’s most frequently asked question:

“On two occasions I have been asked, ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?‘ … I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.“

—Charles Babbage (1791-1871)

FAQ 1:

What’s that funny curvy hyphen right before your initials near the end of your URL (http://dlc.casita.net/~dlc)?


It’s called a tilde (TILL-dah) and is one of the original ASCII characters.

FAQ 2:

How do I type a tilde?


On most modern computer keyboards it is the key to the left of the one (1) key, shifted up.   That key’s unshifted character is the [accent] grave (GRAHV), also an original 7-bit ASCII character.   The grave is also called backtick by many programmers. Some devices, like my dumb cell phone, provide no way to type either character—ask your vendor why.

FAQ 3:

What is an IBM System Programmer?


In the IT industry these days, most people distinguish between computer system administrators, who perform technical support (cutely called break-fix) on behalf of the computer users who are not IT professionals, and application programmers, who write the custom software needed by the users that cannot be purchased from some software vendor.   Quite often the programmers need help from the administrators just like the users do but sometimes that help focuses on deeper areas of knowledge that most users don’t get anywhere near.   When administrators need help they usually seek out experts that work for the vendors of the purchased hardware and software that is maintained for the enterprise by the administrators.

Way back in the 1960s, IBM bet its business on the success of a new type of enterprise computer it invented.   The design, called the System 360 (as in degrees; i.e., a complete circle), or S/360 for short, featured two major innovations. Rather than offering many incompatible computers that were specialized for certain types of applications, all S/360 systems had all the specialized features combined to provide a general-purpose machine that could replace all the specialized machines.   The more important feature, however, was the provision of a package of non-application programs designed to always be in the computer and managing all the resources of the computer for the benefit of the applications programs.   The advent of this resident operating system meant the application programmers no longer had to write code in their applications to manage the computer resources, so they could put more effort into the application proper. Better still, the operating system enabled more than a single application to be run at a time.   The operating system could let one application execute its program instructions while all the other programs were waiting for needed data to be read from or written to a peripheral device, such as a tape, hard drive, or printer, or for another crack at using the processor to execute more of its instructions.   The management performed by the operating system produced the effect of all the applications programs running at the same time on one computer.   IBM called this advance multi-programming and that convinced enterprises one S/360 computer could replace all their specialized computers saving electricity and floor space.   The operating system and hardware were designed to prevent the applications programs from interfering with each other or the operating system and the hardware resources it managed.

However, as the applications programmers no longer needed to be computer administrators to the extent they had been for the specialized computers, someone had to take up the slack and provide the required care and feeding of these new operating systems and the new hardware they ran on.   So it was that IBM ushered in the computer administration specialist job category. The formal title was Operating System Programmer but everybody was happy to lose the first word.   These administrators were programmers as well which is why the title stuck. But they normally didn’t perform applications programming; instead, they programmed (in assembly language) operating system bug fixes and enhancements that made the computer more efficient and often provided some competitive advantage that helped the enterprise prosper.

The S/360 computers are still with us today, although in greatly diminished numbers. The applications and systems programs written back in the ’60s still run on the current generation, formally called zEnterprise, but most people call them mainframes and they have a lot to do with Fortune 1000 companies still being Fortune 1000 companies—competive advantage.   Here’s one notable definition:

mainframe n.,   an obsolete computer still used by thousands of obsolete enterprises serving millions of obsolete customers who pay billions of obsolete dollars which produce Forture 1000-size obsolete profits for their obsolete shareholders.  And this year’s models run significantly faster than last year’s, as usual.