part of the problem might be low quality of floppy _drives_. For a floppy to be readable, the drive that wrote it has to be spinning at the same RPM as the drive reading it. (within a margin.) a lot of floppy drives are cheap as hell now. #define X(x,y) x##y
> Btw, didn't I read (in Debian?) somewhere about the importance of
> using only the best floppies for boot and image disks when setting up
> Linux?
Yep, Debian. That's just if you install the base system off floppies, in which case you need 10 floppies or so. You want good ones because the disk images don't use a filesystem, they have the data right on the raw device. (like if you tar [cx] f/dev/fd0...) If there were a filesystem, it could mark the bad sectors and not use them, but there isn't so every sector on the floppy has to be good.
The floppy includes error detection info that isn't visible as data (just like hard drives do), so you will know if a read got bad data. Besides that, the file getting loaded off the floppies is a tar.gz, and gzip includes strong error detection (CRC32). The reason Debian says to use good floppies is that it's annoying as hell when you're going along doing the install and the 9th floppy is doesn't read cleanly. It is even worse if you need the computer you are installing on to make the floppies (i.e. you need to abort the linux install and go back to windoze or MacOS to try writing the image to another floppy...). It's not so bad if you can just use another computer to overwrite the image on one of the floppies that was already read. There is _no_ chance whatsover (well, maybe 1 / (2^32) / floppy-error-detection-rate, if you want to get ridiculous.) of getting bad data on your initial linux system because of bad install floppies. Just use floppies good enough to not drive you nuts. #define X(x,y) x##y
You can do RAID if you have two floppy drives in your machine. Just point a couple loopback devices at your drives, and tell the md driver about them. (it can't talk to fd0 and fd1 directly.) With RAID1 mirroring, you shouldn't have reliability problems.
BTW, don't actually do this! I tried it a while ago to see if it would work. (with striping for higher speed, since I know that floppies are unreliable:) For one thing, you can't write both floppy drives at the same time. (maybe if they were on separate floppy controllers...) #define X(x,y) x##y
I take a more forgiving attitude. You expect people to never make irrational decisions that they regret when they are older and wiser. I think it's pretty easy to dig yourself a hole that can be hard to get out of. When you're in high school, you'll be inclined to do whatever makes you most happy at the moment. For me, this was playing with electronics, and then computers. Luckily for me, there is a big market for physics and computer skill. Some people like to do other things, many of which it's hard to get paid for.
As I see it, the whole point of life is to have a good time. I personally feel better if I know that other people in the world are having a good time. You might not. I don't hold this against you. It's just the way your brain is wired (and probably influenced by childhood experience).
In any case, I'm lucky enough to be able to get paid for doing physics and computer stuff. As long as I'm making enough money to keep myself happy and not have to worry too much about annoying crap, I'll gladly pay enough income tax to keep my country (Canada, BTW) working right, so there's even less annoying crap to worry about. I could move to the US and make probably a lot more money. I'm not going to, because I don't like the way things are shaping up in the US. You have terrible laws like the DMCA, and thanks to the RIAA and MPAA, it's getting worse. The US is too complicated. I don't want to have to make decisions on every little detail (e.g. health care, which is basically free in Canada.) I want things to take care of themselves unless I want to get involved. (This is like adminning a Debian system. Just apt-get update;apt-get dist-upgrade every now and then, and things take care of themselves. You can pay more attention to a package you have a special interest in, if you want.) #define X(x,y) x##y
IIRC, information does indeed have some energy, and therefore effective mass. This isn't the point, though. Relativity prohibits any reaction to an action occuring farther away from the action than light would communicate the information. #define X(x,y) x##y
I would imagine that downloading a gzipped tarball would do a better job of saving bandwidth and server CPU time than any possible CVS method. I don't know CVS, so I don't know if it's possible to use the tarball if you want to do CVS stuff in the future, but it would be dumb if you couldn't. Anyway, just my 2 cents worth:) #define X(x,y) x##y
I'm surprised they used tulip (21x40 chipset) NICs. IIRC, they are slow on platforms that can't do unaligned accesses, like the Alpha. (They kick ass on IA32, which can access odd bytes:). I was talking to Don Becker about this at the Ottawa Linux Symposium. He said the best card to use for an Alpha machine was a 3Com NIC. #define X(x,y) x##y
also, check out the new RFC on the design space for multicast protocols. It points out many useful ideas. find it on www.faqs.org/rfcs. I don't remember the number, but it was published in August or so. #define X(x,y) x##y
Yes, exactly. Linux SMP sucked, not because of the low-level IA32 SMP stuff, but because of e.g. coarse-grained locking. Read all about it online somewhere. The point is, now that the kernel as a whole is pretty much SMP-ready, doing SMP on a G4 should be a matter of simply detecting that there are 2 cpus, and telling the second one to start running. Once that happens, PPC SMP will work as well as IA32 SMP. (Actually better I imagine, since the G4 uses a bus protocol that support SMP very efficiently.) #define X(x,y) x##y
for the record (since you've probably done it by now), make oldconfig;make dep, then the usual compile stuff is all you have to do. With 2.2 kernels, you don't have to make dep after every reconfig, but you have to after major changes that affect dependencies. (which can happen when you go to a new version.)
#define X(x,y) x##y
Well, nickel-cadmium batteries are very bad for the environment (since they are loaded with cadmium!), and they suck. (memory effect, etc.) Lead-acid batteries are of course full of lead and sulphuric acid.
Lithium-ion batteries are much better, and have a higher energy density than NiCd or NiMH (nickel metal-hydride).
I think the problem isn't that the auto industry doesn't want things to change, but rather that many North Americans (especial in the US) are very attached to their cars. They refuse to consider public transportation. One bus carrying 50 people has a lot fewer emmisions than 25 cars, and takes up a lot less road space. (And is a lot less likely to kill you with bad driving!)
Busses aren't great now, but if more people took them, there would be more bus routes, the busses would run more often, and the fares would probably be cheaper.
As I see it, the only reason for having a car is for special trips, like camping or visiting friends in a distant city. Cars are terrible for commuting. Live close enough to work so that you can cycle there in 40 minutes or so, like I do. Then you don't have to waste your time going to the gym, because you already get your exercise. #define X(x,y) x##y
Try rendering nested tables with NS, and with Moz. Mozilla and IE5 beat the pants off netscape 4.73, on Win98. (I'm at work and the admins are evil, so no Linux for me:( ) The UI of NS is noticeably faster, and for most other rendering NS does OK. (I have a fast machine, so I can't tell how fast most things are, but NS slows down big-time with nested tables on the internal web site.)
If you aren't counting mass as energy (since nothing can use it directly), then combustion and other exothermic chemical reactions decrease the mass of the system very slightly, increasing the kinetic energy. Most of you know that nuclear reactions convert mass to (more conventional) energy, but relativity has turned out to be correct in that the chemical binding energy of a molecule actually increases its mass to slightly more than the sum of its parts' masses.
If you are talking about mass-energy, that is conserved absolutely.
I just recently bought a used Daystar Digital Genesis MP (quad SMP PPC604 CPUs at 150MHz:). Debian installed with no trouble, and the default kernel detected both SCSI controllers, the ATI Mach64, the built-in 10baseT ethernet, and both serial ports.
I hate the PC architecture because it is so limited by its 16 IRQs (unless you have a fancy mobo, like my friend's SMP system which has 32), and by the need for the CPU to translate the x86 instructions into an internal RISC form. That translation adds delay, so the CPU needs deeper pipelines, which makes mispredicted branches much worse, etc. PPC is fast and simple in comparison.
The old 604 CPUs in my PMAC can do 490k RC5 keys/second each, which is pretty good for a CPU from around 1996.
(Note that Daystar made my computer, not Apple, so that might have something to do with it being good.) #define X(x,y) x##y
2.2.16 and before have a terrible VM subsystem. It is not buggy, per se, but it does some very non-optimal things. (I don't remember well enough to give any specific examples:( ). It isn't quite as random as 2.2.0 about killing off processes when it runs out of memory, but it's not great. AFAIK, the VM code was rewritten/fixed (using different algorithms, not just new code to do the same stuff) for 2.2.17. I was sitting with Rik van Riel (he gave me a Connectiva T-shirt:) and some other kernel hackers (from Connectiva and RedHat) before maddog's keynote at OLS, and they were discussing the situation. I mentioned that Debian was using 2.2.17pre, and nobody looked surprised or said it was a bad idea.
I wish I could get around to doing some kernel hacking, but I never get around to doing it.:(
It is silly to use Rambus RAM, since SDRAM has lower latency. Rambus RAM has higher bandwidth, but if you need bandwidth you can always interleave memory. (the idea is similar to RAID striping. byte 1 comes from one ram chip, byte 2 comes from the other, so you have the same latency and twice the bandwidth. If you want more bandwidth, use more controllers and more chips. You can't do anything about latency except make each chip faster, though, which is why there's nothing you can do with Rambus to make it have SDRAM latency.)
Linux (and gcc) class PPro, PII, and PIII as i686, since they all use essentially the same core.
A normally configured gcc for x86 will, unless you tell it otherwise, produce binaries that run on any x86 CPU. It can optimize for an i686 without using and i686-only (or i586-and-above, etc.) instructions.
I'm pretty sure that there are some instructions that a PII supports that a K6-2 doesn't. The K6 was made after the PPro came out, and it definitely doesn't support everything the PII supports.
I would be surprised if they distributed mozilla binaries that wouldn't run on a 386. (at least in theory:)
go grab the GNU sh-utils tarball from gnu.org. It'll compile on pretty much any Unix flavour.
Or, you can say for i in {0,1,2}{0,1,2,3,4,5,6,7,8,9};do...;done if you're running bash (or another shell that does curly-brace expansion). #define X(x,y) x##y
I would have used for i in $(seq 252);do foobar;done > foobar.log to run foobar the same number of times you did. seq is in one of the GNU something-utils packages, almost certainly the shell-utils one. (i.e. it's probably already installed on most Linux boxes.)
Also notice that the redirection happens for the loop as a whole, which is interesting and useful sometimes.
There's no one right way to do most things, but my way takes less typing:) Hopefully people who read this post will be one step closer to being shell wizards. #define X(x,y) x##y
> Remember that they have never been on trial for > anything to do with customers, only rivals.
True, but the reason the things they do to their rivals is a problem is because consumers get screwed over, whoever's customer they are.
This doesn't mean that MS _is_ always evil on purpose, though. I think they are often just trying to make things easy for people who don't know anything, but they don't have a very good idea of exactly how stupid the average person is. (e.g. would they or wouldn't they want to know about x... Nah, lets not even bother making it possible for anyone using our software to find out about x, whether they want to or not.) Or something like that. I'm sure most of us have had the misfortune of discovering what I'm talking about. (I kind of got off on a tangent here, but I think MS does a lot of things without thinking to hard about the impact on other companies and on people. So there bad behaviour may be more due to recklessness than ill intent.)
part of the problem might be low quality of floppy _drives_. For a floppy to be readable, the drive that wrote it has to be spinning at the same RPM as the drive reading it. (within a margin.) a lot of floppy drives are cheap as hell now.
#define X(x,y) x##y
> Btw, didn't I read (in Debian?) somewhere about the importance of
/dev/fd0 ...) If there were a filesystem, it could mark the bad sectors and not use them, but there isn't so every sector on the floppy has to be good.
> using only the best floppies for boot and image disks when setting up
> Linux?
Yep, Debian. That's just if you install the base system off floppies, in which case you need 10 floppies or so. You want good ones because the disk images don't use a filesystem, they have the data right on the raw device. (like if you tar [cx] f
The floppy includes error detection info that isn't visible as data (just like hard drives do), so you will know if a read got bad data. Besides that, the file getting loaded off the floppies is a tar.gz, and gzip includes strong error detection (CRC32). The reason Debian says to use good floppies is that it's annoying as hell when you're going along doing the install and the 9th floppy is doesn't read cleanly. It is even worse if you need the computer you are installing on to make the floppies (i.e. you need to abort the linux install and go back to windoze or MacOS to try writing the image to another floppy...). It's not so bad if you can just use another computer to overwrite the image on one of the floppies that was already read. There is _no_ chance whatsover (well, maybe 1 / (2^32) / floppy-error-detection-rate, if you want to get ridiculous.) of getting bad data on your initial linux system because of bad install floppies. Just use floppies good enough to not drive you nuts.
#define X(x,y) x##y
You can do RAID if you have two floppy drives in your machine. Just point a couple loopback devices at your drives, and tell the md driver about them. (it can't talk to fd0 and fd1 directly.) With RAID1 mirroring, you shouldn't have reliability problems.
BTW, don't actually do this! I tried it a while ago to see if it would work. (with striping for higher speed, since I know that floppies are unreliable:) For one thing, you can't write both floppy drives at the same time. (maybe if they were on separate floppy controllers...)
#define X(x,y) x##y
I take a more forgiving attitude. You expect people to never make irrational decisions that they regret when they are older and wiser. I think it's pretty easy to dig yourself a hole that can be hard to get out of. When you're in high school, you'll be inclined to do whatever makes you most happy at the moment. For me, this was playing with electronics, and then computers. Luckily for me, there is a big market for physics and computer skill. Some people like to do other things, many of which it's hard to get paid for.
As I see it, the whole point of life is to have a good time. I personally feel better if I know that other people in the world are having a good time. You might not. I don't hold this against you. It's just the way your brain is wired (and probably influenced by childhood experience).
In any case, I'm lucky enough to be able to get paid for doing physics and computer stuff. As long as I'm making enough money to keep myself happy and not have to worry too much about annoying crap, I'll gladly pay enough income tax to keep my country (Canada, BTW) working right, so there's even less annoying crap to worry about. I could move to the US and make probably a lot more money. I'm not going to, because I don't like the way things are shaping up in the US. You have terrible laws like the DMCA, and thanks to the RIAA and MPAA, it's getting worse. The US is too complicated. I don't want to have to make decisions on every little detail (e.g. health care, which is basically free in Canada.) I want things to take care of themselves unless I want to get involved. (This is like adminning a Debian system. Just apt-get update;apt-get dist-upgrade every now and then, and things take care of themselves. You can pay more attention to a package you have a special interest in, if you want.)
#define X(x,y) x##y
IIRC, information does indeed have some energy, and therefore effective mass. This isn't the point, though. Relativity prohibits any reaction to an action occuring farther away from the action than light would communicate the information.
#define X(x,y) x##y
I would imagine that downloading a gzipped tarball would do a better job of saving bandwidth and server CPU time than any possible CVS method. I don't know CVS, so I don't know if it's possible to use the tarball if you want to do CVS stuff in the future, but it would be dumb if you couldn't. Anyway, just my 2 cents worth :)
#define X(x,y) x##y
I'm surprised they used tulip (21x40 chipset) NICs. IIRC, they are slow on platforms that can't do unaligned accesses, like the Alpha. (They kick ass on IA32, which can access odd bytes :). I was talking to Don Becker about this at the Ottawa Linux Symposium. He said the best card to use for an Alpha machine was a 3Com NIC.
#define X(x,y) x##y
also, check out the new RFC on the design space for multicast protocols. It points out many useful ideas. find it on www.faqs.org/rfcs. I don't remember the number, but it was published in August or so.
#define X(x,y) x##y
Yes, exactly. Linux SMP sucked, not because of the low-level IA32 SMP stuff, but because of e.g. coarse-grained locking. Read all about it online somewhere. The point is, now that the kernel as a whole is pretty much SMP-ready, doing SMP on a G4 should be a matter of simply detecting that there are 2 cpus, and telling the second one to start running. Once that happens, PPC SMP will work as well as IA32 SMP. (Actually better I imagine, since the G4 uses a bus protocol that support SMP very efficiently.)
#define X(x,y) x##y
for the record (since you've probably done it by now), make oldconfig;make dep, then the usual compile stuff is all you have to do. With 2.2 kernels, you don't have to make dep after every reconfig, but you have to after major changes that affect dependencies. (which can happen when you go to a new version.)
#define X(x,y) x##y
Well, nickel-cadmium batteries are very bad for the environment (since they are loaded with cadmium!), and they suck. (memory effect, etc.) Lead-acid batteries are of course full of lead and sulphuric acid.
Lithium-ion batteries are much better, and have a higher energy density than NiCd or NiMH (nickel metal-hydride).
I think the problem isn't that the auto industry doesn't want things to change, but rather that many North Americans (especial in the US) are very attached to their cars. They refuse to consider public transportation. One bus carrying 50 people has a lot fewer emmisions than 25 cars, and takes up a lot less road space. (And is a lot less likely to kill you with bad driving!)
Busses aren't great now, but if more people took them, there would be more bus routes, the busses would run more often, and the fares would probably be cheaper.
As I see it, the only reason for having a car is for special trips, like camping or visiting friends in a distant city. Cars are terrible for commuting. Live close enough to work so that you can cycle there in 40 minutes or so, like I do. Then you don't have to waste your time going to the gym, because you already get your exercise.
#define X(x,y) x##y
Well, it isn't backward compatible with an 8086, (unlike all IA32s and even the IA64 Itanium), so I'm hopeful :)
#define X(x,y) x##y
Try rendering nested tables with NS, and with Moz. Mozilla and IE5 beat the pants off netscape 4.73, on Win98. (I'm at work and the admins are evil, so no Linux for me :( ) The UI of NS is noticeably faster, and for most other rendering NS does OK. (I have a fast machine, so I can't tell how fast most things are, but NS slows down big-time with nested tables on the internal web site.)
#define X(x,y) x##y
If you aren't counting mass as energy (since nothing can use it directly), then combustion and other exothermic chemical reactions decrease the mass of the system very slightly, increasing the kinetic energy. Most of you know that nuclear reactions convert mass to (more conventional) energy, but relativity has turned out to be correct in that the chemical binding energy of a molecule actually increases its mass to slightly more than the sum of its parts' masses.
If you are talking about mass-energy, that is conserved absolutely.
#define X(x,y) x##y
Check out IBM's chips page. These things don't suck.
#define X(x,y) x##y
I just recently bought a used Daystar Digital Genesis MP (quad SMP PPC604 CPUs at 150MHz :). Debian installed with no trouble, and the default kernel detected both SCSI controllers, the ATI Mach64, the built-in 10baseT ethernet, and both serial ports.
I hate the PC architecture because it is so limited by its 16 IRQs (unless you have a fancy mobo, like my friend's SMP system which has 32), and by the need for the CPU to translate the x86 instructions into an internal RISC form. That translation adds delay, so the CPU needs deeper pipelines, which makes mispredicted branches much worse, etc. PPC is fast and simple in comparison.
The old 604 CPUs in my PMAC can do 490k RC5 keys/second each, which is pretty good for a CPU from around 1996.
(Note that Daystar made my computer, not Apple, so that might have something to do with it being good.)
#define X(x,y) x##y
The phrase did appear in the article, but that's not what it said. It said:
...
... Dual and Quad G4-500s in midrange machines, and G5s in high end machines
Note the quad G4. G4 = PPC7400, which includes an altivec.
#define X(x,y) x##y
2.2.16 and before have a terrible VM subsystem. It is not buggy, per se, but it does some very non-optimal things. (I don't remember well enough to give any specific examples :( ). It isn't quite as random as 2.2.0 about killing off processes when it runs out of memory, but it's not great. AFAIK, the VM code was rewritten/fixed (using different algorithms, not just new code to do the same stuff) for 2.2.17. I was sitting with Rik van Riel (he gave me a Connectiva T-shirt :) and some other kernel hackers (from Connectiva and RedHat) before maddog's keynote at OLS, and they were discussing the situation. I mentioned that Debian was using 2.2.17pre, and nobody looked surprised or said it was a bad idea.
:(
I wish I could get around to doing some kernel hacking, but I never get around to doing it.
#define X(x,y) x##y
This has the same text as my message (below), which was posted half an hour before the one above. Nice try, AC, but you've been busted.
#define X(x,y) x##y
It is silly to use Rambus RAM, since SDRAM has lower latency. Rambus RAM has higher bandwidth, but if you need bandwidth you can always interleave memory. (the idea is similar to RAID striping. byte 1 comes from one ram chip, byte 2 comes from the other, so you have the same latency and twice the bandwidth. If you want more bandwidth, use more controllers and more chips. You can't do anything about latency except make each chip faster, though, which is why there's nothing you can do with Rambus to make it have SDRAM latency.)
#define X(x,y) x##y
Sorry, you are almost completely wrong.
:)
Linux (and gcc) class PPro, PII, and PIII as i686, since they all use essentially the same core.
A normally configured gcc for x86 will, unless you tell it otherwise, produce binaries that run on any x86 CPU. It can optimize for an i686 without using and i686-only (or i586-and-above, etc.) instructions.
I'm pretty sure that there are some instructions that a PII supports that a K6-2 doesn't. The K6 was made after the PPro came out, and it definitely doesn't support everything the PII supports.
I would be surprised if they distributed mozilla binaries that wouldn't run on a 386. (at least in theory
I installed NSPR1 on a k5 once... It worked.
#define X(x,y) x##y
nah, more like split(1) and cat(1).
#define X(x,y) x##y
go grab the GNU sh-utils tarball from gnu.org. It'll compile on pretty much any Unix flavour.
...;done
Or, you can say
for i in {0,1,2}{0,1,2,3,4,5,6,7,8,9};do
if you're running bash (or another shell that does curly-brace expansion).
#define X(x,y) x##y
I would have used
:) Hopefully people who read this post will be one step closer to being shell wizards.
for i in $(seq 252);do foobar;done > foobar.log
to run foobar the same number of times you did. seq is in one of the GNU something-utils packages, almost certainly the shell-utils one. (i.e. it's probably already installed on most Linux boxes.)
Also notice that the redirection happens for the loop as a whole, which is interesting and useful sometimes.
There's no one right way to do most things, but my way takes less typing
#define X(x,y) x##y
> Remember that they have never been on trial for
> anything to do with customers, only rivals.
True, but the reason the things they do to their rivals is a problem is because consumers get screwed over, whoever's customer they are.
This doesn't mean that MS _is_ always evil on purpose, though. I think they are often just trying to make things easy for people who don't know anything, but they don't have a very good idea of exactly how stupid the average person is. (e.g. would they or wouldn't they want to know about x... Nah, lets not even bother making it possible for anyone using our software to find out about x, whether they want to or not.) Or something like that. I'm sure most of us have had the misfortune of discovering what I'm talking about. (I kind of got off on a tangent here, but I think MS does a lot of things without thinking to hard about the impact on other companies and on people. So there bad behaviour may be more due to recklessness than ill intent.)
#define X(x,y) x##y