Hot answers tagged

168 votes
Accepted

It's now safe to turn off your computer

TL;DR: it took a long time (on PCs) because the industry wasn’t ready to push it. Scroll down to “Why did it take so long?” for details. Shutdown screens That screen comes from Windows 95 and its ...
user avatar
  • 96.5k
137 votes

What are the software logos in MORICONS.DLL?

I wrote a short python script that extracted the icons, matched them with entries from APPS.INF and generated an HTML file. Some entries were missing, so I entered them manually, except for the ...
user avatar
  • 993
112 votes
Accepted

How was copying prevented when the first CD-ROM games were introduced?

When CD-ROM games were first introduced, game developers didn’t take any measures to prevent users from copying them, for two main reasons: CD-ROMs could contain more data than most hard drives at ...
user avatar
  • 96.5k
108 votes
Accepted

What technological factors drove the rise of "high-speed" modems in the early 1990s?

Up to 9,600 baud it's just iterative application of fairly straightforward analogue-domain ideas as and when standards emerge. Then there's a significant improvement on the digital side that bumps to ...
user avatar
  • 32.5k
104 votes
Accepted

Why did IBM make the PC BIOS source code public?

In the late '70s and very early 80s it was not unusual to make BIOS source code available. Apple did indeed do so; the full source listing starts at page 76 of the Apple II Reference Manual. Atari did ...
user avatar
  • 21.9k
104 votes

Why was `!` chosen for negation?

Since the few document trails on this topic quickly run cold, I contacted Ken Thompson. He confirmed that if there was anything he would have been influenced by at the time, it would have been BCPL ...
user avatar
  • 1,562
103 votes
Accepted

Did many programs really store years as two characters (Y2K bug)?

Short Answer: BCD rules over a single byte integer. The claim that programs stored dates as two ASCII or similar characters because computers were limited in resources seems wrong to me The point ...
user avatar
  • 173k
102 votes
Accepted

Why were computer customers called "Users"?

'User' and 'customer' aren't the same. The user is the person (always a person) who uses a computer system to do something. The customer is the person or organization who pays for the hardware and ...
user avatar
  • 7,854
95 votes
Accepted

Why were programs entered on punch cards instead of paper tapes?

The basic issue that paper tape is hard to edit. In theory you can cut the existing tape and splice in a new section, but in practice there is no easy way to find the correct location except by ...
user avatar
  • 6,385
90 votes
Accepted

Where did the popularity of the `i` variable come from?

FORTRAN made all variables starting with I, J, K, L, M and N integer by default. So just I by itself could be conveniently used as a loop variable. I imagine that choice was made because I, J, K, M ...
user avatar
90 votes

What key factor led to the sudden commercial success of MS Windows with v3.0?

There were a number of factors involved. Windows 3.0 introduced a more refined user interface than available in Windows 2.0: more colours, proportional fonts everywhere, smaller icons, and MDI ...
user avatar
  • 96.5k
88 votes
Accepted

What key factor led to the sudden commercial success of MS Windows with v3.0?

Stephen Kitt covers the bases well, but I think the majority of the reason relates to fact that Windows 3.0 finally brought 286 protected mode execution to the masses. Even though the 80286 was first ...
user avatar
  • 4,336
87 votes

Back in the late 1980s, how was commercial software for 8-bit home computers developed?

It varied. There was no single method. Some people used assemblers on the target machine, others used cross-development tools. As an example of a large product for an 8-bit machine, I worked on the ...
user avatar
  • 7,814
86 votes

Why didn't C++ specify filename extensions?

Because it's not important to ... anything. The compilers don't care. The editors don't care. Back in the day, some operating systems didn't even HAVE "file extensions". DOS mandated them, ...
user avatar
  • 10.9k
81 votes

Why were CLIs typically light text on dark background, whereas GUIs typically use(d) dark text on light background?

Why did early CLIs seemingly so predominantly use light on dark color schemes, and what drove the shift to GUIs using dark on light color schemes instead? Simple: CRT technology (and, as so often, ...
user avatar
  • 173k
81 votes
Accepted

Is there any code in Firefox (as of 2020) that comes from Netscape Navigator?

A number of components still present in Firefox date back to the first code drop in 1998 and were probably present before that. One of these is nsprpub, the NetScape Portable Runtime library, and it ...
user avatar
  • 96.5k
80 votes

Why do keyboards have an asterisk key?

Keyboards have an asterisk because typewriters did, long before computers existed. Typewriters, particularly mechanical ones, typically made a number of compromises to reduce the number of keys ...
user avatar
  • 96.5k
76 votes
Accepted

Were later MS-DOS versions still implemented in x86 assembly?

C did exist when DOS was developed, but it wasn’t used much outside the Unix world, and as mentioned by JdeBP, wouldn’t necessarily have been considered a good language for systems programming on ...
user avatar
  • 96.5k
75 votes
Accepted

Were any of the books mentioned in this scene from the movie Hackers real?

As indicated on IMDb, the books are Green: International UNIX Environments, probably part of POSIX or The X/Open Guide. Orange: Trusted Computer System Evaluation Criteria, part of the Rainbow Series ...
user avatar
  • 96.5k
75 votes
Accepted

Why did 1950s-60s computers have such wide words?

And if you go back further, e.g. to the ENIAC, you'll see a word size of 40 bits. And if you go back even further, to mechanical calculators, you'll see word sizes determined by the number of decimal ...
user avatar
  • 21.9k
75 votes
Accepted

Intel CPU bug in the '90s

I suspect your teacher was referring to the FDIV Pentium bug, which led to a large outcry in the media at the time and for which Intel issued a recall. This bug caused floating-point division to ...
user avatar
  • 96.5k
74 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 ...
user avatar
  • 96.5k
74 votes
Accepted

How exactly did Windows become the OS of the home PC?

The short version is that Windows became the de facto operating system thanks to Microsoft’s business acumen (or shenanigans, depending on your point of view), marketing, skilled developers, a strong ...
user avatar
  • 96.5k
72 votes
Accepted

How were the first ZX Spectrum games written?

Interestingly enough, I stumbled in a related article, that hints firstly the (cross)development at Sinclair was made on CP/M machines, (which corroborates the Matthew Smith Manic Miner development in ...
user avatar
72 votes
Accepted

Why did C have the return type before function names?

Dennis Ritchie’s paper on The Development of the C Language gives some idea of the reasoning behind this: namely, the fundamental rule in C that declaration syntax should match expression syntax. For ...
user avatar
  • 96.5k
72 votes
Accepted

Why do keyboards have an asterisk key?

Computer terminal keyboards needed to reproduce the symbols available on punched cards and paper tape. In the US, punched cards dominated the data-processing industry (communications uses tended to ...
user avatar
  • 28.3k
71 votes

Why did IBM make the PC BIOS source code public?

When other manufacturers attempted to copy the BIOS from the source listings, IBM sued them for copyright violation and won. Besides, even without the listings, anyone would have been able to dump ...
user avatar
  • 5,963
69 votes

Why did C use the arrow (->) operator instead of reusing the dot (.) operator?

In the embryonic form of C described in the 1974 C Reference Manual, there was no requirement that the left operand of . actually be a structure, nor that the left operand of -> actually be a ...
user avatar
  • 28k
69 votes
Accepted

Why did C use the arrow (->) operator instead of reusing the dot (.) operator?

Some of the first C code I saw was like this: 0x8040->output = 'A'; — its purpose was accessing memory mapped I/O locations.  Needless to say it took me a while to figure out what this ...
user avatar
  • 3,097
68 votes
Accepted

Why does nobody attempt to build Charles Babbage's Analytical Engine?

Plan 28 is an ongoing effort to do this. However, it is hard. Nobody is actually sure how to build it. Winter 2015: There has been significant archive activity. The major historical source is the ...
user avatar
  • 17.4k

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