Skip to main content
Share Your Experience: Take the 2024 Developer Survey
140 votes

What was the point of separating stdout and stderr?

Because you might not want error messages in your output. According to computer scientist Stephen C. Johnson: One of the most amusing and unexpected consequences of phototypesetting was the Unix ...
snips-n-snails's user avatar
123 votes
Accepted

How did people use ed?

It's a line editor (meaning, you can't see all the text at a time. You query line numbers and it spits it back, but it came before vi, where you can use hjkl to navigate up and down the screen). How ...
Raffzahn's user avatar
  • 224k
116 votes
Accepted

Why is Windows using CR+LF and Unix just LF when Unix is the older system?

This is covered largely in the history section of Wikipedia’s entry on newlines. Basically there are two primary lineages of operating systems leading to modern-day desktop usage: Windows on the one ...
Stephen Kitt's user avatar
113 votes
Accepted

What was the point of separating stdout and stderr?

You are thinking that all output is for human reading. For instance, take the Unix cpio command. It writes the archive to stdout, which is always redirected to a device or file. It writes the ...
mannaggia's user avatar
  • 3,264
102 votes
Accepted

How could early UNIX OS comprise so few lines of code?

If you look at the code in the modern Linux kernel, you will find that most of the code is in the device drivers. There are tens of millions of lines of code to support everything imaginable -- the ...
RETRAC's user avatar
  • 13.7k
86 votes
Accepted

What's the story behind the name "X11"?

The short version is that X11 was the first widely-disseminated version, and it turned out to be good enough to remain as-is for thirty years. X is the X Window System, which at its core is a ...
Stephen Kitt's user avatar
79 votes
Accepted

When was the famous "sudo warning" introduced? Under what background? By whom?

The message appears in sudo’s revision control (in its current guise) in June 1993, in the University of Colorado version of sudo, in a slightly shorter form: We trust you have received the usual ...
Stephen Kitt's user avatar
77 votes
Accepted

Why did base64 win against uuencode?

I’m not sure about specific events, but I think the main reason Base64 “won” is that it’s one of the binary encodings supported by MIME, and MIME took over. So perhaps the question then becomes two-...
Stephen Kitt's user avatar
75 votes

How could early UNIX OS comprise so few lines of code?

Yes, and you can buy it in a fully annotated book and have your own copy to peruse, should you be a skeptic: Lions, John; (1996) "Lions' Commentary on Unix", ISBN 978-1573980135 I have had a ...
Brian Tompsett - 汤莱恩's user avatar
72 votes

How did people use ed?

The reason you can't keep a 20 line program in your head is because you don't have to any more. Same reason you probably don't know any phone numbers. But back in the day, we certainly did do this. I ...
Will Hartung's user avatar
  • 12.3k
66 votes
Accepted

How should we interpret Dave Cutler's criticism of Unix?

The I/O model on "Cutler systems" – RSX-11M, VAX/VMS, Windows NT – is an asynchronous packet-driven I/O model, rather than the fundamentally synchronous I/O model of Unix. At its core, you ...
dave's user avatar
  • 35.7k
66 votes
Accepted

What warning was given on attempting to post to USENET, circa 1990?

The message was This program posts news to thousands of machines throughout the entire civilized world. Your message will cost the net hundreds if not thousands of dollars to send everywhere. ...
Stephen Kitt's user avatar
65 votes

Why did Unix use slash as the directory separator?

Primordial Unix on the PDP-7 was in many ways very different from what we know today. Directories existed but were very awkward to use; in practice most work was done in a single directory. Most ...
Alex Hajnal's user avatar
  • 9,350
56 votes

Why was MacOS unix certified?

According to Terry Lambert, the engineer who led the project to make MacOS comply with the Single UNIX Specification, [...] it was done to get Apple out of a $200M lawsuit filed by The Open Group, ...
komadori's user avatar
  • 484
53 votes

What was the original unix font?

Sorry to disapoint you, there is no 'unix' font. Unix was developed on mini computers using terminals, which could be CRT based or printing terminals (teletype). In either case the 'font' used was ...
Raffzahn's user avatar
  • 224k
52 votes
Accepted

What was "the shrinkwrap issue?"

The shrinkwrap issue was a vicious circle perceived by the computer industry in the late 1980s to early 1990s. In essence: With many different processors and binary formats, it was difficult for a ...
scruss's user avatar
  • 21.7k
48 votes
Accepted

Why does make only accept tab-indentation?

This goes back to early versions of Make, and isn’t specific to GNU’s implementation; as explained by the author of the original Make, Stuart Feldman: Why the tab in column 1? Yacc was new, Lex was ...
Stephen Kitt's user avatar
46 votes
Accepted

Correct pronunciation of `vi` (Unix editor)?

vi is pronounced as the two separate letters, /ˌviːˈaɪ/ (in English); listen to the same Brian Kernighan (also re-confirming the ed pronunciation). Vim’s pronunciation is explicitly documented: Vim ...
Stephen Kitt's user avatar
43 votes

Why does UNIX ed not have a prompt by default

Having used ed years ago on printing terminals (such as teletypes and DECwriters), I think the reason for having no prompt was that on pressing RETURN after one command, you didn't have to wait for a ...
Mike Spivey's user avatar
43 votes

Why does cat with no argument read from standard input?

This is not specific to cat. It's a general rule in Unix that, if there are no arguments, the program reads from standard input. This is also true of grep, od, sort, split, uniq, wc, and so on. ...
user24811's user avatar
  • 1,617
41 votes
Accepted

Did any DOS compatibility layers exist for any UNIX-like systems before DOS started to become outmoded?

it seems like there might might have been a market for software that would enable at least some DOS software to run natively on Linux or another UNIX derivative. There was indeed, or rather, it was ...
Stephen Kitt's user avatar
41 votes
Accepted

In what ways was the Windows NT POSIX implementation unsuited to real use?

In what specific ways was the POSIX implementation unsuited to real use? It wasn’t unsuited, but it’s important to understand what was certified. In order to meet requirements for certain US ...
Stephen Kitt's user avatar
39 votes
Accepted

Was Unix ever a single-user OS?

Going from “AT&T made phone switches” to the idea that Unix was intended to drive phone switches is quite a leap. The creators of Unix described its creation and development in some detail, e.g. ...
Stephen Kitt's user avatar
39 votes
Accepted

What are the major technical difference between Multics and Unix?

From this list of Multics features, almost all are recognizable in modern UNIX-style systems in one form or another. Looking for distinctions between is two is made difficult due to the longevity of ...
Jim Nelson's user avatar
  • 3,773
39 votes
Accepted

What happened to all those Unix workstations in the '90s?

It's obviously not practical to give the whole story of many companies from start to finish in a single answer. But, generally speaking in the 1980's, the computer industry was much more fractious ...
wrosecrans's user avatar
  • 2,264
38 votes

Why does cat with no argument read from standard input?

'cat' fits the pipeline model, which says that for a program with one input and one output, it should read from stdin and write to stdout, at least by default in the case that no files are specified. ...
dave's user avatar
  • 35.7k
37 votes

Why did base64 win against uuencode?

The problem with uuencode is that the format was not robust in the face of some of the really crufty mail software and gateways into and out of proprietary non-SMTP and non-ASCII mail systems of the ...
pndc's user avatar
  • 11.4k
35 votes
Accepted

How would old software using the SIGPIPE signal really work if it were to manage _many_ pipes?

You get SIGPIPE only if you try to write to a pipe that has no readers anymore. The idea is that typical unix processes run to produce output. If the output is going to a pipe, but no one is reading ...
Michael Karcher's user avatar
35 votes

What was the purpose of those special user accounts in Unix?

Debian includes a file which describes a number of historical accounts, with details covering more than Debian; it is shipped as /usr/share/doc/base-passwd/users-and-groups.txt.gz and its source can ...
Stephen Kitt's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible