NB!

⚠️   Attention! This is a joke. It was written as a joke back in 1970s when the environment in CS was not as inclusive and we had no necessity to preface jokes with a disclaimer “Attention! This is a joke.”

I am reposting it here because it is a marvelous piece of art and I am afraid it might be lost in ashes.


VMS Version 3:

Please stop submitting SPR’s. This is our system. We designed it, we built it, and we use it more than you do. If there are some features you think might be missing, if the system isn’t as effective as you think it could be, TOUGH! Give it back, we don’t need you. See figure.

           ---------------------------
           !            -            !
           !           { }           !
           !           | |           !
           !           | |           !
           !        .-.! !.-.        !
           !      .-!  ! !  !.-.     !
           !      ! !       !  ;     !
           !      \           ;      !
           !       \         ;       !
           !        !       :        !
           !        !       |        !
           !        |       |        !
           !                         !
           ---------------------------
           	       Figure 1.

Forget about your silly problem, let’s take a look at some of the features of the VMS operating system.

1. Options.

We’ve got lots of them. So many in fact, that you need two strong people to carry the documentation around. So many that it will be a cold day in hell before half of them are used. So many that you are probably not going to do your work right anyway. However, the number of options isn’t all that important, because we picked some interesting values for the options and called them…

2. Defaults.

We put a lot of thought into our defaults. We like them. If we didn’t, we would have made something else be the default. So keep your cotton-picking hands off our defaults. Don’t touch. Consider them mandatory. “Mandatory defaults” has a nice ring to it. Change them and your system crashes, tough. See figure 1.

3. Language processors.

They work just fine. They take in source, and often produce object files as a reward for your efforts. You don’t like the code? Too bad! You can even try to call operating system services from them. For any that you can’t, use the assembler like we do. We spoke to the language processor developers about this, they think a lot like we do, they said “See figure 1”.

4. Debuggers.

We’ve got debuggers, one we support and one we use. You shouldn’t make mistakes anyway, it is a waste of time. We don’t want to hear anything about debuggers, we’re not interested. See figure 1.

5. Error logging.

Ignore it. Why give yourself an ulcer? You don’t want to give us the machine to get the problem fixed and we probably can’t do it anyway. Oh, and if something breaks between 17:00 and 18:00 or 9:30 and 10:30 or 11:30 and 13:30 or 14:30 and 15:30 don’t waste your time calling us, we’re out. See figure 1.

6. Command language.

We designed it ourselves, it’s perfect. We like it so much we put our name on it, DCL—Digital’s Command Language. In fact we’re so happy with it, we designed it once for each of our operating systems. We even try to keep it the same from release to release, sometimes we blow it though. See figure 1.

7. Real time performance.

We got it. Who else could have done such a good job? So the system seems sluggish with all those priority 18 processes, no problem, just make them priority 1. Anyway, real time isn’t important anymore like it used to be. We changed our group’s name to get rid of the name realtime, we told all our realtime users to see figure 1 a long time ago.

In conclusion, stuff your SPR. Love VMS or leave it, but don’t complain.

Original source (now revoked) at Xerox. Source at WebMachine.