Now, the RS232 is probably the industrys most common interface.
I'd say Ethernet is probably more universal. But they're close.
It's clean, it's simple, it's fast (using proper interrupts, compared to USB style).
Now, this I disagree with. About 10 years ago, a computer store guy let me borrow book which was called, jokingly as he said, "RS-232 Made Simple". That book was something like 1000 pages of pure RS-232 hairiness. Anything but simple! I have more headaches with RS-232 than any other hardware. Every system has its own proprietary interface (isn't that what RS-232 is supposed to solve?!) and you have to make some weird custom cable for each configuration you want.
A more fruitful analogy would be recorded music. You can buy a turntable in any stereo shop which will play anything made in the last 50 years, and if it does 78 RPM, it will go back 100 years. CD's from 20 years ago can still be played like new. Videotapes, too.
Any industry in its infancy has multiple standards which get sorted out in the longrun. A hundred years ago there were all sorts of competing standards for records, but one won out. Twenty years ago there was all sorts of competition for computer platforms, now there's one. And BTW you should be able a twenty year old DOS program on a modern PC.
So it's likely that the e-book industry, if it is to grow, will evolve the same way.
Of course, an old 486 found in the dumpster has the best possible price performance, since it has a price is zero, and it's performance is non-zero. But nobody cares about price performance. 99.999% of the market is willing to pay a substantial premium (over a free 486) to get a machine with modern performance, and, moreover, 80% of the market is willing to pay a premium for the Intel brand.
IBM released all the specs to things, which allowed other companies to build compatible "bits", which eventually allowed prices to come down. IBM released all the specs to things, which allowed other companies to build compatible "bits", which eventually allowed prices to come down.
Even IBM clones were always more expensive than the home PC brands, though. PC's (i.e. clones) didn't come to below $1k until about 1998, and the home PC brands were always much cheaper.
(Obviously I'm ignoring the fact that an IBM PC was massively more powerfull than machines like the C64).
True, but any Amiga or Atari ST fan would have attested ten years ago that those brands were vastly superior to the PC counterpart (and were MUCH cheaper). Surely the fact that Amiga is no longer made, and PC's have about 95% market share now, attests to the fact that price and performance (or any ratio thereof) has no relevance to market success?
The discriminating customer may well choose the more capable system priced higher, but the typical customer will buy whatever Dell or HP is selling cheap.
Oh, sure, but the keywords here are Dell and HP, which are premium brands, relative to the generic brands. People buying these brands are already paying a premium, a fairly substantial premium, to the lowest cost PC they can purchase.
That said, other component makers and the OEM's themselves are going to defend their ASP's every bit as much as Microsoft. Look at CPU's. It is certainly possible to sell a CPU for $30 (e.g. Via), but the biggest players (Intel and AMD) aren't much interested in entering markets where the ASP is much below $100. So, the CPU price hovers at an average of $100. OEM's like having a premium CPU because it raises their own ASP's. Likewise with Windows. Windows enables OEM's charge a premium over their own cost for Windows, so it works to their advantage.
ESR's assertion is based on the premise that OEM's will fight tooth and nail to enter low-end markets. I just don't believe this will happen.
ESR's fundamental argument to Linux taking over the desktop is solely cost. Because the cost of Windows will be a bigger chunk of the PC price as PC prices, OEM's will seek out cheaper options (e.g. Linux).
I believe this is wrong for at least two reasons:
1. Microsoft has a much freer pricing structure than most other component makers. Since they employ monopoly pricing they are able to price the product exactly at the point where it maximizes profit. Futher, since their marginal cost is essentially zero (as opposed to chips, disks, and other hardware components), they have a lot of downward headroom in their prices should this ever become an issue.
2. There is little evidence that cheaper wins out. A classic example is the IBM PC (and clones) which were substantially more expensive than home PC's (such as C64, Atari 400/800, Apple II, etc.) but won over the market big time. There are many factors other than cost which contribute to the success or failure of a computer product. Indeed, very cheap computers (e.g. $350 or so) computers are available today, but the sweetspot seems to be the $800-level machine which will get you something pretty good.
VMS was hugely successful. It was the most successful minicomputer OS of all time, and made DEC filthy rich in the 80's.
What killed VMS was not DEC, but Unix - mostly Sun. Their stuff was 10x as fast at 1/10 the price, so people bought Sun instead. DEC was never really able to adapt from the closed proprietary business model to the open commodity business model. Even with Alpha, DEC never got more than 1% of the Unix market.
Well, yeah, but since most OS'es have flat addressing, you ust use your read/write flat data segment to modify the code in your read/execute flat code segment. If the _page_ is marked read-only you can't modify it, but you can just copy it to your own data segment, and then modify and execute it to your heart's content.
I don't know about other processors, but Willamette (aka Pentium 4) fully supports self-modifying code, and you can modify an instruction at any point (such as the next instruction - even if has already been speculatively executed), and the processor will correctly restart and execute the modified instruction.
Yes, this is terrible for performance (it invalidates the whole trace cache) but it is correct.
Officially, Intel says you have to execute a serializing instruction in between the point of modifcation and the actual instruction, although the newer processors are smart enough to do it automatically.
I wonder if any real software actually modifies in-flight instructions? It's conceivable that an OS loading/executing a really short program on a processor which is deeply speculative could hit that case.
Assembler generated from IOCCC programs will definitely not be obfuscated. Most of the obfuscation comes from the preproccesor, and compilers generate regular, boring code.
However, it definitely is possible to write highly obfuscated assembly, which would be far worse than anything done in C. Heck, with "db" you can do anything you want, and with an instruction set like IA32 you can do all sorts of insane things. Self-modifying code is also a lot easier in assembly.:-)
Oh, I have no doubt that Intel's compiler will produce great 32 bit code on Hammer. Hammer is just a proliferation of K7 with 64 bit extensions, and AMD knows how to optimize their hardware for that compiler (they use it when submitting their SPEC scores).
But Intel's C compiler won't generate 64 bit code, which means that AMD has to rely on GCC for 64 bit applications. So any performance advantage of 64 bit is more than nullified because there's not a decent compiler for it.
On the other hand, that is a pretty big nail in Hammer's coffin. Intel's compiler is 2x the speed of GCC, and since it doesn't support x86-64, there goes any performance advantage (and then some) which Hammer was supposed to have.
No, you can't, unless you can guarantee that the result from the lower half of the operand will not affect any bits in the upper half. For multiplication this will happen all the time but for addition it will happen whenever the lower operand carries over.
Besides, 64 bit operations are higher latency than 32 bit operations, and the cost of all of the shifting and masking to separate the results would be very high. It would be much faster to just do two separate 32 bit operations.
SIMD is a different story since the hardware assembles and reassembled the operands, and executes them on separate executions units.
Um, a job at Netscape sounds more like a prison sentence than any sort of interesting work. Why would anybody want to work there? I sure hope there's better examples of people jumping from open source projects to real companies.
Nope, the patents which DEC sued over Intel for were all Alpha technologies not VAX. The last VAX CPU's were made in the early 90's and were quite a bit less sophisticated than P6. FYI, P6's L2 was off-die.
Well I own well over 1000 CD's (little of which is played on the radio) and my interests range from almost every type of classical (including 'difficult' 20th century music), new jazz, underground hip hop, bluegrass/folk, various ethnic musics, all sorts of rock, all sorts of electronic music... and I think many of NSync's songs are among the finest little jewels of pop produced. IMHO, anybody who can't enjoy 'Tearing up my Heart' or 'Bye Bye Bye' is either (a) is too insecure to admit it, (b) very closed-minded about music, or (c) takes life way too seriously.
Get a clue, dude (and learn how to conjugate while you're at it). Patel's original ruling spells out in intricate detail why Napster is guilty of contributory copyright infringement, and why VCR manufacturers are not. It is a crystal-clear common-sense distinction.
Unlike the perp in this case, a jaywalker hasn't demonstrated intent to harm anyone but himself.
What are you talking about? If you hit somebody at a high speed it is highly likely that your car will suffer severe damage and you could even be injured. Jaywalking is most definitely not a "victimless crime" in any sense whatsoever.
No, they do it because if they didn't do it, they would be out of the PC OEM business, because Windows has a monopoly on the PC desktop market.
Microsoft does not have a monopoly on the PC desktop OS market (have you ever heard of an OS called Linux?) but even if they did there is nothing forcing PC makers from including an OS at all with their systems.
Now, the RS232 is probably the industrys most common interface.
I'd say Ethernet is probably more universal. But they're close.
It's clean, it's simple, it's fast (using proper interrupts, compared to USB style).
Now, this I disagree with. About 10 years ago, a computer store guy let me borrow book which was called, jokingly as he said, "RS-232 Made Simple". That book was something like 1000 pages of pure RS-232 hairiness. Anything but simple! I have more headaches with RS-232 than any other hardware. Every system has its own proprietary interface (isn't that what RS-232 is supposed to solve?!) and you have to make some weird custom cable for each configuration you want.
A more fruitful analogy would be recorded music. You can buy a turntable in any stereo shop which will play anything made in the last 50 years, and if it does 78 RPM, it will go back 100 years. CD's from 20 years ago can still be played like new. Videotapes, too.
Any industry in its infancy has multiple standards which get sorted out in the longrun. A hundred years ago there were all sorts of competing standards for records, but one won out. Twenty years ago there was all sorts of competition for computer platforms, now there's one. And BTW you should be able a twenty year old DOS program on a modern PC.
So it's likely that the e-book industry, if it is to grow, will evolve the same way.
Of course, an old 486 found in the dumpster has the best possible price performance, since it has a price is zero, and it's performance is non-zero. But nobody cares about price performance. 99.999% of the market is willing to pay a substantial premium (over a free 486) to get a machine with modern performance, and, moreover, 80% of the market is willing to pay a premium for the Intel brand.
IBM released all the specs to things, which allowed other companies to build compatible "bits", which eventually allowed prices to come down. IBM released all the specs to things, which allowed other companies to build compatible "bits", which eventually allowed prices to come down.
Even IBM clones were always more expensive than the home PC brands, though. PC's (i.e. clones) didn't come to below $1k until about 1998, and the home PC brands were always much cheaper.
(Obviously I'm ignoring the fact that an IBM PC was massively more powerfull than machines like the C64).
True, but any Amiga or Atari ST fan would have attested ten years ago that those brands were vastly superior to the PC counterpart (and were MUCH cheaper). Surely the fact that Amiga is no longer made, and PC's have about 95% market share now, attests to the fact that price and performance (or any ratio thereof) has no relevance to market success?
The discriminating customer may well choose the more capable system priced higher, but the typical customer will buy whatever Dell or HP is selling cheap.
Oh, sure, but the keywords here are Dell and HP, which are premium brands, relative to the generic brands. People buying these brands are already paying a premium, a fairly substantial premium, to the lowest cost PC they can purchase.
That said, other component makers and the OEM's themselves are going to defend their ASP's every bit as much as Microsoft. Look at CPU's. It is certainly possible to sell a CPU for $30 (e.g. Via), but the biggest players (Intel and AMD) aren't much interested in entering markets where the ASP is much below $100. So, the CPU price hovers at an average of $100. OEM's like having a premium CPU because it raises their own ASP's. Likewise with Windows. Windows enables OEM's charge a premium over their own cost for Windows, so it works to their advantage.
ESR's assertion is based on the premise that OEM's will fight tooth and nail to enter low-end markets. I just don't believe this will happen.
ESR's fundamental argument to Linux taking over the desktop is solely cost. Because the cost of Windows will be a bigger chunk of the PC price as PC prices, OEM's will seek out cheaper options (e.g. Linux).
I believe this is wrong for at least two reasons:
1. Microsoft has a much freer pricing structure than most other component makers. Since they employ monopoly pricing they are able to price the product exactly at the point where it maximizes profit. Futher, since their marginal cost is essentially zero (as opposed to chips, disks, and other hardware components), they have a lot of downward headroom in their prices should this ever become an issue.
2. There is little evidence that cheaper wins out. A classic example is the IBM PC (and clones) which were substantially more expensive than home PC's (such as C64, Atari 400/800, Apple II, etc.) but won over the market big time. There are many factors other than cost which contribute to the success or failure of a computer product. Indeed, very cheap computers (e.g. $350 or so) computers are available today, but the sweetspot seems to be the $800-level machine which will get you something pretty good.
VMS was hugely successful. It was the most successful minicomputer OS of all time, and made DEC filthy rich in the 80's.
What killed VMS was not DEC, but Unix - mostly Sun. Their stuff was 10x as fast at 1/10 the price, so people bought Sun instead. DEC was never really able to adapt from the closed proprietary business model to the open commodity business model. Even with Alpha, DEC never got more than 1% of the Unix market.
Bah. When I first started with Linux (around the 0.99pl12 days), the kernel compile took 4.5 hours on my 386SX-16 with 4MB of RAM.
A year or two ago I compiled the NetBSD kernel on a MicroVAX II with 8MB of RAM and it took about 24 hours.
Well, yeah, but since most OS'es have flat addressing, you ust use your read/write flat data segment to modify the code in your read/execute flat code segment. If the _page_ is marked read-only you can't modify it, but you can just copy it to your own data segment, and then modify and execute it to your heart's content.
I don't know about other processors, but Willamette (aka Pentium 4) fully supports self-modifying code, and you can modify an instruction at any point (such as the next instruction - even if has already been speculatively executed), and the processor will correctly restart and execute the modified instruction.
Yes, this is terrible for performance (it invalidates the whole trace cache) but it is correct.
Officially, Intel says you have to execute a serializing instruction in between the point of modifcation and the actual instruction, although the newer processors are smart enough to do it automatically.
I wonder if any real software actually modifies in-flight instructions? It's conceivable that an OS loading/executing a really short program on a processor which is deeply speculative could hit that case.
Assembler generated from IOCCC programs will definitely not be obfuscated. Most of the obfuscation comes from the preproccesor, and compilers generate regular, boring code.
:-)
However, it definitely is possible to write highly obfuscated assembly, which would be far worse than anything done in C. Heck, with "db" you can do anything you want, and with an instruction set like IA32 you can do all sorts of insane things. Self-modifying code is also a lot easier in assembly.
Anyway, who's to say AMD don't have a demon proprietary compiler for x86-64 up their sleeve for just this purpose?
Besides the fact that they've never developed a compiler before?
Oh, I have no doubt that Intel's compiler will produce great 32 bit code on Hammer. Hammer is just a proliferation of K7 with 64 bit extensions, and AMD knows how to optimize their hardware for that compiler (they use it when submitting their SPEC scores).
But Intel's C compiler won't generate 64 bit code, which means that AMD has to rely on GCC for 64 bit applications. So any performance advantage of 64 bit is more than nullified because there's not a decent compiler for it.
On the other hand, that is a pretty big nail in Hammer's coffin. Intel's compiler is 2x the speed of GCC, and since it doesn't support x86-64, there goes any performance advantage (and then some) which Hammer was supposed to have.
No, you can't, unless you can guarantee that the result from the lower half of the operand will not affect any bits in the upper half. For multiplication this will happen all the time but for addition it will happen whenever the lower operand carries over.
Besides, 64 bit operations are higher latency than 32 bit operations, and the cost of all of the shifting and masking to separate the results would be very high. It would be much faster to just do two separate 32 bit operations.
SIMD is a different story since the hardware assembles and reassembled the operands, and executes them on separate executions units.
Unfortunately, I get around a !20%! speed advantage using rambus over ddr-sdram [...]
What is unfortunate about getting better performance?
He had to make up for the fact that he has an Athlon instead of a P4.
It costs less to make a CD than a casette tape. So why do CDs and DVDs cost more than tapes?
Because people are willing to pay more for CD's. Or did you flunk out of Econ 101?
Um, a job at Netscape sounds more like a prison sentence than any sort of interesting work. Why would anybody want to work there? I sure hope there's better examples of people jumping from open source projects to real companies.
Nope, the patents which DEC sued over Intel for were all Alpha technologies not VAX. The last VAX CPU's were made in the early 90's and were quite a bit less sophisticated than P6. FYI, P6's L2 was off-die.
Well I own well over 1000 CD's (little of which is played on the radio) and my interests range from almost every type of classical (including 'difficult' 20th century music), new jazz, underground hip hop, bluegrass/folk, various ethnic musics, all sorts of rock, all sorts of electronic music ... and I think many of NSync's songs are among the finest little jewels of pop produced. IMHO, anybody who can't enjoy 'Tearing up my Heart' or 'Bye Bye Bye' is either (a) is too insecure to admit it, (b) very closed-minded about music, or (c) takes life way too seriously.
IMHO, anybody who doesn't admit to liking N*Sync is very insecure in their musical tastes.
Why isn't VCRs or tape recorders illegal?
Get a clue, dude (and learn how to conjugate while you're at it). Patel's original ruling spells out in intricate detail why Napster is guilty of contributory copyright infringement, and why VCR manufacturers are not. It is a crystal-clear common-sense distinction.
Unlike the perp in this case, a jaywalker hasn't demonstrated intent to harm anyone but himself.
What are you talking about? If you hit somebody at a high speed it is highly likely that your car will suffer severe damage and you could even be injured. Jaywalking is most definitely not a "victimless crime" in any sense whatsoever.
No, they do it because if they didn't do it, they would be out of the PC OEM business, because Windows has a monopoly on the PC desktop market.
Microsoft does not have a monopoly on the PC desktop OS market (have you ever heard of an OS called Linux?) but even if they did there is nothing forcing PC makers from including an OS at all with their systems.