however, what if it has properties similar to asbestos?
Cheap, well-insulating, durable, and rather bad for construction workers and others who shred and inhale lots of it? I think how the hell is anyone gonna inhale it?! pretty much sums it up. Disposing of these little nanotubes should be easy enough if you can burn them, I would think. That leaves the question of how to disassemble the chips in an orderly fashion, but I figure that's pretty much the same problem you're faced with when recycling electronics today. Not that people don't just dump their old machines in the trash, but anyway.
I'd worry a lot more about the flame retardants and other goo that's still being used in enormous amounts in computers. There's a half-year old computer in my office, and ever since it got here I've had to open the window every morning, or the fumes from it make me cough. Not sure what exactly the computer is giving off, but whatever it is I don't think it's particularly good for me.
You don't care much for copyright, do you, Anonymous Coward? You forgot to remove this incriminating part:
Permission is hereby granted to mirror this web page provided that the original, unmodified version is used
(I'm assuming that by 'web page' Tanenbaum means the HTML file and not just the text on it. Otherwise that notice doesn't make much sense.)
And anyway, why post the whole thing here when the first paragraph of the article states that the server it's hosted on has already withstood Slashdotting?
If there'd been a risk of the server not coping with the load, you could've respected the license and posted a link to a mirror instead.
Centrifugal force is highly real, as you will no doubt feel if you place yourself on a merry-go-round. It's just a matter of having an accelerated frame of reference. If you and your friend were orbiting the earth, and gravity were turned off for him, the centrifugal force would indeed make him depart radially from you, though the Coriolis force would eventually bend his path.
There's a good explanation at
http://hyperphysics.phy-astr.gsu.edu/hbase/corf.ht ml
No one that has ever killed themselves has told me he regreted it afterwards. It is common for failed or stopped suicides to exrpess regret at even trying.
Many "attempted" suicides are more of a call for help than an actual suicide attempt, and it seems that they often fail because the person alerts someone to what's going on. For instance, people threaten to jump from somewhere only to climb back down again. Or to take an overdose of something but tell others about it in time to get saved. And it can really work, too - that I know out of personal experience (suffice to say I wasn't the person with problems).
Contrast this with people who shoot or hang themselves when there's noone around to help, or jump from somewhere without seeking attention first.
I'm not saying that most people who kill themselves wouldn't have wanted to be stopped, but I think it's hard to know whether they wanted to or not. I just don't think that people who "fail" to kill themselves are very representative of those who do.
It's a bit hard to read the documentation retroactively, three years after using the software. And it wouldn't have made much of a difference, if this stuff wasn't implemented until the next version anyway.
I know very well that the 'for' scoping changed during the standardization of C++. I'm not sure what you mean by "the old C way", since it's not until C99 it's been possible to write code like that in C, and then with the same scoping rule as in (non-draft) C++. What I didn't know, but which people were kind enough to inform me about, is that the compiler I used was quite old despite being the latest version back then (this was in 2000 or so, and C++ was standardized in 1997), and that MS have since improved their compiler to the point where people give it praise.
for(int i = 0; i < 10; i++); for(int i = 0; i < 10; i++);
This was a few years ago, with the then-latest version of Visual C++. I haven't used it since, but I've heard rumors that this particular scoping bug was eventually fixed. (What happed when you tried to compile this code back then is that it whined about there already being a variable called i.)
It would be interesting to hear how well Microsoft's compiler works with templates. GCC still has some way to go, but it's getting better with each version, and it's starting to get hard to come up with valid code that doesn't compile. I can't imagine that MS put a lot of effort into their C++ compiler it they want everyone to migrate to their own language (C#, that is), but then again I'm not an MS fanboy, so what do I know?
Re:Unique? No... but legal questions?
on
Dual User Windows PC
·
· Score: 3, Insightful
For productivity apps, though, this could be killer for cube rats. IT could deploy one machine for two cubes, cutting your hardware budget, and support in half!
Hardware budget in half? Not if you still need two screens and two sets of input devices. And the computer itself will be more expensive than a normal one, so the gain would be less than the cost of a single machine.
As for support... well, software support is what costs money, or so I believe. It comes down to whether it's proportional to the number of machines or how much they're used. My guess would be mostly the latter if we're talking about MS Windows, and then there's little to gain here. It could even be that sharing a machine like this brings about trouble of its own. Ditto for hardware. But what's most worrying from a business point of view is that every time one person's computer is down, so is another's. Potentially doubling downtime to save maybe $200 (a wild guess, admittedly) per person per three years doesn't sound like a good idea to me.
Umm...[exhales green smoke]
I think I was trying to make the point that free hardware is a very problematic concept because it takes a hell of a lot of resources to manufacture e.g.a modern CPU. Anyway, it's not clear to me that one should try to extend the free software thinking to hardware, when so much of the point of free software is based on software being very different from everything else.
As for the fundamentals of hardware: I didn't specifically say _computer_ hardware. Until we can incorporate general relativity and quantum mechanics in a single theory and use it to make predictions, there is no workablecandidate for a Theory of Everything.
...but I must say I thought "perspire" was funnier.
<silly amount=overly>But... there's no "L" in "spire"! Thele is if you'le speaking Engrish.</silly>
Would they really pay?
on
Paid To Spam
·
· Score: 1
Everyone here seems to be assuming that they're actually going to pay you if you do this. But with most spam being sent by criminals much more interested in quick $ than customer loyalty, what's the chance that they'll actually cough up?
It could be argued that the specifications for the hardware should be free. But then that'd have to include every bit of it, and if you're able to reconstruct a modern CPU from blueprints (or rather their modern-day equivalent), you have the resources to reverse-engineer the whole thing anyway. And there's a more fundamental problem here too: we still do not have full understanding of the fundamentals of hardware.
That solution could be a bit problematic if e.g. $_GET has a key "_GET" or "GLOBALS" etc. But done right, it sounds like a decent workaround for PHP code that really depends on register_globals. The simplest fix if register_globals isn't needed would be to just die() if register_globals is on, though this would probably cause admins to remove that test if they need register_globals for something else, and then you're back to square one...
In most of my PHP code, I've used a prefix on variable names ("i_") to indicate that the contents are tainted, and only those variables are imported to $GLOBALS from $_GET and $_POST. And even though I warn if register_globals is on, I make sure never to assume that a variable is unset. I guess it all comes down to your overall level of distrust and paranoia. Which I have lots of.
That makes sense. I think what's making the problem even worse is that people on phones are largely oblivious to the people around them, so they talk about all sorts of disgusting things that they wouldn't normally tell strangers. And loudly.
I REALLY NEED TO DO SOMETHING ABOUT THIS SYPHILIS YOU GAVE ME.
In my experience, a large fraction (50%? 10%?) of the population shout when using phones (regardless of the phone type). In face-to-face conversation, OTOH, most people understand that they don't need to yell to make themselves heard. Given a few thousand years and sufficient natural selection, I bet people would on the average be a lot more quiet when speaking into a phone. And I've heard of people (at least one person, anyway) being killed as a consequence of enraging a phone-hater. So maybe, if we all do our duty and clobber a phone-yeller once in a while, our children will have a more bearable future...
I know this is redundant nitpicking, but I just want to point out a flaw in what you're saying: You say that 4k isn't enough, except for some GIFs, but that the GIF format has much worse compression than some other formats, and that therefore 4k isn't enough in any format.
Try JPEG-compressing a small-ish photo (640x480 or so) to 4k. It'll look like crap, but it'll probably look a lot better than the same image scaled down to be compressible to a 4k GIF and then scaled back up again.
Sweden? Doesn't sound right, considering that the Swedish name law is fairly strict. Paragraph 34 says something like "As first name may not be permitted such names that can cause offence or that can be assumed to cause the person discomfort or that for some other reason obviously is not suited as a first name". And by first name the law means one or more names that are not the last name (of which there may be one) or "middle name" (which here refers to an optional last-name-of-the-spouse).
On an unrelated note, the Furby toy was called Furbee in Sweden because the Furby family wasn't too happy about their name being used in that context. Which makes me wonder what'd happen if a Swedish Furby wanted to move to the U.S.:-)
Not sure about speed. It seems fast enough for most stuff
I can testify that PHP (4.x) is fast enough for most situations where it'd typically be used (though I don't really know how well it'd do on a high-traffic server compared with other solutions). However: the interpreter feels pretty slow once you start handling megabytes of data at a time. For instance, I have a web app where the user can define file formats (defining how a few tens of things (different db columns) are taken from the columns of a tab-separated file) and then upload data to the database. Uploading, parsing and adding a ~10 MB file with 50000 lines (typical numbers, really) takes on the order of a few minutes. If I did it in C, the bottleneck would be the database and it would probably take 10 seconds or so instead.
In fact, I've resorted to running small C programs from PHP in some places just because PHP is too slow at that sort of thing. Serves me right for using the wrong tool for the job. And yet I'm pretty sure I've saved a lot of development time by choosing PHP over the alternatives (which mostly involved learning new stuff first) for that project.
the semantics regarding object assignment have changed from copy to reference
Sounds to me like the migration to PHP 5 will be a long and painful one. The project I've been working on in PHP for the last couple of years sure could use some of the new features, and if what another poster said about responsiveness translates to higher speed, that's another reason to switch. Then again, looking through megs of PHP code for things that are suddenly ever so slightly broken because of subtle language changes is not exactly fun.
For new projects, OTOH, I don't see much reason to stick with PHP 4, except the horrors of having to instruct users that they need to upgrade their PHP interpreter(s) again.
Re:hydrostatic pressure
on
Melting Europa
·
· Score: 2, Insightful
How about the kilometers of water on top of the probe? Or ice, rather, since it would've frozen up again long before.
And what about the official 3d tracking (macromedia 3d shockwave app, looks great)?
How do you manage to view it? I tried, but it seems to require some plugin that does not exist. Or, well, it exists but only for Microsoft's and Apple's OSes. Which seems pretty silly if the target audience is people with an interest in technology.:-O (OK, so I know there are geeks on OS X, but they're a small minority as far as I can tell.)
RedHat at least had a desktop icon that alerted users if updates were available
SuSE has a similar thing. Dunno about other distros.
There are a couple of problem here though:
There are a number of steps that need to be taken before a patch is installed, and each of them may take quite a bit of time: computer needs to check for patches, mirror server (if any) needs to have patches from main patch server (in my case this is sometimes an issue, but I could go directly to ftp.suse.com, if it's not completely bogged down already), user needs to be alerted, user needs to choose to patch. All this could be done in an automated way, but it would still take some time, during which the machine would be vulnerable.
And then, after patching, programs or the whole machine may need to be restarted. This can't very well be automated, at least not by default.
I'm semi-admining a SuSE 8.2 box where the automatic update script emailed me every day with a list of already-installed patches. Stupid.:-P So I got it to not email me. So now I have no clue when I need to reboot, and the machine is probably open to several known vulnerabilities right now.
I'd say that single(ish)-user machines really need to be properly firewalled, but unfortunately there's no such thing as a satisfactory default policy. (Outgoing IRC traffic, for instance, should be open for IRCers but not for anyone else.) On multi-user machines there's no substitute for vigilant admins.
Virtual memory is not the same thing as swapped out memory. There are a couple of points here:
Even a 32-bit machine may have more than 4 GB of physical RAM, just as a 16-bit machine may have more than 64 kB. It's just that it cannot be mapped into a single block of virtual memory, so without ugly workarounds there's no way a process can address more than 4 GB.
It's not uncommon to (for various reasons) allocate more memory than needed, and never touch part of it. These allocations don't consume physical memory, but they dos count towards the 4 GB virtual memory limit for the process. Since the kernel must be able to produce the memory when asked for it, the amount of available swap space may decrease, but that doesn't mean that anything is actually written to the swap.
Cheap, well-insulating, durable, and rather bad for construction workers and others who shred and inhale lots of it? I think how the hell is anyone gonna inhale it?! pretty much sums it up. Disposing of these little nanotubes should be easy enough if you can burn them, I would think. That leaves the question of how to disassemble the chips in an orderly fashion, but I figure that's pretty much the same problem you're faced with when recycling electronics today. Not that people don't just dump their old machines in the trash, but anyway.
I'd worry a lot more about the flame retardants and other goo that's still being used in enormous amounts in computers. There's a half-year old computer in my office, and ever since it got here I've had to open the window every morning, or the fumes from it make me cough. Not sure what exactly the computer is giving off, but whatever it is I don't think it's particularly good for me.
Permission is hereby granted to mirror this web page provided that the original, unmodified version is used
(I'm assuming that by 'web page' Tanenbaum means the HTML file and not just the text on it. Otherwise that notice doesn't make much sense.)
And anyway, why post the whole thing here when the first paragraph of the article states that the server it's hosted on has already withstood Slashdotting? If there'd been a risk of the server not coping with the load, you could've respected the license and posted a link to a mirror instead.
Centrifugal force is highly real, as you will no doubt feel if you place yourself on a merry-go-round. It's just a matter of having an accelerated frame of reference. If you and your friend were orbiting the earth, and gravity were turned off for him, the centrifugal force would indeed make him depart radially from you, though the Coriolis force would eventually bend his path.
There's a good explanation at http://hyperphysics.phy-astr.gsu.edu/hbase/corf.ht ml
Many "attempted" suicides are more of a call for help than an actual suicide attempt, and it seems that they often fail because the person alerts someone to what's going on. For instance, people threaten to jump from somewhere only to climb back down again. Or to take an overdose of something but tell others about it in time to get saved. And it can really work, too - that I know out of personal experience (suffice to say I wasn't the person with problems).
Contrast this with people who shoot or hang themselves when there's noone around to help, or jump from somewhere without seeking attention first.
I'm not saying that most people who kill themselves wouldn't have wanted to be stopped, but I think it's hard to know whether they wanted to or not. I just don't think that people who "fail" to kill themselves are very representative of those who do.
It's a bit hard to read the documentation retroactively, three years after using the software. And it wouldn't have made much of a difference, if this stuff wasn't implemented until the next version anyway.
I know very well that the 'for' scoping changed during the standardization of C++. I'm not sure what you mean by "the old C way", since it's not until C99 it's been possible to write code like that in C, and then with the same scoping rule as in (non-draft) C++. What I didn't know, but which people were kind enough to inform me about, is that the compiler I used was quite old despite being the latest version back then (this was in 2000 or so, and C++ was standardized in 1997), and that MS have since improved their compiler to the point where people give it praise.
This was a few years ago, with the then-latest version of Visual C++. I haven't used it since, but I've heard rumors that this particular scoping bug was eventually fixed. (What happed when you tried to compile this code back then is that it whined about there already being a variable called i.)
It would be interesting to hear how well Microsoft's compiler works with templates. GCC still has some way to go, but it's getting better with each version, and it's starting to get hard to come up with valid code that doesn't compile. I can't imagine that MS put a lot of effort into their C++ compiler it they want everyone to migrate to their own language (C#, that is), but then again I'm not an MS fanboy, so what do I know?
Hardware budget in half? Not if you still need two screens and two sets of input devices. And the computer itself will be more expensive than a normal one, so the gain would be less than the cost of a single machine.
As for support... well, software support is what costs money, or so I believe. It comes down to whether it's proportional to the number of machines or how much they're used. My guess would be mostly the latter if we're talking about MS Windows, and then there's little to gain here. It could even be that sharing a machine like this brings about trouble of its own. Ditto for hardware. But what's most worrying from a business point of view is that every time one person's computer is down, so is another's. Potentially doubling downtime to save maybe $200 (a wild guess, admittedly) per person per three years doesn't sound like a good idea to me.
I think I was trying to make the point that free hardware is a very problematic concept because it takes a hell of a lot of resources to manufacture e.g.a modern CPU. Anyway, it's not clear to me that one should try to extend the free software thinking to hardware, when so much of the point of free software is based on software being very different from everything else.
As for the fundamentals of hardware: I didn't specifically say _computer_ hardware. Until we can incorporate general relativity and quantum mechanics in a single theory and use it to make predictions, there is no workablecandidate for a Theory of Everything.
<silly amount=overly>But... there's no "L" in "spire"! Thele is if you'le speaking Engrish.</silly>
Everyone here seems to be assuming that they're actually going to pay you if you do this. But with most spam being sent by criminals much more interested in quick $ than customer loyalty, what's the chance that they'll actually cough up?
It could be argued that the specifications for the hardware should be free. But then that'd have to include every bit of it, and if you're able to reconstruct a modern CPU from blueprints (or rather their modern-day equivalent), you have the resources to reverse-engineer the whole thing anyway. And there's a more fundamental problem here too: we still do not have full understanding of the fundamentals of hardware.
That solution could be a bit problematic if e.g. $_GET has a key "_GET" or "GLOBALS" etc. But done right, it sounds like a decent workaround for PHP code that really depends on register_globals. The simplest fix if register_globals isn't needed would be to just die() if register_globals is on, though this would probably cause admins to remove that test if they need register_globals for something else, and then you're back to square one...
In most of my PHP code, I've used a prefix on variable names ("i_") to indicate that the contents are tainted, and only those variables are imported to $GLOBALS from $_GET and $_POST. And even though I warn if register_globals is on, I make sure never to assume that a variable is unset. I guess it all comes down to your overall level of distrust and paranoia. Which I have lots of.
That makes sense. I think what's making the problem even worse is that people on phones are largely oblivious to the people around them, so they talk about all sorts of disgusting things that they wouldn't normally tell strangers. And loudly.
I REALLY NEED TO DO SOMETHING ABOUT THIS SYPHILIS YOU GAVE ME.
In my experience, a large fraction (50%? 10%?) of the population shout when using phones (regardless of the phone type). In face-to-face conversation, OTOH, most people understand that they don't need to yell to make themselves heard. Given a few thousand years and sufficient natural selection, I bet people would on the average be a lot more quiet when speaking into a phone. And I've heard of people (at least one person, anyway) being killed as a consequence of enraging a phone-hater. So maybe, if we all do our duty and clobber a phone-yeller once in a while, our children will have a more bearable future...
I know this is redundant nitpicking, but I just want to point out a flaw in what you're saying: You say that 4k isn't enough, except for some GIFs, but that the GIF format has much worse compression than some other formats, and that therefore 4k isn't enough in any format.
Try JPEG-compressing a small-ish photo (640x480 or so) to 4k. It'll look like crap, but it'll probably look a lot better than the same image scaled down to be compressible to a 4k GIF and then scaled back up again.
On an unrelated note, the Furby toy was called Furbee in Sweden because the Furby family wasn't too happy about their name being used in that context. Which makes me wonder what'd happen if a Swedish Furby wanted to move to the U.S. :-)
I can testify that PHP (4.x) is fast enough for most situations where it'd typically be used (though I don't really know how well it'd do on a high-traffic server compared with other solutions). However: the interpreter feels pretty slow once you start handling megabytes of data at a time. For instance, I have a web app where the user can define file formats (defining how a few tens of things (different db columns) are taken from the columns of a tab-separated file) and then upload data to the database. Uploading, parsing and adding a ~10 MB file with 50000 lines (typical numbers, really) takes on the order of a few minutes. If I did it in C, the bottleneck would be the database and it would probably take 10 seconds or so instead.
In fact, I've resorted to running small C programs from PHP in some places just because PHP is too slow at that sort of thing. Serves me right for using the wrong tool for the job. And yet I'm pretty sure I've saved a lot of development time by choosing PHP over the alternatives (which mostly involved learning new stuff first) for that project.
Sounds to me like the migration to PHP 5 will be a long and painful one. The project I've been working on in PHP for the last couple of years sure could use some of the new features, and if what another poster said about responsiveness translates to higher speed, that's another reason to switch. Then again, looking through megs of PHP code for things that are suddenly ever so slightly broken because of subtle language changes is not exactly fun.
For new projects, OTOH, I don't see much reason to stick with PHP 4, except the horrors of having to instruct users that they need to upgrade their PHP interpreter(s) again.
How about the kilometers of water on top of the probe? Or ice, rather, since it would've frozen up again long before.
Really? Even those that had been burned, freeze-dried, or simply sucked dry by a particularly thirsty vampire?
How do you manage to view it? I tried, but it seems to require some plugin that does not exist. Or, well, it exists but only for Microsoft's and Apple's OSes. Which seems pretty silly if the target audience is people with an interest in technology. :-O (OK, so I know there are geeks on OS X, but they're a small minority as far as I can tell.)
Not to mention that back then CD-ROM drives were not something people generally had.
SuSE has a similar thing. Dunno about other distros.
There are a couple of problem here though:
There are a number of steps that need to be taken before a patch is installed, and each of them may take quite a bit of time: computer needs to check for patches, mirror server (if any) needs to have patches from main patch server (in my case this is sometimes an issue, but I could go directly to ftp.suse.com, if it's not completely bogged down already), user needs to be alerted, user needs to choose to patch. All this could be done in an automated way, but it would still take some time, during which the machine would be vulnerable.
And then, after patching, programs or the whole machine may need to be restarted. This can't very well be automated, at least not by default.
I'm semi-admining a SuSE 8.2 box where the automatic update script emailed me every day with a list of already-installed patches. Stupid. :-P So I got it to not email me. So now I have no clue when I need to reboot, and the machine is probably open to several known vulnerabilities right now.
I'd say that single(ish)-user machines really need to be properly firewalled, but unfortunately there's no such thing as a satisfactory default policy. (Outgoing IRC traffic, for instance, should be open for IRCers but not for anyone else.) On multi-user machines there's no substitute for vigilant admins.
Just bored. Slightly less so after having read it, but OTOH now I have less time to do whatever the hell I was supposed to do before 3 pm.
There are a couple of points here: